跳转到主要内容
本指南将带你完成从 Agent 配置到评估结果的完整流程。

概览

  1. 选择 Agent
  2. 配置 Agent
  3. 选择 Benchmark
  4. 运行任务
  5. 评估结果
  6. 查看输出

1. 选择 Agent

browseruse-bench 支持多个 Agent,可按需求选择:
Agent说明文档
browser-use支持视觉的可编程浏览器 Agent详情
Agent-TARS基于 Node.js CLI 的推理型 Agent详情
Skyvern基于 Skyvern SDK 的浏览器自动化 Agent详情
Claude CodeAnthropic 官方 Claude CLI,通过 Playwright MCP 操控浏览器详情

2. 配置 Agent

所有 Agent 的运行时配置都写在根目录 config.yamlagents.<agent-name> 下,这是推荐方式。 复制示例配置并填入你的凭证:
cp config.example.yaml config.yaml
然后编辑 config.yamlagents 部分:
agents:
  browser-use:
    active_model: gpt          # 默认使用的模型配置名
    models:
      gpt:
        model_type: OPENAI
        model_id: gpt-4.1
        api_key: $OPENAI_API_KEY
        base_url: $OPENAI_BASE_URL
    browser:
      browser_id: Chrome-Local
    defaults:
      use_vision: false
      max_steps: 40
      timeout: 600
运行时可通过 --model 切换模型,无需修改配置文件:
bubench run --agent browser-use --model gpt ...
不推荐:configs/agents/<agent>/config.yamlconfigs/agents/ 下的独立配置文件不再是推荐方式,后续版本可能下掉。请改用根目录 config.yaml(见上方)。如仍需使用,可通过 --agent-config configs/agents/<agent>/config.yaml 显式指定。

3. 选择 Benchmark

根据评估需求选择 Benchmark:

LexBench-Browser

  • 评估方式:视觉评估(截图序列)
  • 评分:0-100,默认阈值 60
  • 适用场景:视觉理解、多步推理

Online-Mind2Web

  • 评估方式:WebJudge 多轮评估
  • 评分:3 分制,默认阈值 3
  • 适用场景:网页导航与任务完成

BrowseComp

  • 评估方式:文本答案正确性
  • 评分:二值(正确/错误)
  • 适用场景:事实检索与信息抽取

4. 运行任务

基本命令

bubench run \
  --agent browser-use \
  --benchmark LexBench-Browser \
  --split All

所有参数

参数说明备注
--agentAgent 名称默认取 config.yaml 中的 default.agent(兜底 Agent-TARS
--benchmarkBenchmark 名称默认取 config.yaml 中的 default.benchmark(兜底 Online-Mind2Web
--split数据划分默认 All
--data-source数据源local(默认)或 huggingface
--force-download重新下载数据huggingface
--mode任务选择模式singlefirst_nsample_nspecificby_idall
--countfirst_n/sample_n 的任务数默认 1
--task-idsspecific 模式的任务 ID空格分隔多个 ID
--idby_id 模式的单个任务 ID数值 ID 字段
--timeout单任务超时(秒)覆盖配置中的 TIMEOUT
--skip-completed跳过已完成任务适合断点续跑
--agent-config显式指定外部 Agent 配置文件路径可选;默认从根目录 config.yaml 读取运行时配置
--timestamp指定运行/恢复目录YYYYMMDD_HHmmss
--dry-run仅打印命令不执行用于检查配置

输出结构

结果会保存到:
experiments/{benchmark}/{split}/{agent}/{timestamp}/
├── tasks/
│   ├── <task_id>/
│   │   ├── result.json
│   │   └── trajectory/
│   │       ├── screenshot-1.png
│   │       └── ...
└── tasks_eval_result/
    └── *_summary.json

进度查看

日志位于 output/logs/run/
ls -t output/logs/run | head -n 1
# 然后 tail 最新文件

5. 评估结果

执行评估

bubench eval \
  --benchmark LexBench-Browser \
  --agent browser-use \
  --model-id bu-2-0 \
  --split All
脚本会自动在 --agent / --model-id 对应的输出目录下选择最新的运行结果。

评估参数

参数说明默认值
--model-id运行时使用的 model_id(作为输出子目录名)回退到 agents.<agent>.active_model 对应的 model_id
--model评估用 LLM 模型config.yaml 中的 eval.model
--score-threshold成功阈值LexBench 60,其他 3
--force-reeval强制重评估false
--timestamp指定评估目录最新(自动识别)
--data-source数据源(仅 LexBench)local
--force-download重新下载数据(仅 LexBench)false

输出文件

评估结果保存在 tasks_eval_result/
  • 详细结果*_eval_results.json
  • 统计汇总*_summary.json

查看结果

cat experiments/{benchmark}/{split}/{agent}/{timestamp}/tasks_eval_result/*_summary.json

完整示例

# 1. 在根目录 config.yaml 中配置 Agent
vim config.yaml   # 编辑 agents.browser-use 部分

# 2. 运行推理(前 10 个任务)
bubench run \
  --agent browser-use \
  --benchmark LexBench-Browser \
  --split All \
  --mode first_n \
  --count 10

# 3. 评估结果
bubench eval \
  --benchmark LexBench-Browser \
  --agent browser-use \
  --model-id bu-2-0 \
  --split All

# 4. 查看汇总
ls -lh experiments/LexBench-Browser/All/browser-use/*/tasks_eval_result/

常见问题

超时错误

问题:任务超出配置的超时时间 解决:在 config.yamlagents.<agent>.defaults.timeout 中调大超时时间,或在命令行传入 --timeout

缺少截图(LexBench-Browser)

问题:评估因缺少截图而失败 解决:确认 tasks/<task_id>/trajectory/ 下有截图,并查看运行日志定位失败原因。

模型 API 报错

问题:LLM API 调用失败 解决:检查 config.yaml 中的 API Key(推荐使用 $ENV_VAR 引用,将实际值写入 .env);评估阶段同样请确认 .env

下一步

  • 自定义 Benchmark:学习如何创建自定义基准测试(指南
  • 排行榜:提交结果到排行榜(详情
  • 高级配置:了解更多 Agent 参数(文档