数据与分析 ✓ Microsoft · 官方 windows-11desktop-benchmarkingmultimodal-evaluationazure-machine-learningdockeromniparserqemu

Windows Agent Arena

在可复现的 Windows 11 环境中,大规模评测多模态桌面智能体。

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Windows Agent Arena(WAA)是用于测试和基准评测多模态桌面智能体的 Windows 平台。它以 Docker 中运行的 Windows 11 VM 及其黄金快照为基础,VM 内的 Python 服务接收并执行智能体命令。仓库提供 Navi 基线智能体,可结合 Omniparser、辅助功能树、WebParse、GroundingDINO 与 TesseractOCR 识别屏幕元素。评测可在 WSL 或 Linux 本地执行,也可通过 Azure Machine Learning 并行调度多个计算实例。运行结束后,本地可用 `show_results.py` 展示结果,Azure 输出可下载后用 `show_azure.py` 汇总为 Markdown 表格。

先通过 scripts/build-container-image.sh 构建 windowsarena/winarena:latest,再使用 scripts/run-local.sh --prepare-image true 自动准备包含所需程序和 Windows 端 Python 服务的 Windows 11 黄金镜像。执行 ./run-local.sh 时,Navi 在基准任务上运行;--som-origin 可选择 mixed-omniomniossa11ymixed-oss--a11y-backend 可选 uiawin32。云端的 scripts/run_azure.py 读取 experiments.json,为未完成实验创建 Azure Compute Instance、每台启动一个 ML Training Job,并在完成后处置 VM。自定义智能体可放入 src/win-arena-container/client/mm_agents,其 agent.py 必须实现 predict()reset()

  1. 桌面智能体研究人员需要在一组 Windows 任务上复现实验,并比较不同屏幕理解配置时。
  2. 拥有 Docker、WSL 或 Linux 环境的开发者想先在本机运行 Navi 基线评测时。
  3. Azure ML 团队需要用多个工作节点缩短全量基准评测时间时。
  4. 正在开发自定义桌面智能体,并希望通过实现 `predict()` 与 `reset()` 接入既有评测环境时。
  5. 需要比较 Omniparser、辅助功能树和 OSS 检测组合在 Windows GUI 任务中表现的研究团队时。

这个 Agent 有哪些优点和局限?

优点
  • 提供 Windows 11 黄金镜像、Docker 容器和 VM 内命令服务,使评测环境可重复准备。
  • 支持 Azure ML 多工作节点并行运行,文档说明可将数百个任务的结果时间从数天缩短到分钟级。
  • Navi 提供多种屏幕元素识别组合,包括 Omniparser 与 UIA 辅助功能树的混合模式。
  • 支持 BYOA:自定义智能体只需在指定目录提供带 `predict()` 和 `reset()` 的 `agent.py`。
局限
  • 首次本地准备要求下载约 6GB 的 Windows 11 ISO,并生成约 30GB 的黄金镜像;自动准备约需 20 分钟。
  • 运行依赖 Docker、Python 3.9、OpenAI 或 Azure OpenAI 凭据,并且本地运行限定在 WSL 或 Linux 路径。
  • 云端并行部署依赖 Azure 订阅、Azure ML 工作区、存储账户和支持嵌套虚拟化的计算资源。
  • README 明确指出禁用 KVM 加速会有性能问题,因此不建议这样进行本地基准运行。

如何安装或部署这个 Agent?

前提:Docker daemon 正在运行、Python 3.9,以及 OpenAI 或 Azure OpenAI API 密钥。克隆并安装依赖:git clone https://github.com/microsoft/WindowsAgentArena.gitcd WindowsAgentArenapip install -r requirements.txt。在仓库根目录创建 config.json,填入 OPENAI_API_KEY,或填入 AZURE_API_KEYAZURE_ENDPOINT。执行 docker pull windowsarena/winarena-base:latest,然后进入 scripts 并运行 ./build-container-image.sh。下载 Windows 11 Enterprise Evaluation(90 天、英语/美国)ISO,重命名为 setup.iso,放至 src/win-arena-container/vm/image;最后运行 ./run-local.sh --prepare-image true 准备黄金镜像。

如何使用这个 Agent?

完成黄金镜像准备后,进入 scripts 并运行 ./run-local.sh,然后可在 http://localhost:8006 查看运行中的 Windows VM。若要使用文档标示为最佳结果的配置,运行 ./run-local.sh --gpu-enabled true --som-origin mixed-omni --a11y-backend uia。完成后,进入 src/win-arena-container/client,运行 python show_results.py --result_dir <path_to_results_folder> 查看本地结果。要在 Azure 上并行执行,请在 config.json 增加 AZURE_SUBSCRIPTION_IDAZURE_ML_RESOURCE_GROUPAZURE_ML_WORKSPACE_NAME,配置 experiments.json 后运行 python run_azure.py --experiments_json "experiments.json"

这个 Agent 与同类方案有什么区别?

WAA 的任务框架来源于 OSWorld,并使用 Dockur 的 Docker 基础设施;其仓库定位是在此基础上提供面向 Windows 的可扩展桌面智能体评测与 Azure ML 并行执行路径。

常见问题

本地首次运行需要准备多少资源?
需要 Windows 11 Enterprise Evaluation ISO(约 6GB),并会生成约 30GB 的 WAA 黄金镜像。默认本地 QEMU VM 使用 8GB RAM 和 8 个 CPU 核,可用 `--ram-size` 和 `--cpu-cores` 调整。
是否必须使用 Azure?
不必须。仓库提供 WSL 或 Linux 上的本地部署;Azure ML 用于通过多个工作节点并行缩短全量评测时间。
需要哪些模型凭据?
配置文件要求 OpenAI API 密钥,或 Azure OpenAI 的 API 密钥和终结点。示例实验使用的模型名包括 `gpt-4-1106-vision-preview`。
可以评测自己的智能体吗?
可以。可在 `src/win-arena-container/client/mm_agents` 新建智能体目录,并确保 `agent.py` 实现 `predict()` 与 `reset()`。

相关 Agents