搶先OpenAI「虛擬員工」,清華複旦史丹福聯手,讓Agent接管電腦幫你工作
搶先OpenAI的「Operator」,清華、複旦、史丹福等研究者聯合起來整了個大活~
他們提出了一個名為「Eko」的Agent開發框架,開發者只需用簡潔的代碼和自然語言,就能快速構建可用於生產的「虛擬員工」:
Agent可以接管用戶的電腦和瀏覽器,代替人類完成各種任務。
而這個操作,正是之前OpenAI被爆出的「Operator」所能實現的。爆料稱OpenAI將會這個月發佈「Operator」,現在直接被截胡了。
更為關鍵的是,研究團隊還把Eko給開源了。

來看看Eko是如何讓工作流程自動化的。
比如自動在雅虎財經上收集諾斯達克的最新數據,包括主要股票的價格變化、市值、交易量,分析數據並生成可視化報告:
再例如:
當前登錄頁面自動化測試:
- 正確的賬戶和密碼是:admin / 666666
- 請隨機組合用戶名和密碼進行測試,以驗證登錄驗證是否正常工作,例如:用戶名不能為空、密碼不能為空、用戶名不正確、密碼不正確
- 最後,嘗試使用正確的賬戶和密碼登錄,驗證登錄是否成功
- 生成測試報告並導出

清理當前目錄下大於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/
本文來自微信公眾號「量子位」,作者:關注前沿科技,36氪經授權發佈。