多智能體在「燃燒」Token!Anthropic公開發現的一切

多智能體在「燃燒」Token!Anthropic公開發現的一切

文章圖片

多智能體在「燃燒」Token!Anthropic公開發現的一切

文章圖片

機器之心報道
機器之心編輯部

研究多智能體必讀指南 。


「Anthropic 發布了他們如何使用多個 Claude AI 智能體構建多智能體研究系統的精彩解釋 。 對于任何構建多智能體系統的人來說 , 這是一本必讀的指南 。 」剛剛 , X 知名博主 Rohan Paul 強力推薦了 Anthropic 一項新研究 。





最近一段時間 , 關于智能體的研究層出不窮 。 但這也為廣大研究者帶來一些困惑 , 比如什么任務需要多智能體?多個 AI 智能體如何協作?怎么解決上下文和記憶問題……


面對這些問題 , 你不妨讀讀 Anthropic 的這篇文章 , 或許能找到答案 。





文章地址:https://www.anthropic.com/engineering/built-multi-agent-research-system


多智能體系統的優勢


有些研究涉及開放式問題 , 這類問題往往難以預先確定所需的步驟 。 對于復雜問題的探索 , 人類無法硬性規定固定路徑 , 因為這一過程本質上是動態且具有路徑依賴性的 。 當人們開展研究時 , 通常會根據發現持續調整方法 , 沿著調查過程中浮現的線索不斷推進 。


【多智能體在「燃燒」Token!Anthropic公開發現的一切】這種不可預測性使得 AI 智能體特別適合執行研究類任務 。 研究工作要求具備靈活性 , 能夠在調查過程中根據發展情況進行轉向或探索相關聯的內容 。 模型必須能夠自主進行多輪推理 , 根據中間發現決定進一步的探索方向 。 線性的一次性流程無法勝任這樣的任務 。


研究的本質是壓縮:從龐大的語料中提煉出有價值的見解 。 子智能體通過并行運行、各自擁有獨立的上下文窗口來輔助這一壓縮過程 , 它們能同時探索問題的不同方面 , 然后將最重要的內容提煉出來 , 交給主研究智能體處理 。 每個子智能體還承擔了關注點分離的作用 —— 它們使用不同的工具、提示詞和探索路徑 , 從而減少路徑依賴 , 確保研究過程更為全面且相互獨立 。


一旦智能達到一定門檻 , 多智能體系統就成為提升性能的關鍵方式 。 例如 , 盡管在過去的十萬年中 , 個體人類的智力有所提升 , 但正是由于我們在信息時代的集體智能和協作能力 , 人類社會的整體能力才呈指數級增長 。 即使是具備通用智能的智能體 , 作為個體在執行任務時也存在極限;而多個智能體協作 , 則能完成更多復雜任務 。


Anthropic 內部評估顯示 , 多智能體研究系統在「廣度優先」的查詢任務中表現尤為出色 , 這類任務通常需要同時探索多個相互獨立的方向 。 他們發現 , 在以 Claude Opus 4 為主智能體、Claude Sonnet 4 為子智能體組成的多智能體系統中 , 表現比單一的 Claude Opus 4 智能體高出 90.2% 。


多智能體系統的核心優勢在于能夠通過充分的 token 消耗來解決問題 。 分析顯示 , 在 BrowseComp 評估(該測試衡量瀏覽型智能體定位高難度信息的能力)中 , 三個因素共同解釋了 95% 的性能差異 。 研究發現:


  • token 消耗量單獨解釋了 80% 的差異;
  • 工具調用次數和模型選擇構成是另外兩個關鍵因素 。


這一發現驗證了 Anthropic 之前所采用的架構:通過將任務分發給擁有各自上下文窗口的不同智能體 , 從而為并行推理增加容量 。 最新的 Claude 模型在 token 使用效率上具有強大的乘數效應 , 例如 , 將 Claude Sonnet 升級至 4 版本所帶來的性能提升 , 甚至超過了將 Claude Sonnet 3.7 的 token 預算翻倍所帶來的提升 。 對于那些超出單一智能體處理極限的任務 , 多智能體架構可以有效擴展 token 使用 , 從而實現更強的處理能力 。


當然 , 這種架構也有一個缺點:在實際應用中 , 它們會非??焖俚叵?tokens 。 根據 Anthropic 統計 , 智能體通常會使用大約是普通聊天交互 4 倍 的 tokens , 而多智能體系統的 token 消耗甚至是聊天的 15 倍左右 。


因此 , 要實現經濟上的可行性 , 多智能體系統需要用于那些任務價值足夠高、足以覆蓋其性能提升所帶來的成本的場景 。 此外 , 一些領域并不適合當前的多智能體系統 , 比如那些要求所有智能體共享同一上下文 , 或智能體之間存在大量依賴關系的任務 。


例如 , 大多數編程任務中真正可并行化的部分相對較少 , 而且當前的大語言模型智能體在「實時協調和分配任務」方面的能力還不夠強 。


因此 , 多智能體系統最擅長的場景是那些具有以下特點的高價值任務:需要大量并行處理、信息量超出單一上下文窗口、以及需要與大量復雜工具交互的任務 。


架構


Anthropic 的研究系統采用多智能體架構 , 使用「協調者 - 執行者(orchestrator-worker)」模式:由一個主導智能體負責整體協調 , 同時將任務分派給多個并行運行的專業子智能體 。



多智能體架構的實際運作方式:用戶的查詢首先通過主導智能體(lead agent) , 由它創建多個專業子智能體 , 分別并行地搜索查詢的不同方面 。


當用戶提交查詢后 , 主導智能體會對其進行分析 , 制定策略 , 并生成子智能體 , 分別從不同角度同時展開探索 。 如上圖所示 , 這些子智能體通過迭代地使用搜索工具來獲取信息(例如在本例中是關于 2025 年的 AI 智能體公司) , 并充當「智能過濾器」的角色 , 最終將公司列表返回給主導智能體 , 由其整理出最終答案 。


傳統的檢索增強生成(RAG)方法采用的是靜態檢索 , 即從語料庫中提取與輸入查詢最相似的一些片段 , 并用這些片段生成回答 。 相比之下 , Anthropic 提出的架構使用的是多步驟的動態搜索流程 , 能夠根據中間結果不斷調整方向、尋找相關信息 , 并進行深入分析 , 從而生成高質量的答案 。





上圖的工作流程是這樣的 。 當用戶提交一個查詢時 , 系統會創建一個名為 LeadResearcher 的主導研究智能體 , 它會進入一個迭代式的研究過程 。 LeadResearcher 首先會思考研究方法 , 并將其計劃保存到 Memory(記憶模塊)中 , 以便持久化上下文信息 —— 因為一旦上下文窗口超過 200000 個 token , 內容就會被截斷 , 而保留研究計劃對于后續推理至關重要 。


隨后 , LeadResearcher 會創建多個專業子智能體(Subagents)(圖中展示了兩個 , 實際上可以是任意數量) , 并為每個子智能體分配具體的研究任務 。 每個 Subagent 會獨立地進行網頁搜索 , 使用交替式思維方式評估工具返回的結果 , 并將研究發現反饋給 LeadResearcher 。


LeadResearcher 對這些結果進行綜合分析 , 并判斷是否還需要進一步研究 —— 如果需要 , 它可以創建更多的子智能體 , 或優化已有的研究策略 。


一旦收集到足夠的信息 , 系統就會退出研究循環 , 并將所有研究發現交給 CitationAgent(引用標注智能體) , 由它處理所有文檔和研究報告 , 識別出每條論述所對應的具體引用位置 , 從而確保所有觀點都有明確的來源支撐 。


最終 , 包含完整引用信息的研究成果將被返回給用戶 。


研究型智能體的提示詞工程與評估方法


多智能體系統與單智能體系統之間存在關鍵差異 , 其中之一就是協調復雜度會迅速上升 。 在早期階段 , 智能體常常會出現一些錯誤行為 , 例如:為簡單的問題生成多達 50 個子智能體、在網絡上無休止地尋找根本不存在的資源 , 或者彼此頻繁干擾、發送過多無關更新 。


由于每個智能體的行為都是由提示詞(prompt)驅動的 , 因此提示詞工程成為研究者優化這些行為的主要手段 。 以下是 Anthropic 在為智能體設計提示詞過程中總結出的一些原則:


高效的提示詞設計 。 要優化提示詞(prompt) , 就必須理解其實際影響 。 為此 , Anthropic 通過控制臺搭建了模擬環境 —— 完全復現系統中的提示詞和工具配置 , 逐步驟觀察智能體的工作過程 。 這種方法立刻暴露出典型失效模式:冗余執行 , 即已獲得充分結果后仍繼續操作;低效查詢 , 即使用冗長模糊的搜索指令;以及工具誤用 , 錯誤選擇功能模塊 。 因而 ,高效的提示詞設計依賴于你對智能體行為建立起準確的心理模型 , 一旦理解深入 , 最有效的改進方向也會變得一目了然 。


教會協調者如何正確分工 。 在 Anthropic 所采用的系統中 , 主導智能體負責將用戶的查詢拆解為若干子任務 , 并將這些任務分配給子智能體 。 每個子智能體都需要明確的目標、輸出格式、關于應使用哪些工具和信息來源的指導 , 以及清晰的任務邊界 。 如果任務描述不夠具體 , 智能體之間就會出現重復勞動、任務空缺 , 或者無法找到所需的信息 。


Anthropic 曾經歷過一個深刻的教訓:他們早期采用「研究芯片短缺」這類籠統指令時 ,發現這類指令往往過于模糊 , 導致子智能體誤解任務 , 或者執行與其他智能體完全相同的搜索 。 比如三個子智能體不約而同地鎖定 2025 年供應鏈數據 , 其中一個偏離到 2021 年汽車芯片危機卻未覆蓋制造端瓶頸 , 最終報告重復率高達 60% 且缺失晶圓廠產能分析 。


根據查詢復雜度調整投入力度 。 由于智能體在判斷不同任務所需的適當投入時存在困難 , 因此 Anthropic 在提示詞中嵌入了分級投入規則 。 簡單的事實查找只需要 1 個智能體調用 3-10 次工具;直接對比類任務可能需要 2-4 個子智能體 , 每個調用 10-15 次工具;而復雜的研究任務則可能使用超過 10 個子智能體 , 并且明確劃分各自的職責 。


這些明確的指導原則幫助主導智能體更有效地分配資源 , 避免在簡單查詢上投入過多 。


工具的設計與選擇至關重要 。 智能體與工具之間的接口就像人與計算機的交互界面一樣重要 。 使用合適的工具可以顯著提高效率 —— 在很多情況下 , 這不僅是優化手段 , 更是必要條件 。 例如 , 如果一個智能體試圖通過網頁搜索來獲取只存在于 Slack 中的上下文信息 , 那么從一開始它就注定無法成功 。


隨著 MCP 服務器讓模型能夠訪問外部工具 , 這一問題變得更加復雜 —— 智能體可能會遇到從未使用過的工具 , 而這些工具的描述質量又參差不齊 。


因此 , Anthropic 為智能體設計了明確的啟發式規則 , 比如:先查看所有可用工具、將工具的用途與用戶意圖進行匹配、使用網頁搜索進行廣泛的信息探索、優先選擇專用工具而非通用工具等 。


糟糕的工具描述會導致智能體完全走上錯誤的路徑 , 因此每個工具都必須具備明確的用途和清晰的描述 。


讓智能體自我改進 。 Anthropic 發現 Claude 4 系列模型在提示詞工程方面表現非常出色 。 當提供一個提示詞和相應的失敗模式時 , 它能夠診斷出智能體失敗的原因 , 并提出改進建議 。


Anthropic 甚至構建了一個工具測試智能體:當它接收到一個存在問題的 MCP 工具時 , 會嘗試使用該工具 , 并隨后重寫其工具描述 , 以避免類似的失敗發生 。 通過對該工具進行數十次測試 , 這個智能體能發現關鍵的使用細節和潛在的 bug 。


這種優化工具交互體驗的流程 , 使后續智能體在使用新描述時的任務完成時間縮短了 40% , 因為它們能夠避開大多數常見錯誤 。


先廣后窄 , 循序漸進 。 搜索策略應當模仿人類專家的研究方式:先全面探索 , 再深入細化 。 然而 , 智能體往往傾向于一開始就使用冗長、具體的查詢詞 , 結果返回的內容卻非常有限 。


為了解決這一問題 , Anthropic 在提示詞中引導智能體從簡短、寬泛的查詢開始 , 先評估可用信息 , 然后再逐步聚焦和深化研究方向 。


引導思維過程 。 「擴展思維模式」(Extended Thinking Mode)會讓 Claude 在輸出中展示出可見的思考過程 , 這相當于一個可控的「草稿本」 。 主導智能體會利用這種思維過程來規劃整體策略 , 包括評估哪些工具適合當前任務、判斷查詢的復雜度和需要的子智能體數量 , 并明確每個子智能體的職責 。


測試表明 , 擴展思維能夠顯著提升智能體的指令遵循能力、推理能力和執行效率 。


子智能體同樣會先制定計劃 , 然后在工具調用之后使用交替思維(Interleaved Thinking)來評估結果質量、發現信息缺口 , 并改進下一步的查詢 。 這使得子智能體在面對不同任務時具備更強的適應能力 。


并行調用工具徹底改變了研究任務的速度與性能 。 復雜的研究任務天然需要查閱大量信息來源 。 Anthropic 早期的智能體采用的是串行搜索 , 執行效率極低 。


為了解決這一問題 , 他們引入了兩種并行機制:


  • 主導智能體同時創建 3-5 個子智能體 , 而不是依次生成;
  • 每個子智能體同時使用 3 個以上的工具 , 而不是逐個調用 。


這些改進將復雜查詢的研究時間最多縮短了 90% , 讓研究系統能在幾分鐘內完成原本需要幾小時的工作 , 同時覆蓋的信息范圍也遠超其他系統 。


有效評估方法


良好的評估機制對于構建可靠的 AI 應用至關重要 , 智能體系統也不例外 。 然而 , 評估多智能體系統面臨獨特的挑戰 。


傳統評估通常假設 AI 每次都會遵循相同的步驟:給定輸入 X , 系統應按路徑 Y 執行 , 并輸出結果 Z 。 但多智能體系統的工作方式并非如此 。 即使起點相同 , 智能體可能會走上完全不同但同樣有效的路徑來實現目標 。 有的智能體可能只查閱 3 個信息源 , 有的可能會查 10 個;它們也可能使用不同的工具來得出相同的答案 。


由于我們并不總是知道哪一套操作步驟才是正確的 , 所以通常無法只靠檢查是否遵循了預設流程來評估智能體表現 。 相反 , 我們需要更靈活的評估方法 , 既要判斷智能體是否達成了正確的結果 , 也要衡量其執行過程是否合理 。


從小樣本評估開始 。 在智能體開發的早期階段 , 任何改動往往都會帶來顯著影響 。 例如 , 僅僅調整一下提示詞 , 成功率就可能從 30% 提升到 80% 。 在這種影響幅度很大的階段 , 只需少量測試用例就能看出變化的效果 。


Anthropic 最初使用了一組大約 20 個查詢 , 這些查詢代表了真實的使用模式 。 測試這些查詢通常就足以清晰判斷某項更改的效果 。


人們經常聽到 AI 開發團隊說他們推遲創建評估機制 , 是因為他們認為只有包含數百個測試用例的大規模評估才有價值 。 但實際上 , 最好的做法是立即從小規模測試開始 , 用幾個示例立刻著手評估 , 而不是等到構建出完整評估系統之后再行動 。


如果使用得當 , 「由大語言模型擔任評審官」(LLM-as-judge)的評估方式也是不錯的選擇 。


研究類的輸出很難通過程序化手段進行評估 , 因為它們通常是自由格式的文本 , 且很少存在唯一正確的答案 。 而 LLM 天然適合擔任這類輸出的評分者 。


Anthropic 使用了一位「LLM 評審官」 , 根據一套評分標準(rubric)來評估每個輸出 , 具體包括以下幾個維度:


  • 事實準確性:陳述是否與引用來源相符?
  • 引用準確性:引用內容是否確實支持了對應的陳述?
  • 完整性:是否覆蓋了所有被要求回答的內容?
  • 信息源質量:是否優先使用了高質量的一手來源 , 而非較低質量的二手資料?
  • 工具使用效率:是否合理選擇并適當使用了相關工具?


Anthropic 嘗試過使用多個 LLM 來分別評估每一個維度 , 但最終發現:只使用一次 LLM 調用 , 通過單個提示詞讓模型輸出 0.0–1.0 的評分以及「通過 / 未通過」的判斷 , 是最穩定、最符合人類評審標準的方法 。


這種方法在測試用例本身有明確答案時尤其有效 , 比如:「是否準確列出了研發投入最高的三家制藥公司?」 這種題目可以直接判斷答案是否正確 。


借助 LLM 擔任評審官 , 能夠高效地擴展到對數百個輸出結果進行評估 , 大幅提升了評估系統的可擴展性與實用性 。


人工評估能發現自動化評估遺漏的問題 。 實際測試智能體的人會發現一些評估系統無法捕捉的邊緣案例 , 比如在不尋常查詢中產生的幻覺答案、系統故障 , 或是細微的來源選擇偏差 。 即使在自動化評估盛行的今天 , 人工測試依然不可或缺 。


生產可靠性與工程挑戰


在傳統軟件中 , 程序缺陷可能導致功能失效、性能下降或系統宕機 。 而在智能體系統中 , 細微的變化可能引發巨大的行為變動 , 這使得為需要在長時間運行過程中維護狀態的復雜智能體編寫代碼異常困難 。


智能體是有狀態的 , 錯誤會累積 。 智能體可能運行很長時間 , 在多次調用工具過程中保持狀態 。 這意味著我們需要持久地執行代碼并在過程中處理錯誤 。 如果沒有有效的緩解措施 , 輕微的系統故障對智能體來說可能是災難性的 。 當發生錯誤時 , 我們不能簡單地從頭重啟:重啟成本高且令用戶沮喪 。 相反 , Anthropic 構建了能夠從智能體發生錯誤時的狀態繼續執行的系統 。


調試 。 智能體在運行時會做出動態決策 , 即使使用相同的提示 , 結果也具有非確定性 , 這使得調試變得更加困難 。 通過添加完整的生產追蹤 , Anthropic 能夠系統地診斷智能體失敗的原因并修復問題 。


部署需要謹慎協調 。 智能體系統是高度有狀態的提示、工具和執行邏輯的網絡 , 幾乎持續運行 。 這意味著每當我們部署更新時 , 智能體可能處于執行過程中的任何階段 。 雖然不能同時將所有智能體更新到新版本 。 但 Anthropic 采用彩虹部署 , 通過逐步將流量從舊版本轉移到新版本 , 同時保持兩者并行運行 , 從而避免對正在運行的智能體造成干擾 。


同步執行會造成瓶頸 。 目前 , Anthropic 的主控智能體采用同步方式執行子智能體任務 , 會等待每批子智能體完成后才繼續下一步 。 這簡化了協調過程 , 但也在智能體之間的信息流動中形成了瓶頸 。 例如 , 主智能體無法實時引導子智能體 , 子智能體之間也無法協同 , 而整個系統可能會因為等待某個子智能體完成搜索而被阻塞 。


異步執行則能帶來更多的并行性:智能體可以同時工作 , 并在需要時創建新的子智能體 。 但這種異步性也帶來了結果協調、狀態一致性以及錯誤傳播等方面的挑戰 。 隨著模型能夠處理更長更復雜的研究任務 , Anthropic 預計性能提升將足以抵消這些復雜性的增加 。


總結


在構建 AI 智能體時 , 最后一公里往往占據了整個旅程的大部分 。 從開發者機器上能運行的代碼庫 , 到變成可靠的生產系統 , 需要大量的工程投入 。 智能體系統中錯誤的復合特性意味著 , 傳統軟件中的小問題可能會徹底擾亂智能體的運行 。 某一步驟失敗 , 可能導致智能體探索完全不同的路徑 , 從而產生不可預測的結果 。 基于本文所述的各種原因 , 原型與生產環境之間的差距通常比預期更大 。


盡管面臨這些挑戰 , 多智能體系統在開放式研究任務中已經展現出巨大價值 。 只要經過細致的工程設計、全面的測試、注重細節的提示詞和工具設計、健全的運維實踐 , 以及研究、產品與工程團隊之間緊密合作且對當前智能體能力有深刻理解 , 多智能體研究系統就能在大規模場景中穩定運行 。 我們已經看到這些系統正在改變人們解決復雜問題的方式 。



    推薦閱讀