搶先OpenAI“虛擬員工”!清華復(fù)旦斯坦福聯(lián)手,讓Agent接管電腦幫你工作
搶先OpenAI的“Operator”,清華、復(fù)旦、斯坦福等研究者聯(lián)合起來整了個(gè)大活~
他們提出了一個(gè)名為“Eko”的Agent開發(fā)框架,開發(fā)者只需用簡(jiǎn)潔的代碼和自然語言,就能快速構(gòu)建可用于生產(chǎn)的“虛擬員工”:
Agent可以接管用戶的電腦和瀏覽器,代替人類完成各種任務(wù)。
而這個(gè)操作,正是之前OpenAI被爆出的“Operator”所能實(shí)現(xiàn)的。爆料稱OpenAI將會(huì)這個(gè)月發(fā)布“Operator”,現(xiàn)在直接被截胡了。
更為關(guān)鍵的是,研究團(tuán)隊(duì)還把Eko給開源了。
圖片
來看看Eko是如何讓工作流程自動(dòng)化的。
比如自動(dòng)在雅虎財(cái)經(jīng)上收集納斯達(dá)克的最新數(shù)據(jù),包括主要股票的價(jià)格變化、市值、交易量,分析數(shù)據(jù)并生成可視化報(bào)告:
再例如:
當(dāng)前登錄頁面自動(dòng)化測(cè)試:
- 正確的賬戶和密碼是:admin / 666666
- 請(qǐng)隨機(jī)組合用戶名和密碼進(jìn)行測(cè)試,以驗(yàn)證登錄驗(yàn)證是否正常工作,例如:用戶名不能為空、密碼不能為空、用戶名不正確、密碼不正確
- 最后,嘗試使用正確的賬戶和密碼登錄,驗(yàn)證登錄是否成功
- 生成測(cè)試報(bào)告并導(dǎo)出
圖片
清理當(dāng)前目錄下大于1MB的所有文件
這是如何實(shí)現(xiàn)的?
圖片
開源版“虛擬員工”開發(fā)框架
這項(xiàng)演技的核心技術(shù)創(chuàng)新有三點(diǎn):
- 混合智能體表示:提出了“Mixed Agentic representation”,通過無縫結(jié)合表達(dá)高層次設(shè)計(jì)的自然語言(Natural Language)與開發(fā)者低層次實(shí)現(xiàn)的程序語言(Programming Language)。
- 跨平臺(tái)Agent框架:提出環(huán)境感知架構(gòu),實(shí)現(xiàn)同一套框架和編程語言,同時(shí)支持瀏覽器使用、電腦使用、作為瀏覽器插件使用。
- 生產(chǎn)級(jí)干預(yù)機(jī)制:現(xiàn)有Agent框架普遍強(qiáng)調(diào)自治性(Autonomous),即無需人類干預(yù),而Eko框架提供了顯性的生產(chǎn)級(jí)干預(yù)機(jī)制,確保智能體工作流可以隨時(shí)被中斷和調(diào)整,從而保障人類對(duì)生產(chǎn)級(jí)智能體工作流的有效監(jiān)管和治理。
圖片
環(huán)境感知架構(gòu)(Environment-Aware Architecture)
主要場(chǎng)景包括:
i)瀏覽器使用:主要專注于通過圖形用戶界面(GUI)來操作網(wǎng)頁和瀏覽器中的元素,常見的實(shí)現(xiàn)方式包括截圖和網(wǎng)頁提取技術(shù)。
ii)電腦使用:與瀏覽器不同,Node.js 自動(dòng)化則主要面向命令行界面(CLI)操作和文件系統(tǒng)管理,未來還會(huì)引入GUI感知能力。
Eko的跨平臺(tái)開發(fā)是通過其環(huán)境感知架構(gòu)(Environment-Aware Architecture)實(shí)現(xiàn)的,這一架構(gòu)由三個(gè)關(guān)鍵層次構(gòu)成:通用核心(Universal Core)、環(huán)境特定工具(Environment-Specific Tools)和環(huán)境橋接(Environment Bridge)。
- 通用核心:這一層提供了與環(huán)境無關(guān)的基本功能,如工作流管理、工具注冊(cè)管理、LLM(大語言模型)集成和鉤子系統(tǒng)。
- 環(huán)境特定工具:每種環(huán)境(如瀏覽器擴(kuò)展、Web 環(huán)境、Node.js 環(huán)境)都提供了優(yōu)化的工具集。
- 環(huán)境橋接:這一層負(fù)責(zé)環(huán)境的檢測(cè)、工具注冊(cè)、資源管理和安全控制,確保不同平臺(tái)之間能夠順利互動(dòng)和通信。
安全性和訪問控制:Eko針對(duì)不同環(huán)境實(shí)施了適當(dāng)?shù)陌踩胧?。瀏覽器擴(kuò)展和Web環(huán)境都采用了嚴(yán)格的權(quán)限控制和API密鑰管理,而Node.js環(huán)境則允許更廣泛的系統(tǒng)級(jí)訪問,基于用戶權(quán)限進(jìn)行文件操作和命令執(zhí)行,在需要時(shí)會(huì)在執(zhí)行前請(qǐng)求用戶確認(rèn)。
自動(dòng)工具注冊(cè):通過 loadTools() 等工具,Eko自動(dòng)注冊(cè)適用于當(dāng)前環(huán)境的工具,這使得開發(fā)者可以在多個(gè)環(huán)境中無縫地切換,并確保工具的正確加載。
層次化規(guī)劃(Hierachical planning)
團(tuán)隊(duì)提出層次化感知框架,將任務(wù)的拆解分為兩層,包括Planning layer和Execution layer。
其中Planning layer負(fù)責(zé)將用戶的需求(自然語言或代碼語言表示)和現(xiàn)有工具集拆解成一個(gè)有領(lǐng)域特定語言(Domain-specific language)表示的任務(wù)圖(Task graph)。
任務(wù)圖是一個(gè)有向無環(huán)圖,描述了子任務(wù)之間的依賴關(guān)系。該任務(wù)圖由LLM一次性合成。在Execution layer中,根據(jù)每個(gè)任務(wù)調(diào)用LLM來合成具體的執(zhí)行行為和工具調(diào)用。
多步合并優(yōu)化:當(dāng)Eko檢測(cè)到兩次執(zhí)行都是對(duì)LLM的調(diào)用時(shí),會(huì)觸發(fā)框架的自動(dòng)合并機(jī)制,將兩次調(diào)用的system prompt自動(dòng)整合,合并成一次調(diào)用。從而加快推理速度。
視覺-交互要素聯(lián)合感知(Visual-Interactive Element Perception)
視覺-交互要素聯(lián)合感知框架(VIEP)是一種新穎的瀏覽器感知解決方案,通過將視覺識(shí)別與元素上下文信息結(jié)合,顯著提升了在復(fù)雜網(wǎng)頁中的任務(wù)精度和效率。
它通過提取網(wǎng)頁中的交互元素(如A11y樹),并將其映射到領(lǐng)域特定語言(DSL),生成高效的偽HTML代碼,簡(jiǎn)化了元素的表征。
不同于傳統(tǒng)的A11y+Screen shot方案,VIEP在視覺信號(hào)方面,引入了Set-of-Mark,確保每個(gè)元素的視覺標(biāo)識(shí)符與偽HTML中的標(biāo)識(shí)符一一對(duì)應(yīng),提升了元素識(shí)別的精度。
為了優(yōu)化性能,截圖分辨率被壓縮至原始的60%,同時(shí)畫質(zhì)壓縮至50%,減少了資源消耗,同時(shí)保持了足夠的識(shí)別質(zhì)量。
圖片
圖片
與傳統(tǒng)的HTML表示相比,VIEP通過簡(jiǎn)化交互元素和生成緊湊的偽HTML結(jié)構(gòu),避免了直接處理龐大HTML內(nèi)容的開銷。例如,Google首頁的HTML從22萬字符減少至僅1,058個(gè)字符,大幅提高了處理速度和準(zhǔn)確度。
VIEP不僅優(yōu)化了性能,降低了成本,還提升了跨環(huán)境適應(yīng)性,確保自動(dòng)化操作在不同瀏覽器和操作系統(tǒng)中穩(wěn)定運(yùn)行。
生產(chǎn)級(jí)的可干預(yù)機(jī)制
在構(gòu)建AI驅(qū)動(dòng)的自動(dòng)化系統(tǒng)時(shí),開發(fā)者常常需要監(jiān)控任務(wù)的執(zhí)行情況,隨時(shí)調(diào)整行為,或在必要時(shí)進(jìn)行干預(yù)。
雖然“鉤子”是軟件開發(fā)中的常見概念,但在Eko中,它們承擔(dān)了獨(dú)特的角色——在AI自動(dòng)化和人工監(jiān)督之間架起了一座橋梁。
簡(jiǎn)單來說,可以在Workflow執(zhí)行前后插入自己的邏輯,比如驗(yàn)證輸入、處理結(jié)果、甚至重試失敗的任務(wù)。
代碼如下:
圖片
Eko提供三種不同層級(jí)的鉤子,每個(gè)層級(jí)都具有獨(dú)特的作用:
工作流鉤子(Workflow Hooks)
這些鉤子位于工作流的最上層,用于整體控制和監(jiān)控自動(dòng)化流程的啟動(dòng)和結(jié)束。例如,你可以在工作流開始之前進(jìn)行資源初始化,或在工作流結(jié)束后進(jìn)行清理和處理最終結(jié)果。
子任務(wù)鉤子(Subtask Hooks)
這些鉤子位于工作流的中間層,允許你在每個(gè)子任務(wù)開始前和結(jié)束后進(jìn)行監(jiān)控和處理。例如,你可以在每個(gè)子任務(wù)前記錄日志,或在任務(wù)完成后對(duì)中間結(jié)果進(jìn)行處理。
工具鉤子(Tool Hooks)
這是最細(xì)粒度的鉤子,允許你在每個(gè)工具執(zhí)行前后進(jìn)行驗(yàn)證和修改。例如,你可以在工具執(zhí)行前驗(yàn)證輸入?yún)?shù),或在工具執(zhí)行后處理返回結(jié)果。
鉤子可以幫助開發(fā)者實(shí)時(shí)優(yōu)化工作流,提高自動(dòng)化系統(tǒng)的精度和效率。
例如,在執(zhí)行某些任務(wù)時(shí),開發(fā)者可以通過鉤子對(duì)輸入數(shù)據(jù)進(jìn)行驗(yàn)證,防止錯(cuò)誤信息傳入系統(tǒng);或在任務(wù)完成后,處理和轉(zhuǎn)化結(jié)果,以便更好地利用輸出。鉤子還能幫助開發(fā)者收集執(zhí)行數(shù)據(jù),進(jìn)行性能分析,識(shí)別瓶頸并優(yōu)化自動(dòng)化流程。
除了常規(guī)的監(jiān)控和調(diào)試功能,Eko的鉤子系統(tǒng)還支持更創(chuàng)新的使用場(chǎng)景。
例如,在一些關(guān)鍵任務(wù)執(zhí)行時(shí),鉤子可以暫停工作流并等待人工審批;在AI決策出現(xiàn)問題時(shí),開發(fā)者可以通過鉤子進(jìn)行人工干預(yù)或覆蓋AI的判斷,確保業(yè)務(wù)流程的順暢。
作者簡(jiǎn)介
陸逸文,清華大學(xué)博士生,研究興趣為具身智能平臺(tái)和智能體。
羅卓偉,F(xiàn)ellouAI首席工程專家,目前從事人工智能相關(guān)領(lǐng)域工作。
馬驍騰,清華大學(xué)自動(dòng)化系博士后,博士畢業(yè)于清華大學(xué)。主要研究興趣為強(qiáng)化學(xué)習(xí)和智能體。
陳家棋,復(fù)旦大學(xué)碩士生,斯坦福大學(xué)訪問學(xué)生學(xué)者。主要研究領(lǐng)域?yàn)橛?jì)算機(jī)視覺和智能體。
Homepage:https://eko.fellou.ai/
Github link:https://github.com/FellouAI/eko
Docs:https://eko.fellou.ai/docs/