是什麼
代理不是預先定好的路徑。它會自主規劃與運作,每一步都從環境取得「事實依據」(工具結果、程式執行),並能在檢查點或卡關時暫停、向人類求助。Anthropic 的一句安慰:實作其實常常很單純。
「它們通常就只是『LLM 在迴圈中依環境回饋使用工具』而已。」— Anthropic
代理迴圈(以及 ReAct)
目標 ─▶ ┌────────────────────────────────────────────┐
│ 規劃 ─▶ 行動(工具) ─▶ 觀察 ─▶ 反思 │ 反覆
└────────────────────────────────────────────┘
結束條件:最終輸出工具・沒有工具呼叫・
出錯・達到最大回合數
ReAct(Yao 等):思考 ─▶ 行動 ─▶ 觀察 ─▶ …OpenAI 把這個「run」描述成一個 while 迴圈:持續跑 LLM,直到滿足結束條件(最終輸出工具、沒有工具呼叫的回應、出錯、或達到最大回合上限)。
代理內部有什麼
Lilian Weng 的解剖:一顆 LLM「大腦」,外加三項能力。
- 規劃 —— 任務拆解(Chain-of-Thought、Tree-of-Thoughts)與自我反思(ReAct、Reflexion)。
- 記憶 —— 短期(脈絡視窗)與長期(外部向量庫,供快速檢索)。
- 工具使用 —— 呼叫外部 API/函式,行動範圍超出模型凍結的權重。
單一代理 vs 多代理
OpenAI 的建議:先把單一代理(一個模型+工具在迴圈中)發揮到極限,這樣複雜度與評估都好掌控。只有當提示塞滿條件分支、或工具彼此重疊讓模型搞混時,才拆成多代理。
- Manager(代理即工具)—— 中央管理者透過工具呼叫各專門代理,並保有控制權。
- Decentralized(交接 handoff)—— 平級代理依專長把控制權交接給彼此。
- OpenAI:manager 模式的「邊」是工具呼叫;decentralized 模式的「邊」是交接。
何時用(以及代價)
「用於開放性問題:難以、甚至不可能預測需要幾步,也無法寫死固定路徑。」— Anthropic
- 自主性最高 = 延遲、成本最高,可預測性最低 —— 要審慎使用。
- 需要護欄、透明度(把規劃步驟攤開來看)、以及設計良好的「代理—電腦介面(ACI)」。
- Weng 點出的限制:脈絡有限、長程規劃困難、自然語言工具介面不夠可靠。
實例
- 程式代理只憑 PR 描述,就解決 SWE-bench Verified 上真實的 GitHub issue。
- Anthropic 的「computer use」參考實作:Claude 自主操作一台電腦。
- 可驗證的領域(有測試的程式)適合代理,因為結果能回饋成事實依據。