智慧體竟能自行組建通訊網路,還能自創協議提升通訊效率

机器之心發表於2024-11-25
Hugging Face 上的模型數量已經超過了 100 萬。但是幾乎每個模型都是孤立的,難以與其它模型溝通。儘管有些研究者甚至娛樂播主試過讓 LLM 互相交流,但所用的方法大都比較簡單。

近日,牛津大學一個研究團隊提出了一個用於 LLM 通訊的元協議:Agora,並宣稱可以解決「智慧體通訊三難困境」,進而構建「世界級的 LLM 智慧體網路」。
圖片
  • 論文標題:A Scalable Communication Protocol for Networks of Large Language Models
  • 論文地址:https://arxiv.org/pdf/2410.11905

智慧體通訊三難困境

智慧體(agent)是指能在環境中自主行動以實現其設計目標的計算機系統。

和人類一樣,為了實現共同的目標,智慧體也需要相互協作。實際上,如此構建的多智慧體系統正是當前 AI 領域的一大重要研究方向,比如 OpenAI 就正在網羅多智慧體人才。
圖片
OpenAI 著名研究科學家 Noam Brown 發帖為多智慧體研究團隊招募機器學習工程師

但是,由於智慧體千差萬別(包括架構、功能和約束條件等),要為它們組成的異構網路設計通訊協議並不容易。牛津大學的這個團隊將這些難題歸因到了三個方面:

  • 多功能性:智慧體之間的通訊應支援內容和格式各異的多種多樣的訊息;
  • 效率:執行智慧體的計算成本和通訊的網路成本應儘可能低;
  • 可移植性:通訊協議應儘可能支援更多智慧體,同時其實現起來也應不費力。

該團隊將這些屬性之間的權衡稱為智慧體通訊三難困境(Agent Communication Trilemma),如圖 1 所示,具體討論請參閱原論文。
圖片
Agora:LLM 的通訊協議層

要解決這個智慧體通訊三難困境,關鍵是要接受這一點:並不存在一種能同時實現最佳效率、可移植性和多功能性的協議。

牛津大學的這個團隊提出的 Agora 是一種元協議(meta protocol),其利用了 LLM 的特殊能力來解決這個三難問題,具體來說就是為不同的場景採用不同的通訊方法。

我們知道,最強大的 LLM 具有三大關鍵屬性:

  • 它們可以使用自然語言理解、操縱和回覆其它智慧體;
  • 它們擅長遵循指令,包括編寫程式碼來實現例程;
  • 在複雜的場景中,它們可以自主協商協議並就採用的策略和行為達成共識。

究其核心,Agora 會根據不同的情況使用不同的通訊格式。

智慧體可以支援廣泛的通訊(高通用性),同時也能透過高效的例程處理總請求量中的大部分(高效率)。此外,整個協商和實現工作流程都由 LLM 處理,無需人類干預(高可移植性)。

Agora 功能的核心是協議文件(PD)這一概念,圖 3 給出了其圖示。
圖片
下面將介紹 Agora 原生支援的通訊層級,然後會展示一些示例。

Agora 中的通訊

Agora 引入了一種機器可讀的方式來傳輸和引用協議,即協議文件(PD)。PD 就是通訊協議的純文字描述。

PD 是獨立的、與實現無關的,並且包含智慧體在支援協議方面所需的一切:這就意味著現有協議的大多數描述(如 RFC)也都是合適的 PD。但是 PD 並不依靠某個中央實體來分配識別符號,而是透過其雜湊值(用於多路複用)進行唯一標識。

在 Agora 中,最常見的通訊具有專用的高效例程,而最罕見的通訊則使用低效但靈活的 LLM 和自然語言。具體來說:

  • 如果可能,則透過傳統協議來處理最常見的通訊 —— 這些協議有標準的、人工編寫的實現(例如 OBP);
  • 對於不太常見的通訊(或沒有標準協議的通訊),智慧體可以使用結構化資料作為交換媒介(可以由 LLM 編寫的例程處理);
  • 對於一方智慧體常見但對另一方不常見的通訊,智慧體仍然使用結構化資料,但一方可以選擇使用 LLM,而另一方使用例程;
  • 對於罕見的通訊或例程意外失敗的情況,智慧體可以使用自然語言。

在處理一個查詢時,到底選擇使用人工編寫的例程、LLM 編寫的例程還是 LLM(或三者中的某種組合),則完全由智慧體自行決定。這能為智慧體在處理查詢方面提供最大的靈活性。

這種分層通訊支援任意形式的通訊(最大通用性),但在實踐中,僅在非常少的情況下會呼叫 LLM(最大效率)。此外,因為 LLM 可以自行實現例程(因為 PD 完全描述了協議的語法和語義),人類程式設計師只需要提供智慧體可以訪問的工具的概述,這意味著人類方面所需的實現工作量很小(最大可移植性)。

也就是說,Agora 透過使用例程來處理常見請求,並在智慧體需要協商解決方案或發生錯誤時使用自然語言,從而避開了通訊三難困境。

將 Agora 用作一個零層協議

圖 2 表明,使用 Agora 無需在乎具體的實現和技術
圖片
智慧體本身的實現(例如 LLM)、用於儲存資料的資料庫(例如 VectorDB、SQL、MongoDB 等)、編寫實現的語言(Python、Java 等)以及工具的性質都是抽象的。

同時,PD 可以引用其它協議文件,並且由於例程可以呼叫其它例程,因此智慧體可以基於先前的協商來解決更復雜的任務。

最後,基於強大的多功能性和可移植性,Agora 可以非常簡單地處理節點的新增或刪除、節點功能的更改或網路目標的更改。所有這些因素都有助於使 Agora 成為自然的零層協議,即 LLM 之間高階通訊和協作的基礎層。

將 Agora 投入實際應用

為了演示 Agora 的效果,該團隊在兩個場景中實現了 Agora:

  • 雙智慧體設定:它們的目標是交換一些資料;
  • 一個包含 100 個智慧體的設定,用於測試 Agora 的可擴充套件性和 LLM 驅動的智慧體在複雜場景中自主協調的能力。

實現細節

在演示中,Agora 的設計遵循三個關鍵原則:最小化去中心化完全向後相容。從實踐角度看,Agora 使用 HTTPS 作為基礎通訊層,並使用 JSON 作為交換後設資料的格式。

演示:檢索天氣資料

該團隊首先演示了包含兩個智慧體的情況。他們將這兩個智慧體命名為 Alice 和 Bob。其中 Alice 是一個 Llama-3-405B 驅動的智慧體,它管理著一個倫敦導遊服務的預訂程式。Bob 則是一個 GPT-4o 智慧體,其可提供給定日期和地點的天氣預報服務。在使用者互動之中,如果使用者預訂的日期預計有雨,則 Alice 會通知使用者。

為了檢查天氣,Alice 首先會使用自然語言向 Bob 傳送請求(A1 階段):
圖片
Bob 則會使用其 Toolformer LLM 查詢自己的資料庫(B1 階段)並用自然語言給出答覆(B2 階段):
圖片
圖片
隨著時間的推移,A1 和 B2 階段呼叫 LLM 的成本會顯著超越其它成本,於是 Alice 和 Bob 決定開發一個協議。

Alice 首先會檢查 Bob 是否已經支援合適的協議,但沒有找到。因此,她決定與 Bob 協商協議。
圖片
經過幾輪協商,Alice 和 Bob 就以下協議達成一致:Alice 傳送一個包含兩個欄位(位置和日期)的 JSON 文件,然後 Bob 回覆一個包含三個欄位的 JSON 文件,即溫度(以攝氏度為單位)、降水量(以毫米為單位)和天氣情況(晴、陰、雨或雪)。
圖片
基於此,Alice 在執行查詢時只需指定該協議的雜湊。下面給出了一個示例:
圖片
Alice 和 Bob 都可獨立決定編寫一個例程來處理自己這邊的通訊。
圖片
從現在開始,Alice 和 Bob 無需使用 LLM 來傳輸流量資料:現在有一個例程可以自動執行階段 A1、B1 和 B2,從而免除了呼叫相應 LLM 的成本。

  • 成本分析

在該演示中,協商協議和實施例程的 API 呼叫成本為 0.043 美元,而一次自然語言交換的平均成本為 0.020 美元。這意味著,只要 Alice 和 Bob 使用商定的協議超過兩次,Agora 就能降低總體成本。

最後,該團隊也指出,整個通訊過程都是在無人類干預的情況下進行的。此外,如果 Bob 變得不可用,Alice 可以簡單地將 PD 重新用於一個新節點,即便這個新節點可能使用了不同的 LLM / 資料庫 / 技術堆疊。

演示:100 個智慧體構成的網路

為了展示 Agora 的擴充套件能力和湧現行為,該團隊研究了一個由 100 個 LLM 智慧體構成的網路。

在這個網路中,其中 85 個是助理智慧體,15 個是服務智慧體。它們全都有 LLM 支援。
圖片
服務智慧體可提供各種服務,例如預訂酒店房間、叫計程車、訂餐等。圖 4 左給出了一個用於送餐的子網路示例。
圖片
在工作過程中,服務智慧體必須與多個工具和資料庫互動。此外,某些服務智慧體還必須與其它服務智慧體互動才能完成助理的請求(例如,計程車服務需要使用交通資料智慧體來調整行程的預估車費)。

一開始,該團隊使用了圖 2 所示的底層通訊層來啟動該網路並提供哪些 URL 對應哪個節點的資訊,同時也人工建立了智慧體之間的連線連結(例如,計程車服務知道埠 5007 上的是交通服務,但它不知道如何與之通訊以及需要什麼資訊)。

為了展示 Agora 的可移植性,該團隊使用了不同的資料庫技術(SQL 和 MongoDB)和不同的 LLM,包括開源和閉源模型(GPT-4o、Llama-3-405B 和 Gemini 1.5 Pro)。

然後,它們生成了 1000 個隨機查詢,其中既有簡單查詢(例如請求今天的天氣),也有更復雜的查詢(例如預訂滑雪勝地的房間、購買電影票、從選單中訂購每種菜餚等)。

對於每個查詢,助理都會收到一個 JSON 文件(代表任務資料),並負責完成請求並返回遵循給定模式的解析響應。

查詢按照帕累託分佈在助理之間分配,以模擬某些助理傳送的請求明顯多於其它助理的情況。

每個節點還可以讀取 PD 並將其共享到三個協議資料庫之一。

總體而言,這些設計決策下得到的網路是一個非常異構的網路,可以測試 Agora 的極限。

  • 大型網路中湧現的協議

連線建立並且網路可以傳送和接收訊息後,該團隊觀察到了幾個值得注意的行為。

隨著 PD 在智慧體之間逐漸共享(參見圖 5b),針對給定任務的適當協議湧現出了去中心化的共識。
圖片
舉個例子,在訂餐任務中,一個智慧體會透過查詢請求另一個智慧體將食物送到某個地址。這個餐廳智慧體會向一個送餐服務請求送貨司機,接下來送餐服務又會向交通資料智慧體查詢交通是否順暢,看能否完成送貨。除了直接通訊觸及的範圍,所有智慧體都不知道彼此的角色和所涉及的協議。儘管如此,各種智慧體之間的互動仍然創造了一個能應付這所有事情的自動化工作流程。如圖 4 右所示。

該團隊觀察到,如果有適當的激勵(即效率激勵),Agora 中的智慧體可以擺脫在大規模通訊中常見的更長訊息的低效陷阱。

  • 成本分析

該團隊同樣分析了這個更大網路的成本,並與使用自然語言完成所有通訊的網路進行了比較。

結果如圖 5a 所示,一開始,Agora 的成本效益僅略優於僅依賴自然語言的網路;隨著時間的推移,這種差距越來越大,越來越多的 Agora 驅動的節點依賴於 LLM 編寫的例程。

在自然語言網路中執行 1000 次查詢的 API 查詢總成本為 36.23 美元,而 Agora 的成本僅有 7.67 美元:也就是說,使用 Agora 執行此演示比使用常規自然語言便宜約五倍。而如果查詢更多,成本差距還會更大。

相關文章