Windows Agent Arena
在可复现的 Windows 11 环境中,大规模评测多模态桌面智能体。
按维度查看评分与理由
证据显示:仓库来自微软官方组织,但未提供权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的具体实现或文档。扣分原因:这些标准在静态审查中未得到支持,因此得分为0。
证据显示:README和配置文件中提供了安装和运行步骤,但未提供错误处理或失败消息的文档。扣分原因:自洽性部分支持(步骤一致),依赖可用性部分支持(列出依赖),但失败消息缺失。
证据显示:README明确面向研究人员和开发者,提供了本地和Azure部署场景,并说明了能力边界(如支持BYOA)。扣分原因:触发精度(如命令参数)部分支持,但未详细说明所有边界条件。
证据显示:README结构清晰,包含安装说明、示例、FAQ、已知限制(如KVM要求)、MIT许可证、版本更新日志(更新部分)和维护责任(贡献指南)。扣分原因:命名稳定性未明确,版本更新日志不完整。
证据显示:README提供了输出结果展示方法(show_results.py),并说明了边际价值(如并行化)和成本效益(FAQ中的成本表)。扣分原因:这些是静态描述,未实际运行验证。
证据显示:README引用了论文和项目页面,提供了可追溯的声明。扣分原因:跨来源验证有限,事实与推断的区分不明确。
- 静态审查无法验证实际运行效果,所有关于性能、成本、安全性的声明均需独立验证。
- 仓库未提供权限最小化、数据流透明等安全细节,部署时需自行评估风险。
- 依赖项(如Docker、Azure)的可用性和安全性需用户自行确认。
这个 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-omni、omni、oss、a11y 或 mixed-oss,--a11y-backend 可选 uia 或 win32。云端的 scripts/run_azure.py 读取 experiments.json,为未完成实验创建 Azure Compute Instance、每台启动一个 ML Training Job,并在完成后处置 VM。自定义智能体可放入 src/win-arena-container/client/mm_agents,其 agent.py 必须实现 predict() 和 reset()。
- 桌面智能体研究人员需要在一组 Windows 任务上复现实验,并比较不同屏幕理解配置时。
- 拥有 Docker、WSL 或 Linux 环境的开发者想先在本机运行 Navi 基线评测时。
- Azure ML 团队需要用多个工作节点缩短全量基准评测时间时。
- 正在开发自定义桌面智能体,并希望通过实现
predict()与reset()接入既有评测环境时。 - 需要比较 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.git、cd WindowsAgentArena、pip install -r requirements.txt。在仓库根目录创建 config.json,填入 OPENAI_API_KEY,或填入 AZURE_API_KEY 和 AZURE_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_ID、AZURE_ML_RESOURCE_GROUP、AZURE_ML_WORKSPACE_NAME,配置 experiments.json 后运行 python run_azure.py --experiments_json "experiments.json"。
这个 Agent 与同类方案有什么区别?
WAA 的任务框架来源于 OSWorld,并使用 Dockur 的 Docker 基础设施;其仓库定位是在此基础上提供面向 Windows 的可扩展桌面智能体评测与 Azure ML 并行执行路径。
常见问题
本地首次运行需要准备多少资源?
--ram-size 和 --cpu-cores 调整。是否必须使用 Azure?
需要哪些模型凭据?
gpt-4-1106-vision-preview。可以评测自己的智能体吗?
src/win-arena-container/client/mm_agents 新建智能体目录,并确保 agent.py 实现 predict() 与 reset()。