Anthropic 這篇文章值得看看
詳細闡述了構建多個智能體來更高效地探索複雜課題所面臨的工程挑戰,包括代理協調、評估和可靠性。
讓 Notebooklm 總結了一下主要內容

Anthropic
@AnthropicAI
06-14
New on the Anthropic Engineering blog: how we built Claude’s research capabilities using multiple agents working in parallel.
We share what worked, what didn't, and the engineering challenges along the way.
https://anthropic.com/engineering/built-multi-agent-research-system…

多智能體系統能夠通過以下方式提升性能:
並行操作和信息壓縮:子智能體能夠通過自己的上下文窗口並行運行,同時探索問題的不同方面,然後將最重要的信息提煉給主研究智能體。
關注點分離:每個子智能體提供關注點分離——不同的工具、提示和探索軌跡——這減少了路徑依賴,並實現了徹底、獨立的調查。
擴展性能:一旦智能達到某個閾值,多智能體系統就成為擴展性能的重要方式,就像人類社會通過集體智能和協調能力實現了指數級發展一樣。
卓越的廣度優先查詢能力:內部評估顯示,多智能體研究系統在涉及同時追求多個獨立方向的廣度優先查詢方面表現出色4。例如,當被要求識別信息技術 S&P 500 公司所有董事會成員時,多智能體系統通過將此任務分解為子智能體的任務找到了正確答案,而單個智能體系統則未能通過緩慢的順序搜索找到答案。
高效的 token 使用:多智能體系統能夠消耗足夠的 token 來解決問題。分析表明,token 使用本身解釋了 BrowseComp 評估中 80% 的性能差異,而工具調用次數和模型選擇是另外兩個解釋因素5。多智能體架構通過將工作分配給具有獨立上下文窗口的智能體來增加並行推理的能力,從而有效地擴展了 token 使用量。
智能體系統也有其缺點:
它們通常會快速消耗大量 token。在 Anthropic 的數據中,智能體通常比聊天交互多使用約 4 倍的 token,而多智能體系統則比聊天多使用約 15 倍的 token。
因此,多智能體系統需要任務的價值足夠高,以支付其增加的性能成本,從而實現經濟可行性。
此外,一些需要所有智能體共享相同上下文或涉及許多智能體之間依賴關係的領域,目前不適合多智能體系統,例如大多數編碼任務。
架構概覽 Anthropic 的研究系統採用協調器-工作器(orchestrator-worker)模式的多智能體架構。
其中一個主智能體協調整個過程,同時將任務委託給專門的並行操作的子智能體。
其工作流程如下:
1. 用戶提交查詢後,主智能體(LeadResearcher)會分析查詢,制定策略,並生成子智能體來同時探索不同的方面。
2. LeadResearcher 首先思考其方法,並將計劃保存到內存中以保留上下文,以防上下文窗口超過 200,000 個 token 被截斷。
3. 然後,它會創建專門的子智能體(Subagents),並分配具體的任務。
4. 每個子智能體獨立執行網絡搜索,使用交錯思考(interleaved thinking)評估工具結果,並將發現結果返回給 LeadResearcher。
5. LeadResearcher 綜合這些結果,並決定是否需要更多研究——如果需要,它可以創建額外的子智能體或調整其策略。
6. 一旦收集到足夠的信息,系統就會退出研究循環,並將所有發現結果傳遞給一個 CitationAgent(引用智能體),該智能體處理文檔和研究報告以識別具體的引用位置,確保所有聲明都正確歸因於其來源。
7. 最終的研究結果(包含引用)隨後返回給用戶。
與傳統使用檢索增強生成(RAG)的方法不同,Anthropic 的架構使用多步驟搜索,動態查找相關信息,適應新發現,並分析結果以形成高質量的答案。
提示工程與評估 多智能體系統與單智能體系統存在關鍵差異,包括協調複雜性的快速增長。
提示工程是 Anthropic 改進智能體行為的主要手段。
學到的提示原則包括:
1. 像你的智能體一樣思考:理解提示的效果,通過模擬觀察智能體一步步工作,從而發現故障模式。
2. 教導協調器如何委派任務:主智能體需要將查詢分解為子任務,並向子智能體描述它們。每個子智能體都需要明確的目標、輸出格式、工具和來源的使用指導以及清晰的任務邊界,以避免重複工作或遺漏信息。
3. 根據查詢複雜性調整工作量:在提示中嵌入擴展規則,以幫助主智能體高效分配資源並防止在簡單查詢上過度投入10。簡單的查證可能只需要 1 個智能體和 3-10 次工具調用,而複雜的研究可能需要 10 個以上的子智能體。
4. 工具設計和選擇至關重要:智能體-工具接口與人機接口同樣重要。確保每個工具都有明確的目的和清晰的描述,並向智能體提供明確的啟發式規則(例如,優先使用專用工具而非通用工具)。
5. 讓智能體自我改進:Claude 4 模型可以作為優秀的提示工程師,當給定提示和失敗模式時,它們能夠診斷失敗原因並提出改進建議。Anthropic 甚至創建了一個工具測試智能體,能夠測試有缺陷的工具並重寫其描述以避免失敗。
6. 先廣後深:搜索策略應模仿人類專家研究:先探索概況,再深入細節。通過提示智能體從簡短、寬泛的查詢開始,評估可用信息,然後逐步縮小焦點。
7. 引導思考過程:擴展思考模式(Extended thinking mode)作為可控的草稿本,使 Claude 輸出額外的 token,用於規劃、評估工具適用性、確定查詢複雜度和子智能體數量,並定義每個子智能體的角色。
8. 並行工具調用提升速度和性能:通過讓主智能體並行啟動子智能體,以及子智能體並行使用多個工具,將複雜查詢的研究時間縮短了高達 90%。
智能體的有效評估 評估多智能體系統面臨獨特的挑戰,因為即使起點相同,智能體也可能採取完全不同的有效路徑來達到目標。
評估方法需要靈活,既要判斷智能體是否達到了正確的結果,也要判斷其過程是否合理。
關鍵評估方法包括:
立即開始小樣本評估:在早期開發階段,即使是少數測試用例也能揭示巨大的影響,因為效果規模往往很大。
LLM 作為裁判的評估:研究輸出通常是自由形式文本,沒有單一正確答案,LLM 適合作為評分裁判14。Anthropic 使用 LLM 裁判根據事實準確性、引用準確性、完整性、來源質量和工具效率等標準來評估輸出。
人工評估發現自動化遺漏的問題:人工測試人員能夠發現自動化評估可能遺漏的邊緣情況,例如異常查詢上的幻覺答案、系統故障或微妙的來源選擇偏差。
多智能體系統具有湧現行為,其行為並非通過特定編程產生。
理解交互模式至關重要,最好的提示不是嚴格的指令,而是定義分工、問題解決方法和工作量預算的協作框架。
生產可靠性和工程挑戰 將智能體系統從原型轉化為可靠的生產系統面臨顯著的工程挑戰,因為代理系統中的錯誤具有複合性質。主要挑戰包括:
智能體有狀態且錯誤會累積:智能體可以長時間運行並跨多個工具調用保持狀態。次要系統故障可能對智能體造成災難性影響。Anthropic 構建了能夠從錯誤發生的地方恢復的系統,並利用模型的智能來優雅地處理問題,例如在工具失敗時通知智能體並讓其適應。
調試需要新方法:智能體做出動態決策,並且在運行之間是非確定性的,即使提示相同也如此,這使得調試更加困難。通過添加完整的生產追蹤,Anthropic 能夠診斷智能體失敗的原因並系統地修復問題。
部署需要仔細協調:智能體系統是高度有狀態的提示、工具和執行邏輯的網絡,幾乎連續運行。Anthropic 使用彩虹部署(rainbow deployments),通過逐步將流量從舊版本轉移到新版本,同時保持兩者同時運行,從而避免中斷正在運行的智能體。
同步執行造成瓶頸:目前,Anthropic 的主智能體同步執行子智能體,等待每組子智能體完成後再繼續。這簡化了協調,但在智能體之間的信息流中造成了瓶頸,例如主智能體無法引導子智能體,整個系統可能被阻塞。異步執行將實現額外的並行性,但會增加結果協調、狀態一致性和錯誤傳播的挑戰
來自推特
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論
分享




