Skip to main content
Terminal-Bench Science 是 AgentCompass 对 Terminal-Bench Science 科研任务集的入口,通常搭配 terminus2 Harness。每个任务使用独立的 agent 容器和验证器容器。

工作原理

  1. 加载任务。 AgentCompass 浅克隆上游仓库,后续运行复用缓存;也可通过 dataset_dir 使用本地任务。它递归读取 task.toml,使用任务目录名作为任务 ID,并在解析任务前应用 sample_ids 筛选。
  2. 运行 agent。 Recipe 选择任务镜像,Environment 启动容器,Harness 在任务工作区中运行 agent。资源、网络策略、环境变量和超时限制来自任务配置,并可通过统一配置字段覆盖。
  3. 验证结果。 runtime 收集任务声明的产物并恢复到全新的验证器容器中。Benchmark 执行镜像内的 /tests/test.sh,读取奖励;奖励恰好为 1 时记录为 correct。验证脚本和隐藏数据保留在验证器镜像中。

环境

本 Benchmark 提供 terminalbench_science Recipe,按 Environment 的任务镜像能力匹配,默认自动应用。以下示例使用已验证的 Docker;其他支持任务镜像的 Environment 还需满足任务的独立验证器、资源、网络策略和产物传输要求。未指定任务镜像时,Recipe 选择以下预构建镜像: 如果通过 --recipe 限制启用的 Recipe,使用默认镜像映射时需加入 --recipe terminalbench_science。评测使用全新的 Environment,evaluation_environment_mode 必须为 fresh。Recipe 从各阶段的 Dockerfile 补充工作目录;验证器未声明的 CPU、内存分别继承 agent 的最终资源,显式验证器资源优先。网络策略按任务声明分别保留。 当前支持使用独立验证器的单容器任务。默认运行任务目录中的所有受支持任务;检测到 docker-compose.yaml 或 docker-compose.yml 时,会跳过该任务并发出警告。通过 sample_ids 显式选中的多服务任务会在规划阶段报错。汇报成绩时,应同时记录数据集版本与实际任务范围。

参数

通过 --benchmark-params '{...}' 传入 Benchmark 配置,或写入 --config 指定 YAML 的 benchmark.params;同名字段以命令行为准。 任务筛选和聚合选项见 Benchmark 共享参数。运行和评测的超时与倍率通过 --execution-params 配置,见运行控制。 显式镜像覆盖放在 --env-params 的 setup.image 和 evaluation_setup.image 中,优先级高于任务声明和镜像模板。只覆盖 agent 配置时,Recipe 仍保留验证器的独立镜像和工作目录;验证器配置通过 evaluation_setup 单独覆盖。 长任务可通过 execution.checkpoint_max_mb 调整 checkpoint 元数据上限,单位为 MiB,当前默认值为 32。例如 --execution-params '{"checkpoint_max_mb":128}'。该设置与产物文件大小上限独立,详见checkpoint 配置。

运行示例

agentcompass run 的三个位置参数依次为 Benchmark、Harness 和 Model。以下命令使用 terminal_bench_science。 运行前请确认本地 Docker 可用,并设置 MODEL_NAME、MODEL_BASE_URL 和 MODEL_API_KEY,分别指定被测 Model、API 地址和密钥。

推荐 Harness

推荐使用终端 agent terminus2。以下示例使用默认数据源和镜像映射,无需指定数据集路径。
运行 symbolic-regression 一条任务,验证容器准备、推理、产物回收和评分的完整链路。

评测结果

通用结果说明见运行目录、汇总成绩和单题文件与公共字段。

评分指标

Terminal-Bench Science 的主指标是二元 correct,记录前文验证流程的通过判定;验证器奖励恰好为 1 时记为 true,其他有限数值奖励记为 false。辅助标量指标 reward 保留原始奖励。 默认配置下,每题尝试一次,correct 的总体成绩为有效计分任务的通过率,取值为 0–1,越高越好;reward 的汇总值为有效奖励的平均值。有效的零奖励表示任务未通过;奖励缺失、格式无效或验证器准备失败会产生评测错误,不计为零分。 多次尝试、分类聚合和计分异常的处理见指标与聚合。

单题结果与评分依据

meta.benchmark 下的 eval_raw_data 保存验证器的判分依据: 每次尝试的 artifacts.science_verifier 指向运行输出中的验证日志目录,保存脚本输出、可用的奖励文件和验证日志归档。