SuperAPI AI 工具集

AgentLab

AgentLab 是一个开源框架,用于开发、测试和基准测试 Web 智能体(Web Agent),专注于可扩展性和可复现性。该框架由 ServiceNow 提供,基于 BrowserGym 构建,支持大规模并行实验和多种基准测试。AgentLab 主要用于研究目的,并非面向消费者的产品,使用时需注意风险。它提供了构建智能体的基础模块、统一的 LLM API 支持(OpenRouter、OpenAI、Azure 或自托管 TGI)、运行 WebArena 等基准测试的推荐方式、多种可复现性功能以及统一的排行榜。

访问官网

工具介绍

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。