Windows Agent Arena任务开发指南:创建自定义桌面自动化任务的完整流程
【免费下载链接】WindowsAgentArenaWindows Agent Arena (WAA) 🪟 is a scalable OS platform for testing and benchmarking of multi-modal AI agents.项目地址: https://gitcode.com/gh_mirrors/wi/WindowsAgentArena
Windows Agent Arena (WAA) 是一个用于测试和基准化多模态AI代理的可扩展操作系统平台,通过该平台你可以轻松创建和运行各种桌面自动化任务。本文将详细介绍如何在WAA中开发自定义桌面自动化任务,从环境搭建到任务配置的完整流程,帮助新手快速上手。
了解Windows Agent Arena架构
在开始任务开发前,首先需要了解WAA的基本架构。WAA提供了本地和Azure云两种部署模式,满足不同场景的需求。
本地开发架构
本地开发架构主要基于Docker容器和Windows虚拟机,适合快速测试和调试任务。
Windows Agent Arena本地架构图,展示了本地主机、Docker容器、Windows VM和各组件之间的关系
主要组件包括:
- 本地主机:运行Ubuntu或带WSL的Windows系统
- Docker容器:包含Windows VM和任务调度配置
- Windows VM:运行自动化任务的Windows 11环境
- Agent:执行任务的AI代理
- Evaluator:评估任务执行结果
Azure云架构
对于需要大规模测试的场景,WAA支持部署在Azure云平台上。
Windows Agent Arena Azure架构图,展示了Azure云环境中的组件布局
云架构在本地架构基础上增加了:
- Azure Machine Learning资源
- Azure存储账户
- 可扩展的Linux计算实例
准备开发环境
安装必要工具
克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/wi/WindowsAgentArena安装Docker和Docker Compose(根据你的操作系统选择相应的安装方法)
安装Python依赖:
pip install -r requirements.txt
配置开发环境
WAA提供了便捷的本地开发模式,通过共享文件夹可以轻松在主机和虚拟机之间传输文件。
WAA本地开发模式下的共享文件夹界面,方便主机与虚拟机间的文件交换
配置步骤:
运行本地准备脚本:
scripts/run-local.sh在Windows VM中设置共享文件夹,路径通常为
\\host\Data验证开发环境是否正常运行:
python src/win-arena-container/client/run.py --headless
任务文件结构解析
WAA的任务文件采用JSON格式,存放在evaluation_examples_windows/examples目录下,按应用程序类型分类。每个任务文件包含任务ID、指令、配置和评估规则等信息。
任务文件基本结构
以下是一个Chrome浏览器任务的示例(evaluation_examples_windows/examples/chrome/030eeff7-b492-4218-b312-701ec99ee0cc-wos.json):
{ "id": "030eeff7-b492-4218-b312-701ec99ee0cc-wos", "snapshot": "chrome", "instruction": "Can you enable the 'Do Not Track' feature in Chrome to enhance my online privacy?", "source": "https://support.google.com/chrome/answer/2790761?hl=en&co=GENIE.Platform%3DDesktop", "config": [ { "type": "launch", "parameters": { "command": [ "google-chrome", "--remote-debugging-port=1337", "--force-renderer-accessibility" ] } } ], "evaluator": { "func": "exact_match", "result": { "type": "enable_do_not_track" }, "expected": { "type": "rule", "rules": { "expected": "true" } } } }主要字段说明
- id:任务的唯一标识符
- snapshot:关联的应用程序快照
- instruction:AI代理需要执行的任务指令
- config:任务执行前的环境配置,如启动应用程序
- evaluator:任务结果的评估规则
创建自定义任务的步骤
1. 确定任务需求
首先明确你的自动化任务需要完成什么操作,例如:
- 在记事本中创建并保存文件
- 使用计算器进行特定计算
- 在浏览器中打开特定网页并截图
2. 创建任务JSON文件
在evaluation_examples_windows/examples目录下,根据任务类型选择或创建合适的子目录,然后创建任务JSON文件。
基本模板
{ "id": "your-task-id", "snapshot": "application-name", "instruction": "Your task instruction here", "config": [ { "type": "launch", "parameters": { "command": ["application-executable", "arguments"] } } ], "evaluator": { "func": "evaluation-function", "result": { "type": "result-type" }, "expected": { "type": "rule", "rules": { "expected": "expected-result" } } } }3. 配置任务执行环境
在config部分定义任务所需的环境配置,最常见的是启动应用程序:
"config": [ { "type": "launch", "parameters": { "command": ["notepad.exe"] } } ]你还可以添加多个配置步骤,如设置环境变量、复制文件等。
4. 定义评估规则
评估规则用于判断任务是否成功完成。WAA提供了多种评估函数,如exact_match、contains等。
例如,检查文件是否创建:
"evaluator": { "func": "file_exists", "result": { "type": "file_check", "path": "C:\\Users\\Administrator\\Documents\\test.txt" }, "expected": { "type": "boolean", "value": true } }5. 测试自定义任务
使用以下命令运行你的自定义任务:
python src/win-arena-container/client/run.py \ --test_config_base_dir evaluation_examples_windows \ --test_all_meta_path evaluation_examples_windows/test_custom.json确保创建test_custom.json文件,指定要运行的任务:
{ "notepad": ["your-task-id"] }任务开发高级技巧
使用屏幕解析功能
WAA的屏幕解析功能可以帮助AI代理更好地理解桌面环境。通过配置som_origin参数,可以启用不同的屏幕解析模式:
python src/win-arena-container/client/run.py --som_origin ossWAA屏幕解析功能示例,展示了AI如何识别和解析屏幕内容
调整任务难度
WAA支持两种难度级别:
- 普通模式:提供完整的上下文信息
- 困难模式:不提供上下文信息,仅给出任务指令
通过--diff_lvl参数切换:
python src/win-arena-container/client/run.py --diff_lvl hard任务调度与并行执行
对于多个任务,可以使用任务调度功能进行批量执行:
python src/win-arena-container/client/run.py \ --num_workers 4 \ --worker_id 0常见问题解决
任务执行超时
如果任务执行时间过长,可以调整max_steps参数:
python src/win-arena-container/client/run.py --max_steps 30应用程序启动失败
检查config中的启动命令是否正确,确保应用程序路径正确。可以在Windows VM中手动测试命令是否能正常运行。
评估结果不准确
可能是评估规则定义不当,尝试使用更精确的评估函数或调整评估参数。查看日志文件获取详细信息:
results/logs/debug-0-20231025@143022.log总结
通过本文的指南,你已经了解了如何在Windows Agent Arena中创建自定义桌面自动化任务。从环境搭建到任务配置,再到测试和调试,完整的流程帮助你快速开发出高质量的自动化任务。无论是简单的记事本操作还是复杂的多步骤浏览器任务,WAA都能提供强大的支持和灵活的扩展能力。
开始你的WAA任务开发之旅吧!如有更多疑问,可以参考项目文档或查看示例任务文件获取灵感。
【免费下载链接】WindowsAgentArenaWindows Agent Arena (WAA) 🪟 is a scalable OS platform for testing and benchmarking of multi-modal AI agents.项目地址: https://gitcode.com/gh_mirrors/wi/WindowsAgentArena
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考