開源版「ChatGPT Plus」來了,能做數據分析、插件調用、自動上網
機器之心專欄
機器之心編輯部
基於此,來自香港大學、XLang實驗室、Sea AI實驗室和Salesforce的研究者聯合打造了一款用於真實世界生產力工具的開源智能體框架——OpenAgents,並開源了全棧代碼(完整前後端,研究代碼),以滿足從研究者到開發者再到用戶的所有人的需要。
OpenAgents 用基於「大語言模型」(LLMs)的技術和全棧工程代碼嘗試近似復刻了 ChatGPT Plus 的功能。智能體能執行 Python/SQL 代碼,熟練調用工具,也能上網找地圖發帖子,一路從研究代碼實現到後端前端,讓其變成了人人都能用的落地級別應用。OpenAgents 完整披露了他們採用的技術和遇到的困難,完全開源了代碼,包含從科研到邏輯代碼到前端代碼的一切。代碼完善、易於拓展,本地直接可以一鍵部署,配套提供了含有豐富的使用案例的文檔,幫助研究者和開發者在模型上搭建自己的智能體和應用。
OpenAgents 總覽圖,面向用戶的網頁界面,面向開發者的本地部署,面向研究者的語言智能體。
代碼鏈接:https://github.com/xlang-ai/OpenAgents
論文鏈接:https://arxiv.org/abs/2310.10634
Demo 鏈接:https://chat.xlang.ai/
文檔鏈接:https://docs.xlang.ai/
與 ChatGPT Plus 的 “一樣” 和 “不一樣”
左邊是 OpenAgents 的實現,右邊是 ChatGPT Plus:
先來看看「數據分析」功能。同一個分析股票價格的任務,OpenAgents 和 ChatGPT 都能不錯地完成用戶對股價和交易的分析要求。不過 OpenAgents 可以自動搜索 Kaggle 數據集並下載,ChatGPT 需要用戶從本地上傳。
再試試 OpenAI 最早推出的「插件」功能。用戶想要畫一些八面體,兩者都成功調用了 Wolfram 插件畫出多種八面體的圖片。
最後看看「網頁瀏覽」。用戶想要查詢 10 月 20 日從中國香港到紐約的機票,OpenAgents 識別用戶意圖後直接跳轉到 Skycanner,像 “真人” 一樣一邊思考一邊在網站中填入信息,最後回到聊天頁面總結信息;而 ChatGPT 出於安全考慮保證可控性,和調用插件類似,在雲端做網頁瀏覽,將最後搜尋到的信息返回。
由於 OpenAgents 提供了開源的代碼,開發者和研究者可以定製,若干行代碼適配自己想要的模型,改進、創造自己想要的功能,甚至創造新的 Agent。這對於該方向的進一步開展開發和研究至關重要。
看似簡單,「生產力能用」的智能體爲什麼踩坑這麼多?
智能體的開源框架不少,基於大模型的中間件更是層出不窮,爲什麼搭建一個真正方便可用的智能體並不容易,OpenAgents 在他們論文中與其他智能體框架進行了對比:
對比 OpenAgents 和其他的框架。
從表格中可以看出,「界面」(Interface) 和「配套環境」(Environment) 是 OpenAgents 與衆不同的兩個因素。現有的開源框架比如 LangChain,AutoGPT 和 BabyAGI 等旨在爲開發者提供早期概念驗證實現和控制檯界面,但在真實世界中卻不夠魯棒,這限制了更廣泛受衆的接入,特別是那些不熟悉編程或控制檯的普通用戶。而在閉源體系中,OpenAI 在 ChatGPT Plus 中部署了精心設計的產品,尤其是高級數據分析(之前稱爲代碼解釋器)、插件和 Bing 瀏覽等功能,利用進一步訓練的模型、業務邏輯代碼和培育的軟件社區(例如,插件商店)。但是閉源導致它們難以作爲開發和研究平臺使用,社區無法站在巨人肩膀上探索、評估和改進。在側重考量這些維度之後,OpenAgents 作爲面向真實場景的開源 Agent 框架,爲社區提供了一個可與 ChatGPT Plus 一較高下的平臺。
在「界面」上,OpenAgents 提供線上的網頁 demo (以及配套的開源代碼),非程序員背景的普通用戶也可輕鬆與智能體進行交互,而之前的工作通常不提供或者以「控制檯指令界面」(CLI) 形式提供交互,極大地提高了智能體的使用門檻。在「配套環境」上,OpenAgents 支持真實世界環境和可控環境,支持超過 200 + 的日常工具調用,支持網頁自動瀏覽。
這些功能側重和配備使得 OpenAgents 成爲對於普通用戶最沒有門檻的選擇;也爲研究、開發人員等提供可能是最好的直接面向用戶的機會。
作爲生產力的 Agent 未來的第一步:「用戶」,「開發人員」,「研究人員」都能用的 Agent 平臺
爲了解決上述問題,OpenAgents 的動機是作爲一個開源平臺,爲使用和部署智能體提供,目前包括三個關鍵智能體:
用於 Python 和 SQL 的數據智能體;
200 多個工具使用的插件智能體;
自動網絡瀏覽的 Web 智能體。
OpenAgents 相信,爲了讓大語言模型發揮其全部潛力,它們必須從純粹的理論或面向開發者的工具轉變爲爲廣泛用戶羣提供的動態、交互式系統。「普通用戶」可以通過在線 Web UI 輕鬆探索智能體功能,無需編碼專業知識。此外,OpenAgents 爲「開發者」提供完整的業務邏輯和研究代碼,以便在本地輕鬆部署,「研究人員」可以進一步構建語言智能體。最後,OpenAgents 旨在成爲一個真實而全面的人類可交互的智能體評估平臺:根據真實需求,真實用戶與智能體互動以完成其任務,並記錄整個用戶 - 智能體互動過程和用戶反饋以供進一步評估。與現有的基準測試和平臺相比,OpenAgents 提供了一個真實環境,智能體可以滿足各種真實的用戶需求。
面臨和克服的挑戰
挑戰 1: 基於提示來構建真實世界語言模型的弊端
在爲真實用戶構建基於提示的應用程序時,使用提示中的指令來設定特定要求。這些指令有不同目的,有一些是爲了確保大語言模型的輸出符合後端邏輯處理的特定格式(以特定鍵的字典形式輸出);有一些是提升輸出的美觀度(儘可能一條條單獨列出項目);有一些是用於防止潛在的攻擊(拒絕用戶惡意構造的無限循環程序並且執行)。
這些帶着約束目的提示來約束語言模型需要開發者研究者反覆調試出來一些可以使用的指令,這些指令加在一起通常會是幾百個「詞元」(token)甚至上千個詞元,這些指令作爲前綴會被反覆輸入到模型造成顯卡資源的大量消耗;另外一方面,詞元越多越依賴 LLM 有很好的性能,所以說這一條技術路線對大語言模型的指令跟蹤能力和支持的上下文長度提出了一定的要求。
當前的開源模型在這些方面已經取得了顯著的改進,但是在實驗中仍然是不足以用來實際使用的,這方向的研究還可以繼續。此外,需要更加重視智能體模型的基礎開發和研究,以及針對特定領域和要求訓練專用的智能體模型。這種方法可能比僅依賴於提示一個通用強大但固定模型更高效,也更可控。
挑戰 2: 無法控制的現實因素
實現真實世界的語言智需要面對很多無法控制的現實因素,這些因素包括用戶行爲、互聯網的基礎設施和業務邏輯等,它們在過去的研究中並未得到充分建模。這就需要重新評估,甚至推翻許多過去研究中的假設和方法。必須考慮到的事是,調用的 API 所在的服務器可能會崩潰。這種情況需要監控並穩定地完成用戶命令,而不是像過去的工具使用研究中所假設的那樣。在生成回覆的過程中,用戶可能會感到不滿意,這可能導致語言模型在生成過程中被中斷。
此外,像 CAPTCHA 彈出或廣告改變網頁這樣的不可預測事件,可能會在相對穩定的網頁結構中引入一定程度的隨機性,這在以前的自動瀏覽網頁的工作中未曾考慮過。諸如此類的問題還有很多,比如說在智能體反應和思考的時間內(現在往往需要數秒)就改變的環境,等等。
挑戰 3: 來自真實場景的額外指標
具體的研究通常過於強調性能指標,而忽視了現實場景中的基本需求。例如,使用流式(即每生成一個詞元都儘快顯示給用戶)可以讓用戶能夠快速感知系統的反饋,而無需等待長篇大論的文本生成完畢再一起看到。特意設計的提示可以讓智能體的回覆格式更加美觀,這對用戶體驗有着顯著影響。然而,現有的方法並未充分考慮這些影響。導致了儘管在準確性上的性能指標優秀,但在實際應用中,它們可能導致響應時間過長、文本可讀性差等等導致用戶體驗不佳的問題,接下來的研究需要進一步考慮性能和用戶體驗之間的權衡問題。
挑戰 4: 由系統問題引發的評估複雜性
構建直接針對應用程序的智能體可以滿足更多用戶需求,同時也能揭示更多評估挑戰。但基於 LLM 的應用程序構建會帶來額外的複雜性,使得難以判斷失敗案例是來源於 LLM 應用的限制還是邏輯代碼的不足。舉例說明,如果說一個用戶因爲沒法從界面中直接拖拽上傳文件而造成沒有完成用戶想要的操作而判斷智能體能力不行是不合理的。因此,對智能體設計和操作邏輯的系統進行改進,簡化智能體流程以及用戶使用邏輯,或者構建一個更加完善的設計和實現邏輯,是有前景且必要的。
未來展望
OpenAgents 可以怎麼樣幫助社區做下一步的研究和開發?在他們的構想中至少有如下幾點:
未來工作 1: 搭建更多智能體應用
OpenAgents 打通了一套完整的應用級語言智能體開發流程以及所需要的技術,並且開放了代碼。這爲其他創新應用與終端用戶提供了可能。開發者們可以基於此開發任何自己想要的新應用,比如說多模態對話、語音對話、庫級別代碼助手等。
未來工作 2: 工具和組件集成
OpenAgents 致力於探索和解決構建實用級智能體應用的基本需求,爲社區提供了一個強大的基礎,使得社區可以輕鬆地通過集成其他組件進行水平擴展。同時,還可以擴展更多的基礎模型,比如最近的大型多模態模型,以及適應新的 UI 設計等。
未來工作 3: 人機交互領域研究
開發者和研究者基於 OpenAgents 平臺能輕鬆構建基於大語言模型的新智能體應用程序。OpenAgents 因此能幫助構建應用程序演示,供人機交互(HCI)研究人員深入研究更直觀、更對用戶友好的界面設計。這將提升用戶的參與度和滿意度。
未來工作 4: 自適應用戶界面生成
自動創建用戶界面是一個有趣且具有挑戰性的領域。這些界面能根據特定標準,如用戶的設備、偏好或上下文,進行自我調整或定製。研究人員可以深入研究在基於 OpenAgents 的自適應 UI 中,如何應用大語言模型,以及它們對用戶體驗的影響。
未來工作 5: 大語言模型在實際應用場景下的評估
爲大語言模型建立公正且穩健的評估方法,對於公平評價其能力和性能至關重要。目前,通過使用預先收集的數據和受控環境,對智能體進行基準測試。雖然這些評估非常關鍵,但它們往往無法全面反映真實世界中的動態挑戰。鼓勵社區對這些評估指標和平臺進行擴展或完善,這將顯著推動該領域的發展,併爲大語言模型的實際性能和能力提供更準確的評估和洞察。