播客內(nèi)容由listenhub生成,懶得看的話也可以聽
昨天最熱的的兩篇文章是關于多智能體系統(tǒng)構(gòu)建的討論。
先是 Anthropic 發(fā)布了他們在深度搜索多智能體構(gòu)建過程中的一些經(jīng)驗,具體:包括多智能體系統(tǒng)的優(yōu)勢、架構(gòu)概覽、提示工程與評估、智能體的有效評估等方面。
另外一邊 Devin 的開發(fā)商 Cognition 的一個負責人 Walden 發(fā)布文章告誡大家不要構(gòu)建多智能體,指出一些常見但實際效果不佳的方法,特別是多智能體架構(gòu)的弊端。
這篇文章主要就是結(jié)合兩篇文章看一下 Cognition 提到的多智能體架構(gòu)弊端和 Anthropic 給出的解決方案。同時后面也會有兩篇文章非常詳細的總結(jié)。
什么是多智能體
多智能體系統(tǒng)由多個智能體(大型語言模型 [LLM] 自主地循環(huán)使用工具)協(xié)同工作組成。
在這種系統(tǒng)中,一個主智能體(或協(xié)調(diào)器)會根據(jù)用戶查詢規(guī)劃研究過程,然后使用工具創(chuàng)建并行操作的子智能體,這些子智能體同時搜索信息。這種架構(gòu)允許主智能體協(xié)調(diào)整個過程,同時將任務委托給專門的子智能體。
所以具體的步驟一般為:
1. 將工作分解為多個部分
2. 啟動子智能體處理這些部分
3. 最終合并這些結(jié)果
多智能體存在哪些問題?如何解決
總的來說 Anthropic 也承認 Cognition 提到的多智能體問題的存在,但是他們也做了很多約束和措施來解決這些問題。
首先是領域選擇: 他們將多智能體系統(tǒng)應用于他們認為特別適合并行化和開放式探索的領域——研究任務,而不是普遍適用于所有任務(例如他們承認編碼任務就不太適合,Cognition 就是做的編程智能體)。
然后是嚴格的架構(gòu)和設計: 采用協(xié)調(diào)者-工作者模式,并通過詳細的提示工程來明確子智能體的任務和職責,以最大程度地減少誤解和沖突
最后引入高級上下文管理: 引入記憶機制和通過文件系統(tǒng)傳遞輸出等方式,來解決上下文窗口限制和信息流失的問題。
我們來看看具體的對比。
1. 關于多智能體架構(gòu)的“脆弱性”與“可靠性”問題
Cognition的觀點: 多智能體架構(gòu)非常脆弱,關鍵的失敗點在于子智能體可能誤解任務并產(chǎn)生不一致的結(jié)果,導致最終的智能體難以整合這些誤解。智能體需要長期運行并保持連貫對話時,可靠性至關重要,而上下文工程是核心。多智能體系統(tǒng)會導致“決策過于分散,上下文無法充分共享”,從而產(chǎn)生“脆弱的系統(tǒng)”
Anthropic的觀點: Anthropic承認多智能體系統(tǒng)確實會帶來“智能體協(xié)調(diào)、評估和可靠性方面的新挑戰(zhàn)”。他們也指出,“代理系統(tǒng)中的微小變化會級聯(lián)為大的行為變化”,這使得為復雜的、需要維護狀態(tài)的智能體編寫代碼變得非常困難。代理系統(tǒng)中的錯誤復合性質(zhì)意味著,對于傳統(tǒng)軟件來說的次要問題可能會完全擾亂智能體。早期的智能體確實存在協(xié)調(diào)問題,例如“為簡單查詢生成50個子代理”、“無休止地搜索不存在的來源”以及“過度更新互相干擾”。
2. 關于上下文共享和沖突決策
Cognition的觀點: 子智能體即使共享原始任務上下文,也可能因為無法看到其他子智能體正在做什么而導致工作不一致,因為它們的行動基于相互沖突的未預設假設。他們強調(diào)原則1是“共享完整上下文和完整的智能體追蹤,而不僅僅是單獨的消息”,原則2是“行動帶有隱含決策,沖突的決策會導致糟糕的結(jié)果”。
Anthropic 首先也承認了這些限制:“有些領域需要所有智能體共享相同上下文,或者涉及智能體之間許多依賴關系,目前不適合多智能體系統(tǒng)”。他們特別提到,“大多數(shù)編碼任務涉及的真正可并行化任務比研究任務少,而且LLM智能體目前還不擅長實時協(xié)調(diào)和委派給其他智能體”。這與《Don’t Build Multi-Agents》中提到的Claude Code子智能體不并行寫代碼以及“編輯應用模型”中小型模型誤解指令的問題形成了呼應。
然后我們來看一下 Anthropic 是如何克服這些限制的:
- 協(xié)調(diào)模式: Anthropic的系統(tǒng)采用“協(xié)調(diào)者-工作者”模式,由一個主智能體協(xié)調(diào)整個過程,并委派任務給并行的專業(yè)子智能體。主智能體分析查詢,制定策略,并生成子智能體同時探索不同的方面。子智能體將結(jié)果返回給主智能體進行綜合。
- 明確委托: 他們強調(diào)“教導協(xié)調(diào)者如何委托”,即主智能體需要為子智能體提供詳細的任務描述,包括目標、輸出格式、使用的工具和來源指南,以及明確的任務邊界,以避免工作重復、遺漏或任務誤解。例如,如果沒有詳細描述,子智能體可能會重復執(zhí)行相同的搜索,或者對任務進行不同的解釋。
- 上下文管理: 對于長期運行的任務和上下文窗口溢出問題,Anthropic的解決方案是主智能體將計劃保存到“內(nèi)存”中,以持久化上下文,防止上下文窗口過大時被截斷。他們還實現(xiàn)了智能體在完成工作階段后總結(jié)關鍵信息并存儲到外部記憶中,并在上下文接近限制時生成新的子智能體,通過仔細交接保持連續(xù)性。
- 最小化“電話游戲”: 他們通過讓子智能體將輸出直接保存到文件系統(tǒng)來“最小化‘電話游戲’(game of telephone)”,而不是所有信息都通過主協(xié)調(diào)器傳遞。這有助于提高保真度和性能,并減少通過對話歷史復制大量輸出所需的token開銷,從而避免信息丟失。
3. 關于單線程線性智能體與多智能體并行性
Cognition的觀點: 推薦最簡單的遵循原則的方法是使用“單線程線性智能體”,其中上下文是連續(xù)的。他們認為目前的智能體在長上下文、主動的交流方面不如人類可靠,因此多智能體協(xié)作只會導致脆弱的系統(tǒng)。
Anthropic的觀點: Anthropic則積極擁抱多智能體并行性,認為它是“擴展性能的關鍵方式”。
他們認為,對于像研究這樣開放式、不可預測的問題,多智能體系統(tǒng)特別適用,因為它提供了靈活性,能夠根據(jù)發(fā)現(xiàn)調(diào)整方法,并允許子智能體并行操作,從而實現(xiàn)“壓縮”和“關注點分離”。他們通過內(nèi)部評估發(fā)現(xiàn),多智能體研究系統(tǒng)在廣度優(yōu)先的查詢上,性能比單智能體系統(tǒng)提高了90.2%。
- 速度提升: Anthropic通過引入兩種并行化方式大幅提升了研究時間:主智能體并行啟動3-5個子智能體,子智能體并行使用3個以上工具,從而將復雜查詢的研究時間縮短了90%。
- Token消耗: 不過,Anthropic也承認這是一個“缺點”:“這些架構(gòu)在實踐中會快速消耗token”,多智能體系統(tǒng)通常比聊天互動多用約15倍的token。因此,多智能體系統(tǒng)只適用于“任務價值足夠高以支付增加的性能”的場景。
- 協(xié)調(diào)瓶頸: Anthropic目前的主智能體是“同步執(zhí)行子智能體”,即等待每組子智能體完成后再繼續(xù),這簡化了協(xié)調(diào),但會在信息流中造成瓶頸。他們提到異步執(zhí)行將實現(xiàn)更大的并行性,但會增加結(jié)果協(xié)調(diào)、狀態(tài)一致性和錯誤傳播的挑戰(zhàn),并期望未來模型能處理更長的復雜研究任務時,性能提升將證明其復雜性是值得的。
Cognition - Don’t Build Multi-Agents 總結(jié)
文章主要圍繞以下兩項上下文工程(Context Engineering)原則展開:
1. 共享上下文: 智能體應共享完整的上下文,包括完整的智能體追蹤(agent traces),而不僅僅是單獨的消息。
2. 行動隱含決策: 智能體的行動帶有隱含的決策,沖突的決策會導致糟糕的結(jié)果。
構(gòu)建長期運行智能體的理論與挑戰(zhàn) 文章指出,LLM智能體框架的表現(xiàn)令人失望,目前還沒有單一的構(gòu)建方法成為標準。特別是在構(gòu)建嚴肅的生產(chǎn)級應用時,可靠性至關重要,而上下文工程是實現(xiàn)可靠性的核心。上下文工程旨在動態(tài)、自動化地為LLM提供完成任務所需的理想格式信息。
文章以一個常見的將任務分解為多個部分的智能體為例,說明了多智能體架構(gòu)的脆弱性。
- 任務分解的脆弱性: 假設一個智能體被要求“構(gòu)建一個《飛揚的小鳥》克隆”,并將其分解為子任務:“構(gòu)建帶綠管子和碰撞盒的移動游戲背景”和“構(gòu)建一個可以上下移動的小鳥”7。如果子智能體1誤解了任務,構(gòu)建了《超級馬里奧兄弟》風格的背景,而子智能體2構(gòu)建的小鳥與《飛揚的小鳥》不符,那么最終的智能體將面臨結(jié)合這些誤解的困難。
- 上下文共享不足: 即使將原始任務作為上下文復制給子智能體,也可能導致問題。在多輪對話的真實生產(chǎn)系統(tǒng)中,智能體可能需要進行工具調(diào)用來分解任務,任何細節(jié)都可能影響任務的解釋。
- 行動沖突: 即使每個子智能體都能看到之前智能體的上下文,如果它們沒有看到彼此在做什么,它們的工作最終也可能不一致。例如,可能出現(xiàn)不同視覺風格的小鳥和背景。這是因為子智能體1和子智能體2的行動基于相互沖突的未預設的假設。文章強調(diào),原則1和原則2是如此關鍵,以至于默認應該排除任何不遵守它們的多智能體架構(gòu)。
最簡單的遵循這些原則的方法是使用單線程線性智能體。在這種架構(gòu)中,上下文是連續(xù)的。然而,對于包含許多子部分的超大任務,可能會出現(xiàn)上下文窗口溢出問題。對于真正長期運行的任務,文章提出了一種更高級的方法:引入一個新的LLM模型,其主要目的是將歷史行動和對話壓縮成關鍵細節(jié)、事件和決策。這需要大量投入來確定什么是關鍵信息并構(gòu)建一個擅長此任務的系統(tǒng)。
原則的應用與實際案例
- Claude Code子智能體: 截至2025年6月,Claude Code是一個會生成子任務的智能體,但它從不與子任務智能體并行工作,并且子任務智能體通常只負責回答問題,不編寫代碼。這是因為子任務智能體缺乏主智能體所需的上下文來執(zhí)行除回答明確定義的問題之外的任何操作。如果并行運行多個子智能體,它們可能會給出沖突的響應,導致可靠性問題。在這種情況下,使用子智能體的好處是,子智能體的調(diào)查工作不需要保留在主智能體的歷史記錄中,從而允許在上下文耗盡之前進行更長的追蹤。
- 編輯應用模型(Edit Apply Models): 在2024年,許多模型在編輯代碼方面表現(xiàn)不佳。常見的做法是讓大型模型輸出代碼編輯的Markdown解釋,然后將這些解釋提供給小型模型來實際重寫文件。然而,這些系統(tǒng)仍然存在缺陷,小型模型經(jīng)常會因為指令中的微小歧義而誤解大型模型的指令并進行不正確的編輯。如今,編輯決策和應用通常由單個模型在一個行動中完成。
Cognition 文章指出,雖然讓決策者之間“對話”以解決問題看似合理,就像人類在分歧時會溝通一樣,但到2025年,智能體尚不能以比單個智能體更可靠的方式進行這種長上下文、主動的交流。
人類在高效地傳達重要知識方面非常高效,但這種效率需要非凡的智能。 自ChatGPT推出后不久,人們一直在探索多個智能體相互協(xié)作以實現(xiàn)目標。盡管作者對未來智能體之間協(xié)作的可能性持樂觀態(tài)度,但目前來看,運行多個智能體協(xié)作只會導致脆弱的系統(tǒng)。決策變得過于分散,并且智能體之間無法充分共享上下文。
跨智能體上下文傳遞的難題目前沒有人投入專門的精力去解決,并預測當單線程智能體在與人類溝通方面變得更好時,這個問題將“免費”得到解決,從而解鎖更大的并行性和效率。
Anthropic - How we built our multi-agent research system 總結(jié)
Anthropic 的多智能體研究系統(tǒng)是一個利用多個 Claude 智能體協(xié)同工作來更有效地探索復雜主題的系統(tǒng)。該系統(tǒng)旨在通過其研究功能,使 Claude 能夠跨網(wǎng)絡、Google Workspace 和任何集成進行搜索,以完成復雜的任務。
多智能體系統(tǒng)的優(yōu)勢
研究工作涉及開放性問題,很難預先預測所需的步驟,因為研究過程本質(zhì)上是動態(tài)且路徑依賴的。多智能體系統(tǒng)特別適合研究任務,因為它要求具備靈活性,以便在調(diào)查過程中根據(jù)發(fā)現(xiàn)進行調(diào)整或探索切線聯(lián)系。
多智能體系統(tǒng)能夠通過以下方式提升性能:
- 并行操作和信息壓縮:子智能體能夠通過自己的上下文窗口并行運行,同時探索問題的不同方面,然后將最重要的信息提煉給主研究智能體。
- 關注點分離:每個子智能體提供關注點分離——不同的工具、提示和探索軌跡——這減少了路徑依賴,并實現(xiàn)了徹底、獨立的調(diào)查。
- 擴展性能:一旦智能達到某個閾值,多智能體系統(tǒng)就成為擴展性能的重要方式,就像人類社會通過集體智能和協(xié)調(diào)能力實現(xiàn)了指數(shù)級發(fā)展一樣。
- 卓越的廣度優(yōu)先查詢能力:內(nèi)部評估顯示,多智能體研究系統(tǒng)在涉及同時追求多個獨立方向的廣度優(yōu)先查詢方面表現(xiàn)出色。例如,當被要求識別信息技術 S&P 500 公司所有董事會成員時,多智能體系統(tǒng)通過將此任務分解為子智能體的任務找到了正確答案,而單個智能體系統(tǒng)則未能通過緩慢的順序搜索找到答案。
- 高效的 token 使用:多智能體系統(tǒng)能夠消耗足夠的 token 來解決問題。分析表明,token 使用本身解釋了 BrowseComp 評估中 80% 的性能差異,而工具調(diào)用次數(shù)和模型選擇是另外兩個解釋因素。多智能體架構(gòu)通過將工作分配給具有獨立上下文窗口的智能體來增加并行推理的能力,從而有效地擴展了 token 使用量。
然而,多智能體系統(tǒng)也有其缺點:它們通常會快速消耗大量 token。在 Anthropic 的數(shù)據(jù)中,智能體通常比聊天交互多使用約 4 倍的 token,而多智能體系統(tǒng)則比聊天多使用約 15 倍的 token。因此,多智能體系統(tǒng)需要任務的價值足夠高,以支付其增加的性能成本,從而實現(xiàn)經(jīng)濟可行性。此外,一些需要所有智能體共享相同上下文或涉及許多智能體之間依賴關系的領域,目前不適合多智能體系統(tǒng),例如大多數(shù)編碼任務。
架構(gòu)概覽
Anthropic 的研究系統(tǒng)采用協(xié)調(diào)器-工作器(orchestrator-worker)模式的多智能體架構(gòu),其中一個主智能體協(xié)調(diào)整個過程,同時將任務委托給專門的并行操作的子智能體。
其工作流程如下:
1. 用戶提交查詢后,主智能體(LeadResearcher)會分析查詢,制定策略,并生成子智能體來同時探索不同的方面。
2. LeadResearcher 首先思考其方法,并將計劃保存到內(nèi)存中以保留上下文,以防上下文窗口超過 200,000 個 token 被截斷。
3. 然后,它會創(chuàng)建專門的子智能體(Subagents),并分配具體的任務。
4. 每個子智能體獨立執(zhí)行網(wǎng)絡搜索,使用交錯思考(interleaved thinking)評估工具結(jié)果,并將發(fā)現(xiàn)結(jié)果返回給 LeadResearcher。
5. LeadResearcher 綜合這些結(jié)果,并決定是否需要更多研究——如果需要,它可以創(chuàng)建額外的子智能體或調(diào)整其策略。
6. 一旦收集到足夠的信息,系統(tǒng)就會退出研究循環(huán),并將所有發(fā)現(xiàn)結(jié)果傳遞給一個 CitationAgent(引用智能體),該智能體處理文檔和研究報告以識別具體的引用位置,確保所有聲明都正確歸因于其來源。
7. 最終的研究結(jié)果(包含引用)隨后返回給用戶。
與傳統(tǒng)使用檢索增強生成(RAG)的方法不同,Anthropic 的架構(gòu)使用多步驟搜索,動態(tài)查找相關信息,適應新發(fā)現(xiàn),并分析結(jié)果以形成高質(zhì)量的答案。
提示工程與評估
多智能體系統(tǒng)與單智能體系統(tǒng)存在關鍵差異,包括協(xié)調(diào)復雜性的快速增長。提示工程是 Anthropic 改進智能體行為的主要手段。
學到的提示原則包括:
1. 像你的智能體一樣思考:理解提示的效果,通過模擬觀察智能體一步步工作,從而發(fā)現(xiàn)故障模式。
2. 教導協(xié)調(diào)器如何委派任務:主智能體需要將查詢分解為子任務,并向子智能體描述它們。每個子智能體都需要明確的目標、輸出格式、工具和來源的使用指導以及清晰的任務邊界,以避免重復工作或遺漏信息。
3. 根據(jù)查詢復雜性調(diào)整工作量:在提示中嵌入擴展規(guī)則,以幫助主智能體高效分配資源并防止在簡單查詢上過度投入。簡單的查證可能只需要 1 個智能體和 3-10 次工具調(diào)用,而復雜的研究可能需要 10 個以上的子智能體。
4. 工具設計和選擇至關重要:智能體-工具接口與人機接口同樣重要。確保每個工具都有明確的目的和清晰的描述,并向智能體提供明確的啟發(fā)式規(guī)則(例如,優(yōu)先使用專用工具而非通用工具)。
5. 讓智能體自我改進:Claude 4 模型可以作為優(yōu)秀的提示工程師,當給定提示和失敗模式時,它們能夠診斷失敗原因并提出改進建議。Anthropic 甚至創(chuàng)建了一個工具測試智能體,能夠測試有缺陷的工具并重寫其描述以避免失敗。
6. 先廣后深:搜索策略應模仿人類專家研究:先探索概況,再深入細節(jié)。通過提示智能體從簡短、寬泛的查詢開始,評估可用信息,然后逐步縮小焦點。
7. 引導思考過程:擴展思考模式(Extended thinking mode)作為可控的草稿本,使 Claude 輸出額外的 token,用于規(guī)劃、評估工具適用性、確定查詢復雜度和子智能體數(shù)量,并定義每個子智能體的角色。
8. 并行工具調(diào)用提升速度和性能:通過讓主智能體并行啟動子智能體,以及子智能體并行使用多個工具,將復雜查詢的研究時間縮短了高達 90%。
Anthropic 的提示策略側(cè)重于灌輸良好的啟發(fā)式規(guī)則而非僵硬的規(guī)則,通過研究人類專家如何進行研究并將其策略編碼到提示中,如將難題分解為小任務、評估來源質(zhì)量、根據(jù)新信息調(diào)整搜索方法以及識別何時應注重深度或廣度。
智能體的有效評估
評估多智能體系統(tǒng)面臨獨特的挑戰(zhàn),因為即使起點相同,智能體也可能采取完全不同的有效路徑來達到目標12。評估方法需要靈活,既要判斷智能體是否達到了正確的結(jié)果,也要判斷其過程是否合理。
關鍵評估方法包括:
- 立即開始小樣本評估:在早期開發(fā)階段,即使是少數(shù)測試用例也能揭示巨大的影響,因為效果規(guī)模往往很大。
- LLM 作為裁判的評估:研究輸出通常是自由形式文本,沒有單一正確答案,LLM 適合作為評分裁判。Anthropic 使用 LLM 裁判根據(jù)事實準確性、引用準確性、完整性、來源質(zhì)量和工具效率等標準來評估輸出。
- 人工評估發(fā)現(xiàn)自動化遺漏的問題:人工測試人員能夠發(fā)現(xiàn)自動化評估可能遺漏的邊緣情況,例如異常查詢上的幻覺答案、系統(tǒng)故障或微妙的來源選擇偏差。
- 多智能體系統(tǒng)具有涌現(xiàn)行為,其行為并非通過特定編程產(chǎn)生。理解交互模式至關重要,最好的提示不是嚴格的指令,而是定義分工、問題解決方法和工作量預算的協(xié)作框架。
將智能體系統(tǒng)從原型轉(zhuǎn)化為可靠的生產(chǎn)系統(tǒng)面臨顯著的工程挑戰(zhàn),因為代理系統(tǒng)中的錯誤具有復合性質(zhì)。
主要挑戰(zhàn)包括:
- 智能體有狀態(tài)且錯誤會累積:智能體可以長時間運行并跨多個工具調(diào)用保持狀態(tài)。次要系統(tǒng)故障可能對智能體造成災難性影響。Anthropic 構(gòu)建了能夠從錯誤發(fā)生的地方恢復的系統(tǒng),并利用模型的智能來優(yōu)雅地處理問題,例如在工具失敗時通知智能體并讓其適應。
- 調(diào)試需要新方法:智能體做出動態(tài)決策,并且在運行之間是非確定性的,即使提示相同也如此,這使得調(diào)試更加困難。通過添加完整的生產(chǎn)追蹤,Anthropic 能夠診斷智能體失敗的原因并系統(tǒng)地修復問題。
- 部署需要仔細協(xié)調(diào):智能體系統(tǒng)是高度有狀態(tài)的提示、工具和執(zhí)行邏輯的網(wǎng)絡,幾乎連續(xù)運行。Anthropic 使用彩虹部署(rainbow deployments),通過逐步將流量從舊版本轉(zhuǎn)移到新版本,同時保持兩者同時運行,從而避免中斷正在運行的智能體。
- 同步執(zhí)行造成瓶頸:目前,Anthropic 的主智能體同步執(zhí)行子智能體,等待每組子智能體完成后再繼續(xù)。這簡化了協(xié)調(diào),但在智能體之間的信息流中造成了瓶頸,例如主智能體無法引導子智能體,整個系統(tǒng)可能被阻塞。異步執(zhí)行將實現(xiàn)額外的并行性,但會增加結(jié)果協(xié)調(diào)、狀態(tài)一致性和錯誤傳播的挑戰(zhàn)。
盡管面臨這些挑戰(zhàn),多智能體系統(tǒng)已被證明對開放式研究任務非常有價值。
用戶反饋稱,Claude 幫助他們發(fā)現(xiàn)了未曾考慮的商業(yè)機會,導航復雜的醫(yī)療保健選項,解決了棘手的技術錯誤,并節(jié)省了數(shù)天的工作時間,因為發(fā)現(xiàn)了他們獨自無法找到的研究聯(lián)系。
通過精心的工程設計、全面的測試、注重細節(jié)的提示和工具設計、強大的操作實踐以及研究、產(chǎn)品和工程團隊之間的緊密協(xié)作,多智能體研究系統(tǒng)能夠可靠地大規(guī)模運行。
目前,研究功能最常見的使用案例包括:開發(fā)專業(yè)領域軟件系統(tǒng)(10%)、開發(fā)和優(yōu)化專業(yè)技術內(nèi)容(8%)、開發(fā)業(yè)務增長和收入生成策略(8%)、協(xié)助學術研究和教育材料開發(fā)(7%),以及研究和驗證人員、地點或組織信息(5%)。
整理和翻譯不易,覺得有用的話可以給個三連,感謝?
參考:
https://www.anthropic.com/engineering/built-multi-agent-research-system
https://cognition.ai/blog/dont-build-multi-agents
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.