當一個代理不夠用時
單一個代理把每個工具、指令、中間結果都塞進一個脈絡裡,終究會撐不住:提示變得笨重、不同技能互相干擾、模型失去焦點。自然的做法是分工——一個由專家組成的多代理系統,每個專家有一個狹窄的角色、一小組工具、一個乾淨的脈絡。一個「研究員」蒐集來源、一個「程式設計師」寫修補、一個「批評者」審查它。每個都保持銳利,因為每個只做一件事。
編排模式
多代理編排是協調這些專家的學問:定義角色、路由訊息、管理交接,讓團隊收斂而非空轉。有幾個模式反覆出現。主管—工人讓一個編排者負責拆解任務、把子目標委派給工人、再蒐集他們的結果——本質上就是第三篇的子目標層級,只是每個子目標都指派給一個專責代理。管線把代理串成固定序列,每個消化前一個的輸出。辯論/批評把一個生成者與一個對抗性審查者配對,在錯誤出貨前攔下它們。
在底層,每個代理仍跑著第一篇的推理—行動迴圈——只是現在一個代理的輸出成了另一個代理的觀察。編排層本身就是一個環境,同樣的控制迴圈紀律也適用:限制回合數、偵測無進展、並讓「完成」成為一個明確、可檢查的事件,而非一種感覺。
端到端評估代理
評估一個代理遠難於替單一個答案打分,因為代理是在一條跨越許多步驟與工具呼叫的軌跡上成敗的。因此代理評估基準衡量的是在真實或模擬環境中的端到端任務完成度:代理有沒有達成目標,而不是某句話看起來漂不漂亮。黃金標準採用可檢查的結果。例如SWE-bench把一個真實的 GitHub issue 交給代理,並對它產出的修補執行該程式庫自己的測試套件——成功就是測試轉綠,一個客觀、抗汙染、不需要任何裁判去詮釋的訊號。
當你無法完全自動化檢查時,請報告分佈式指標,而非單一個數字:在許多任務上的成功率連同信賴區間、每個任務的成本與步數,以及軌跡在哪裡失敗的拆解。一個以每次一角錢解決 60% 任務的代理,跟一個以每次五美元解決 62% 的,是非常不同的系統——而一個彙總準確率會把這件事完全藏起來。
把成功率報告為帶信賴區間的估計值,而非孤零零的一個數字——隨著測試任務數 n 增加,區間會變窄。
裁判問題
對於沒有測試可跑的開放式輸出,常見的捷徑是用一個強模型當評分者——以 LLM 為裁判。它能便宜地擴展,且與人類偏好的相關性出奇地好,但它帶進了真實的偏誤。裁判會展現位置偏誤(偏好先出現的那個答案)、冗長偏誤(較長的看起來較好),以及自我偏好(模型把自己家族的輸出評得較高)。而由於代理與裁判往往是同一個模型,一個自信卻錯誤的裁判可能替一個自信卻錯誤的代理蓋章放行。
研究前沿
退一步看,代理式人工智慧的開放問題便清晰起來。可靠度是那堵牆:95% 的每步準確率,在一個 14 步的任務上仍會崩塌成擲硬幣,所以長程的勝任能力,要嘛需要遠更高的每步準確率,要嘛需要從必然的錯誤中穩健復原。成本與延遲隨每個思考、每個分支、每個代理而擴大,讓測試期算力的取捨成為一個經濟問題,而不只是技術問題。評估本身則落後於能力——我們很難打造出既真實、又抗汙染、且不會在數月內被刷爆的基準。
為何可靠性是那堵牆:端到端成功率等於每步準確率的軌跡長度次方,所以每步 95% 在 14 步後僅勉強相當於擲硬幣。
貫穿整條軌道的主線是一個立場上的單一轉變:別再把模型當成一台答案機器,開始把它當成一個嵌在與世界的迴圈中的控制器。推理、規劃、記憶、工具、團隊與評估,全都是這個立場逼出來的問題的答案——如何決策、如何記憶、如何行動、如何協調、以及如何知道它成功了。把這五件事都做對,而且既可靠又負擔得起,正是這個領域如今正在攀登的前沿。