AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
近期,OpenAI CEO Sam Altman 宣佈,2025 年將推出名為 “Operator” 的虛擬員工計劃,AI 代理將能夠自主執行任務,如寫程式碼、預訂旅行等,成為企業中的 “數字同事”。在 OpenAI 釋出 “Operator” 之前,清華、復旦和史丹佛的研究者聯合提出了名為 “Eko” 的 Agent 開發框架,旨在讓開發者透過簡潔的程式碼和自然語言,快速構建可用於生產的 “虛擬員工”。這種框架使得 AI 代理能夠接管使用者的電腦和瀏覽器,代替人類完成各種任務,為工作流程提供自動化支援。論文標題: Eko: Build Production-ready Agentic Workflow with Natural Language
專案主頁: https://eko.fellou.ai
專案地址:https://github.com/FellouAI/eko
Docs:https://eko.fellou.ai/docs
1. 混合智慧體表示:提出了 “Mixed Agentic representation”,透過無縫結合表達高層次設計的自然語言(Natural Language)與開發者低層次實現的程式語言(Programming Language)。2. 跨平臺 Agent 框架:提出環境感知架構,實現同一套框架和程式語言,同時支援瀏覽器使用、電腦使用、作為瀏覽器外掛使用。3. 生產級干預機制:現有 Agent 框架普遍強調自治性(Autonomous),即無需人類干預,而 Eko 框架提供了顯性的生產級干預機制,確保智慧體工作流可以隨時被中斷和調整,從而保障人類對生產級智慧體工作流的有效監管和治理。讓我們用實際的例子來感受一下這個 Agent 框架的開發難度:只需要一句話,就可以讓 Eko 生成一個全 Agent 幫你做股票分析。這不就是妥妥的生產力工具嗎!真是解放雙手!“在雅虎財經上收集納斯達克的最新資料,包括主要股票的價格變化、市值、交易量,分析資料並生成視覺化報告。”
1. 正確的賬戶和密碼是:admin / 666666 2. 請隨機組合使用者名稱和密碼進行測試,以驗證登入驗證是否正常工作,例如:使用者名稱不能為空、密碼不能為空、使用者名稱不正確、密碼不正確 3. 最後,嘗試使用正確的賬戶和密碼登入,驗證登入是否成功
環境感知架構(Environment-Aware Architecture)i)瀏覽器使用:主要專注於透過圖形使用者介面(GUI)來操作網頁和瀏覽器中的元素,常見的實現方式包括截圖和網頁提取技術。ii)電腦使用:與瀏覽器不同,Node.js 自動化則主要面向命令列介面(CLI)操作和檔案系統管理,未來還會引入 GUI 感知能力。Eko 的跨平臺開發是透過其 環境感知架構(Environment-Aware Architecture)實現的,這一架構由三個關鍵層次構成:通用核心(Universal Core)、環境特定工具(Environment-Specific Tools) 和 環境橋接(Environment Bridge)。1. 通用核心:這一層提供了與環境無關的基本功能,如工作流管理、工具註冊管理、LLM(大語言模型)整合和鉤子系統。2. 環境特定工具:每種環境(如瀏覽器擴充套件、Web 環境、Node.js 環境)都提供了最佳化的工具集。3. 環境橋接:這一層負責環境的檢測、工具註冊、資源管理和安全控制,確保不同平臺之間能夠順利互動和通訊。安全性和訪問控制: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 執行前後插入自己的邏輯,比如驗證輸入、處理結果、甚至重試失敗的任務。程式碼如下:JavaScript
await eko.execute (workflow, {
hooks: {
beforeToolUse: async (tool, context, input) => {
console.log (`準備執行工具:${tool.name},輸入引數:`, input);
return input;
},
afterToolUse: async (tool, context, result) => {
console.log (`工具執行完成:${tool.name},輸出結果:`, result);
return result;
}
}
});
Eko 提供三種不同層級的鉤子,每個層級都具有獨特的作用:這些鉤子位於工作流的最上層,用於整體控制和監控自動化流程的啟動和結束。例如,你可以在工作流開始之前進行資源初始化,或在工作流結束後進行清理和處理最終結果。這些鉤子位於工作流的中間層,允許你在每個子任務開始前和結束後進行監控和處理。例如,你可以在每個子任務前記錄日誌,或在任務完成後對中間結果進行處理。這是最細粒度的鉤子,允許你在每個工具執行前後進行驗證和修改。例如,你可以在工具執行前驗證輸入引數,或在工具執行後處理返回結果。鉤子可以幫助開發者實時最佳化工作流,提高自動化系統的精度和效率。例如,在執行某些任務時,開發者可以透過鉤子對輸入資料進行驗證,防止錯誤資訊傳入系統;或在任務完成後,處理和轉化結果,以便更好地利用輸出。鉤子還能幫助開發者收集執行資料,進行效能分析,識別瓶頸並最佳化自動化流程。除了常規的監控和除錯功能,Eko 的鉤子系統還支援更創新的使用場景。例如,在一些關鍵任務執行時,鉤子可以暫停工作流並等待人工審批;在 AI 決策出現問題時,開發者可以透過鉤子進行人工干預或覆蓋 AI 的判斷,確保業務流程的順暢。無論你是 AI 開發者還是自動化使用者,Eko 為你提供了更靈活、高效的工具,幫助你將虛擬員工部署到實際生產環境中,提升工作效率和質量。立即關注 Eko,讓 AI 自動化為你的生產力加速!陸逸文,清華大學博士生,研究興趣為具身智慧平臺和智慧體。羅卓偉,FellouAI 首席工程專家,目前從事人工智慧相關領域工作。馬驍騰,清華大學自動化系博士後,博士畢業於清華大學。主要研究興趣為強化學習和智慧體。陳家棋,復旦大學碩士生,史丹佛大學訪問學生學者。主要研究領域為計算機視覺和智慧體。