Eko 是一個強大的 Agent 開發(fā)框架,開發(fā)者能用自然語言和簡單代碼快速構(gòu)建「虛擬員工」,完成從簡單指令到復(fù)雜工作流的任務(wù),如股票分析、自動化測試等;通過混合智能體表示、跨平臺架構(gòu)和生產(chǎn)級干預(yù)機制等創(chuàng)新技術(shù),實現(xiàn)高效、靈活且安全的自動化工作流程。
OpenAI 的首席執(zhí)行官 Sam Altman 最近宣布,2025 年將推出「虛擬員工計劃」,代號 Operator,AI 智能體能夠自主執(zhí)行任務(wù),如寫代碼、預(yù)訂旅行等,成為企業(yè)中的「數(shù)字同事」。
搶在 OpenAI 發(fā)布 Operator 之前,清華、復(fù)旦和斯坦福的研究者聯(lián)合提出了名為 Eko 的 Agent 開發(fā)框架,開發(fā)者可以通過簡潔的代碼和自然語言,快速構(gòu)建可用于生產(chǎn)的「虛擬員工」。AI 智能體能夠接管用戶的電腦和瀏覽器,代替人類完成各種任務(wù),為工作流程提供自動化支持。
核心技術(shù)創(chuàng)新有三點:
混合智能體表示:提出了 Mixed Agentic representation,通過無縫結(jié)合表達高層次設(shè)計的自然語言(Natural Language)與開發(fā)者低層次實現(xiàn)的程序語言(Programming Language)。
跨平臺 Agent 框架:提出環(huán)境感知架構(gòu),實現(xiàn)同一套框架和編程語言,同時支持瀏覽器使用、電腦使用、作為瀏覽器插件使用。
生產(chǎn)級干預(yù)機制:現(xiàn)有 Agent 框架普遍強調(diào)自治性(Autonomous),即無需人類干預(yù),而 Eko 框架提供了顯性的生產(chǎn)級干預(yù)機制,確保智能體工作流可以隨時被中斷和調(diào)整,從而保障人類對生產(chǎn)級智能體工作流的有效監(jiān)管和治理。
Homepage: https://eko.fellou.ai
Github link:https://github.com/FellouAI/eko
Docs:https://eko.fellou.ai/docs
通用核心:這一層提供了與環(huán)境無關(guān)的基本功能,如工作流管理、工具注冊管理、LLM(大語言模型)集成和鉤子系統(tǒng)。
環(huán)境特定工具:每種環(huán)境(如瀏覽器擴展、Web 環(huán)境、Node.js 環(huán)境)都提供了優(yōu)化的工具集。
環(huán)境橋接:這一層負責(zé)環(huán)境的檢測、工具注冊、資源管理和安全控制,確保不同平臺之間能夠順利互動和通信。
Eko:革新生產(chǎn)級智能體開發(fā)的框架
用實際的例子來感受一下這個 Agent 框架的開發(fā)難度:只需要一句話,就可以讓 Eko 生成一個全 Agent 幫你做股票分析。這不就是妥妥的生產(chǎn)力工具嗎!真是解放雙手!
在雅虎財經(jīng)上收集納斯達克的最新數(shù)據(jù),包括主要股票的價格變化、市值、交易量,分析數(shù)據(jù)并生成可視化報告。
當(dāng)前登錄頁面自動化測試:
1. 正確的賬戶和密碼是:admin / 666666
2. 請隨機組合用戶名和密碼進行測試,以驗證登錄驗證是否正常工作,例如:用戶名不能為空、密碼不能為空、用戶名不正確、密碼不正確
3. 最后,嘗試使用正確的賬戶和密碼登錄,驗證登錄是否成功
4. 生成測試報告并導(dǎo)出
清理當(dāng)前目錄下大于 1MB 的所有文件
環(huán)境感知架構(gòu)(Environment-Aware Architecture)
主要場景
i)瀏覽器使用:主要專注于通過圖形用戶界面(GUI)來操作網(wǎng)頁和瀏覽器中的元素,常見的實現(xiàn)方式包括截圖和網(wǎng)頁提取技術(shù)。
ii)電腦使用:與瀏覽器不同,Node.js 自動化則主要面向命令行界面(CLI)操作和文件系統(tǒng)管理,未來還會引入 GUI 感知能力。
架構(gòu)介紹
Eko 的跨平臺開發(fā)是通過其環(huán)境感知架構(gòu)(Environment-Aware Architecture)實現(xiàn)的,架構(gòu)由三個關(guān)鍵層次構(gòu)成:通用核心(Universal Core)、環(huán)境特定工具(Environment-Specific Tools)和環(huán)境橋接(Environment Bridge)。
安全性和訪問控制:Eko 針對不同環(huán)境實施了適當(dāng)?shù)陌踩胧?。瀏覽器擴展和 Web 環(huán)境都采用了嚴格的權(quán)限控制和 API 密鑰管理,而 Node.js 環(huán)境則允許更廣泛的系統(tǒng)級訪問,基于用戶權(quán)限進行文件操作和命令執(zhí)行,在需要時會在執(zhí)行前請求用戶確認。
自動工具注冊:通過 loadTools () 等工具,Eko 自動注冊適用于當(dāng)前環(huán)境的工具,這使得開發(fā)者可以在多個環(huán)境中無縫地切換,并確保工具的正確加載。
層次化規(guī)劃(Hierachical planning)
研究人員提出層次化感知框架,將任務(wù)的拆解分為兩層,包括 Planning layer 和 Execution layer。其中 Planning layer 負責(zé)將用戶的需求(自然語言或代碼語言表示)和現(xiàn)有工具集拆解成一個有領(lǐng)域特定語言(Domain-specific language)表示的任務(wù)圖(Task graph)。
任務(wù)圖是一個有向無環(huán)圖,描述了子任務(wù)之間的依賴關(guān)系。該任務(wù)圖由 LLM 一次性合成。在 Execution layer 中,根據(jù)每個任務(wù)調(diào)用 LLM 來合成具體的執(zhí)行行為和工具調(diào)用。
多步合并優(yōu)化:當(dāng) Eko 檢測到兩次執(zhí)行都是對 LLM 的調(diào)用時,會觸發(fā)框架的自動合并機制,將兩次調(diào)用的 system prompt 自動整合,合并成一次調(diào)用。從而加快推理速度。
視覺-交互要素聯(lián)合感知(Visual-Interactive Element Perception)
視覺-交互要素聯(lián)合感知框架(VIEP)是一種先進的瀏覽器自動化解決方案,通過將視覺識別與元素上下文信息相結(jié)合,顯著提升了在復(fù)雜網(wǎng)頁環(huán)境中自動化任務(wù)的準確性和效率。該技術(shù)的核心在于提取網(wǎng)頁中的交互元素和相關(guān)數(shù)據(jù),優(yōu)化了自動化過程,極大地提高了任務(wù)執(zhí)行的成功率。
具體來說,首先 VIEP 通過識別網(wǎng)頁上的關(guān)鍵交互元素 —— 如按鈕、輸入框、鏈接等 —— 來聚焦用戶可能進行操作的核心區(qū)域。
接著,每個可交互的元素都被分配唯一的標識符,并通過彩色框標記,確保精確定位。隨后,系統(tǒng)通過結(jié)合截圖和偽 HTML 的方式構(gòu)建元素信息,利用文本和視覺數(shù)據(jù)的結(jié)合,幫助自動化模型更好地識別和操作這些元素,尤其在復(fù)雜網(wǎng)頁結(jié)構(gòu)中尤為重要。
與傳統(tǒng)瀏覽器自動化方法不同,通過提取并簡化網(wǎng)頁中與交互相關(guān)的元素,生成一個小巧高效的偽 HTML 結(jié)構(gòu),避免了直接處理龐大的 HTML 內(nèi)容所帶來的資源消耗和處理難度。
Google 首頁的原始 HTML 長達 22 萬多字符,但 VIEP 技術(shù),HTML 內(nèi)容可以精簡至僅 1,058 個字符,大幅提升了自動化操作的處理速度和精準度。這一技術(shù)的優(yōu)勢不僅體現(xiàn)在降低成本和提高準確性上,還在于性能優(yōu)化和跨環(huán)境適應(yīng)性。
生產(chǎn)級的可干預(yù)機制
在構(gòu)建 AI 驅(qū)動的自動化系統(tǒng)時,開發(fā)者常常需要監(jiān)控任務(wù)的執(zhí)行情況,隨時調(diào)整行為,或在必要時進行干預(yù)。
雖然“鉤子”是軟件開發(fā)中的常見概念,但在 Eko 中,它們承擔(dān)了獨特的角色 —— 在 AI 自動化和人工監(jiān)督之間架起了一座橋梁。簡單來說,你可以在 Workflow 執(zhí)行前后插入自己的邏輯,比如驗證輸入、處理結(jié)果、甚至重試失敗的任務(wù)。代碼如下:
// Javascriptawait eko.executeworkflow { hooks { beforeToolUse async (tool context input = { console.log`準備執(zhí)行工具:${tool.name},輸入?yún)?shù):` input return input afterToolUse async (tool context result = { console.log`工具執(zhí)行完成:${tool.name},輸出結(jié)果:` result return result }
Eko 提供三種不同層級的鉤子,每個層級都具有獨特的作用:
工作流鉤子(Workflow Hooks)這些鉤子位于工作流的最上層,用于整體控制和監(jiān)控自動化流程的啟動和結(jié)束。例如,你可以在工作流開始之前進行資源初始化,或在工作流結(jié)束后進行清理和處理最終結(jié)果。
子任務(wù)鉤子(Subtask Hooks)這些鉤子位于工作流的中間層,允許你在每個子任務(wù)開始前和結(jié)束后進行監(jiān)控和處理。例如,你可以在每個子任務(wù)前記錄日志,或在任務(wù)完成后對中間結(jié)果進行處理。
工具鉤子(Tool Hooks)這是最細粒度的鉤子,允許你在每個工具執(zhí)行前后進行驗證和修改。例如,你可以在工具執(zhí)行前驗證輸入?yún)?shù),或在工具執(zhí)行后處理返回結(jié)果。
鉤子可以幫助開發(fā)者實時優(yōu)化工作流,提高自動化系統(tǒng)的精度和效率。例如,在執(zhí)行某些任務(wù)時,開發(fā)者可以通過鉤子對輸入數(shù)據(jù)進行驗證,防止錯誤信息傳入系統(tǒng);或在任務(wù)完成后,處理和轉(zhuǎn)化結(jié)果,以便更好地利用輸出。鉤子還能幫助開發(fā)者收集執(zhí)行數(shù)據(jù),進行性能分析,識別瓶頸并優(yōu)化自動化流程。
除了常規(guī)的監(jiān)控和調(diào)試功能,Eko 的鉤子系統(tǒng)還支持更創(chuàng)新的使用場景。例如,在一些關(guān)鍵任務(wù)執(zhí)行時,鉤子可以暫停工作流并等待人工審批;在 AI 決策出現(xiàn)問題時,開發(fā)者可以通過鉤子進行人工干預(yù)或覆蓋 AI 的判斷,確保業(yè)務(wù)流程的順暢。
展望
無論你是 AI 開發(fā)者還是自動化使用者,Eko 為你提供了更靈活、高效的工具,幫助你將虛擬員工部署到實際生產(chǎn)環(huán)境中,提升工作效率和質(zhì)量。立即關(guān)注 Eko,讓 AI 自動化為你的生產(chǎn)力加速!
作者介紹
陸逸文,清華大學(xué)博士生,研究興趣為具身智能平臺和智能體。
羅卓偉,F(xiàn)ellouAI 首席工程專家,目前從事人工智能相關(guān)領(lǐng)域工作。
馬驍騰,清華大學(xué)自動化系博士后,博士畢業(yè)于清華大學(xué)。主要研究興趣為強化學(xué)習(xí)和智能體。
陳家棋,復(fù)旦大學(xué)碩士生,斯坦福大學(xué)訪問學(xué)生學(xué)者。主要研究領(lǐng)域為計算機視覺和智能體。
參考資料:
https://github.com/FellouAI/eko
本文來自微信公眾號:新智元(ID:AI_era)
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。