paper-jev 工作日志|2026-09-24
项目目标与当前结论
目标是训练一个 Jev 类小型非生成式决策模型,让 coding agent 在合适时点选择提交、测试或继续修复,并以真实任务成功率和完整成本证明它优于强固定策略和便宜的规则/GBDT。当前尚未得到这种优势。两轮最终补丁状态实验的预设门槛都未通过,因此该路线的全量数据采集、动作收益模型训练和独立测试评估均已停止。现有 0.6B 模型只会判断当前补丁是否正确,不能当作已训练的动作效用模型。
已完成的实验和数字
| 工作 | 结果 | 可以得出的结论 |
|---|---|---|
| Clean 数据准备 | 320条轨迹、40任务、8仓库;导出160个训练/开发候选,冻结32训练任务、8开发任务及60个未打开的新测试任务 | 可构造任务隔离的研究起点。旧泄漏轨迹和编辑移除CF标签没有用于动作收益监督。 |
| CPU公开测试及重建 | 12/12候选重建的官方判分与原始结果一致;24次公开检查中22通过、2正常失败;其中2个原本错误的补丁通过了两种选定公开检查 | 公开测试可作反馈,不能代替最终正确性标签。 |
| 0.6B Qwen3 LoRA当前正确率 | 3个CPU种子在32开发状态/8任务的准确率为78.13%、71.88%、81.25%,均值77.08%;Brier均值0.18434 | 仅是小样本开发集的当前补丁正确率分类。相对TF–IDF logistic的Brier任务级区间跨零,尚无稳健优势。 |
| G001同状态动作pilot | 12最终候选/11训练任务,108/108官方可判。直接提交9/12;继续18/24;定向测试17/24;广测试18/24;重试3/24 | 三个原错误候选均未修好。24次重试全部碰到工具数或生成token上限,主要观察到正确补丁被改坏。没有控制器收益证据。 |
| F1预注册失败条件诊断 | 12个新训练任务,各取一个原错误的最终补丁;84/84记录,83/84官方可判。继续0/24、定向反馈2/23、广反馈2/24 | 四次成功来自同一个Django任务的两种动作×两种子,不能当四个独立任务。未出现跨任务动作优劣反转;预设门槛失败。唯一缺失样本是模型服务ReadError,没有算作代码失败。 |
G001全部GPU分配合计 1.805 A100小时,其中包含基础设施失败尝试;F1 0.783 A100小时,两阶段已完成分配合计约 2.587 A100小时。本机GPU6/7已释放;没有借用或终止另一个RL服务。以上成本是采集成本,不是部署节约。
论文、代码和审查
- 已形成 8页论文工作稿,写入G001/F1真实表格、逐状态矢量图、负结果和局限。它尚不是支持“方法有效”的投稿稿。
- 主要实验实现位于
jev_repair/:导出/任务划分、公开测试菜单、干净沙箱与分支采集、成本和标签记录、CPU小模型训练、GPU自有租约与预算门槛。原始receipt保存在runs/,分析文件在analysis/。 - ARIS结果到论断评审两轮均为
claim_supported=no;已按预设规则停掉final-state G002/M001,未开放60个独立测试任务。实验完整性审计 (未收录资源)对已经报告的数据为PASS,但这是同模型家族的临时审查,不是方法收益PASS或独立审稿。 - 7天本地监控进程每60秒更新实时报告 (未收录资源)与
monitoring/live.json;它记录状态/异常,不会自动向聊天发送消息。
2026-09-24 新方向的CPU预检
停止最终补丁方案后,考虑把决策点提前到代码仍有修复余地的时候。160条已有可见历史里,粗筛发现124条运行过测试、54条存在非零测试返回、涉及29任务;这只是寻找候选的启发式计数。第一次筛选把pip install pytest误作测试,修正前没有执行重放。第二次冻结的5仓库候选再审后也含安装失败、测试入口错误和Agent自写测试错误,不能作为可信的“公开行为测试失败”样本,没有放行GPU分支。
旧轨迹没有保存中间补丁文件,但160条均记录了Git快照状态,其中140条保存某个事后选中编辑块的原始前后树哈希。对Xarray的step24,CPU重放的前后哈希与原运行完全一致;导出的650字节补丁在第二个无网容器恢复后仍得到同一个原始Git树。另一个Sphinx重放的最终补丁不一致,已保留失败记录。这个Xarray结果证明特定Git树可验证地恢复;该编辑块是依据后续轨迹选中的,不能作为在线触发规则,也不证明完整进程状态或动作收益。
为新的前瞻性首次生产代码编辑触发器写了jev_repair/early_capture_agent.py:只看当下工具和工作树,在第一次修改已有非测试Python源码文件时保存patch、Git树和当时可见消息,并停在那个时点。CPU模拟工具调用的测试已经通过。真实Docker/Harbor CPU冒烟第一次因本项目网段租约要求试验名以jev-branch-开头而未进入Agent,作为基础设施失败保留在runs/early-capture-cpu-v1a/;修复试验名后的v1b已在真实Harbor/Docker沙箱跑通:一次模拟模型工具调用修改django/core/mail/message.py,在线捕获408字节补丁、Git树hash与完整可见消息前缀,并在该次工具调用后停止。官方验证器关闭,没有生成论文的修复收益标签。随后在第二个全新无网容器对同一初始commit应用补丁,恢复的Git树hash f5762f61596d688b12a337ac59dfd0e27356deaf与捕获值完全相同;两个自有容器均已清理。原始记录:runs/early-capture-cpu-v1b/smoke_result.json及restore_result.json。
ARIS research-refine对新方向从5.3/10评到6.6/10,仍为REVISE,主要缺口是前瞻捕获的真实运行验收、预算及训练任务拆分。已有完整修订方案 (未收录资源)。FailFast、Bayesian Control和ExecCritic都与前缀重放、Agent控制或测试反馈高度接近;“更早状态”和“0.6B模型”本身不能作为新颖点。唯一待验证贡献是:真实干预标签能否让廉价决策模型在完整成功率—成本曲线上超过预测+规则及同标签GBDT。
下一步与停止线
- 已完成单例机械验收:
v1b真实Docker/Harbor捕获及全新容器Git树恢复通过;使用模拟模型输出、关闭隐藏判分,只能证明捕获和恢复管线,不证明真实9B会在合适时点触发或任何动作有收益。下一步需审查前瞻采集协议和任务拆分。 - 如果CPU验收通过,先冻结新任务及模型/动作/总预算;首批GPU只做不超过8个训练任务的可行性pilot,两张卡合计最多8 A100小时。任务可从32个训练任务按hash选取;G001/F1的旧最终补丁观察只作为历史诊断,不进入新状态输入。8个开发任务和60个独立测试任务继续封闭。
- 如果首批看不到多个任务上的可重复修复及动作优劣反转,就停止,不训练小模型。若固定动作、简单规则或GBDT已达到相同效果,也不宣称深度决策模型必要。
当前论文的数字来自原始analysis/g001_evidence_20260922.json、analysis/f1_evidence_20260923.json与analysis/cpu_three_seed_summary.json。新方向的工程核对见analysis/early_replay_status_20260924.json和runs/early-restore-v3hasha/;它们不是动作收益结果。
21:30 起:checkpoint 线(zly 授权 GPU6/7 全权,要求最终成文)
- 旧 final-state 路线保持停止。新问题:一次完整运行里,agent 每次改代码后"现在提交"vs"继续"哪个好。
- 依据:源评测 319 条轨迹里 83% 的输出 token 发生在首次源码编辑之后,平均 8 个编辑块。
- 做法:
checkpoint_agent.py在每个改动步保存补丁;grade_checkpoints.py离线用官方 verifier 逐个判分;停止策略在已判分轨迹上精确离线评估(stop_eval.py),小模型stop_train.py双头 P(now)/P(final)。 - 查新(idea-stage/NOVELTY_STOPPING_20260924.md):Fail-Fast 同 9B/0.6B 设置但只做失败中止;EET 做成功侧提前提交但靠自信度。最尖锐差异:用 checkpoint 当下正确性标签训练停止器,而不是最终结果标签。
- 协议 refine-logs/CKPT_PROTOCOL_20260924.md(看标签前冻结)。服务 ckpt9b-gpu6/7-20260924(48h 租约,16 并发)。dev 160 条、test 240 条轨迹在采;test 标签在策略冻结前不看。