評測實戰(zhàn)指南:Windows Agent Arena 與 OSWorld 部署及評估體系解析)
UFO 基準(zhǔn)評測實戰(zhàn)指南Windows Agent Arena 與 OSWorld 部署及評估體系解析【免費(fèi)下載鏈接】UFOUFO3: Weaving the Digital Agent Galaxy項目地址: https://gitcode.com/GitHub_Trending/uf/UFO導(dǎo)讀本文聚焦 UFO2 的評測體系如何基于 Windows Agent ArenaWAA與 OSWorldWindows 版兩大公開基準(zhǔn)任務(wù)集對 UFO 進(jìn)行端到端的真實任務(wù)評測并深入講解評測結(jié)果背后的 LLM 評估機(jī)制EvaluationAgent。讀完本文你將掌握從環(huán)境搭建、Docker 鏡像構(gòu)建、Windows 11 虛擬機(jī)黃金鏡像制備到運(yùn)行基準(zhǔn)實驗、理解評估日志的完整流程。基準(zhǔn)評測總覽UFO 的實測任務(wù)集根據(jù) Benchmark Overview 文檔UFO2 在兩個公開可用的實時任務(wù)套件上進(jìn)行了嚴(yán)格評測基準(zhǔn)規(guī)模Windows Agent Arena (WAA)154 個真實 Windows 任務(wù)覆蓋 15 個應(yīng)用Office、Edge、文件資源管理器、VS Code 等OSWorld (Windows)49 個跨應(yīng)用任務(wù)混合 Office 365、瀏覽器與系統(tǒng)工具這兩個基準(zhǔn)的集成實現(xiàn)位于獨立倉庫中具體的克隆、構(gòu)建與運(yùn)行方式分別記錄在上述兩篇部署文檔中。此外官方文檔特別提示已修訂部分用例的驗證腳本以確保評測結(jié)果的正確性——這意味著在復(fù)現(xiàn)評測時應(yīng)以修訂后的驗證腳本為準(zhǔn)避免使用舊版腳本得到偏差結(jié)果。評測結(jié)果如何產(chǎn)生UFO 的 EvaluationAgent 體系在深入基準(zhǔn)部署之前先理解 UFO 自身的評測結(jié)果產(chǎn)生機(jī)制。UFO 通過EvaluationAgent源碼判斷一次會話Session或單個回合Round是否成功完成它評估的是HostAgent與AppAgent完成用戶請求的績效。完整說明見 EvaluationAgent 文檔。評測配置項評測開關(guān)在 config/ufo/system.yaml 中配置文檔中的 Evaluation 段配置項說明類型默認(rèn)值EVA_SESSION是否評估整個會話BooleanTrueEVA_ROUND是否評估每個回合BooleanFalseEVA_ALL_SCREENSHOTS是否在評估中包含所有截圖若為False僅使用首尾兩張截圖BooleanTrue配置項到內(nèi)部字段的映射定義在 config/config_schemas.pyEVA_SESSION→eva_session、EVA_ROUND→eva_round、EVA_ALL_SCREENSHOTS→eva_all_screenshots。系統(tǒng)提示詞模板路徑由evaluation_prompt指向 ufo/prompts/evaluation/evaluate.yaml見 config_schemas.py。評估流程Chain-of-Thought 子目標(biāo)分解EvaluationAgent完全由 LLM 驅(qū)動基于動作軌跡action trajectories與截圖進(jìn)行判斷并使用 Chain-of-ThoughtCoT機(jī)制依據(jù)用戶請求將評估分解為多個子目標(biāo)對每個子目標(biāo)分別打分聚合子分?jǐn)?shù)得出整體完成狀態(tài)。由于基于 LLM 的評估可能并非 100% 準(zhǔn)確評測結(jié)果應(yīng)作為指導(dǎo)性參考而非絕對結(jié)論。評估輸入與輸出輸入由EvaluationAgentPrompter構(gòu)造見 ufo/prompter/eva_prompter.py輸入說明類型User Request待評估的用戶請求StringAPIs Description執(zhí)行期間使用的 API工具描述StringAction TrajectoriesHostAgent與AppAgent執(zhí)行的動作軌跡含 subtask、step、observation、thought、plan、comment、action、applicationList of DictionariesScreenshots執(zhí)行期間捕獲的截圖List of Images從源碼看軌跡數(shù)據(jù)的加載依賴 ufo/trajectory/parser.py 的Trajectory類其方法可讀取app_agent_log、final_screenshot_image、evaluation_log等每個步驟的軌跡通過get_step_trajectory抽取為Subtask/Step/Observation/Thought/Plan/Comment/Action/Application結(jié)構(gòu)。截圖處理有兩個關(guān)鍵細(xì)節(jié)MAX_EVAL_IMAGES 40大部分 API 單次請求圖片上限為 50需為最終截圖留出余量并且會通過_is_valid_screenshot/_is_valid_screenshot_str過濾掉 1×1 占位圖、全黑圖及過小的 base64 載荷若全程無有效截圖例如遠(yuǎn)程桌面斷開prompter 會附加說明文本要求僅依據(jù)軌跡文本評估見 eva_prompter.py。輸出輸出說明類型reason基于截圖分析與執(zhí)行軌跡的詳細(xì)判斷依據(jù)Stringsub_scores各子評分點列表每項含名稱與評估結(jié)果List of Dictionariescomplete整體完成狀態(tài)yes/no/unsureString示例輸出文檔原例{ reason: The agent successfully completed the task of sending hello to Zac on Microsoft Teams. The initial screenshot shows the Microsoft Teams application with the chat window of Chaoyun Zhang open. The agent then focused on the chat window, input the message hello, and clicked the Send button. The final screenshot confirms that the message hello was sent to Zac., sub_scores: [ { name: correct application focus, evaluation: yes }, { name: correct message input, evaluation: yes }, { name: message sent successfully, evaluation: yes } ], complete: yes }這一輸出格式由 ufo/prompts/evaluation/evaluate.yaml 中的系統(tǒng)提示詞強(qiáng)制約束提示詞還要求基于原始請求與應(yīng)用上下文給出子評分點而非基于執(zhí)行軌跡本身并要求think step by step、提交前重新審視。評估日志保存在logs/{task_name}/evaluation.log。從源碼實現(xiàn)看EvaluationAgent.evaluate()通過get_response(message..., namescopeEVALUATION_AGENT, use_backup_engineTrue)調(diào)用 LLM并用json_parser解析返回見 evaluation_agent.py。若需要單獨驗證 Agent 行為evaluation_agent.py底部自帶__main__測試入口可直接對logs/test_paint5目錄執(zhí)行評估evaluation_agent.py。Windows Agent ArenaWAA部署實戰(zhàn)WAA 是用于評估 AI Agent 在 Windows 操作系統(tǒng)上執(zhí)行真實世界任務(wù)能力的基準(zhǔn)套件包含 154 個任務(wù)、覆蓋 Microsoft Office、Edge、文件資源管理器、VS Code 等 15 個應(yīng)用。UFO 集成的是 WAA 的定制分支將 UFO 作為可插拔的多模態(tài)桌面 Agent 接入評測平臺。官方強(qiáng)烈建議在開始前先熟悉原始 WAA 部署指南本文僅給出 UFO 集成視角的關(guān)鍵步驟。1. 克隆定制倉庫并準(zhǔn)備配置git clone WindowsAgentArena 定制分支倉庫提示W(wǎng)AA 基準(zhǔn)使用主分支若需運(yùn)行 OSWorld 用例需切換到專用開發(fā)分支見下文 OSWorld 章節(jié)。在倉庫根目錄創(chuàng)建config.json填入占位 KeyUFO 會在運(yùn)行時覆蓋{ OPENAI_API_KEY: placeholder }2. 構(gòu)建 Docker 鏡像進(jìn)入scripts目錄并構(gòu)建鏡像cd scripts chmod x build-container-image.sh prepare-agents.sh # (如需要) ./build-container-image.sh --build-base-image true該命令基于src/下最新代碼生成windowsarena/winarena:latest鏡像。3. 集成 UFO通過ufo/config/config.json配置 UFO將整個ufo目錄復(fù)制進(jìn) WAA 容器客戶端目錄cp -r src/win-arena-container/vm/setup/mm_agents/UFO/ufo src/win-arena-container/client/??Python 3.9 兼容性修復(fù)在ufo/llm/openai.py中交換staticmethod與functools.lru_cache()的順序以規(guī)避已知的 Python 3.9 缺陷。4. 準(zhǔn)備 Windows 11 虛擬機(jī)4.1 下載 ISO前往微軟評估中心接受條款并下載Windows 11 Enterprise Evaluation英文90 天試用版約 6GB將文件重命名為setup.iso放入WindowsAgentArena/src/win-arena-container/vm/image4.2 生成黃金鏡像快照制備完全配置的 Windows 虛擬機(jī)快照完整供應(yīng)約 30GB 鏡像cd ./scripts ./run-local.sh --mode dev --prepare-image true??制備期間不要與 VM 交互完成后它會自動關(guān)機(jī)。黃金鏡像保存在WindowsAgentArena/src/win-arena-container/vm/storage5. 首次啟動配置啟動環(huán)境./run-local.sh --mode dev --json-name evaluation_examples_windows/test_custom.json --agent UFO --agent-settings {llm_type: azure, llm_endpoint: https://cloudgpt-openai.azure-api.net/openai/deployments/gpt-4o-20240513/chat/completions?api-version2024-04-01-preview, llm_auth: {type: api-key, token: }}VM 啟動后不要輸入設(shè)備代碼這樣 WAA 服務(wù)器可無限期保持存活訪問http://localhost:8006完成以下初始化關(guān)閉Windows 防火墻打開Google Chrome并完成初始設(shè)置打開VLC并完成初始設(shè)置配置完成后停止客戶端從storage目錄備份黃金鏡像。6. 運(yùn)行實驗每次實驗前將 VM 鏡像替換為已制備的黃金快照清除此前的 UFO 日志。然后運(yùn)行./run-local.sh --mode dev --json-name evaluation_examples_windows/test_full.json --agent UFO --agent-settings {llm_type: azure, llm_endpoint: https://cloudgpt-openai.azure-api.net/openai/deployments/gpt-4o-20240513/chat/completions?api-version2024-04-01-preview, llm_auth: {type: api-key, token: }}測試文件說明關(guān)鍵test_full.json包含所有可獲取 UIA 的測試用例test_all.json包含全部測試用例即使與 UIA 不兼容若未使用 OmniParser請使用test_full.json。OSWorldWindows部署實戰(zhàn)OSWorld 是面向真實場景的 AI Agent 評測基準(zhǔn)。UFO 從原始 OSWorld 基準(zhǔn)中篩選出 49 個與 Windows 平臺兼容的用例命名為OSWorld-W任務(wù)覆蓋 Office 365 與瀏覽器等常見功能與交互。OSWorld-W 的部署流程與 WAA 基本一致同樣推薦在 WSL 中操作主要差異如下分支不同克隆定制倉庫后切換到專用開發(fā)分支git checkout osworld首次啟動配置多一步在完成 Windows 防火墻關(guān)閉、Chrome 與 VLC 初始化之外還需使用 Microsoft 賬戶激活 Office 365Word、Excel、PowerPoint 等可臨時注冊賬戶否則 Office 相關(guān)任務(wù)無法正常運(yùn)行。其余步驟config.json占位 Key、Docker 鏡像構(gòu)建、UFO 目錄復(fù)制、Python 3.9 兼容性修復(fù)、Windows 11 ISO 下載與黃金鏡像制備、run-local.sh首次運(yùn)行與實驗命令與 WAA 章節(jié)完全一致可直接復(fù)用上文的命令與參數(shù)。復(fù)現(xiàn)注意事項驗證腳本已修訂官方文檔明確說明修訂了部分用例的驗證腳本以保證結(jié)果正確性見 Benchmark Overview復(fù)現(xiàn)時應(yīng)同步使用修訂后的驗證邏輯黃金鏡像隔離每次實驗前必須恢復(fù)黃金快照避免上一次任務(wù)的殘留狀態(tài)污染評測結(jié)果實驗后從storage備份鏡像LLM 配置--agent-settings中需按實際環(huán)境替換llm_endpoint與llm_auth示例為 Azure OpenAI 部署的 gpt-4oconfig.json中的OPENAI_API_KEY僅為占位會被 UFO 配置覆蓋日志一致性運(yùn)行前清除舊 UFO 日志評測結(jié)果logs/{task_name}/evaluation.log是 EvaluationAgent 判斷任務(wù)成敗的直接依據(jù)Python 版本約束集成到 WAA 容器時需應(yīng)用openai.py中staticmethod與functools.lru_cache()順序調(diào)整否則在 Python 3.9 環(huán)境下可能觸發(fā)已知 bug。延伸閱讀EvaluationAgent 評估機(jī)制評測結(jié)果的產(chǎn)生方式、配置與輸出格式UFO 系統(tǒng)配置指南EVA_SESSION、EVA_ROUND、EVA_ALL_SCREENSHOTS等評估相關(guān)配置詳解評估提示詞模板ufo/prompts/evaluation/evaluate.yaml評估實現(xiàn)源碼ufo/agents/agent/evaluation_agent.py、ufo/prompter/eva_prompter.py配置項映射與校驗config/config_schemas.py、config/ufo/system.yaml【免費(fèi)下載鏈接】UFOUFO3: Weaving the Digital Agent Galaxy項目地址: https://gitcode.com/GitHub_Trending/uf/UFO創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考