智能體竟能自行組建通信網絡,還能自創(chuàng)協(xié)議提升通信效率
Hugging Face 上的模型數量已經超過了 100 萬。但是幾乎每個模型都是孤立的,難以與其它模型溝通。盡管有些研究者甚至娛樂播主試過讓 LLM 互相交流,但所用的方法大都比較簡單。
近日,牛津大學一個研究團隊提出了一個用于 LLM 通信的元協(xié)議:Agora,并宣稱可以解決「智能體通信三難困境」,進而構建「世界級的 LLM 智能體網絡」。
- 論文標題:A Scalable Communication Protocol for Networks of Large Language Models
- 論文地址:https://arxiv.org/pdf/2410.11905
智能體通信三難困境
智能體(agent)是指能在環(huán)境中自主行動以實現其設計目標的計算機系統(tǒng)。
和人類一樣,為了實現共同的目標,智能體也需要相互協(xié)作。實際上,如此構建的多智能體系統(tǒng)正是當前 AI 領域的一大重要研究方向,比如 OpenAI 就正在網羅多智能體人才。
OpenAI 著名研究科學家 Noam Brown 發(fā)帖為多智能體研究團隊招募機器學習工程師
但是,由于智能體千差萬別(包括架構、功能和約束條件等),要為它們組成的異構網絡設計通信協(xié)議并不容易。牛津大學的這個團隊將這些難題歸因到了三個方面:
- 多功能性:智能體之間的通信應支持內容和格式各異的多種多樣的消息;
- 效率:運行智能體的計算成本和通信的網絡成本應盡可能低;
- 可移植性:通信協(xié)議應盡可能支持更多智能體,同時其實現起來也應不費力。
該團隊將這些屬性之間的權衡稱為智能體通信三難困境(Agent Communication Trilemma),如圖 1 所示,具體討論請參閱原論文。
Agora:LLM 的通信協(xié)議層
要解決這個智能體通信三難困境,關鍵是要接受這一點:并不存在一種能同時實現最佳效率、可移植性和多功能性的協(xié)議。
牛津大學的這個團隊提出的 Agora 是一種元協(xié)議(meta protocol),其利用了 LLM 的特殊能力來解決這個三難問題,具體來說就是為不同的場景采用不同的通信方法。
我們知道,最強大的 LLM 具有三大關鍵屬性:
- 它們可以使用自然語言理解、操縱和回復其它智能體;
- 它們擅長遵循指令,包括編寫代碼來實現例程;
- 在復雜的場景中,它們可以自主協(xié)商協(xié)議并就采用的策略和行為達成共識。
究其核心,Agora 會根據不同的情況使用不同的通信格式。
智能體可以支持廣泛的通信(高通用性),同時也能通過高效的例程處理總請求量中的大部分(高效率)。此外,整個協(xié)商和實現工作流程都由 LLM 處理,無需人類干預(高可移植性)。
Agora 功能的核心是協(xié)議文檔(PD)這一概念,圖 3 給出了其圖示。
下面將介紹 Agora 原生支持的通信層級,然后會展示一些示例。
Agora 中的通信
Agora 引入了一種機器可讀的方式來傳輸和引用協(xié)議,即協(xié)議文檔(PD)。PD 就是通信協(xié)議的純文本描述。
PD 是獨立的、與實現無關的,并且包含智能體在支持協(xié)議方面所需的一切:這就意味著現有協(xié)議的大多數描述(如 RFC)也都是合適的 PD。但是 PD 并不依靠某個中央實體來分配標識符,而是通過其哈希值(用于多路復用)進行唯一標識。
在 Agora 中,最常見的通信具有專用的高效例程,而最罕見的通信則使用低效但靈活的 LLM 和自然語言。具體來說:
- 如果可能,則通過傳統(tǒng)協(xié)議來處理最常見的通信 —— 這些協(xié)議有標準的、人工編寫的實現(例如 OBP);
- 對于不太常見的通信(或沒有標準協(xié)議的通信),智能體可以使用結構化數據作為交換媒介(可以由 LLM 編寫的例程處理);
- 對于一方智能體常見但對另一方不常見的通信,智能體仍然使用結構化數據,但一方可以選擇使用 LLM,而另一方使用例程;
- 對于罕見的通信或例程意外失敗的情況,智能體可以使用自然語言。
在處理一個查詢時,到底選擇使用人工編寫的例程、LLM 編寫的例程還是 LLM(或三者中的某種組合),則完全由智能體自行決定。這能為智能體在處理查詢方面提供最大的靈活性。
這種分層通信支持任意形式的通信(最大通用性),但在實踐中,僅在非常少的情況下會調用 LLM(最大效率)。此外,因為 LLM 可以自行實現例程(因為 PD 完全描述了協(xié)議的語法和語義),人類程序員只需要提供智能體可以訪問的工具的概述,這意味著人類方面所需的實現工作量很小(最大可移植性)。
也就是說,Agora 通過使用例程來處理常見請求,并在智能體需要協(xié)商解決方案或發(fā)生錯誤時使用自然語言,從而避開了通信三難困境。
將 Agora 用作一個零層協(xié)議
圖 2 表明,使用 Agora 無需在乎具體的實現和技術
智能體本身的實現(例如 LLM)、用于存儲數據的數據庫(例如 VectorDB、SQL、MongoDB 等)、編寫實現的語言(Python、Java 等)以及工具的性質都是抽象的。
同時,PD 可以引用其它協(xié)議文檔,并且由于例程可以調用其它例程,因此智能體可以基于先前的協(xié)商來解決更復雜的任務。
最后,基于強大的多功能性和可移植性,Agora 可以非常簡單地處理節(jié)點的添加或刪除、節(jié)點功能的更改或網絡目標的更改。所有這些因素都有助于使 Agora 成為自然的零層協(xié)議,即 LLM 之間高階通信和協(xié)作的基礎層。
將 Agora 投入實際應用
為了演示 Agora 的效果,該團隊在兩個場景中實現了 Agora:
- 雙智能體設置:它們的目標是交換一些數據;
- 一個包含 100 個智能體的設置,用于測試 Agora 的可擴展性和 LLM 驅動的智能體在復雜場景中自主協(xié)調的能力。
實現細節(jié)
在演示中,Agora 的設計遵循三個關鍵原則:最小化、去中心化、完全向后兼容。從實踐角度看,Agora 使用 HTTPS 作為基礎通信層,并使用 JSON 作為交換元數據的格式。
演示:檢索天氣數據
該團隊首先演示了包含兩個智能體的情況。他們將這兩個智能體命名為 Alice 和 Bob。其中 Alice 是一個 Llama-3-405B 驅動的智能體,它管理著一個倫敦導游服務的預訂程序。Bob 則是一個 GPT-4o 智能體,其可提供給定日期和地點的天氣預報服務。在用戶交互之中,如果用戶預訂的日期預計有雨,則 Alice 會通知用戶。
為了檢查天氣,Alice 首先會使用自然語言向 Bob 發(fā)送請求(A1 階段):
Bob 則會使用其 Toolformer LLM 查詢自己的數據庫(B1 階段)并用自然語言給出答復(B2 階段):
隨著時間的推移,A1 和 B2 階段調用 LLM 的成本會顯著超越其它成本,于是 Alice 和 Bob 決定開發(fā)一個協(xié)議。
Alice 首先會檢查 Bob 是否已經支持合適的協(xié)議,但沒有找到。因此,她決定與 Bob 協(xié)商協(xié)議。
經過幾輪協(xié)商,Alice 和 Bob 就以下協(xié)議達成一致:Alice 發(fā)送一個包含兩個字段(位置和日期)的 JSON 文檔,然后 Bob 回復一個包含三個字段的 JSON 文檔,即溫度(以攝氏度為單位)、降水量(以毫米為單位)和天氣情況(晴、陰、雨或雪)。
基于此,Alice 在執(zhí)行查詢時只需指定該協(xié)議的哈希。下面給出了一個示例:
Alice 和 Bob 都可獨立決定編寫一個例程來處理自己這邊的通信。
從現在開始,Alice 和 Bob 無需使用 LLM 來傳輸流量數據:現在有一個例程可以自動執(zhí)行階段 A1、B1 和 B2,從而免除了調用相應 LLM 的成本。
- 成本分析
在該演示中,協(xié)商協(xié)議和實施例程的 API 調用成本為 0.043 美元,而一次自然語言交換的平均成本為 0.020 美元。這意味著,只要 Alice 和 Bob 使用商定的協(xié)議超過兩次,Agora 就能降低總體成本。
最后,該團隊也指出,整個通信過程都是在無人類干預的情況下進行的。此外,如果 Bob 變得不可用,Alice 可以簡單地將 PD 重新用于一個新節(jié)點,即便這個新節(jié)點可能使用了不同的 LLM / 數據庫 / 技術堆棧。
演示:100 個智能體構成的網絡
為了展示 Agora 的擴展能力和涌現行為,該團隊研究了一個由 100 個 LLM 智能體構成的網絡。
在這個網絡中,其中 85 個是助理智能體,15 個是服務智能體。它們全都有 LLM 支持。
服務智能體可提供各種服務,例如預訂酒店房間、叫出租車、訂餐等。圖 4 左給出了一個用于送餐的子網絡示例。
在工作過程中,服務智能體必須與多個工具和數據庫互動。此外,某些服務智能體還必須與其它服務智能體交互才能完成助理的請求(例如,出租車服務需要使用交通數據智能體來調整行程的預估車費)。
一開始,該團隊使用了圖 2 所示的底層通信層來啟動該網絡并提供哪些 URL 對應哪個節(jié)點的信息,同時也人工創(chuàng)建了智能體之間的連接鏈接(例如,出租車服務知道端口 5007 上的是交通服務,但它不知道如何與之通信以及需要什么信息)。
為了展示 Agora 的可移植性,該團隊使用了不同的數據庫技術(SQL 和 MongoDB)和不同的 LLM,包括開源和閉源模型(GPT-4o、Llama-3-405B 和 Gemini 1.5 Pro)。
然后,它們生成了 1000 個隨機查詢,其中既有簡單查詢(例如請求今天的天氣),也有更復雜的查詢(例如預訂滑雪勝地的房間、購買電影票、從菜單中訂購每種菜肴等)。
對于每個查詢,助理都會收到一個 JSON 文檔(代表任務數據),并負責完成請求并返回遵循給定模式的解析響應。
查詢按照帕累托分布在助理之間分配,以模擬某些助理發(fā)送的請求明顯多于其它助理的情況。
每個節(jié)點還可以讀取 PD 并將其共享到三個協(xié)議數據庫之一。
總體而言,這些設計決策下得到的網絡是一個非常異構的網絡,可以測試 Agora 的極限。
- 大型網絡中涌現的協(xié)議
連接建立并且網絡可以發(fā)送和接收消息后,該團隊觀察到了幾個值得注意的行為。
隨著 PD 在智能體之間逐漸共享(參見圖 5b),針對給定任務的適當協(xié)議涌現出了去中心化的共識。
舉個例子,在訂餐任務中,一個智能體會通過查詢請求另一個智能體將食物送到某個地址。這個餐廳智能體會向一個送餐服務請求送貨司機,接下來送餐服務又會向交通數據智能體查詢交通是否順暢,看能否完成送貨。除了直接通信觸及的范圍,所有智能體都不知道彼此的角色和所涉及的協(xié)議。盡管如此,各種智能體之間的交互仍然創(chuàng)造了一個能應付這所有事情的自動化工作流程。如圖 4 右所示。
該團隊觀察到,如果有適當的激勵(即效率激勵),Agora 中的智能體可以擺脫在大規(guī)模通信中常見的更長消息的低效陷阱。
- 成本分析
該團隊同樣分析了這個更大網絡的成本,并與使用自然語言完成所有通信的網絡進行了比較。
結果如圖 5a 所示,一開始,Agora 的成本效益僅略優(yōu)于僅依賴自然語言的網絡;隨著時間的推移,這種差距越來越大,越來越多的 Agora 驅動的節(jié)點依賴于 LLM 編寫的例程。
在自然語言網絡中運行 1000 次查詢的 API 查詢總成本為 36.23 美元,而 Agora 的成本僅有 7.67 美元:也就是說,使用 Agora 執(zhí)行此演示比使用常規(guī)自然語言便宜約五倍。而如果查詢更多,成本差距還會更大。