数据路径:/storage/openpsi/users/miumiu.zwh/swe-traj-analysis/eval-records/qwen3.6-27b-verified-full/
生成时间:2026-04-24
图表脚本:report/make_figures.py(读取 /tmp/per_task.jsonl,由 analysis.report 产出)
本报告只汇报客观测量结果,不做推论。
0. 数据规模与 plan.md 图示覆盖情况
附加视角:
图7 repo 维度 resolve 率(django/sympy/sphinx-doc 等);
编辑规模特征(underedit / overedit / refinement_depth)与 resolve 的关系 — 在图5 的相关性总览中体现;
末 3 步 phase 序列成功 / 失败对比 — 在图2b 体现。
缺失且不能画的(因与 async RL 训练接入相关,训练侧未接入):
stale risk / policy_version gap;
queue_wait_s / trainer idle ratio;
训练 loss 权重、advantage、importance_weight 等 learning-level 字段。
1. 基础规模与成败分布
结果:
489 个任务,resolved 334(68.3%,95% CI [64.4%, 72.4%])。
patch_nonempty 446/489 = 91.2%(其余 8.8% 未产出任何代码改动)。
在 334 条 resolved 中,
semantic_equivalent_patch(和 gold 的行级 Jaccard < 0.1 但测试全过)占 86 / 334 = 25.7%。
2. 时间开销分解

字段含义:
wallclock_s:agent 主循环的总墙钟时间;llm_total_s:所有步 LLM 推理延迟之和;tool_total_s:所有工具调用(读文件、跑测试、search_replace 等)延迟之和;reward_eval_s:SWE-bench 判定阶段的沙箱测试执行时间(与 agent 主循环解耦)。
分位数表(秒):
异常计数:
7 / 446 个任务
reward_eval_s > wallclock_s(沙箱评测时间超过 agent 主循环)— 源数据标记为 infra 事件。
3. 阶段占比与末 3 步序列

字段含义(阶段由规则判定器产出):
localization:搜索 / 读文件 / 定位;verification:跑测试或复现脚本;patch:search_replace改代码;inspect:查看一段代码但不涉及前三者;edit_bash/env_setup/submit/truly_other/early_surrender:其他。
2a 全体平均阶段占比:
2b 末 3 步 phase 序列 top-6(resolved vs failed 计数):
其他观测:
verify_in_last5_steps = 1的比例在 resolved 组更高(相关 r = +0.102)。unique_phase_bigrams(阶段转移的种类数)在全体 P50 = 11,P95 = 17,Max = 22。localization_self_loop_ratio(连续两步都是 localization 的转移占所有转移的比例)P50 = 0.316。
4. 图3 — cost vs value 散点

字段含义:
cost 轴用两种代理:
num_steps和total_tokens(prompt + completion);value 轴用
hunk_recall:gold patch 改过的行里,有多少被 agent 的 patch 也碰到了(0–1);颜色:绿色 = resolved,红色 = failed。
关键分位数:
cost 与 value 的 Pearson 相关表:
尾部观测:
wallclock P95 尾部(≥ 552 s)26 个任务,resolved 8 / 26 = 31%。
num_steps = 100(预算上限)出现在 P95 和 Max — 说明 P95 以上的任务已触顶。
5. salvage 分类与 failure onset

字段含义:
salvage_label:对每条轨迹打的可回收性标签,由规则判定器依据 resolved / hunk_recall / hunk_precision / loop 等派生;failure_onset_step:对失败轨迹推测的"失败起点步",由首次 loop / 首次无验证的 patch / 最后一次 patch 等规则给出。
4a salvage 分类计数(N = 489):
失败原因 motif 分布(failure_motif,n=155 失败):
4b failure_onset_step 分布(失败任务 n=155):
P50 = 16,P95 = 56,Max = 94;
与 resolved 的相关 r = -0.302(注:仅对失败任务有定义,相关量在全体样本上计算时语义应参照原始 metric 定义)。
6. 单特征与 resolved 的相关性总览

说明:本图把所有已派生特征与 resolved(0/1)做 Pearson 相关,按四组分类,负值 = 该值升高伴随更低 resolve,正值 = 反之。相关系数 ≠ 因果,仅做观测。
绝对值最高 10 项(正负混合):
关键特征取值分布:
underedit / overedit 成败细分(关键二元标签):
7. 按任务难度分桶(混淆因素控制)

字段含义:difficulty 是 SWE-bench Verified 官方给的人工标注难度分桶。
6a 按难度的 resolve 率:
(具体百分比以图上标签为准。)
6b 按难度的平均步数 × 成败:
见图右子图;同难度下,resolved 组与 failed 组的 mean num_steps 柱状对比。
8. 按 repo 的 resolve 率

repo 分布(仅显示 n ≥ 10):
虚线为全体 resolve 率 68.3%。