Anthropic發布的AI Agent設計哲學與經典設計模式
最近在學習AI Agent的設計模式時,發現了Anthropic發布的一篇好文《Building Effective agents》,仔細學習了下,值得跟大家分享。
在AI代理開發領域,Anthropic最新發布的研究報告為行業指明了方向。經過與數十個跨行業團隊的深度合作,Anthropic發現了一個令人意外的真相:最成功的LLM代理實現都采用簡單、可組合的模式,而非復雜的框架。
這一發現顛覆了許多開發者的認知。在追求技術復雜性的浪潮中,簡單性反而成為了制勝的關鍵。
核心理念:簡單勝過復雜
Anthropic在報告開篇就強調了這一核心觀點。經過大量實踐驗證,研究團隊發現,那些依賴復雜框架的項目往往面臨維護困難、調試復雜、性能不穩定等問題。相反,采用簡單實現方式的項目不僅開發效率更高,而且在生產環境中表現更加穩定可靠。
"我們與數十個構建LLM代理的團隊合作過。一致的發現是,最成功的實現使用簡單、可組合的模式,而不是復雜的框架。"
工作流與代理的本質區別
Anthropic對代理系統進行了清晰的分類,將所有變體歸類為"代理系統",但在架構上區分了工作流和代理兩種重要類型:
? 工作流系統 - 通過預定義的代碼路徑來編排LLM和工具的協作
? 代理系統 - LLM動態指導自己的流程和工具使用,保持對任務完成方式的控制權
這種區分的關鍵在于動態性與預定義性的差異。工作流適合流程相對固定的場景,而代理則更適合需要靈活應對的復雜任務。
增強型LLM:現代代理的核心架構
Anthropic提出了增強型LLM的概念,這是構建現代AI代理的基礎架構:
增強型LLM = LLM + 檢索 + 工具 + 記憶
這個公式看似簡單,但蘊含著深刻的設計哲學。通過為這些外部依賴定義良好的接口,比如使用MCP(模型上下文協議),開發者可以輕松地集成各種功能模塊。正如文章所建議的,我們也可以使用Spring AI這樣的框架來屏蔽具體實現的差異,讓開發更加專注于業務邏輯。

五大工作流模式詳解
Anthropic總結了五種核心的工作流模式,每種都有其特定的應用場景和技術實現:
1. 提示鏈(Prompt Chaining)
提示鏈的核心思想是用延遲換取更高的準確性,通過將復雜任務分解為多個簡單的LLM調用來提升整體效果。

典型應用場景包括:
? 生成營銷文案,然后翻譯成不同語言
? 先寫文檔大綱,檢查大綱是否符合標準,再基于大綱寫完整文檔
2. 路由(Routing)
路由模式通過智能分發來優化處理效率。系統可以將不同類型的客戶服務查詢(一般問題、退款請求、技術支持)導向不同的下游流程、提示和工具。

更重要的是,路由還能實現成本與速度的智能優化:將簡單常見問題導向Claude 3.5 Haiku這樣的輕量模型,將復雜罕見問題導向Claude 3.5 Sonnet這樣的強大模型。
3. 并行化(Parallelization)

并行化模式包含兩種主要應用:
分段處理:一個模型實例處理用戶查詢,另一個篩查不當內容。這種分工比讓同一個LLM同時處理防護和核心響應效果更好。
投票機制:多個不同的提示審查代碼漏洞,或評估內容是否不當,通過不同的投票閾值來平衡誤報和漏報。
4. 編排者-工作者(Orchestrator-Workers)
這種模式特別適合無法預測子任務需求的復雜任務。與并行化的關鍵區別在于其靈活性——子任務不是預定義的,而是由編排者根據具體輸入確定。

典型應用場景:
? 需要對多個文件進行復雜更改的編程產品
? 需要從多個來源收集和分析信息的搜索任務
5. 評估者-優化器(Evaluator-Optimizer)
這實際上是反思模式的實現。當有明確的評估標準,且迭代改進能提供可衡量價值時,這種模式特別有效。

應用實例包括文學翻譯中的細節優化,以及需要多輪搜索分析的復雜搜索任務。
真正的代理:動態決策的藝術
當工作流模式無法滿足需求時,就需要真正的代理系統。代理的核心特征是能夠動態決策,在執行過程中從環境獲得"真實反饋"來評估進展。
在執行過程中,代理必須從環境中獲得"真實情況"(如工具調用結果或代碼執行結果)來評估其進展,這一點至關重要。
因此,清晰周到地設計工具集及其文檔變得極其重要。Anthropic在附錄中專門展開了工具開發的最佳實踐。
代理適用于開放性問題,這些問題難以或無法預測所需步驟數量,也無法硬編碼固定路徑。Anthropic自己的實現包括:
? 解決SWE-bench任務的編程代理,涉及基于任務描述對多個文件的編輯
? "計算機使用"參考實現,Claude使用計算機完成任務
模式組合與定制化
這些構建塊并非規定性的,而是開發者可以根據不同用例進行塑造和組合的通用模式。成功的關鍵在于衡量性能并不斷迭代實現。
重申:只有當復雜性能明顯改善結果時,你才應該考慮增加復雜性。
成功的三大核心原則
LLM領域的成功不在于構建最復雜的系統,而在于構建適合需求的正確系統。Anthropic建議從簡單提示開始,通過全面評估進行優化,只有在簡單解決方案不足時才添加多步驟代理系統。
在實現代理時,應遵循三個核心原則:
? 保持代理設計的簡單性
? 通過明確顯示代理的規劃步驟來優先考慮透明度
? 通過全面的工具文檔和測試精心設計代理-計算機接口(ACI)
工具設計的重要性
在附錄中,Anthropic特別強調了工具設計的重要性。
一個經驗法則是:投入到人機界面(HCI)的努力有多大,就應該計劃在創建良好的代理-計算機接口(ACI)上投入同樣的努力。
在構建SWE-bench代理時,Anthropic實際上花在優化工具上的時間比整體提示更多。例如,他們發現模型在代理移出根目錄后使用相對文件路徑的工具時會出錯。為了解決這個問題,他們將工具改為始終需要絕對文件路徑——結果發現模型完美地使用了這種方法。
框架可以幫助快速入門,但在轉向生產環境時,不要猶豫減少抽象層并使用基本組件構建。遵循這些原則,你可以創建不僅強大,而且可靠、可維護、受用戶信任的代理。
這份來自Anthropic的指南為AI代理開發指明了清晰的方向:簡單性、透明性和精心設計的接口是構建成功AI代理的三大支柱。在追求技術創新的同時,回歸本質、注重實用性,或許才是通往AI代理成功應用的正確道路。
參考原文:https://www.anthropic.com/research/building-effective-agents






























