多代理系統(tǒng)將決策和交互分布在組成系統(tǒng)的各個(gè)代理之間,與單代理系統(tǒng)區(qū)分開來。在單代理系統(tǒng)中,集中代理執(zhí)行所有決策,而多代理系統(tǒng)由相互交互的智能代理組成,每個(gè)代理都做出決策并影響環(huán)境。多代理架構(gòu)旨在構(gòu)建擁有不同視角的代理,這可以通過不同的環(huán)境和語言模型的支持來實(shí)現(xiàn)。這些代理相互合作,在完成指定迭代次數(shù)后獲得最佳結(jié)果,減少偏見和其他影響。
決策和交互在組成系統(tǒng)的各個(gè)代理之間的分布是多代理系統(tǒng)與單代理系統(tǒng)的主要區(qū)別。在單代理系統(tǒng)中,集中代理負(fù)責(zé)做出所有決策,其他代理則充當(dāng)遠(yuǎn)程從屬代理。通常由該代理根據(jù)具體情況做出決定。這可能導(dǎo)致忽略其他觀點(diǎn)和可能性。另一方面,多代理系統(tǒng)由多個(gè)相互交互的智能代理組成,每個(gè)代理都能夠做出決策并影響周圍環(huán)境。
多代理架構(gòu)的目的是構(gòu)建能夠根據(jù)其扮演的角色帶來多種視角的代理。不同的環(huán)境有助于創(chuàng)建這些代理。盡管使用相同的 LLM,但每個(gè)代理的行為都是獨(dú)一無二的,因?yàn)樗哂刑囟ǖ墓δ?、目?biāo)和環(huán)境,就像小隊(duì)成員一樣。
想象一下,您有一個(gè)負(fù)責(zé)生成應(yīng)用程序代碼的代理和另一個(gè)負(fù)責(zé)審查代碼的代理,并且它們都相互進(jìn)行對(duì)話以增強(qiáng)代碼。這兩個(gè)代理將在完成預(yù)定的迭代次數(shù)后獲得最佳結(jié)果。這種策略的應(yīng)用不僅可以提供更理想的產(chǎn)品,還可以減輕幻覺、偏見和其他類似現(xiàn)象的影響。在多代理架構(gòu)中,定義適當(dāng)?shù)纳舷挛?、提示和模型至關(guān)重要。憑借強(qiáng)大、快速的工程能力,可以創(chuàng)建一個(gè)利用多個(gè)代理的有影響力的應(yīng)用程序。
多智能體設(shè)計(jì)優(yōu)勢(shì)
使用多智能體設(shè)計(jì)有以下幾個(gè)優(yōu)點(diǎn):
關(guān)注點(diǎn)分離
每個(gè)代理的指令和小樣本示例由不同的語言模型驅(qū)動(dòng),這些模型經(jīng)過了微調(diào),并由各種工具支持。這允許職責(zé)分離。將工作委托給多個(gè)代理可以取得更好的結(jié)果。每個(gè)代理可以專注于特定任務(wù),而不必從各種工具中進(jìn)行選擇。
模塊化
由于多智能體設(shè)計(jì)具有模塊化特點(diǎn),因此可以將復(fù)雜的任務(wù)劃分為更易于管理的部分,專門的智能體和語言模型可以針對(duì)這些部分進(jìn)行處理。使用多智能體設(shè)計(jì)時(shí),您可以獨(dú)立評(píng)估和改進(jìn)每個(gè)智能體,而無需中斷整個(gè)程序。對(duì)工具和職責(zé)進(jìn)行分組可能會(huì)產(chǎn)生更好的結(jié)果。將智能體集中在特定任務(wù)上可以提高其效率。
多樣性
確保代理團(tuán)隊(duì)具有足夠的多樣性,以便吸收各種觀點(diǎn),提高輸出質(zhì)量,并避免產(chǎn)生幻覺和偏見。這與傳統(tǒng)的人類團(tuán)隊(duì)類似。
可重用性
一旦開發(fā)了代理,就有可能將其重新用于各種用例。此外,明智的做法是考慮一個(gè)代理生態(tài)系統(tǒng)的可能性,該生態(tài)系統(tǒng)可以利用適當(dāng)?shù)木幣趴蚣埽ɡ?AutoGen、Crew.ai 等)協(xié)作尋找問題的解決方案。
來源: 多代理架構(gòu)
多智能體架構(gòu)組件
以下是典型多代理架構(gòu)的組件。
-
代理:智能代理在 LLM 上運(yùn)行,其特點(diǎn)是具有明確的目的、角色和背景。
-
聯(lián)系:這些代理之間有什么聯(lián)系?
-
編排:術(shù)語“編排”指的是這些代理相互協(xié)作的過程(例如順序、分層或雙向聊天)。
-
人:我們需要有一個(gè)中間人,以便我們能夠協(xié)助做出決策和評(píng)估結(jié)果。
-
工具:這些代理使用工具來執(zhí)行特定任務(wù),例如在互聯(lián)網(wǎng)上搜索更多信息、生成和閱讀文檔、將生成的代碼上傳到 GitHub 等等。
-
LLM:代理將使用大型語言模型來支持推理設(shè)計(jì)。
框架
許多框架促進(jìn)了這些多代理應(yīng)用程序的開發(fā)。在本節(jié)中,我們將詳細(xì)解釋其中一些框架。然而,隨著這個(gè)領(lǐng)域的發(fā)展,許多框架經(jīng)歷了變化和引入。另一方面,它們中的每一個(gè)都提供了更簡(jiǎn)單的構(gòu)建和管理多個(gè)代理的技術(shù)。隨著我們博客文章的推進(jìn),我們將基于這些框架開發(fā)一些應(yīng)用程序。
打開人工智能助手
最早的多智能體框架之一是OpenAI Assistant。該框架支持開發(fā)持久、多模式且能夠與用戶進(jìn)行長(zhǎng)期交互的多智能體系統(tǒng)。智能體可以通過訪問文件、工具和代碼解釋器來協(xié)作完成任務(wù)。這適用于長(zhǎng)期協(xié)作和交互應(yīng)用程序。
微軟 Autogen
微軟的 Autogen框架是目前最流行的新興框架之一。為了構(gòu)建強(qiáng)大的多智能體應(yīng)用程序,這個(gè)開源框架包括 Autogen Studio,這是一種基于 UI 的直觀編程工具。它創(chuàng)建使用大型語言模型進(jìn)行推理和操作的 LLM 智能體,以及定制數(shù)據(jù)。它提供了一種基于編排器的特定多智能體架構(gòu)方法。
Dragonscale 的多智能體系統(tǒng)
Dragonscale 的多智能體系統(tǒng)集成了生成式 AI 模型和工具,以開發(fā)能夠處理從簡(jiǎn)單到復(fù)雜任務(wù)的智能系統(tǒng),尤其是在動(dòng)態(tài)業(yè)務(wù)情況下。這適用于不斷變化且需要敏捷的業(yè)務(wù)情況。該框架有助于處理復(fù)雜任務(wù)。
機(jī)組人員人工智能
我們正在將最近流行的框架CrewAI與 Autogen 進(jìn)行比較。CrewAI 是一個(gè)用于編排自主 AI 代理的非常有用的框架。CrewAI 為代理提供了協(xié)作完成具有挑戰(zhàn)性的任務(wù)的智能。它幫助 AI 代理采用角色、共享目標(biāo)并協(xié)同工作。這個(gè)框架不僅是我的最愛之一,而且我正在密切關(guān)注它的進(jìn)展。在我的下一篇博客文章中,我將討論我使用 CrewAI 開發(fā)的應(yīng)用程序。
語言圖譜
LangGraph是另一個(gè)功能強(qiáng)大且前景光明的多代理框架。開發(fā)人員在 LangChain 之上構(gòu)建 LangGraph,以使用 LLM 開發(fā)有狀態(tài)的多參與者應(yīng)用程序。它通過在各種處理步驟中添加大量鏈(或參與者)的循環(huán)協(xié)調(diào)來增強(qiáng) LangChain 表達(dá)語言,從 Pregel 和 Apache Beam 中汲取靈感。LangChain 環(huán)境的強(qiáng)大以及支持它的社區(qū)賦予了 LangGraph 強(qiáng)大的力量。
結(jié)束語
能夠從環(huán)境中學(xué)習(xí)并適應(yīng)的智能系統(tǒng)是人工智能進(jìn)化的最終目標(biāo),從而為各個(gè)行業(yè)帶來更加個(gè)性化、更高效的解決方案。
路由網(wǎng)(www.lu-you.com)您可以查閱其它相關(guān)文章!