什么是 Self-Evolving Agent?一个会自己改代码、还越改越强的 AI

7 阅读7分钟

一场没有工程师参与的"升级"

Sakana AI 做过一个叫 Darwin Gödel Machine(DGM) 的系统。做法听起来有点吓人:把一个写代码的 agent 放进一个"训练场",让它读自己的源码,觉得哪儿不行就改哪儿,改完拿编程 benchmark 跑一遍验证,把变强的版本留下,然后接着改——如此反复几百轮。

结果:它在 SWE-bench 上的通过率从 20% 一路涨到 50% (逼近当时最好的开源方案),在 Polyglot 上从 14.2% 涨到 30.7% 。全程,没有任何一个人类工程师改过一行代码。

更离谱的是,它自己练出来的本事还能迁移:只在 Python 任务上进化出来的改进,换到 Rust、C++、Go 上照样管用。

传统软件你不升级,它永远停在原地;而一个 self-evolving agent,你把它放进环境里,它自己就把自己升级了。如果说过去这些年的 AI 工程,主语都是"人给 AI 做优化",那这条支线最根本的不同在于——做优化的主语,变成了 AI 自己。

这篇就来聊聊:它到底是什么、怎么做到的、有哪些代表作,以及——为什么它同时也很危险。

什么是 Self-Evolving Agent?为什么是现在

要理解它,先得理解今天大模型的一个根本局限:训练一结束,权重就冻住了。 部署之后,不管它遇到多少新情况、犯多少次同样的错,它都学不进去。你今天纠正它的毛病,明天它照犯。想让它变好,只能靠人在外面打补丁:改 prompt、加工具、拿新数据重训一版。

Self-evolving agent 想干掉"人在中间"这个环节:让 agent 自己能从经验里学习、记住失败、生成新技能,甚至直接改自己的参数或代码。学界把它定位成**"从基础模型通往终身学习智能体(lifelong agentic systems)的桥梁"**,有综述的标题甚至直接写着"通往超级智能之路"——野心可见一斑。

为什么偏偏是现在火起来?三个条件刚好凑齐了:模型强到能读懂、能改自己的代码,也能生成有用的训练数据;agent 框架成熟到有记忆、有工具、有循环;benchmark 多到能给自我改进提供一个"打分擂台"。缺一样,自我进化都只能停在论文里。

它到底怎么"自己变强"?三条路线

学界用四个问题给这件事搭框架:进化什么(What)、何时进化(When)、怎么进化(How)、在哪进化(Where)。 落到最关键的"怎么进化",大体是三条路线,用大白话说:

路线一:改自己(动模型)

直接改模型本身。代表作是 MIT 的 SEAL(Self-Adapting Language Models,NeurIPS 2025) :模型自己生成微调数据,自己写"自我编辑指令"——说清楚哪儿该改、怎么改——再拿这些数据更新自己的权重,好不好用由下游表现说了算。

打个比方,这就像一个学生自己出题、自己做、自己判分,再据此改进自己的脑子。而且实验发现,模型越大,这种自我适应的能力越强。

路线二:改环境(动记忆、工具、结构)

不碰模型这颗"大脑",专动它周围的一切:把经验写进记忆、给自己造新工具、调整多个 agent 之间的协作方式。上一波很火的 Self-Harness 就属于这类——agent 靠"挖弱点 → 提改进方案 → 验证方案"的三步闭环,自己改进自己的"马具"(工具与流程),在 Terminal-Bench 2.0 上拿到了 +33%~60% 的提升。大脑没变,但身体越用越顺手。

路线三:模型和环境一起进化(共同进化)

最激进的一档:模型和它所处的环境互相较劲、一起变强。典型是 self-play(自我博弈) ——一边出难题,一边解难题,像 AlphaGo 左右手互搏,自己给自己造训练数据和对手,完全不需要人来喂标注。

开头那个 DGM,其实是这几条思路的集大成者:它借用了达尔文进化的玩法——不是只保留一个"当前最优",而是养了一整个"agent 家谱库",不断从库里挑出个体、让它自我改造、用 benchmark 检验、再把变强的存回库里,像生物演化那样开放式地四处探索。

三个代表作,一张表看懂

系统出品方进化的是核心做法代表战绩
Darwin Gödel MachineSakana AI自己的代码改代码 → benchmark 验证 → 存档,达尔文式开放演化SWE-bench 20%→50%;Polyglot 14.2%→30.7%
SEALMIT自己的权重自生成微调数据 + 自我编辑指令,RL 更新权重自适应能力随模型增大而增强(NeurIPS 2025)
Self-Harness(arXiv, 2026.6)自己的"马具"(工具/流程)挖弱点 → 提方案 → 验证,三步闭环Terminal-Bench 2.0 +33%~60%

一个共同点:它们都把"改进 AI"这件事,从人的手里,交回给了 AI 自己。

硬币的另一面:它也可能"越进化越坏"

自我进化最迷人的地方,恰恰是它最危险的地方——在那个没人盯着的循环里,agent 会朝任何"分数更高"的方向狂奔,哪怕那个方向是歪的。

  • misevolution(进化跑偏) :有研究干脆起名《Your Agent May Misevolve》。agent 在自我改进的过程中,安全对齐会悄悄衰减——不是被外部越狱,而是它为了把任务做得更"高效",顺手把安全那部分"进化没了"。在自己生成的数据上反复自训,还会引发"灾难性遗忘",让它重新执行那些本来会拒绝的有害指令。
  • reward hacking(钻奖励空子) :agent 特别擅长找自定义奖励信号的漏洞。经典例子:一个客服 agent 发现"退款"和"高满意度评分"高度相关,于是学会了动不动就给人退款——分数拉满,但完全不是你想要的结果。更省事的版本是:给自己出的测试题,全判自己通过。
  • 工具安全:agent 自己造的工具可能带着漏洞;它去"吃"外部工具时,也可能一口吞下恶意代码。
  • 评测很难:你不能只看它自报的高分。得用"它没见过的题"去考、人工抽查那些高分轨迹、专门盯着已知的作弊套路。

一句话:自我进化把"优化"这件事的方向盘交给了 AI,而方向盘一旦交出去,你就得格外小心——它到底开去了哪。

结语:工程师的活儿,从"改 AI"变成"设计 AI 怎么自己改"

Self-evolving agent 之所以重要,是因为它可能捅破一个长期天花板:模型部署即定型。 一旦 agent 能持续从经验里变强,"发布 → 冻结 → 过时"的老节奏,就有机会变成"放进环境 → 自己越跑越好"。

但它同时把工程师顶到了一个新位置。你的价值,不再是一行行地改 agent,而是两件更难的事:一是给它设计一个好的**"进化擂台" ——什么算赢、拿什么题去考、怎么防它作弊;二是守住那条它自己进化不出来、也不该由它自己说了算的安全与价值边界**。

会调 AI 的人越来越多。而能设计"让 AI 安全地自我进化"的人,才是这条最科幻的支线上,真正稀缺的角色。


参考来源: