资讯动态

UFO 基准评测实战指南:Windows Agent Arena 与 OSWorld 部署及评估体系解析

发布时间:2026/9/16 12:45:23 来源:尧图企业网站定制
UFO 基准评测实战指南Windows Agent Arena 与 OSWorld 部署及评估体系解析【免费下载链接】UFOUFO³: Weaving the Digital Agent Galaxy项目地址: https://gitcode.com/GitHub_Trending/uf/UFO导读本文聚焦 UFO² 的评测体系如何基于 Windows Agent ArenaWAA与 OSWorldWindows 版两大公开基准任务集对 UFO 进行端到端的真实任务评测并深入讲解评测结果背后的 LLM 评估机制EvaluationAgent。读完本文你将掌握从环境搭建、Docker 镜像构建、Windows 11 虚拟机黄金镜像制备到运行基准实验、理解评估日志的完整流程。基准评测总览UFO 的实测任务集根据 Benchmark Overview 文档UFO² 在两个公开可用的实时任务套件上进行了严格评测基准规模Windows Agent Arena (WAA)154 个真实 Windows 任务覆盖 15 个应用Office、Edge、文件资源管理器、VS Code 等OSWorld (Windows)49 个跨应用任务混合 Office 365、浏览器与系统工具这两个基准的集成实现位于独立仓库中具体的克隆、构建与运行方式分别记录在上述两篇部署文档中。此外官方文档特别提示已修订部分用例的验证脚本以确保评测结果的正确性——这意味着在复现评测时应以修订后的验证脚本为准避免使用旧版脚本得到偏差结果。评测结果如何产生UFO 的 EvaluationAgent 体系在深入基准部署之前先理解 UFO 自身的评测结果产生机制。UFO 通过EvaluationAgent源码判断一次会话Session或单个回合Round是否成功完成它评估的是HostAgent与AppAgent完成用户请求的绩效。完整说明见 EvaluationAgent 文档。评测配置项评测开关在 config/ufo/system.yaml 中配置文档中的 Evaluation 段配置项说明类型默认值EVA_SESSION是否评估整个会话BooleanTrueEVA_ROUND是否评估每个回合BooleanFalseEVA_ALL_SCREENSHOTS是否在评估中包含所有截图若为False仅使用首尾两张截图BooleanTrue配置项到内部字段的映射定义在 config/config_schemas.pyEVA_SESSION→eva_session、EVA_ROUND→eva_round、EVA_ALL_SCREENSHOTS→eva_all_screenshots。系统提示词模板路径由evaluation_prompt指向 ufo/prompts/evaluation/evaluate.yaml见 config_schemas.py。评估流程Chain-of-Thought 子目标分解EvaluationAgent完全由 LLM 驱动基于动作轨迹action trajectories与截图进行判断并使用 Chain-of-ThoughtCoT机制依据用户请求将评估分解为多个子目标对每个子目标分别打分聚合子分数得出整体完成状态。由于基于 LLM 的评估可能并非 100% 准确评测结果应作为指导性参考而非绝对结论。评估输入与输出输入由EvaluationAgentPrompter构造见 ufo/prompter/eva_prompter.py输入说明类型User Request待评估的用户请求StringAPIs Description执行期间使用的 API工具描述StringAction TrajectoriesHostAgent与AppAgent执行的动作轨迹含 subtask、step、observation、thought、plan、comment、action、applicationList of DictionariesScreenshots执行期间捕获的截图List of Images从源码看轨迹数据的加载依赖 ufo/trajectory/parser.py 的Trajectory类其方法可读取app_agent_log、final_screenshot_image、evaluation_log等每个步骤的轨迹通过get_step_trajectory抽取为Subtask/Step/Observation/Thought/Plan/Comment/Action/Application结构。截图处理有两个关键细节MAX_EVAL_IMAGES 40大部分 API 单次请求图片上限为 50需为最终截图留出余量并且会通过_is_valid_screenshot/_is_valid_screenshot_str过滤掉 1×1 占位图、全黑图及过小的 base64 载荷若全程无有效截图例如远程桌面断开prompter 会附加说明文本要求仅依据轨迹文本评估见 eva_prompter.py。输出输出说明类型reason基于截图分析与执行轨迹的详细判断依据Stringsub_scores各子评分点列表每项含名称与评估结果List of Dictionariescomplete整体完成状态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 中的系统提示词强制约束提示词还要求基于原始请求与应用上下文给出子评分点而非基于执行轨迹本身并要求think step by step、提交前重新审视。评估日志保存在logs/{task_name}/evaluation.log。从源码实现看EvaluationAgent.evaluate()通过get_response(message..., namescopeEVALUATION_AGENT, use_backup_engineTrue)调用 LLM并用json_parser解析返回见 evaluation_agent.py。若需要单独验证 Agent 行为evaluation_agent.py底部自带__main__测试入口可直接对logs/test_paint5目录执行评估evaluation_agent.py。Windows Agent ArenaWAA部署实战WAA 是用于评估 AI Agent 在 Windows 操作系统上执行真实世界任务能力的基准套件包含 154 个任务、覆盖 Microsoft Office、Edge、文件资源管理器、VS Code 等 15 个应用。UFO 集成的是 WAA 的定制分支将 UFO 作为可插拔的多模态桌面 Agent 接入评测平台。官方强烈建议在开始前先熟悉原始 WAA 部署指南本文仅给出 UFO 集成视角的关键步骤。1. 克隆定制仓库并准备配置git clone WindowsAgentArena 定制分支仓库提示WAA 基准使用主分支若需运行 OSWorld 用例需切换到专用开发分支见下文 OSWorld 章节。在仓库根目录创建config.json填入占位 KeyUFO 会在运行时覆盖{ OPENAI_API_KEY: placeholder }2. 构建 Docker 镜像进入scripts目录并构建镜像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目录复制进 WAA 容器客户端目录cp -r src/win-arena-container/vm/setup/mm_agents/UFO/ufo src/win-arena-container/client/⚠️Python 3.9 兼容性修复在ufo/llm/openai.py中交换staticmethod与functools.lru_cache()的顺序以规避已知的 Python 3.9 缺陷。4. 准备 Windows 11 虚拟机4.1 下载 ISO前往微软评估中心接受条款并下载Windows 11 Enterprise Evaluation英文90 天试用版约 6GB将文件重命名为setup.iso放入WindowsAgentArena/src/win-arena-container/vm/image4.2 生成黄金镜像快照制备完全配置的 Windows 虚拟机快照完整供应约 30GB 镜像cd ./scripts ./run-local.sh --mode dev --prepare-image true⚠️制备期间不要与 VM 交互完成后它会自动关机。黄金镜像保存在WindowsAgentArena/src/win-arena-container/vm/storage5. 首次启动配置启动环境./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 启动后不要输入设备代码这样 WAA 服务器可无限期保持存活访问http://localhost:8006完成以下初始化关闭Windows 防火墙打开Google Chrome并完成初始设置打开VLC并完成初始设置配置完成后停止客户端从storage目录备份黄金镜像。6. 运行实验每次实验前将 VM 镜像替换为已制备的黄金快照清除此前的 UFO 日志。然后运行./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: }}测试文件说明关键test_full.json包含所有可获取 UIA 的测试用例test_all.json包含全部测试用例即使与 UIA 不兼容若未使用 OmniParser请使用test_full.json。OSWorldWindows部署实战OSWorld 是面向真实场景的 AI Agent 评测基准。UFO 从原始 OSWorld 基准中筛选出 49 个与 Windows 平台兼容的用例命名为OSWorld-W任务覆盖 Office 365 与浏览器等常见功能与交互。OSWorld-W 的部署流程与 WAA 基本一致同样推荐在 WSL 中操作主要差异如下分支不同克隆定制仓库后切换到专用开发分支git checkout osworld首次启动配置多一步在完成 Windows 防火墙关闭、Chrome 与 VLC 初始化之外还需使用 Microsoft 账户激活 Office 365Word、Excel、PowerPoint 等可临时注册账户否则 Office 相关任务无法正常运行。其余步骤config.json占位 Key、Docker 镜像构建、UFO 目录复制、Python 3.9 兼容性修复、Windows 11 ISO 下载与黄金镜像制备、run-local.sh首次运行与实验命令与 WAA 章节完全一致可直接复用上文的命令与参数。复现注意事项验证脚本已修订官方文档明确说明修订了部分用例的验证脚本以保证结果正确性见 Benchmark Overview复现时应同步使用修订后的验证逻辑黄金镜像隔离每次实验前必须恢复黄金快照避免上一次任务的残留状态污染评测结果实验后从storage备份镜像LLM 配置--agent-settings中需按实际环境替换llm_endpoint与llm_auth示例为 Azure OpenAI 部署的 gpt-4oconfig.json中的OPENAI_API_KEY仅为占位会被 UFO 配置覆盖日志一致性运行前清除旧 UFO 日志评测结果logs/{task_name}/evaluation.log是 EvaluationAgent 判断任务成败的直接依据Python 版本约束集成到 WAA 容器时需应用openai.py中staticmethod与functools.lru_cache()顺序调整否则在 Python 3.9 环境下可能触发已知 bug。延伸阅读EvaluationAgent 评估机制评测结果的产生方式、配置与输出格式UFO 系统配置指南EVA_SESSION、EVA_ROUND、EVA_ALL_SCREENSHOTS等评估相关配置详解评估提示词模板ufo/prompts/evaluation/evaluate.yaml评估实现源码ufo/agents/agent/evaluation_agent.py、ufo/prompter/eva_prompter.py配置项映射与校验config/config_schemas.py、config/ufo/system.yaml【免费下载链接】UFOUFO³: Weaving the Digital Agent Galaxy项目地址: https://gitcode.com/GitHub_Trending/uf/UFO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价