AgentLab 网页智能体实验室
面向 BrowserGym 基准的网页智能体开发、评测与复现实验框架。
- Star 数
- ★ 664
- 最近更新
- 1 个月前
- License
- NOASSERTION
- 主语言
- Python
- FA 评分
- 63/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 网页智能体研究人员要在 MiniWoB 上比较多个 AgentArgs 配置和随机种子时,可用 Study 批量运行并汇总结果。
- 不适合
- 需要开箱即用消费级产品的普通用户
- 不愿自行搭建Docker、自托管服务或基准环境的团队
- 源码审查
- 63/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
AgentLab 是用于开发、运行和评估网页智能体的研究框架,围绕 BrowserGym 支持的多种基准组织实验。它以 Study 和 make_study 为核心接口,可在 MiniWoB、WebArena、WorkArena、VisualWebArena、AssistantBench、OSWorld 等基准上执行实验。框架可通过 Ray 并行调度大量任务,并提供 OpenAI、Azure OpenAI、OpenRouter 及自托管 TGI 的统一 LLM API 路径。实验结果可用 ExpResult、load_result_df 和 AgentXray 查看,涵盖任务轨迹、截图、动作和汇总数据。该项目明确定位为加速网页智能体研究的框架,而非面向普通用户的消费级产品。
开发者先按对应基准的要求准备环境,再用 make_study(benchmark=..., agent_args=..., comment=...) 创建 Study,并通过 study.run(n_jobs=...) 执行任务。每个“一个智能体在一个任务上运行”的组合对应一个 job;Ray 后端可在超时后终止卡住的 job,并支持大规模并行。运行后可用 Study.load() 加载既有实验、find_incomplete(include_errors=True) 找出未完成或报错任务,并再次运行。分析时,inspect_results.load_result_df() 将实验摘要汇总为 dataframe;bgym.ExpResult 可读取单次实验的 screenshots 与 steps_info 中的 action。agentlab-xray 会以 Gradio 界面加载 AGENTLAB_EXP_ROOT 下的实验,按实验、智能体、任务和 seed 查看轨迹及步骤。
- 网页智能体研究人员要在 MiniWoB 上比较多个 AgentArgs 配置和随机种子时,可用 Study 批量运行并汇总结果。
- 评测团队要在 WebArena 或 VisualWebArena 上执行实验时,可利用 Ray 后端处理任务依赖并为超时任务设置自动终止。
- 开发者正在实现自定义 BrowserGym 智能体时,可参考 MostBasicAgent,并实现 AgentArgs API 与扩展的 bgym.AbstractAgentArgs。
- 需要排查某个网页任务失败原因的研究者,可在 AgentXray 中选择具体任务和 seed,查看截图、动作与 profiling 步骤。
- 希望复现实验结果的团队,可记录 Study 中的基准版本、包版本与 commit hash,并使用 ReproducibilityAgent 重跑相同任务种子上的动作。
如何安装或部署这个 Agent?
需要 Python 3.11 或 3.12。
pip install agentlab
playwright install随后按所选基准的 setup 指引准备其运行环境。使用 OpenAI 模型时设置凭据;也可按需配置 OpenRouter 或 Azure OpenAI:
export AGENTLAB_EXP_ROOT=<实验结果目录>
export OPENAI_API_KEY=<你的 OpenAI API 密钥>如何使用这个 Agent?
配置好默认 OpenAI 凭据后,可先启动网页助手:
agentlab-assistant --start_url https://www.google.com运行第一个实验:
from agentlab.agents.generic_agent import AGENT_4o_MINI
from agentlab.experiments.study import make_study
study = make_study(
benchmark="miniwob",
agent_args=[AGENT_4o_MINI],
comment="My first study",
)
study.run(n_jobs=5)查看已运行或进行中的结果:
agentlab-xray这个 Agent 有哪些优点和局限?
- 将 BrowserGym 支持的多种网页基准放入统一的 Study 工作流,避免为每个基准单独组织实验运行与结果结构。
- Ray 后端针对大规模并行实验提供 job 超时终止机制,适合包含大量任务、种子或消融组合的研究。
- 统一覆盖 OpenAI、Azure OpenAI、OpenRouter 和自托管 TGI 的 LLM API 路径。
- 结果分析既有 dataframe 汇总和 ExpResult 的细粒度访问,也提供 AgentXray 的交互式轨迹查看。
- Study 可保存基准版本、包版本和 commit hash,并提供 ReproducibilityAgent 辅助检查重跑差异。
- 项目明确不是消费级产品,使用者需要自行准备基准环境、模型凭据和实验运行条件。
- 部分基准要求自托管服务、Docker、静态文件或 live web;不同部署方式带来额外环境维护工作。
- WebArena 与 VisualWebArena 的任务状态可能相互影响;实例会在评测前自动重置,且当前不支持跨多个实例评测。
- API 模型更新、动态网站、地区差异和随机性都会影响复现;temperature 设为 0 也只能减少大部分随机性。
- AgentXray 依赖 Gradio,文档指出该界面可能出现异常显示,建议必要时刷新并重新选择实验。
这个 Agent 与同类方案有什么区别?
BrowserGym 是 AgentLab 所依赖的网页基准生态,而非独立替代品:BrowserGym 提供被支持的基准,AgentLab 则负责智能体配置、实验运行、并行执行、结果分析与复现记录。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AgentLab 网页智能体实验室 当前 | 63 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 664 | 1 个月前 | Python | OpenAI API |
| BrowserGym 网页智能体实验场 | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.4k | 11 天前 | Python | OpenAI API |
| Open Operator Evals | 44 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 47 | 1 年前 | Python | — |
| Ouroboros 自演进代理 | 77 · 表现良好 | 桌面应用免费 + 模型费 | ★ 1.6k | 今天 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 明示这是研究框架而非消费产品,并提醒谨慎使用;安装和运行示例要求配置 LLM API 密钥,UI Assistant 也提示由用户承担成本与风险。变量说明披露 AgentXRay 可打开公共隧道、Ray dashboard 可绑定到公开地址,但没有给出权限最小化、数据保留、密钥处理或执行前确认的完整机制,因此这些项仅部分得分。研究结果可重新运行,错误任务可重启,但没有说明副作用恢复方案。LICENSE、README 引用和 pyproject 作者字段提供了一定来源线索;发布者身份仍未验证,不能据此加分。
README 对 Python 版本、安装、基准准备、任务超时、并行限制和复现影响因素有具体说明;测试样例覆盖通用 Agent 的结果记录、解析重试和 GAIA 环境构造,并且 CI 配置了格式及文档字符串检查。依赖范围和可选依赖有列出,但依赖清单较广且部分仅有下限,未见锁定或安全审查证据,所以依赖可用性只给部分分。文档解释了挂起任务和 Agent 失败的若干处理方式,但没有充分证明所有故障路径都能给出清楚诊断。
README 明确面向 Web Agent 研究与评测,列出多个基准、实验规模、分析及扩展 Agent 的入口,并描述自托管、演示实例和实时网页等场景。能力边界有具体提示,例如不支持跨多个实例评测、部分基准重置耗时、复现 Agent 仍处于 beta;但权限和运行边界说明不完整。命令和 API 示例针对典型任务较明确,环境说明覆盖 Python、Playwright、环境变量和并行资源,但对部署差异及安全配置的指导有限。
README 通过设置、实验、结果分析、排行榜、Agent 实现和复现等章节组织信息,提供安装步骤、代码示例、基准表和已知限制。LICENSE 与 pyproject 均指向 Apache-2.0,许可信息充分。项目使用 VCS 动态版本并设置回退版本,但此材料未见变更日志或发布政策;作者列于包元数据中,却没有清晰维护责任、支持渠道或更新承诺,因此维护与版本演进信息得分偏低。
框架提供多基准实验编排、并行运行、结果汇总、轨迹可视化、Agent 扩展和复现记录等直接可用能力,示例足以帮助研究用户开始操作。相对于手工逐个管理基准与实验,这些能力有明确的增值。成本方面,文档说明需要准备基准环境、可产生大量任务,并提示 LLM 自费、实例重置耗时和资源需求;因此总体成本效益尚可,但不适合将其理解为低成本即用型产品。
README 中的功能和操作主张大多能在所给 pyproject、main.py、测试样例及 CI 文件中找到相应线索,测试片段能佐证部分解析重试和结果记录行为。README 的多数基准与功能主张没有在本材料中逐项得到独立佐证,且 CI 配置本身不证明测试已通过。文档区分了 beta 功能、已观察到的问题和影响复现的因素,但有些状态描述带有主观或时间敏感性;本评估仅据静态材料,不把它们当作运行验证。
- 运行前需准备基准环境并配置相应模型服务密钥;LLM 调用可能产生费用,实验还可能影响实时网页或基准实例状态。
- README 说明 AgentXRay 可打开公共隧道,Ray dashboard 可配置为公开访问。部署前应检查网络暴露与所处理数据;材料未说明完整的密钥保护或副作用恢复机制。
- 项目明确为研究框架,部分功能处于 beta,且复现可能受依赖版本、模型更新和实时网站变化影响。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * WebArena-Verified by @NicolasAG in https://github.com/ServiceNow/AgentLab/pull/319 * LiteLLMChatModel for GenericAgent by @patricebechard in https://github.com/ServiceNow/AgentLab/pull/325 * Add traces section to README by @amanjaiswal73892 in https://github.com/ServiceNow/AgentLab/pull/326 New Contributors * @NicolasAG made their first contribution in https://github.com/ServiceNow/AgentLab/pull/319 Full Changelog: https://github.com/ServiceNow/AgentLab/compare/v0.4.1...v0.4.2在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * moved this post_hoc_get_action to private codebase by @optimass in https://github.com/ServiceNow/AgentLab/pull/218 * Update repro o1 o3 mini by @jardinetsouffleton in https://github.com/ServiceNow/AgentLab/pull/216 * Add VLLMChatModel support to chat API by @jardinetsouffleton in https://github.com/ServiceNow/AgentLab/pull/220 * Add missing agent imports by @jardinetsouffleton in https://github.com/ServiceNow/AgentLab/pull/223 * adding log_prob option for chat models by @TLSDC in https://github.com/ServiceNow/AgentLab/pull/219 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * chore: update __init__.py by @eltociear in https://github.com/ServiceNow/AgentLab/pull/181 * parallel study evaluation by @recursix in https://github.com/ServiceNow/AgentLab/pull/180 * Refactor HuggingFace model initialization to include base model name … by @jardinetsouffleton in https://github.com/ServiceNow/AgentLab/pull/190 * limiting to python 3.11 and above by @ThibaultLSDC in https://github.com/ServiceNow/AgentLab/pull/194 * Implement parallel processing for studies using ProcessPoolExecutor a… by @recursix in https://github.com/ServiceNow/AgentLab/pull/195 …在 GitHub 查看 ↗
常见问题
运行 AgentLab 是否会产生模型费用?
可以不使用 OpenAI 吗?
它能保证结果完全可复现吗?
任务卡住时怎么办?
仓库采用什么许可证?
谢谢反馈,我们会据此改进页面。