LangChain官方實(shí)測(cè):多智能體架構(gòu)怎么選?
在構(gòu)建 AI Agent 的時(shí)候,是不是感覺(jué)當(dāng)工具和業(yè)務(wù)場(chǎng)景一多,單個(gè)Agent就越來(lái)越“笨”,越來(lái)越不好維護(hù)?這幾乎是所有開(kāi)發(fā)者的共同痛點(diǎn)。
怎么解決?多智能體(Multi-Agent)架構(gòu)是目前最主流的方向。但問(wèn)題又來(lái)了,多智能體架構(gòu)有好幾種,比如 Swarm、Supervisor... 到底哪種更好用?
LangChain 官方親自下場(chǎng),扒了扒幾個(gè)主流的多智能體架構(gòu),并發(fā)布了一份超詳細(xì)的性能評(píng)測(cè)報(bào)告。今天,我們就來(lái)深度解讀一下這份報(bào)告,看看官方的結(jié)論是什么,以及我們到底該如何選擇。
三大主流架構(gòu)
首先,我們得認(rèn)識(shí)一下這次評(píng)測(cè)的三位“選手”:

- 單智能體 (Single Agent):一個(gè) Agent 掌握所有工具和指令,獨(dú)自處理所有任務(wù)。這是評(píng)測(cè)的baseline。
- 群聊模式 (Swarm):每個(gè)子智能體都知道彼此的存在,可以直接“接力”工作。誰(shuí)拿到控制權(quán),誰(shuí)就負(fù)責(zé)干活,直到它把任務(wù)交棒給下一個(gè)。
- 主管模式 (Supervisor):一個(gè)中心化的“主管”Agent 負(fù)責(zé)接收用戶(hù)需求,然后把任務(wù)分配給相應(yīng)的“員工”子智能體。員工干完活,必須把結(jié)果匯報(bào)給主管,只有主管能跟用戶(hù)溝通。
LangChain評(píng)測(cè)
LangChain 的實(shí)驗(yàn)設(shè)置方式是,他們?cè)谝粋€(gè)真實(shí)的零售場(chǎng)景任務(wù)基礎(chǔ)上,故意加入了家居、醫(yī)療、汽車(chē)等多個(gè)無(wú)關(guān)的干擾領(lǐng)域,每個(gè)領(lǐng)域都有一堆工具和知識(shí)。目的就是為了看看在復(fù)雜、充滿噪音的環(huán)境下,哪個(gè)架構(gòu)最能打。
直接來(lái)看結(jié)果。
性能得分:?jiǎn)误w智能體,卒

結(jié)論非常清晰:隨著干擾domain增多,單智能體的性能出現(xiàn)了斷崖式下跌。 當(dāng)有兩個(gè)以上的干擾域時(shí),它基本就廢了。
而 Swarm 和 Supervisor 架構(gòu)則表現(xiàn)出了極強(qiáng)的魯棒性,性能基本不受影響。這證明了在復(fù)雜場(chǎng)景下,多智能體架構(gòu)的必要性。有趣的是,Swarm 的表現(xiàn)略微優(yōu)于 Supervisor。
成本(Tokens):主管模式有點(diǎn)“啰嗦”

從成本看,單智能體的 Token 消耗隨著干擾增多而線性爆炸。而 Swarm 和 Supervisor 則非常穩(wěn)定。
但這里也能看到,Supervisor 的成本始終高于 Swarm。為什么呢?
其實(shí)很容易理解,在 Supervisor 模式里,子智能體不能直接和用戶(hù)說(shuō)話,所有信息都得經(jīng)過(guò)主管“轉(zhuǎn)述”一遍。這一來(lái)一回,不僅增加了 Token 消耗,還可能因?yàn)橹鞴艿摹稗D(zhuǎn)述”而出錯(cuò),這也是它性能稍低于 Swarm 的原因。
被“優(yōu)化”過(guò)的Supervisor 架構(gòu)才是完全體
所以,是不是覺(jué)得 Supervisor 架構(gòu)又貴又容易出錯(cuò),不如 Swarm 好呢?
LangChain 表示, Supervisor 初始版本,性能爛到爆。但是經(jīng)過(guò)一系列優(yōu)化之后,可以獲得更好的結(jié)果! 下圖的 old_supervisor 是初始版本。

最后,如何讓 Supervisor 架構(gòu)變得好用?
主要做了三件事:
- 移除交接消息, 主管在分配任務(wù)時(shí),會(huì)產(chǎn)生一些路由邏輯和決策信息。在初始版中,這些信息會(huì)一股腦塞給子智能體。優(yōu)化后,這些“廢話”被移除,子智能體的上下文變得干凈,讓它能更專(zhuān)注于核心任務(wù)。
- 增加“轉(zhuǎn)發(fā)”工具,為了解決傳輸?shù)膿p耗問(wèn)題,他們給了主管一個(gè) forward_message 工具。當(dāng)子智能體生成了完美的回復(fù)后,主管可以直接調(diào)用這個(gè)工具“原文轉(zhuǎn)發(fā)”,而不是自己去復(fù)述一遍,大大減少了信息失真。
- 優(yōu)化工具命名, 主管分配任務(wù)本質(zhì)上也是一種 Tool Calling。他們測(cè)試了不同的工具命名方式(比如?
?delegate_to_agent?? vs??transfer_to_agent??),選擇了最不容易產(chǎn)生歧義的表達(dá)。
這些優(yōu)化,已經(jīng)集成到了langgraph-supervisor 包里。https://github.com/langchain-ai/langgraph-supervisor-py
最后
總結(jié)一下:
在需要擴(kuò)展和應(yīng)對(duì)復(fù)雜場(chǎng)景時(shí),單智能體模式是非常脆弱的,可以嘗試多智能體架構(gòu),可擴(kuò)展性、可維護(hù)性和魯棒性上優(yōu)勢(shì)巨大。
Supervisor 是最通用、最靈活的架構(gòu), 雖然 Swarm 看起來(lái)性能和成本更好,但它要求每個(gè)子智能體都互相知曉,這在接入第三方Agent或構(gòu)建復(fù)雜系統(tǒng)時(shí)幾乎不可能。而 Supervisor 架構(gòu)對(duì)子智能體的要求最低,耦合度也最低,最具普適性。
本文轉(zhuǎn)載自????????探索AGI????????,作者:獼猴桃

















