AgentLab 是一个开源框架,旨在加速 Web 智能体研究领域的发展。它专注于为 Web 智能体提供开发、测试和基准测试的能力,强调可扩展性和可复现性。该框架并非面向消费者的产品,使用时需要谨慎。
主要用途
AgentLab 用于在 BrowserGym 支持的多种基准测试上开发和评估智能体。它提供了构建智能体的基础模块,并支持大规模并行实验。
主要能力
- 大规模并行实验:使用 Ray 实现轻松的大规模并行智能体实验。
- 构建模块:提供在 BrowserGym 上构建智能体的基础组件。
- 统一 LLM API:支持 OpenRouter、OpenAI、Azure 或通过 TGI 自托管的 LLM。
- 基准测试:是运行 WebArena 等基准测试的首选方式。
- 可复现性功能:包含多种可复现性特性,如 Study 记录基准版本、包版本和提交哈希,支持自动上传结果到 reproducibility_journal.csv。
- 统一排行榜:提供跨所有基准测试的统一排行榜。
使用方式
安装与设置
AgentLab 需要 Python 3.11 或 3.12。需要安装 Playwright,并根据设置列中的说明准备所需的基准测试。可以使用助手来协助工作(需自行承担成本和风险)。
启动实验
通过 main.py 启动实验,它类似于一个便捷的 CLI,只需注释或取消注释所需行即可。
分析结果
ExpResult 类提供实验信息的惰性加载器。使用 yield_all_exp_results 递归查找目录中的所有结果,load_result_df 将所有摘要信息收集到单个数据框中。可以使用 Gradio 界面可视化结果,在 AGENTLAB_EXP_ROOT 目录中加载过去或正在进行的实验。
实现新智能体
可以参考 agentlab/agents/most_basic_agent/most_basic_agent.py 中的 MostBasicAgent 获取灵感。为了与工具更好地集成,请确保在 AgentArgs API 和扩展的 bgym.AbstractAgentArgs 中实现大多数函数。
适用场景
AgentLab 适用于 Web 智能体研究,特别是在需要大规模并行实验、基准测试和可复现性评估的场景中。它支持多种基准测试,如 WebArena、WorkArena、AssistantBench 和 GAIA 等。
限制与注意事项
- 非消费者产品:AgentLab 不是面向消费者的产品,使用时需谨慎。
- 并行作业:在单台计算机上,根据可用内存,可以并行运行 10-50 个作业。对于 (Visual)WebArena,基准测试具有任务依赖性,Ray 后端会考虑这些依赖,但禁用依赖可能会降低性能 1-2%。
- 实例重置:在评估智能体之前,实例会自动重置,过程约需 5 分钟。目前不支持跨多个实例的评估。
- 可复现性因素:软件版本、基于 API 的 LLM 静默更改、实时网站、随机智能体、非确定性任务等都可能影响可复现性。
- Gradio 界面:Gradio 仍在开发中,可能会遇到意外行为,版本 5.5 目前工作正常。
环境变量
相关环境变量包括:OPENAI_API_KEY、AZURE_OPENAI_API_KEY、AZURE_OPENAI_ENDPOINT、OPENAI_API_VERSION、OPENROUTER_API_KEY、AGENTLAB_EXP_ROOT、AGENTXRAY_SHARE_GRADIO、RAY_PUBLIC_DASHBOARD、RAY_DASHBOARD_PORT。