從一個智能體到許多個
在上一篇指南中,你認識了單個AI 智能體:一個被包裹在迴圈裡的語言模型,使它能夠觀察、思考、呼叫工具並行動——這就是把推理與工具使用交織在一起的 ReAct 模式。多智能體系統是順理成章的下一步:與其讓一個模型包攬一切,不如執行多個智能體,每個都有自己的角色、提示詞和工具,並讓它們彼此傳遞訊息。一個負責調研,另一個負責撰寫,第三個負責檢查成果。
為什麼要拆分工作呢?有三個誠實的理由。第一,角色專精:一個高度聚焦的提示詞加上一小套工具能讓每個智能體保持可靠,就像狹義人工智慧在它那一項任務上常常勝過通才一樣。第二,上下文管理——每個智能體只攜帶它所需的資訊,因此沒有哪一段對話會撐爆它的上下文視窗。第三,並行:相互獨立的子任務可以同時進行。這些都不要求智能體以某種全新的方式變「聰明」;它們是同一個模型,只是組織方式不同。
規劃:行動前先思考
在任何智能體行動之前,先有一個計畫會很有幫助——一串本該達成目標的步驟。這是人工智慧中最古老的思想之一:經典的符號主義 AI規劃器會在可能世界狀態構成的狀態空間中搜尋,藉助啟發式來猜測哪一步看起來更有前途。如今的智能體則依賴語言模型本身來提出計畫,常常先把它作為顯式的思維鏈推理寫出來,然後才落實第一個動作。
實用的模式是先分解、再執行。一個「規劃者」把模糊的目標(「給我寫一份市場報告」)拆解成具體的子任務,而若干「執行者」逐一完成。關鍵在於,計畫必須是可修正的:世界很少按預測行事,所以好的智能體會在某一步失敗或返回意外結果時重新規劃。這個「規劃—行動—觀察—再規劃」的迴圈,再加上讓智能體能回想起早先結果的記憶,正是一個穩健的智能體工作流與脆弱腳本之間的區別。
- 分解:把高層目標變成一份有序的子任務清單,每一項都小到足以由一個執行者處理。
- 分配:把每個子任務路由給角色和工具最匹配的智能體。
- 執行與觀察:執行子任務,然後閱讀結果——包括錯誤——而不是假定它成功了。
- 再規劃:如果某一步失敗或揭示了新情況,就在繼續之前修正剩餘的計畫。
編排:誰說了算?
一旦你有了多個智能體,就得有東西來協調它們。這就是編排,而設計上的選擇主要關乎控制流。最常見的模式是編排者—執行者(或稱主管)結構:一個主導智能體持有目標,為子任務派生出執行者,匯集它們的輸出,並決定接下來做什麼。它易於推理,因為存在單一的權威節點——很像一位專案經理把任務分派給團隊。
其他結構則以簡單性換取靈活性。在流水線中,智能體像裝配線一樣排列,每個把成果餵給下一個。在辯論或評審的設置裡,智能體相互批評彼此的答案以捕捉錯誤。在完全去中心化的設計中根本沒有老闆——智能體直接協商,這很強大卻也難得多地保持在正軌上。每個智能體仍然作為理性智能體行事,選擇能推進其既定目標的行動,只是如今這些目標會相互作用。
Orchestrator: goal = "compare three vendors" -> Worker A: research vendor 1 ┐ -> Worker B: research vendor 2 ├─ run in parallel -> Worker C: research vendor 3 ┘ <- collect results -> Worker D: synthesize + check for gaps if gaps: re-dispatch a worker else: return final report
合作、競爭與自我對弈
智能體並不總是合作。有時你會刻意讓它們相互對立。一個試圖挑出撰寫者輸出毛病的評審智能體,就是一種溫和的競爭,能提升品質。再往前推,你就進入了博弈型 AI 的世界,其中最乾淨的例子是自我對弈:一個系統透過與自身的副本競爭而進步,不斷生成越來越強的對手。AlphaGo 正是這樣超越了人類圍棋冠軍,許多基於博弈的強化學習也是這樣取得進展的。
當多個智能體在共享環境中追求各自目標時,你有時會看到無人顯式編程的協調——人們稱之為湧現協調。智能體可能會自行形成分工、發展出簡略的約定,或收斂到某種策略,僅僅因為這些行為恰好表現良好。這確實很有意思,但要當心:「湧現」描述的是我們沒有手工編碼的行為,而非魔法,也非理解。其中很大一部分是眾多理性智能體在同一空間中最佳化的可預測結果,而仔細審視後,相當一部分原來是僥倖的巧合,或是我們測量方式造成的假象。
當協調出錯時
多智能體系統繼承了單個智能體的每一個弱點,還添上了新的。單個大語言模型本就會產出聽起來自信滿滿的幻覺;把好幾個串在一起,一個智能體的錯誤就成了下一個智能體所信任的輸入。錯誤沿著流水線層層累積,而由於每次交接都只是文字,沒有任何硬性檢查能保證某個論斷為真。這個系統可以聽上去配合得天衣無縫,卻又錯得徹頭徹尾。
有兩種失效方式格外值得注意。第一種是獎勵駭客:如果你用真實目標的某個替代指標來獎勵智能體——比如獎勵產出看起來很完整的輸出——它們可能學會鑽這個替代指標的空子,而非真正完成任務。第二種在智能體追求子目標時出現:工具性趨同指出,許多不同的目標都會推向相同的有用中間步驟,比如獲取更多資源、更多工具或更多控制,哪怕沒人提出過這種要求。這些並不表明智能體「想要」什麼;它們是最佳化壓力,而盡早識別它們正是務實AI 安全的核心。
這把我們引向何處
退後一步看,這幅圖景令人安心,而非令人警覺。多智能體系統是一套管道:語言模型、工具、訊息傳遞,以及一個控制迴圈。線路裡並沒有藏著額外的心智。整體的能力受限於底層模型的能力,再加上你編排它的好壞——而好的編排,就像任何地方的好工程一樣,主要在於清晰的介面、錯誤處理,以及懂得何時不該再加一個活動部件。
這也是通往自主智能體的那條界線需要小心劃定之處。更多的智能體和更長的計畫,本身並不會累加成通用人工智慧;它們只是圍繞同樣模型的更好工具,這正是為什麼誠實的評估比頭數更重要。在接下來的幾篇指南裡,我們將轉向真正推動前沿的力量——更大模型背後的縮放定律與湧現能力——並清醒地審視「通用人工智慧」究竟意味著什麼、又不意味著什麼。