一句话
代码自我改进的可信证据来自可执行验证、跨代保留、失败候选和迁移检查,而不是单个 benchmark 分数。
Code evolution claims are easy to blur. DGM modifies an agent, AlphaEvolve discovers executable algorithms, ADAS searches agent architectures, and GEPA/DSPy optimize prompts or programs. Separate the mutable object before comparing scores.
代码自我改进的可信证据来自可执行验证、跨代保留、失败候选和迁移检查,而不是单个 benchmark 分数。
DGM/SICA 证明的是 agent 自身代码或工具链能否变好。AlphaEvolve/OpenEvolve/FunSearch 证明的是候选程序能否在强 evaluator 下被发现和保留。ADAS/A-Evolve 证明的是 agent 架构和 workspace 是否能被搜索。
本页只服务读者判断证据强弱:哪些结果可复跑,哪些只有公开分数,哪些仍依赖自评或单一 benchmark。
表格中的系统和 benchmark 是该 mode 的代表证据,不表示每个系统都报告了同一组 benchmark、隐藏测试或回归检查。做技术判断时必须回到单项目报告和原论文。
| Mode | 可变对象 | 代表系统 | 强证据 | 主要风险 |
|---|---|---|---|---|
| 自修改 coding agent Self-modifying coding agent | agent code, tool policy, patch loop, review logic | DGM, SICA, A-Evolve | SWE-Bench / SWE-Bench Verified, Polyglot, repository regression tests | benchmark-specific patch, hidden regressions, unsafe self-modification |
| 算法与程序发现 Algorithm and program discovery | candidate programs, kernels, heuristics, optimization code | AlphaEvolve, FunSearch, OpenEvolve, Science-CodeEvolve, OpenTreeSearch | matrix multiplication, Borg scheduling, FlashAttention, attention kernels, circle packing | narrow metric optimization, weak maintainability, incomplete constraints |
| Agent 架构搜索 Agent architecture search | Python-coded agent design, tool topology, control flow | ADAS, Agent Symbolic Learning, A-Evolve | ARC, GFootball, cross-task transfer, cross-model transfer | expensive evaluation, weak transfer, generated-agent safety gaps |
| Prompt / program 优化器 Prompt and program optimizer | prompt, symbolic module, program graph, optimizer state | OPRO, DSPy, GEPA, EvoPrompting | task validation sets, HumanEval-style tests, QA/reasoning benchmarks | prompt overfitting, judge bias, unstable gains |
| 反思与修复回路 Reflection and repair loop | reflection memory, tests, generated critiques, retry strategy | Reflexion, SelfEvolve, ReVeal, EvoMAC | HumanEval, MBPP, LiveCodeBench, generated-unit-test audits | false-positive tests, memory pollution, context growth |
它是在提高自己的软件工程能力,还是只解了一道题?
是否有可执行 evaluator 拒绝漂亮但错误的程序?
搜索到的是可迁移架构,还是一个 benchmark prompt trick?
优化产物是否可复用,还是只贴合验证集?
失败是否真的转成了下一次更好的尝试?
| Level | 证明什么 | 可接受证据 | 弱证据 |
|---|---|---|---|
| 1 | 能生成代码 | HumanEval, MBPP, unit tests | demo-only snippets |
| 2 | 能修复真实软件任务 | SWE-Bench, repository tests | single issue without held-out checks |
| 3 | 能在可执行约束下发现算法 | programmatic evaluator, reproducible scorer | LLM-as-judge only |
| 4 | 能跨代保留改进 | archive, lineage, best-so-far curve | final score only |
| 5 | 能泛化并控制风险 | hidden tests, transfer, cost and regression report | one public benchmark |
代码补丁、候选程序、agent 架构、prompt、memory 不是同一种自进化。先问系统到底改了什么。
更可靠的信号来自可执行测试、隐藏任务、程序化 scorer 和独立评估。只有 LLM 自评时要降低可信度。
严格自进化证据会留下 archive、lineage、best-so-far 曲线、失败候选或可回滚资产。
分数提升必须同时报告成本、迁移、回归和失败模式,否则容易把 benchmark 热度当成熟度。
打开仓库中的 processed evidence,继续检查来源、方法和限制。
打开仓库中的 processed evidence,继续检查来源、方法和限制。
打开仓库中的 processed evidence,继续检查来源、方法和限制。
打开仓库中的 processed evidence,继续检查来源、方法和限制。
No. AlphaEvolve is strongest for executable algorithm discovery; DGM is strongest for self-modifying coding agents and archive-based agent improvement.
SWE-Bench is valuable, but self-evolution also needs hidden tests, transfer, cost, regression, rejected candidates, and lineage evidence.
Only when the optimized artifact changes a reusable program or symbolic module and survives independent validation. Otherwise it is prompt tuning, not code self-improvement.
Distrust claims where the same model proposes, judges, stores, and celebrates the change without executable checks or external validation.