运行

运行单个 Task

指定 --task,读 Result 和 logs。

命令

ageval run <dataset> --task <task_id>

例子:

ageval run examples/datasets/minimal-demo --task terminal-jsonl-agg

# Always-k:同一 task 固定 k 次独立运行(CLI only;默认 k=1)
ageval run examples/datasets/minimal-demo --task terminal-jsonl-agg -k 5

只检查配置、不跑 agent:

ageval lock examples/datasets/minimal-demo --task terminal-jsonl-agg

--task 必须等于成员目录名和 task.yaml 里的 task_id。
TTY 下 stdout 是短 recap(单题含 logs 路径);管道或 --json 仍是完整文档。k>1 走整份 dataset 的 job,写 .ageval/suite-runs/。

断点恢复

ageval run <dataset> --task <task_id> --resume <attempt_id>

父进程在写出 result.json 之前停掉时,用这条命令继续同一次 Attempt。ageval 保留原来的 Attempt id。已经完成的步骤留在 .ageval/runs/<attempt_id>/activity.jsonl。仍与最后完成步骤对齐的环境会被原地接回。环境已经丢失时,会重新启动,并从最近的检查点恢复 /attempt/workspace 和 /attempt/home。已经完成的调用不会再执行。已经消耗的墙钟时间和调用次数仍然计入限额。

result.json 已经存在、锁定配置摘要对不上、或环境还在跑这次 Attempt 时,命令以 exit 2 结束,不写 result.json。

从保留的检查点 fork

ageval run <dataset> --task <task_id> --keep-recovery-state
ageval checkpoints <dataset> --run <attempt_id>
ageval run <dataset> --task <task_id> --fork <attempt_id> --checkpoint <seq> --model <model_id>

--keep-recovery-state 在源 Attempt 封存后仍保留 activity.jsonl 和 checkpoints/。ageval checkpoints 列出切点。--fork 从一次已完成的 run 阶段切点新开 Attempt,使用新的环境、源 harness,以及你传入的模型。父 Attempt 保持封存。默认 pass@k 不计入这次子 Attempt。

重放已记录的终端动作

ageval run <dataset> --task <task_id> --keep-recovery-state
ageval replay <dataset> --run <attempt_id>
ageval replay <dataset> --run <attempt_id> --evaluate

ageval replay 新开一次 Attempt,并按任务初始配置启动一个新环境。它按顺序重新执行保留下来的终端动作,不调用求解模型。报告给出源 Attempt、回放状态、第一处分歧和新的证据路径。--evaluate 用 evaluator.py 给新产物打分。不带这个开关时,回放完成不是 PASS 或 FAIL。默认 pass@k 不计入这次子 Attempt。源 Attempt 保持不变。

整份 dataset 跑一遍

不加 --task 就会整份跑,所有成员进同一个 job。ageval status <suite_run_id> --dataset <dataset> 看 progress,ageval cancel <suite_run_id> --dataset <dataset> 叫停。

跑完你会看到什么

  • 终端里的 Result 摘要(状态、分数相关字段、错误信息)
  • logs 路径:Dataset 根下 .ageval/runs/<run_id>/(k=1)
  • k>1 时:summary.json 里的 pass@k / pass^k 等 job 指标

PASS / FAIL 只来自 evaluator.py。低分是 FAIL。run 用尽 wall_time_seconds 或 agent_invocations 时,evaluator 照常打分,result.json 的 limit 记下对应的配额键名。environment 或 evaluate 时钟到期记 ERROR。evaluator 的 status 只许 PASS 或 FAIL,其它返回值也记 ERROR。

常见失败

现象先查
lock 失败配置 / task_id / 目录约定
agent 起不来ageval executors -v、凭据
评测 FAILartifacts 是否写出、evaluator 输入

本页目录