全面超越AutoGPT,面壁智能聯合清華NLP實驗室開源大模型「超級英雄」XAgent
近日,國內領先的人工智能大模型公司面壁智能又放大招,聯合清華大學 NLP 實驗室共同研發并推出大模型「超級英雄」——XAgent。
通過任務測試,XAgent 在真實復雜任務的處理能力已全面超越 AutoGPT。
- 現已在 GitHub 正式開源,地址 https://github.com/OpenBMB/XAgent
- 案例展示地址:https://x-agent.net/
- 博客地址:https://blog.x-agent.net
XAgent 何許「人」也?
XAgent 是一個可以實現自主解決復雜任務的全新 AI 智能體,以 LLM 為核心,能夠理解人類指令、制定復雜計劃并自主采取行動。
傳統智能體通常受到人類定制規則的限制,只能在限定范圍內解決問題。它們更像是為人類所用的「工具」,而不是真正的「自主智能體」,難以自主解決復雜問題。
相反,XAgent 被賦予了自主規劃和決策的能力,使它能夠獨立運行,發現新的策略和解決方案,不受人類預設的束縛。
它的能力已全面超越 AutoGPT,在眾多場景任務上展示出了驚人的自主性和復雜任務的求解能力,將 AI 智能體的智能水平提升到了一個全新高度。
那么問題又來了:它是如何實現的呢?
「左右腦」協同,雙循環機制
正如人類具備「左腦」 和「右腦」,在處理復雜任務時通常從「 宏觀」和「微觀」 兩個視角進行考慮,既要針對全局進行統籌和規劃,也要從執行層面來考量。
相較于 AutoGPT,面壁智能和清華大學在 XAgent 的設計中創新地引入了一種「雙循環機制」:
- 外循環:負責全局任務規劃,將復雜任務分解為可操作的簡單任務。
- 內循環:負責局部任務執行,專注于細節。
通過雙循環機制的協作,XAgent 如同大模型領域的「超級英雄」,它在應對復雜任務的不同環節時,展現出超強的專業度和豐富的技能。
就像漫威宇宙中的「美隊」,XAgent 既有全局觀的領導力,也有細致入微的執行力。
在外循環中,XAgent 展現出作為一個「規劃」(PlanAgent)的領導力,它會把復雜任務拆分成若干簡單任務,并監督問題解決的完整過程。
首先,它將給定的復雜任務分解成更小、更易管理的「子任務」,生成「初始規劃」,形成任務序列。
隨后,它將逐次把每個子任務傳遞給內循環解決。在這個過程中,外循環會不斷監督任務的進度和狀態,并根據反饋對后續規劃進行「迭代優化」。
在內循環中,XAgent 快速轉變身份,展現出作為一個高效「執行者」(ToolAgent)的專業度,確保外循環傳遞的子任務達到預期。
根據子任務性質的不同,它可以從外部系統中檢索工具,并針對子任務進行一步步求解。
在子任務完成后,它將生成當前子任務執行過程的反思,反饋給外循環,指示當前任務是否完成,以及任務執行中的潛在優化點。
如圖所示,用戶給 XAgent 提交了 iris.zip 文件,讓 XAgent 對數據進行分析。
可以看到,XAgent 首先通過外循環將這個任務分解成了 4 個子任務:
- 對數據進行檢查與理解;
- 檢查系統的 Python 環境,查看相關數據分析庫是否存在;
- 編寫數據分析代碼,對數據進行處理與分析;
- 根據 python 代碼執行結果撰寫分析報告。
隨后,在執行每一個子任務時,XAgent 通過內循環熟練地使用文件讀寫、 shell 命令、python notebook 及相應 pandas、sci-kit learn、seaborn、matplotlib 等數據分析庫,甚至會對數據進行可視化分析。
AutoGPT 在執行相同任務時,并沒有制定檢查 python 環境與相關庫的規劃,而是直接開始寫代碼執行,導致使用相關庫時失敗報錯,最終也沒有完成對數據的復雜分析。
人機協作:智能體交互新范式
雖然 AutoGPT 在一定程度上突破了傳統 GPT 模型的局限性,但它仍然存在死循環、錯誤調用等執行出錯的現象,需要人工干預才能解決。
而 XAgent 在設計之初就針對相關問題進行了考量,并引入了專為增強人機協作的交互機制:它可以自主與用戶進行交互,并向人類發出干預和指導的請求。
對于一個智能體而言,「是否能夠與人類協作」也是體現其智能程度的重要指標。
首先,XAgent 具備直觀的界面,用戶可以直接覆蓋或修改它提出的建議,從而將 AI 效率與人類的直覺和專業知識有效結合。
其次,在面臨陌生挑戰的情況下,XAgent 具備「向人類尋求幫助」能力,它會向用戶征求實時反饋、建議或指導,確保即使在不確定的領域,智能體也能發揮出最佳作用。
圖片
這種交互范式,將 AI 的自主性與人類的智慧有機融合,展示了人與 XAgent 之間的全新的協作關系。
如圖所示,用戶想讓 XAgent 幫忙推薦一些好吃的餐館來和朋友聚會,但是卻沒有提供具體詳細的信息。
這個時候 XAgent 可以意識到目前用戶所提供的信息不夠充足,難以進行推薦,于是向人類提出請求,詢問用戶的傾向地點、預算范圍、口味喜好、有哪些忌口等等,在得到用戶的反饋后從而提供了推薦的餐廳。
而 AutoGPT 則直接開始到網絡上搜索餐館信息進行推薦,最終推薦的結果地點不對,也沒有考慮用戶的預算,沒有符合用戶的需求。
高效通信語言,超強工具調用
無論「雙循環」的運轉機制,還是「人機協作」 的交互能力,在 XAgent 的總體設計中,面壁智能和清華團隊著重考慮的是智能體的穩定、高效和安全等核心特性。
而結構化的通信方式同樣是建立強大、穩定智能體的重要因素之一。
XAgent 采用 Function Call 作為其內部的通信語言,具備結構化、標準化、統一化等優勢。
- 結構化:Function Call 具備清晰且嚴謹的格式,可以明確表述所需內容,從而最小化了潛在的錯誤。
- 標準化:Function Call 可以將與外部工具的交互過程標準化,提供一種通用語言,使智能體具備使用和整合多種工具的能力,解決復雜任務。
- 統一化:通過將信息摘要、任務規劃、工具執行等所有環節轉化為特定的 Function Call 形式,確保每個環節均以統一的方式進行處理,從而簡化系統設計。
此外,工具調用也是評價 AI Agent 是否具備解決復雜問題的重要能力之一。
XAgent 在設計中原創了工具執行引擎 ToolServer,可以實現更安全、高效、可擴展的工具執行能力。
它在隔離的 Docker 環境中運行,確保工具執行不會危及主系統的穩定性或安全性。
這種設計帶來多重好處:
- 安全:在 Docker 容器內運行工具可以保護主系統免受潛在危害。
- 高效:系統可以根據需求和使用模式啟動、停止和重啟節點,實現最佳資源使用。
- 可擴展:方便管理代碼,調試和擴展性更強。
ToolServer 的關鍵組件包括:ToolServerNode、ToolServerMonitor、ToolServerManager,在執行操作、節點檢查、周期管理等方面提供強大的能力。
目前,XAgent 的 ToolSever 支持 FileSystemEnv、PythonNotoBook、WebEnv、ExecuteShell、RapidAPIEnv、AskHumanforHelp 等多種工具。
XAgent 不僅可以幫我們做一些簡單的任務,它甚至可以幫助我們訓練模型。
比如,用戶希望能夠對電影評論進行分析,判斷一下大眾對電影評價的好壞。這個時候 XAgent 會首先下載 imdb 數據集去訓練一個 BERT 模型,并使用訓練好的 BERT 模型對電影評論進行預測。
釋放大模型潛力,全面超越 AutoGPT
經過在一系列任務中的測試可以看到(如下圖 a、b 所示),基于 GPT-4 的 XAgent 表現效果在所有基準測試中都超過了原始的 GPT-4,并全面超越了 AutoGPT。
這些任務需要 Agent 推理規劃和使用外部工具的能力,包括:用搜索引擎回答問題的能力(FreshQA+HotpotQA)、Python 編程能力(MBPP)、數學推理能力(MATH)、交互式編程能力(InterCode)、具身推理能力(ALFWorld)、真實復雜任務等。
圖 a:XAgent 在真實復雜任務處理中全面超越 AutoGPT
圖 b:超越 AutoGPTXAgent 在六大 AI Agent 基準測試中全面領先 GPT-4
可以看出,XAgent 的系統設計能夠充分釋放 GPT-4 的基礎能力,并達到極高的測試效果和人類傾向(Human Preference)。
這不僅表明 XAgent 在需要推理規劃的傳統 AI 測試中表現出色,而且在處理復雜的實際指令時具有更高的性能
拓展應用邊界,堅實技術基礎
AI Agent 的出現讓整個行業看到了大模型技術的重要落地方向,無需進行復雜的 prompt 探索,就可以實現整套工作流的任務執行。
作為具有無限潛能的大模型「超級英雄」,XAgent 可以成為每一個普通的人的「個人助理」。它可以幫助我們規劃日程,安排行程,管理生活和工作的時間和資源分配。
它還可以自主使用多種數據采集、處理和分析工具,全自動地完成對海量數據的分析并形成報告,幫助用戶高效獲取重要信息。
此外,XAgent 還能結合外部工具與自主規劃算法,根據環境信息做出決策,以實現更高效和精確的任務執行。
XAgent 的研發團隊是由來自面壁智能和清華大學 THUNLP 實驗室的多位大模型領域的專家和學者組建。他們更像是大模型領域的「超級英雄」。
這一創新成果之所以能夠成功推出,正是團隊在長期的科研工作過程中構建了一系列前沿創新的大模型 Infra,堅實技術基礎,拓展創新和研發的邊界。
面壁智能聯合清華大學 NLP 實驗室、OpenBMB 開源社區打造了一個「三位一體」 的大模型產學研生態布局,提出并發布了多個大模型工具使用框架和引擎:
- Tool Learning:大模型工具學習范式,將專業工具與大模型的優勢相融合,從而在問題解決方面達到更高的準確性、效率和自主性。
- BMTools:大模型學習引擎,是讓語言模型使用擴展工具的開源倉庫,同時也是開源社區構建和共享工具平臺。
- ToolLLM,大模型工具學習框架,給大模型接入 16000+ 真實 API,讓大模型可以通過調用外部工具以完成更復雜的用戶指令任務。
- WebCPM,中文領域首個支持聯網搜索的模型框架,填補國產大模型該領域的空白,讓大模型能像人類一樣在網頁上實時搜索答案,提高了 AIGC 的實時性和準確性。
XAgent 拓展了 AI 智能體在執行復雜任務中的能力上限,讓我們看到大模型技術融入生產和生活的前沿趨勢和無限潛力。