截胡OpenAI,清華複旦等搶先開源智能體框架Eko,一句話打造「虛擬員工」

【導讀】Eko是一個強大的Agent開發框架,開發者能用自然語言和簡單代碼快速構建「虛擬員工」,完成從簡單指令到複雜工作流的任務,如股票分析、自動化測試等;通過混合智能體表示、跨平台架構和生產級干預機制等創新技術,實現高效、靈活且安全的自動化工作流程。

OpenAI的首席執行官Sam Altman最近宣佈,2025年將推出「虛擬員工計劃」,代號Operator,AI智能體能夠自主執行任務,如寫代碼、預訂旅行等,成為企業中的「數字同事」。 

搶在OpenAI發佈Operator之前,清華、複旦和史丹福的研究者聯合提出了名為Eko的 Agent開發框架,開發者可以通過簡潔的代碼和自然語言,快速構建可用於生產的「虛擬員工」。AI智能體能夠接管用戶的電腦和瀏覽器,代替人類完成各種任務,為工作流程提供自動化支持。

核心技術創新有三點:

混合智能體表示 :提出了Mixed Agentic representation,通過無縫結合表達高層次設計的自然語言(Natural Language)與開發者低層次實現的程序語言(Programming Language)。 

跨平台Agent框架 :提出環境感知架構,實現同一套框架和編程語言,同時支持瀏覽器使用、電腦使用、作為瀏覽器插件使用。 

生產級干預機制:現有Agent框架普遍強調自治性(Autonomous),即無需人類干預,而Eko框架提供了顯性的生產級干預機制,確保智能體工作流可以隨時被中斷和調整,從而保障人類對生產級智能體工作流的有效監管和治理。

Homepage: https://eko.fellou.ai

Github link:https://github.com/FellouAI/eko

Docs:https://eko.fellou.ai/docs 

Eko:革新生產級智能體開發的框架

用實際的例子來感受一下這個Agent框架的開發難度:只需要一句話,就可以讓Eko生成一個全Agent幫你做股票分析。這不就是妥妥的生產力工具嗎!真是解放雙手!

在雅虎財經上收集諾斯達克的最新數據,包括主要股票的價格變化、市值、交易‍量,分析數據並生成可視化報告。 

當前登錄頁面自動化測試: 

1. 正確的賬戶和密碼是:admin / 666666 

2. 請隨機組合用戶名和密碼進行測試,以驗證登錄驗證是否正常工作,例如:用戶名不能為空、密碼不能為空、用戶名不正確、密碼不正確 

3. 最後,嘗試使用正確的賬戶和密碼登錄,驗證登錄是否成功 

4. 生成測試報告並導出 

清理當前目錄下大於1MB的所有文件 

環境感知架構(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)是一種先進的瀏覽器自動化解決方案,通過將視覺識別與元素上下文信息相結合,顯著提升了在複雜網頁環境中自動化任務的準確性和效率。該技術的核心在於提取網頁中的交互元素和相關數據,優化了自動化過程,極大地提高了任務執行的成功率。 

具體來說,首先VIEP通過識別網頁上的關鍵交互元素——如按鈕、輸入框、鏈接等——來聚焦用戶可能進行操作的核心區域。 

接著,每個可交互的元素都被分配唯一的標識符,並通過彩色框標記,確保精確定位。隨後,系統通過結合截圖和偽HTML的方式構建元素信息,利用文本和視覺數據的結合,幫助自動化模型更好地識別和操作這些元素,尤其在複雜網頁結構中尤為重要。 

與傳統瀏覽器自動化方法不同,通過提取並簡化網頁中與交互相關的元素,生成一個小巧高效的偽 HTML 結構,避免了直接處理龐大的 HTML 內容所帶來的資源消耗和處理難度。 

Google 首頁的原始HTML長達22萬多字符,但VIEP技術,HTML內容可以精簡至僅1,058個字符,大幅提升了自動化操作的處理速度和精準度。這一技術的優勢不僅體現在降低成本和提高準確性上,還在於性能優化和跨環境適應性。 

生產級的可幹預機制

在構建AI驅動的自動化系統時,開發者常常需要監控任務的執行情況,隨時調整行為,或在必要時進行干預。 

雖然「鉤子」是軟件開發中的常見概念,但在Eko中,它們承擔了獨特的角色——在AI自動化和人工監督之間架起了一座橋樑。簡單來說,你可以在 Workflow 執行前後插入自己的邏輯,比如驗證輸入、處理結果、甚至重試失敗的任務。代碼如下: 

Eko提供三種不同層級的鉤子,每個層級都具有獨特的作用: 

工作流鉤子(Workflow Hooks)這些鉤子位於工作流的最上層,用於整體控制和監控自動化流程的啟動和結束。例如,你可以在工作流開始之前進行資源初始化,或在工作流結束後進行清理和處理最終結果。 

子任務鉤子(Subtask Hooks)這些鉤子位於工作流的中間層,允許你在每個子任務開始前和結束後進行監控和處理。例如,你可以在每個子任務前記錄日誌,或在任務完成後對中間結果進行處理。 

工具鉤子(Tool Hooks)這是最細粒度的鉤子,允許你在每個工具執行前後進行驗證和修改。例如,你可以在工具執行前驗證輸入參數,或在工具執行後處理返回結果。 

鉤子可以幫助開發者實時優化工作流,提高自動化系統的精度和效率。例如,在執行某些任務時,開發者可以通過鉤子對輸入數據進行驗證,防止錯誤信息傳入系統;或在任務完成後,處理和轉化結果,以便更好地利用輸出。鉤子還能幫助開發者收集執行數據,進行性能分析,識別瓶頸並優化自動化流程。 

除了常規的監控和調試功能,Eko的鉤子系統還支持更創新的使用場景。例如,在一些關鍵任務執行時,鉤子可以暫停工作流並等待人工審批;在AI決策出現問題時,開發者可以通過鉤子進行人工干預或覆蓋AI的判斷,確保業務流程的順暢。 

展望

無論你是AI開發者還是自動化使用者,Eko為你提供了更靈活、高效的工具,幫助你將虛擬員工部署到實際生產環境中,提升工作效率和質量。立即關注 Eko,讓 AI 自動化為你的生產力加速! 

作者介紹

陸逸文,清華大學博士生,研究興趣為具身智能平台和智能體。 

羅卓偉,FellouAI 首席工程專家,目前從事人工智能相關領域工作。 

馬驍騰,清華大學自動化系博士後,博士畢業於清華大學。主要研究興趣為強化學習和智能體。 

陳家棋,複旦大學碩士生,史丹福大學訪問學生學者。主要研究領域為計算機視覺和智能體。 

參考資料: 

https://github.com/FellouAI/eko 

本文來自微信公眾號「新智元」,編輯:LRST ,36氪經授權發佈。