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