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