runtime 和 execution;provider 默认值放在 environments.<provider>;benchmark 过滤和数据参数放在 benchmarks.<id>;harness 控制项放在 harnesses.<id>。
这种拆分是有意设计的。它允许你切换 sandbox provider 而不修改 benchmark 代码,调优 harness 而不改变 dataset selection,并把 model credentials 保持为 run-local 输入。
配置来源
| 来源 | 常见用途 |
|---|---|
config/defaults.yaml | 仓库级 runtime、execution、provider、benchmark、harness 和 analysis 默认值。 |
自定义 --config 文件 | 私有凭据、站点级 provider endpoint 或团队默认配置。 |
| CLI flags / Python kwargs | 单次 run 覆盖项,例如 --env、--task-concurrency、model endpoint、--benchmark-params。 |
| Recipes | sandbox 启动前,根据 benchmark/provider 组合改写 image、workspace、snapshot 和 resource。 |
常用控制项
| 需求 | 字段或参数 |
|---|---|
| 修改结果目录 | runtime.results_dir 或 --results-dir |
| 修改数据/cache 目录 | runtime.data_dir 或 --data-dir |
| 限制单次 run 的任务并发 | execution.task_concurrency 或 --task-concurrency |
| 限制进程级 provider session 数 | runtime.provider_limits.<provider> |
| 只跑部分任务 | --benchmark-params '{"sample_ids":["<task-id>"]}' |
| 开启或跳过后置 analysis | execution.enable_analysis 或 CLI analysis flags |
| 控制 recipe 匹配 | execution.enabled_recipes |
| 加载受信任的外部 recipe | runtime.recipe_dirs 或可重复的 --recipe-dir |
作用域参数
Provider 参数放在environments.<provider>:
benchmarks.<benchmark_id>:
harnesses.<harness_id>:
私有配置文件
当某些值对你的机器或团队长期稳定,但不适合提交到仓库时,使用私有 config 文件。MODAL_TOKEN_ID 和 MODAL_TOKEN_SECRET;Daytona 可以使用 DAYTONA_API_KEY;模型访问可以使用 MODEL_BASE_URL 和 MODEL_API_KEY。
完整参考
当前config/defaults.yaml 的完整字段索引见 配置参考。