先给结论
AgentDevel 是这组 Drift Monitor 论文里最像“可直接做 baseline”的一篇:它不把自进化看成 agent 内部的神秘反思,而是把 agent 当成可发布的软件制品,用 release candidate、非回归 gate、审计记录和单一版本线管理改进。
版本说明:本页基于公开 arXiv PDF、公开 arXiv source package、TeX source inventory 与图表/表格抽取完成;检索日期为 2026-05-26。公开页面只列出公开在线证据,不暴露本地路径或私有运行日志。
研究动机
论文从一个很工程化的判断出发:unreliable improvement can be more damaging than no improvement at all。如果 agent 改进后平均分上升,但之前能做对的 case 被破坏、改进路径无法复现、失败原因不可审计,那么这个“自我提升”对真实系统反而危险。
现有 self-improvement 常有三种 framing。第一是 improvement as cognition:让 agent 反思、存 memory、下一次做得更好,例如 Reflexion / Self-Refine。第二是 improvement as search:在很多 prompt、thought、scaffold 或 variant 中搜索,例如 PromptBreeder、Tree of Thoughts、DGM 风格系统。第三是 aggregate-score optimization:只看 leaderboard 平均分。
AgentDevel 的反驳是:真实软件不会靠程序“自我反思”发布新版,而是靠外部工程流程。开发者收集日志、跑测试、诊断失败、生成候选补丁、审查 regression,然后决定是否 release。于是 agent improvement 也应该被外置成 release engineering。
数学表示及建模
AgentDevel 把 agent 的 prompt、code、tooling internals 合称为 agent blueprint。改进 agent 就是提出并验证 blueprint 的变更,而不是让 agent 在内部模糊地“变聪明”。
任务有 development set 和 held-out test set:
蓝图 \(b\) 诱导一个具体 agent \(A_b\)。对输入 \(x\),运行 agent 得到输出和结构化 execution trace:
\(\tau\) 记录 actions、tool calls、observations、errors 和 final output。它相当于 agent 的 observability artifact。
如果任务有 programmatic scorer,例如单元测试、schema validation、format check,则得到硬信号:
没有充分 programmatic scorer 时,引入 implementation-blind critic:
这个 critic 只看 rubric、trace 和 optional scorer output,不看 blueprint,不做因果归因,不提出修复;它只描述表面 failure symptoms。最终 pass indicator 是:
每个样本形成质量记录:
算法流程 / 方法
1. Single canonical line
AgentDevel 不保留一堆并行 variants。每轮只有当前 promoted blueprint \(b_t\),只合成一个 release candidate \(b_t^{\mathrm{RC}}\)。如果通过 gate,变成 \(b_{t+1}\);否则丢弃,继续保留 \(b_t\)。
2. Executable diagnosis
所有 per-example records 聚合为:
AgentDevel 不让模型自由写一段“诊断总结”就结束,而是生成并执行 diagnostic scripts,例如 Python 脚本。脚本会统计 symptom classes、trace patterns、代表性失败样本和 affected surface。执行结果形成诊断报告 \(\mathcal{D}_t\),像 bug triage report 一样回答:哪里坏了、怎样坏、出现多少次。
3. RC synthesis
基于诊断报告,系统生成一个 release candidate blueprint:
RC 可以修改 prompt、code 或 tool wrappers。它还携带一个 change intent,说明它主要要修复哪些 symptom classes。论文强调:这个 intent 不声称因果解释绝对正确,它只是把 proposed change 和 observed failure appearance 对齐起来。
4. Flip-centered gate
RC 在同一个 TrainSet 上重新评估。核心不是只看平均分,而是看 example-level flips:
P2F 是 pass-to-fail,也就是 regression;F2P 是 fail-to-pass,也就是 fix。gate 还计算 flip rates:
抽象 gate decision 写作:
实际原则很清楚:P2F 是高优先级风险;F2P 是修复证据;修复应该集中在 RC intent 声称的 symptom classes 上;新增失败必须少且可解释。
5. Promote / discard / stop
停止条件不是“还能不能把 TrainSet 分数刷高”,而是看边际 F2P 是否变小、P2F 是否持续上升、RC 是否反复被拒、收益是否集中在越来越小的 subset 上。held-out TestSet 不参与 gating,只在最后评估一次。
实验设计
论文实现中,AgentDevel 使用 Claude Code 作为开发引擎,底层 LLM 固定为 Claude-Sonnet-4.5。Claude Code 负责生成和执行 diagnostic scripts、总结 symptom patterns、提出 blueprint diffs;所有 diagnostic scripts、RC diffs、critic outputs 和 flip lists 都被保存和版本化,用于 auditability。
为了避免 confound,Devel engine 的 model 和 tooling 在所有迭代中保持固定。迭代决策只看 TrainSet signals 和 flip-centered gating;TestSet 只用于最终一次 post-hoc reporting。
| Benchmark | 任务类型 | Primary metric | 为什么适合 release engineering |
|---|---|---|---|
| SWE-bench Lite | 软件工程 patch | Resolved | 天然要求补丁通过 repository tests。 |
| SWE-bench Verified | 更严格软件工程 subset | Resolved | 能检查同一 blueprint 是否稳定修复真实 repo case。 |
| WebArena | 长周期网页交互 | Success | 失败常体现为 missing step、wrong order、invalid action。 |
| StableToolBench | 稳定工具/API composition | SoWR | 工具任务有 trace 和可复现评分,适合 flip 统计。 |
实验结果
主结果:四个 execution-heavy benchmark 都有大幅提升
| Benchmark | Base agent | AgentDevel final | Prior reported baseline | 解读 |
|---|---|---|---|---|
| SWE-bench Lite | 11.00 | 22.00 | SWE-agent 18.00 | Resolved rate 翻倍,并超过报告的 SWE-agent baseline。 |
| SWE-bench Verified | 15.00 | 30.00 | GPT-4o scaffolded 33.20 | 更严格 subset 也翻倍,接近 prior scaffolded GPT-4o。 |
| WebArena | 17.00 | 35.50 | CER_hybrid 36.70 | Success rate 超过两倍,接近 CER_hybrid。 |
| StableToolBench | 54.00 | 73.50 | DFS 70.20 | SoWR 提升近 20 点,超过 prior DFS baseline。 |
边界:prior reported baseline numbers 不是在完全相同 setup/budget 下重跑。这里最重要的不是跨系统排行榜,而是同一初始 blueprint \(b_0\) 经 release pipeline 后的稳定提升。
StableToolBench case study:gate 真的在过滤坏 release
| Iter | Gate | F2P | P2F | \(\rho^{\mathrm{P2F}}\) | Hit rate | FTP / P2P |
|---|---|---|---|---|---|---|
| 1 | Acc. | 38 | 4 | 0.006 | 0.74 | 0.12 / 0.98 |
| 2 | Acc. | 30 | 5 | 0.007 | 0.78 | 0.20 / 0.979 |
| 3 | Rej. | 42 | 28 | 0.040 | 0.41 | 0.28 / 0.93 |
| 4 | Acc. | 25 | 3 | 0.004 | 0.81 | 0.32 / 0.978 |
| 7 | Rej. | 9 | 15 | 0.021 | 0.52 | 0.41 / 0.955 |
| 8 | Acc. | 8 | 2 | 0.003 | 0.88 | 0.44 / 0.976 |
| 10 | Acc. | 5 | 2 | 0.003 | 0.92 | 0.47 / 0.974 |
| 11 | Rej. | 2 | 3 | 0.004 | 0.67 | 0.48 / 0.97 |
第 3 轮就是最典型的例子:F2P=42 看起来修了很多,但 P2F=28、P2F rate=0.040、hit rate=0.41,因此被拒绝。这正是 Drift Monitor 需要的思想:不能因为有 utility gain 就发布,必须先问它破坏了什么。
WebArena 消融:没有 flip gate 会有更高表面分数和更坏 release
| Setting | Final test | Final train pass | Total F2P | Total P2F | P2F rate | Gate reject rate | Bad releases |
|---|---|---|---|---|---|---|---|
| AgentDevel full | 34.2 | 78.5 | 214 | 18 | 3.1% | 42% | 0 |
| w/o flip gate | 35.0 | 81.0 | 230 | 95 | 14.8% | N/A | 4 |
| w/o executable diagnosis | 31.8 | 74.0 | 150 | 22 | 3.9% | 63% | 0 |
| critic not blind | 32.5 | 83.5 | 205 | 40 | 6.7% | 58% | 0 |
我的评论
这篇最像我们的 baseline 骨架
AgentDevel 给 Drift Monitor 的作用很明确:它不是 drift probe 本身,而是 release scaffold。一个 monitor 不能只输出“风险分 0.73”,它要在候选更新进入正式版本前参与 gate。
| AgentDevel 组件 | Drift Monitor 插入点 | 我们可以新增什么 |
|---|---|---|
| Execution trace records | 记录候选版本在 probe set 上的动作、工具调用、记忆读写、workflow path。 | 加入 goal/state/tool/workflow provenance。 |
| Implementation-blind critic | 只看行为轨迹和 rubric,判断表面 drift symptoms。 | 定义 action drift、inaction drift、stale memory、unsafe tool reuse 标签。 |
| Executable diagnosis | 用脚本统计 drift flips 和触发条件。 | 从“自由总结”变成可审计 drift report。 |
| Flip-centered gate | 把 P2F 扩展成 safety/goal/tool/workflow regressions。 | 不只看 pass/fail,还看目标、边界和状态是否退化。 |
| Promote / discard | accept / reject / quarantine / rollback / ask human。 | 把 monitor 输出变成 release decision。 |
我对 3-6 个月方向的判断
最现实的题目不是重做一个 DGM,也不是从模型参数层面自训练;而是在 AgentDevel-style release pipeline 上加一个 Drift Monitor gate。题目可以非常具体:
最小系统:给 agent 一个可变 blueprint,让它产生候选 prompt/tool/workflow update;然后用 probe set 检查普通 task performance、goal drift、inaction drift、tool boundary、workflow reconstruction;最后用 flip-centered gate 决定是否发布。
论文局限
这篇也有边界。第一,pipeline 成本高:反复执行、trace collection、诊断脚本生成和 gate 都需要额外 compute 与 wall-clock time。第二,implementation-blind critic 仍然是 LLM evaluator,可能有偏差;有 programmatic scorer 时更可靠。第三,实验主要是 single-agent、single-repository 或 single-environment,扩展到 multi-agent 和持续变化环境还需要更多机制。第四,gate threshold 与 stopping criteria 是可配置的,不是通用定理。
One More Thing
我建议把 AgentDevel 视为“外壳”,把 Goal Drift 视为“probe”,把 Misevolve 视为“风险维度”。三者合起来,一个可做的 3-6 个月方案就出现了:
这个方案的论文贡献可以很清楚:不是声称让 agent 自进化更强,而是提出一种 release-gated self-evolution protocol,证明它在保留 utility gain 的同时降低 goal/state/tool/workflow regressions。
下一篇 OEP 会补上一个关键攻击面:局部经验如何被错误泛化成全局规则。把 OEP 放进 AgentDevel 的 gate 里,就能形成一个很自然的 drift probe:RC 不能因为一段局部成功经验而污染 future policy。
Reference / Evidence
Based on the public arXiv PDF, arXiv abstract page, and public arXiv source package retrieved on 2026-05-26. This page is a paper2html deep-reading note, not a reproduction report.