Anthropic:我們如何構建多智能體研究系統

Anthropic** 2****025** 年 6 月 13 日發佈

編者摘要:Anthropic 不僅推出智能體與外部工具、函數調用 MCP(上下文協議),對應谷歌的 A2A 協議,Anthropic 又推出多智能體系統框架。構建人工智能智能體時,最後一公里通常佔據了大部分的旅程。能夠在開發者的機器上運行的代碼庫需要進行大量工程工作,才能成爲可靠的生產系統。智能體系統中錯誤的複合性意味着傳統軟件中的微小問題可能會完全破壞智能體。一步失敗可能會導致智能體探索完全不同的軌跡,從而導致不可預測的結果。不可預測性使得 AI 智能體特別適用於研究類任務。搜索的本質是壓縮,而類似編碼一般並不需要多智能體。教導編排者如何委託任務,根據查詢複雜性調整工作量。工具設計和選擇至關重要,讓智能體改善自身。開始寬泛,然後逐漸縮小範圍。並行工具調用轉變了速度和性能。我們的提示策略側重於灌輸良好的啓發式方法,而不是嚴格的規則。好的評估對於構建可靠的 AI 應用程序至關重要,而智能體程序也不例外。人工評估可以發現自動化系統忽略的內容。在傳統軟件中,一個 bug 可能會破壞一個功能、降低性能或導致故障。智能體是有狀態的,錯誤會逐漸累積。部署需要仔細協調。智能體系統是高度狀態化的提示、工具和執行邏輯網絡,幾乎持續運行。

**長期對話管理。**生產智能體通常要進行涉及數百輪的對話,需要謹慎的上下文管理策略。

Anthropic 的研究功能使用多個 Claude 智能體來更有效地探索複雜話題。Anthropic 分享了構建這一系統所面臨的工程挑戰和我們從中學到的經驗。

Claude 現在具有研究能力,可以搜索整個網絡、Google Workspace 和任何集成,以完成複雜任務。

這個多 Agent 系統從原型到生產的旅程爲我們提供了關於系統架構、工具設計和快速工程的關鍵經驗教訓。**一個多 Agent 系統由多個 Agent(LLMs 自主地循環使用工具)共同工作。**我們的研究特性涉及一個 Agent 根據用戶查詢計劃研究過程,然後使用工具創建並行 Agent 同時搜索信息。具有多個 Agent 的系統引入了 Agent 協調、評估和可靠性方面的新挑戰。

這篇文章剖析了對我們有效的原則,希望您在構建自己的多智能體系統時會發現它們很有用。

目錄

1 多智能體系統的好處

2 研究的架構概述

3 觸發工程和研究智能體的評估

4 有效評估智能體商

5 生產可靠性和工程挑戰

6 結論

致謝

附錄

A 多智能體系統的一些額外雜項提示

1 多智能體系統的好處

**研究工作涉及開放性問題,很難提前預測所需的步驟。**對於探索複雜主題,不能硬編碼固定路徑,因爲該過程固有地動態且依賴路徑。 當人們進行研究時,他們傾向於根據發現持續更新他們的方法,根據調查過程中出現的線索跟隨。

這種不可預測性使得 AI 智能體特別適用於研究任務。研究需要靈活性,可以在調查進行時轉向或探索相關聯的連接。模型必須在許多輪中自主運行,根據中間結果做出關於要追求哪些方向的決定。線性、一次性的流程無法處理這些任務。

**搜索的本質是壓縮:**從龐大的語料庫中提煉見解。子智能體通過與自己的上下文窗口並行操作,同時探索問題的不同方面,然後將最重要的標記濃縮給主要研究智能體。每個子智能體還提供關注分離——不同的工具、提示和探索軌跡——這減少了路徑依賴,使徹底的、獨立的調查成爲可能。

**一旦智能達到一定程度,多智能體系統成爲提高性能的重要途徑。**例如,儘管在過去的 10 萬年中,個體人類變得更加聰明,但由於我們的集體智慧和協調能力,在信息時代人類社會的能力呈指數級增長。即使是普通具有智能的個體面臨操作上的限制;而多個智能體組成的羣體可以完成更多的任務。

我們的內部評估顯示,多智能體研究系統在涉及同時追求多個獨立方向的廣度優先查詢方面表現突出。我們發現,以 Claude Opus 4 爲主智能體,Claude Sonnet 4 爲從智能體的多智能體系統在我們的內部研究評估中比單一智能體 Claude Opus 4 的表現提高了 90.2%。例如,當要求識別 Information Technology S&P 500 公司的所有董事會成員時,多智能體系統通過將其分解爲子智能體的任務而找到正確答案,而單一智能體系統通過緩慢的順序搜索未能找到答案。

**多主體系統主要起作用是因爲它們有助於花費足夠的 Token 來解決問題。**在我們的分析中,有三個因素解釋了 95%的性能變異,這是對瀏覽智能體定位難以找到信息能力的 " 瀏覽比賽 " 評估的一個測試。我們發現,Token 使用本身就解釋了 80%的變異,工具調用次數和模型選擇是另外兩個解釋因素。這一發現驗證了我們的架構,該架構通過智能體之間具有不同上下文窗口的分配工作來增加並行推理的容量。最新的 Claude 模型作爲大型效率乘數器,升級到 Claude Sonnet 4 比將 Claude Sonnet 3.7 的 Token 預算加倍帶來更大的性能增益。多主體架構有效地擴展 Token 使用,使其適用於超出單個智能體限制的任務。

**在實踐中存在一個缺點:**這些架構很快耗盡標記。在我們的數據中,智能體通常使用的標記數量大約是聊天交互的 4 倍,而多智能體系統使用的標記數量大約是聊天的 15 倍。爲了經濟可行性,多智能體系統需要任務的價值足夠高,以支付性能提升的成本。此外,一些需要所有智能體共享相同上下文或涉及許多智能體之間依賴關係的領域,目前不適合多智能體系統。例如,大多數編碼任務涉及的真正可並行化的任務比研究少,而且目前的大型語言模型智能體在實時協調和委派給其他智能體方面還不是很出色。我們發現,多智能體系統擅長涉及大量並行化、超出單一上下文窗口的信息以及與許多複雜工具進行交互的有價值任務。

2 研究的架構概述

我們的研究系統採用了一個具有編排器 - 工作者模式的多 Agent 架構,其中一位主導 Agent 協調整個過程,同時委派給專門的子 Agent 並行操作。

多智能體體系結構的運作方式:用戶查詢通過主智能體流動,主智能體會創建專門的子智能體並行搜索不同方面。

當用戶提交查詢時,主要智能體分析它,制定策略,並生成子智能體以同時探索不同方面。如上圖所示,子智能體作爲智能過濾器,通過迭代使用搜索工具收集信息,例如 2025 年 AI 智能體公司的信息,然後將公司列表返回給主要智能體,以便它編制最終答案。

傳統的檢索增強生成(RAG)方法使用靜態檢索。也就是說,它們獲取一些與輸入查詢最相似的塊,並使用這些塊來生成響應。相比之下,我們的架構使用多步搜索,動態尋找相關信息,適應新發現,並分析結果以制定高質量的答案。

顯示我們多智能體研究系統完整工作流程的流程圖。當用戶提交查詢時,系統創建一個 LeadResearcher 智能體進入迭代研究過程中。LeadResearcher 首先通過思考方法並將計劃保存到內存中以保持上下文,因爲如果上下文窗口超過 200,000 個標記,它將被截斷,保留計劃很重要。然後,它創建專門的子智能體(這裏顯示兩個,但可以是任意數量)執行特定的研究任務。每個子智能體獨立進行網絡搜索,使用交替思考評估工具結果,並將發現結果返回給 LeadResearcher。LeadResearcher 綜合這些結果並決定是否需要更多研究,如果需要,可以創建額外的子智能體或完善其策略。一旦收集足夠信息,系統退出研究循環並將所有發現傳遞給 CitationAgent,後者處理文檔和研究報告,以識別引文的特定位置。這確保所有聲明都得到正確歸因。帶有引文的最終研究結果隨後返回給用戶。

3 觸發工程和研究智能體的評估

**多智能體系統與單智能體系統有關鍵差異,包括協調複雜性的迅速增長。早期智能體犯下了一些錯誤,如爲簡單查詢生成 50 個子智能體,無休止地搜索不存在的信息源,**並通過過多的更新使彼此分心。由於每個智能體都受到提示的引導,因此提示工程是我們改善這些行爲的主要手段。下面是我們在引導智能體方面學到的一些原則:

  1. **像你的智能體一樣思考。**爲了改進提示,你必須理解它們的影響。爲了幫助我們做到這一點,我們使用我們的 Console 構建了模擬,其中包含來自我們系統的精確提示和工具,然後逐步觀察智能體的工作過程。這立即揭示了失敗模式:智能體在已經獲得足夠的結果時繼續進行、使用過於冗長的搜索查詢、或選擇錯誤的工具。有效的提示依賴於開發一個準確的智能體心智模型,這可以使最具影響力的改變變得顯而易見。

  2. **教導編排者如何委託任務。**在我們的系統中,主要智能體將查詢分解爲子任務,並將其描述給子智能體。每個子智能體需要一個目標、一個輸出格式、關於要使用的工具和來源的指導,以及清晰的任務邊界。沒有詳細的任務描述,智能體會重複工作,留下空白,或者無法找到必要的信息。我們開始允許主要智能體給出簡單、簡短的指示,比如 “研究半導體短缺”,但發現這些指示通常模棱兩可,導致子智能體誤解任務或執行與其他智能體完全相同的搜索。例如,一個子智能體探討了 2021 年汽車芯片危機,而另外兩個複製了調查當前 2025 年供應鏈的工作,沒有有效的勞動分工。

  3. **根據查詢複雜性調整工作量。**智能體人往往難以判斷不同任務所需的適當工作量,因此我們在提示中嵌入了縮放規則。簡單的事實查找僅需要 1 名智能體人,以及 3-10 次工具調用,直接比較可能需要 2-4 個子智能體人,每個子智能體人進行 10-15 次調用,而複雜的研究可能需要超過 10 個子智能體人,具有明確定義的責任劃分。這些明確的指導方針幫助主要智能體人有效分配資源,並防止在簡單查詢中過度投資,這在我們的早期版本中是一種常見的失敗模式。

  4. 工具設計和選擇至關重要。智能體 - 工具界面與人機界面一樣重要。使用正確的工具是高效的,通常是必需的。例如,一個搜索網絡以獲取僅存在於 Slack 中的上下文的智能體從一開始就註定會失敗。通過爲模型提供對外部工具的訪問權限,這個問題會變得更加複雜,因爲智能體會遇到描述質量存在巨大差異的未知工具。我們給我們的智能體明確的啓發式方法:例如,首先檢查所有可用工具,將工具使用與用戶意圖匹配,搜索網絡進行廣泛的外部探索,或者更喜歡專業工具而不是通用工具。糟糕的工具描述可能會將智能體引向完全錯誤的路徑,因此每個工具都需要有明確的目的和清晰的描述。

  5. **讓智能體改善自身。**我們發現,Claude 4 模型可以成爲出色的提示工程師。當提供一個提示和一個故障模式時,它們能夠診斷智能體爲何失敗並提出改進建議。我們甚至創建了一個工具測試智能體——當給出一個有缺陷的 MCP 工具時,它嘗試使用該工具,然後重新編寫工具描述以避免失敗。通過數十次測試該工具,這個智能體發現了關鍵的細微差別和錯誤。這種改進工具人機工程的過程導致了對未來使用新描述的智能體完成任務時間減少了 40%,因爲他們能夠避免大部分錯誤。

  6. 開始寬泛,然後逐漸縮小範圍。搜索策略應模仿專業人類研究的方式:在深入具體內容之前先探索整體格局。智能體人通常傾向於使用過長、過於特定的查詢,結果返回很少。我們通過提示智能體人從簡短、廣泛的查詢開始,評估可用內容,然後逐漸縮小焦點來抵消這種趨勢。

  7. **引導思維過程。**在可見的思維過程中,通過擴展思維模式,導致 Claude 輸出額外的標記,可作爲可控的草稿板。主引導智能體使用思維來規劃其方法,評估哪些工具適合任務,確定查詢複雜性和子智能體計數,並定義每個子智能體的角色。我們的測試表明,擴展思維提高了指令遵循、推理和效率。子智能體也規劃,然後在工具結果之後使用交錯思維來評估質量,識別差距,並完善其下一個查詢。這使得子智能體在適應任何任務時更加有效

  8. **並行工具調用轉變了速度和性能。**複雜的研究任務自然而然涉及到探索許多來源。我們早期的智能體執行了順序搜索,這是非常緩慢的。爲了加快速度,我們引入了兩種並行化方式:(1)主智能體同時啓動 3-5 個子智能體,而不是一個接一個地啓動;(2)子智能體同時使用 3 個以上的工具。這些改變最多將複雜查詢的研究時間縮短了 90%,允許研究人員在幾分鐘內完成更多的工作,覆蓋比其他系統更多的信息。

  9. **我們的提示策略側重於灌輸良好的啓發式方法,而不是嚴格的規則。**我們研究了熟練的人類如何處理研究任務,並將這些策略編碼到我們的提示中 - 例如將困難問題分解爲較小的任務、仔細評估信息源的質量、根據新信息調整搜索方法,以及識別何時專注於深度(詳細調查一個主題)而非廣度(同時探索許多主題)。我們還通過設置明確的護欄來積極減輕意外的副作用,防止智能體人失控。最後,我們專注於具有可觀察性和測試用例的快速迭代循環。

4 有效評估智能體

**好的評估對於構建可靠的 AI 應用程序至關重要,而智能體程序也不例外。**然而,評估多智能體系統存在獨特的挑戰。傳統的評估通常假定 AI 每次都遵循相同步驟:給定輸入 X,系統應該遵循路徑 Y 來產生輸出 Z。但是多智能體系統不是這樣工作的。即使起點相同,智能體可能會採取完全不同的有效路徑來達到目標。一個智能體可能搜索三個來源,而另一個可能搜索十個,或者他們可能使用不同的工具來找到相同的答案。因爲我們不總是知道正確的步驟是什麼,通常不能僅僅檢查智能體是否按照我們預先規定的 “正確” 步驟進行。相反,我們需要靈活的評估方法,判斷智能體是否在實現正確結果的同時也遵循了合理的過程。

**立即開始使用小樣本進行評估。**在早期的智能體開發中,變化往往會產生巨大的影響,因爲存在大量低 hanging fruit。一個簡單的調整可能會將成功率從 30% 提高到 80%。由於效果如此顯著,你可以通過只測試幾個案例就發現變化。我們開始使用約 20 個查詢集合,代表真實的使用模式。頻繁測試這些查詢通常讓我們清楚地看到變化的影響。我們經常聽說 AI 開發團隊延遲創建評估,因爲他們認爲只有包含數百個測試案例的大型評估纔有用。然而,最好立即開始使用少量示例進行小規模測試,而不是等到能夠構建更全面的評估。

**LLM 評價標準評分做得好。**研究成果很難通過程序進行評估,因爲它們是自由形式的文本,很少有一個正確的答案。LLM 是評分輸出的自然選擇。我們使用了一個 LLM 評委,根據一個評分表對每個輸出進行評估:事實準確性(主張是否與來源匹配?)、引用準確性(引用的來源是否與主張相匹配?)、完整性(是否涵蓋了所有請求的方面?)、來源質量(是否使用了高質量的原始來源而非較低質量的次要來源?)和工具效率(是否合理地使用了適當的工具次數?)。我們嘗試使用多個評委來評估每個組成部分,但發現一個 LLM 調用並輸出 0.0-1.0 分數和及格 / 不及格等級的方法最一致,並與人類判斷一致。這種方法在評估測試案例有明確答案時特別有效,我們可以使用 LLM 評委簡單地檢查答案是否正確(即,是否準確地列出了擁有前三大研發預算的製藥公司)。使用 LLM 作爲評委使我們能夠可擴展地評估數百個輸出。

人工評估可以發現自動化系統忽略的內容。測試智能體人的人員可以發現評估工具忽略的邊緣案例,其中包括對不尋常查詢的虛擬答案、系統故障或微妙的來源選擇偏見。在我們的案例中,人工測試者注意到我們早期的智能體人一直傾向於選擇 SEO 優化的內容農場,而不是像學術 PDF 或個人博客這樣權威但排名較低的來源。將來源質量啓發式添加到我們的提示中有助於解決這個問題。即使在自動化評估的世界中,人工測試仍然至關重要。

多智能體系統具有新興行爲,這些行爲是在沒有特定編程的情況下產生的。例如,對主要智能體的微小變化可能會不可預測地改變子智能體的行爲。成功需要理解互動模式,而不僅僅是單個智能體的行爲。因此,對這些智能體最好的提示不僅僅是嚴格的指令,而是定義勞動分工、問題解決方法和工作量預算的合作框架。要做到這一點,需要仔細的提示和工具設計,牢固的啓發式方法,可觀察性和嚴密的反饋循環。請查看我們的《烹飪書》中的開源提示,以獲取來自我們系統的示例提示。

5  生產可靠性和工程挑戰

**在傳統軟件中,一個 bug 可能會破壞一個功能、降低性能或導致故障。**在動態系統中,微小的變化會導致大規模的行爲變化,這使得爲必須在長時間運行的進程中維護狀態的複雜智能體編寫代碼變得非常困難。

**智能體是有狀態的,錯誤會逐漸累積。**智能體可以長時間運行,跨多個工具調用保持狀態不變。這意味着我們需要持久執行代碼並在途中處理錯誤。沒有有效的緩解措施,小型系統故障對智能體可能是災難性的。當發生錯誤時,我們不能只是從頭重新開始:重新啓動對用戶來說是昂貴且令人沮喪的。相反,我們構建了可以從錯誤發生時智能體所在位置恢復的系統。我們還利用模型的智能來優雅地處理問題:例如,讓智能體知道何時工具出現故障,並讓其適應工作,效果出奇的好。我們將基於 Claude 的人工智能智能體的適應性與重試邏輯和定期檢查點等確定性保護措施相結合。

調試受益於新的方法。 智能體程序做出動態決策,在不同運行之間不確定性,即使使用相同的提示。 這使得調試變得更加困難。 例如,用戶會報告智能體程序 “找不到顯而易見的信息”,但我們看不出原因。 智能體程序是否使用了錯誤的搜索查詢? 選擇了糟糕的來源? 遇到了工具故障? 添加完整的生產追蹤使我們能夠診斷智能體程序失敗的原因並系統地解決問題。 除了標準的可觀察性之外,我們還監視智能體程序的決策模式和交互結構,而無需監視個別對話的內容,以保護用戶隱私。 這種高級別的可觀察性幫助我們診斷根本原因,發現意外行爲並修復常見故障。

**部署需要仔細協調。**智能體系統是高度狀態化的提示、工具和執行邏輯網絡,幾乎持續運行。這意味着每當我們部署更新時,智能體可能處於其處理過程的任何位置。因此,我們需要防止我們善意的代碼更改破壞現有的智能體。我們不能同時將每個智能體更新到新版本。相反,我們使用 “彩虹部署” 來避免干擾運行中的智能體,逐漸將流量從舊版本轉移至新版本,同時保持兩者同時運行。

**同步執行會產生瓶頸。**目前,我們的主智能體以同步方式執行子智能體,等待每組子智能體完成後再繼續。這簡化了協調工作,但在智能體之間的信息流中產生了瓶頸。例如,主智能體無法操控子智能體,子智能體無法協調,整個系統在等待單個子智能體完成搜索時可能被阻塞。異步執行將使額外的並行性成爲可能:智能體可以同時工作,並在需要時創建新的子智能體。但這種異步性增加了在子智能體之間的結果協調、狀態一致性和錯誤傳播方面的挑戰。隨着模型能夠處理更長、更復雜的研究任務,我們相信性能提升將使複雜性得到證明。

6     結論  

**構建人工智能智能體時,最後一公里通常佔據了大部分的旅程。**能夠在開發者的機器上運行的代碼庫需要進行大量工程工作,才能成爲可靠的生產系統。智能體系統中錯誤的複合性意味着傳統軟件中的微小問題可能會完全破壞智能體。一步失敗可能會導致智能體探索完全不同的軌跡,從而導致不可預測的結果。基於本文描述的所有原因,原型和生產之間的差距通常比預期的要大。

儘管存在這些挑戰,多 Agent 系統已被證明對於開放性研究任務非常有價值。用戶表示,Claude 幫助他們發現他們從未考慮過的商機,解決複雜的醫療選擇,解決棘手的技術問題,並通過揭示他們獨自無法發現的研究連接,節省多達數天的工作時間。多 Agent 研究系統可以通過精心設計、全面測試、注重細節的提示和工具設計、強大的操作規範以及研究、產品和工程團隊之間緊密合作的方式來可靠地大規模運作,這些團隊對當前 Agent 能力有着深刻的理解。我們已經看到這些系統正在改變人們解決複雜問題的方式。

展示了使用研究功能的最常見方式的 Clio 嵌入式圖。首要的使用案例類別包括跨專業領域開發軟件系統(10%)、開發和優化專業和技術內容(8%)、制定業務增長和收入生成策略(8%)、協助學術研究和教育資料開發(7%)以及研究和驗證有關人員、地點或組織的信息(5%)。

致謝

由 Jeremy Hadfield、Barry Zhang、Kenneth Lien、Florian Scholz、Jeremy Fox 和 Daniel Ford 編寫。這項工作反映了 Anthropic 中幾個團隊的集體努力,他們使 Research 功能成爲可能。特別感謝 Anthropic 應用程序工程團隊,他們的奉獻精神將這個複雜的多智能體系統投入生產。我們還要感謝早期用戶的出色反饋。   傑里米 · 哈德菲爾德、巴里 · 張、肯尼斯 · 連恩、弗洛裏安 · 肖爾茲、傑里米 · 福克斯和丹尼爾 · 福特共同編寫。 這項工作反映了 Anthropic 公司各個團隊的共同努力,他們使研究功能成爲可能。 特別感謝 Anthropic 應用程序工程團隊,他們的奉獻精神將這一複雜的多智能體系統推向生產。 我們還感謝早期用戶的出色反饋。

附錄

A 多智能體系統的一些額外雜項提示

對在許多輪對話中改變狀態的智能體進行最終狀態評估。評估在多輪對話中修改持久狀態的智能體會帶來獨特的挑戰。與只讀研究任務不同,每個動作都可能改變後續步驟的環境,從而創建傳統評估方法難以處理的依賴關係。我們發現,着重於最終狀態評估而不是逐輪分析是成功的。不是判斷智能體是否遵循了特定過程,而是評估它是否達到了正確的最終狀態。這種方法承認智能體可能找到通往相同目標的替代路徑,同時仍確保它們提供了預期的結果。對於複雜的工作流程,將評估分解爲離散的檢查點,在這些檢查點中應該發生特定狀態的變化,而不是嘗試驗證每個中間步驟。

**長期對話管理。**生產智能體通常要進行涉及數百輪的對話,需要謹慎的上下文管理策略。隨着對話的延伸,標準的上下文窗口變得不夠,需要智能的壓縮和記憶機制。我們實施了一些模式,智能體在完成工作階段後總結並將關鍵信息存儲在外部存儲器中,然後再繼續新任務。當上下文限制接近時,智能體可以生成具有清晰上下文的新子智能體,通過謹慎的交接來保持連續性。此外,他們可以從記憶中檢索存儲的上下文,比如研究計劃,而不是在達到上下文限制時丟失先前的工作。這種分佈式方法可以防止上下文溢出,同時在長期互動中保持對話連貫性。

子智能體輸出到文件系統,以減少 “電話遊戲” 的影響。直接子智能體輸出可以繞過主協調員獲取某些類型的結果,從而改善準確性和性能。不需要讓子智能體通過主智能體傳達所有信息,可以實施工件系統,讓專門的智能體可以創建獨立持久的輸出。子智能體調用工具將他們的工作存儲在外部系統中,然後將輕量級引用傳遞迴協調員。這樣可以避免在多階段處理過程中出現信息丟失,並減少通過對話歷史複製大型輸出的令牌開銷。這種模式特別適用於結構化輸出,如代碼、報告或數據可視化,其中子智能體的專門提示產生的結果比經過一般協調員篩選更好。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/0BNcunWRy6u8H4frUzZGLA