在官方 case container 中运行 Claude CLI、Codex CLI 和 PenguinAgent CLI,并评测 SWE-bench Lite 与 SWE-bench Pro Public。
uv sync --locked
uv run python scripts/check_env.py
uv run python scripts/build_agent_runtime.py -o .cache/agent-runtimeAPI 凭据放在 .env,可用键名见 .env.example。.env、runtime 缓存和评测结果均不会提交到 Git。
Lite runner 位于 scripts/swebench_lite/:
uv run python scripts/swebench_lite/run_codex_predictions.py \
--subset lite --split test --slice 0:1 \
-o result/codex-lite-testPro runner 位于 scripts/swebench_pro/。首次运行先准备 public 资源:
uv run python scripts/swebench_pro/prepare_resources.py
uv run python scripts/swebench_pro/run_codex_predictions.py \
--slice 0:1 -o result/codex-pro-test
uv run python scripts/swebench_pro/run_evaluation.py \
--predictions-path result/codex-pro-test/preds.json \
-o result/codex-pro-test/evalrun_campaign.py 统一负责多个 agent 的多轮 Pro prediction 和 eval。三个 agent 会并行运行,每个 agent 内部使用独立的 --max_workers:
uv run python scripts/swebench_pro/run_campaign.py \
--slice 0:150 \
--runs 3 \
--max_workers 3 \
--timeout 1800传入已有的 --campaign-root 可续跑;已完成的 prediction 和 eval 会被复用。自动重试默认关闭,可通过 --retry-attempts 显式开启。
轻量单元测试覆盖 Lite prediction 转换与 agent 输出解析,以及 Pro 判分与 campaign 续跑逻辑;测试不会启动 Docker 或调用模型 API:
uv run python -m unittest discover -s tests -v
uv run ruff check scripts testsscripts/common/:共享 container runner 和 Docker 兼容层。scripts/swebench_lite/:Lite prediction runner 与格式转换。scripts/swebench_pro/:Pro 资源准备、prediction、eval 和 campaign runner。scripts/build_agent_runtime.py:构建三个 agent 共用的只读 runtime。assets/:agent prompt 模板。.cache/:可重建资源和 runtime,不入库。result/:prediction、trace、patch 和 eval 产物,不入库。
完整参数和操作约定见 AGENTS.md。