搶先OpenAI“虛擬員工”!清華復旦斯坦福聯手,讓Agent接管電腦幫你工作

Eko團隊 投稿

量子位 | 公眾號 QbitAI
搶先OpenAI的“Operator”,清華、復旦、斯坦福等研究者聯合起來整了個大活~
他們提出了一個名為“Eko”的Agent開發框架,開發者只需用簡潔的程式碼和自然語言,就能快速構建可用於生產的“虛擬員工”:
Agent可以接管使用者的電腦和瀏覽器,代替人類完成各種任務。
而這個操作,正是之前OpenAI被爆出的“Operator”所能實現的。爆料稱OpenAI將會這個月釋出“Operator”,現在直接被截胡了。
更為關鍵的是,研究團隊還把Eko給開源了。
來看看Eko是如何讓工作流程自動化的。
比如自動在雅虎財經上收集納斯達克的最新資料,包括主要股票的價格變化、市值、交易量,分析資料並生成視覺化報告:
再例如:
當前登入頁面自動化測試:
  1. 正確的賬戶和密碼是:admin / 666666
  2. 請隨機組合使用者名稱和密碼進行測試,以驗證登入驗證是否正常工作,例如:使用者名稱不能為空、密碼不能為空、使用者名稱不正確、密碼不正確
  3. 最後,嘗試使用正確的賬戶和密碼登入,驗證登入是否成功
  4. 生成測試報告並匯出
清理當前目錄下大於1MB的所有檔案
這是如何實現的?

開源版“虛擬員工”開發框架

這項演技的核心技術創新有三點:
  • 混合智慧體表示:提出了“Mixed Agentic representation”,透過無縫結合表達高層次設計的自然語言(Natural Language)與開發者低層次實現的程式語言(Programming Language)
  • 跨平臺Agent框架:提出環境感知架構,實現同一套框架和程式語言,同時支援瀏覽器使用、電腦使用、作為瀏覽器外掛使用。
  • 生產級干預機制:現有Agent框架普遍強調自治性(Autonomous),即無需人類干預,而Eko框架提供了顯性的生產級干預機制,確保智慧體工作流可以隨時被中斷和調整,從而保障人類對生產級智慧體工作流的有效監管和治理。

環境感知架構(Environment-Aware Architecture)

主要場景包括:
i)瀏覽器使用:主要專注於透過圖形使用者介面(GUI)來操作網頁和瀏覽器中的元素,常見的實現方式包括截圖和網頁提取技術。
ii)電腦使用:與瀏覽器不同,Node.js 自動化則主要面向命令列介面(CLI)操作和檔案系統管理,未來還會引入GUI感知能力。
Eko的跨平臺開發是透過其環境感知架構(Environment-Aware Architecture)實現的,這一架構由三個關鍵層次構成:通用核心(Universal Core)、環境特定工具(Environment-Specific Tools)和環境橋接(Environment Bridge)
  • 通用核心:這一層提供了與環境無關的基本功能,如工作流管理、工具註冊管理、LLM(大語言模型)整合和鉤子系統。
  • 環境特定工具:每種環境(如瀏覽器擴充套件、Web 環境、Node.js 環境)都提供了最佳化的工具集。
  • 環境橋接:這一層負責環境的檢測、工具註冊、資源管理和安全控制,確保不同平臺之間能夠順利互動和通訊。
安全性和訪問控制:Eko針對不同環境實施了適當的安全措施。瀏覽器擴充套件和Web環境都採用了嚴格的許可權控制和API金鑰管理,而Node.js環境則允許更廣泛的系統級訪問,基於使用者許可權進行檔案操作和命令執行,在需要時會在執行前請求使用者確認。
自動工具註冊:透過 loadTools() 等工具,Eko自動註冊適用於當前環境的工具,這使得開發者可以在多個環境中無縫地切換,並確保工具的正確載入。

層次化規劃(Hierachical planning)

團隊提出層次化感知框架,將任務的拆解分為兩層,包括Planning layer和Execution layer。
其中Planning layer負責將使用者的需求(自然語言或程式碼語言表示)和現有工具集拆解成一個有領域特定語言(Domain-specific language)表示的任務圖(Task graph)
任務圖是一個有向無環圖,描述了子任務之間的依賴關係。該任務圖由LLM一次性合成。在Execution layer中,根據每個任務呼叫LLM來合成具體的執行行為和工具呼叫。
多步合併最佳化:當Eko檢測到兩次執行都是對LLM的呼叫時,會觸發框架的自動合併機制,將兩次呼叫的system prompt自動整合,合併成一次呼叫。從而加快推理速度。

視覺-互動要素聯合感知(Visual-Interactive Element Perception)

視覺-互動要素聯合感知框架(VIEP)是一種新穎的瀏覽器感知解決方案,透過將視覺識別與元素上下文資訊結合,顯著提升了在複雜網頁中的任務精度和效率。
它透過提取網頁中的互動元素(如A11y樹),並將其對映到領域特定語言(DSL),生成高效的偽HTML程式碼,簡化了元素的表徵。
不同於傳統的A11y+Screen shot方案,VIEP在視覺訊號方面,引入了Set-of-Mark,確保每個元素的視覺識別符號與偽HTML中的識別符號一一對應,提升了元素識別的精度。
為了最佳化效能,截圖解析度被壓縮至原始的60%,同時畫質壓縮至50%,減少了資源消耗,同時保持了足夠的識別質量。

與傳統的HTML表示相比,VIEP透過簡化互動元素和生成緊湊的偽HTML結構,避免了直接處理龐大HTML內容的開銷。例如,Google首頁的HTML從22萬字符減少至僅1,058個字元,大幅提高了處理速度和準確度。
VIEP不僅優化了效能,降低了成本,還提升了跨環境適應性,確保自動化操作在不同瀏覽器和作業系統中穩定執行。

生產級的可干預機制

在構建AI驅動的自動化系統時,開發者常常需要監控任務的執行情況,隨時調整行為,或在必要時進行干預。
雖然“鉤子”是軟體開發中的常見概念,但在Eko中,它們承擔了獨特的角色——在AI自動化和人工監督之間架起了一座橋樑。
簡單來說,可以在Workflow執行前後插入自己的邏輯,比如驗證輸入、處理結果、甚至重試失敗的任務。
程式碼如下:
Eko提供三種不同層級的鉤子,每個層級都具有獨特的作用:
工作流鉤子(Workflow Hooks)
這些鉤子位於工作流的最上層,用於整體控制和監控自動化流程的啟動和結束。例如,你可以在工作流開始之前進行資源初始化,或在工作流結束後進行清理和處理最終結果。
子任務鉤子(Subtask Hooks)
這些鉤子位於工作流的中間層,允許你在每個子任務開始前和結束後進行監控和處理。例如,你可以在每個子任務前記錄日誌,或在任務完成後對中間結果進行處理。
工具鉤子(Tool Hooks)
這是最細粒度的鉤子,允許你在每個工具執行前後進行驗證和修改。例如,你可以在工具執行前驗證輸入引數,或在工具執行後處理返回結果。
鉤子可以幫助開發者即時最佳化工作流,提高自動化系統的精度和效率。
例如,在執行某些任務時,開發者可以透過鉤子對輸入資料進行驗證,防止錯誤資訊傳入系統;或在任務完成後,處理和轉化結果,以便更好地利用輸出。鉤子還能幫助開發者收集執行資料,進行效能分析,識別瓶頸並最佳化自動化流程。
除了常規的監控和除錯功能,Eko的鉤子系統還支援更創新的使用場景。
例如,在一些關鍵任務執行時,鉤子可以暫停工作流並等待人工審批;在AI決策出現問題時,開發者可以透過鉤子進行人工干預或覆蓋AI的判斷,確保業務流程的順暢。

作者簡介

陸逸文,清華大學博士生,研究興趣為具身智慧平臺和智慧體。
羅卓偉,FellouAI首席工程專家,目前從事人工智慧相關領域工作。
馬驍騰,清華大學自動化系博士後,博士畢業於清華大學。主要研究興趣為強化學習和智慧體。
陳家棋,復旦大學碩士生,斯坦福大學訪問學生學者。主要研究領域為計算機視覺和智慧體。
Homepage:https://eko.fellou.ai/
Github link:https://github.com/FellouAI/eko
Docs:https://eko.fellou.ai/docs/
—  —
投稿請發郵件到:
標題註明【投稿】,告訴我們:
你是誰,從哪來,投稿內容
附上論文/專案主頁連結,以及聯絡方式哦
我們會(儘量)及時回覆你
點這裡👇關注我,記得標星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~ 

相關文章