是什麼

代理不是預先定好的路徑。它會自主規劃與運作,每一步都從環境取得「事實依據」(工具結果、程式執行),並能在檢查點或卡關時暫停、向人類求助。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 自主操作一台電腦。
  • 可驗證的領域(有測試的程式)適合代理,因為結果能回饋成事實依據。