AIGC标识 Agent 自进化为什么难:约束系统比自我反思更重要

Agent 自进化的难点不是生成建议,而是用约束、验证和拒绝机制提高有效改进候选占比。

导语

一个 Agent 系统如果已经能记录 trace、执行验证、定位失败,下一步很自然会走向自我改进。

但真正难的不是“让模型提出修改建议”。这件事反而太容易了。给 LLM 一段失败日志,它可以立刻写出十条改进方向,语气合理、结构完整、看起来每条都能试。

问题也在这里:看起来合理,不等于真的有效。

Agent 自进化的核心难题,不是生成候选,而是让有价值的候选在所有候选中占比足够高。自由生成越强,搜索空间越大,噪声越多。系统不是在进化,而是在把资源消耗到一堆“像建议的建议”上。

所以,自进化的工程重点不该是“让 LLM 自己改自己”,而是设计一套约束系统,让好的改进方向更容易浮出来。
inline-01.png

图:约束、验证和拒绝机制让有效改进方向更容易浮现

k/n 困境

可以用一个很粗糙但好用的比率描述自进化效率:

$$
\frac{k}{n}
$$

其中,k 是真正指向正确改进方向的候选数量,n 是总迭代次数。

k/n 越高,系统越快收敛;k/n 越低,系统越像在随机试错。最糟糕的情况是,候选很多、反馈很慢、验证很贵,Agent 看起来一直在“自我反思”,结果只是把错误换了几种写法。
mermaid-01.png

图:自由生成与约束优化对收敛效率的影响

通用 Agent 自进化之所以难,也可以从这里解释。通用意味着不预设任务域,不预设反馈形式,不限制修改范围。约束少,k/n 就低。系统不是不能跑,而是不划算。

真正能工作的自进化系统,通常都不是“通用魔法”。它们会在某个任务域里设置强约束:只允许改某类策略,只接受验证集上严格变好的候选,只保留可解释 trace,只在有自动 verifier 的任务上迭代。

六篇工作背后的主线

从早期开放式探索,到后来的 prompt 优化、skill 优化和有界编辑,自进化研究的主线其实很清楚:约束越来越多,候选越来越窄,验证越来越硬。

工作 核心机制 约束强度 对 k/n 的影响
Voyager 自动课程、可执行技能库、环境反馈 较弱 靠环境和技能积累弥补噪声
TextGrad 把语言反馈类比成文本梯度 较弱 有方向,但缺少强验证门
GEPA 通过反思理解失败原因,再进化 prompt 中等 比单纯打分更有方向性
Agent Lightning APO 文本梯度加 beam search,多候选并行评估 中强 用搜索和评估收窄候选
Hermes Self-Evolution 进化 skill、prompt、代码,并加测试和审查 用测试与人工门禁过滤风险
SkillOpt 有界编辑、验证门、慢更新、拒绝缓冲 最强 候选最窄,接受条件最硬

这条谱系说明一件事:Agent 自进化不是从“更会反思”走向“更会写建议”,而是从“自由生成”走向“受控优化”。

越靠后的系统,越像一个训练过程:有训练集、有验证集、有候选生成、有更新步长、有拒绝样本、有慢速记忆,还有明确的接受条件。

SkillOpt 的关键转向

SkillOpt 最有意思的地方,是把 skill 文档看成一种可训练的外部状态。

模型本身不更新,目标模型被冻结。系统优化的是一段自然语言策略,也就是 skill。这个 skill 会进入 harness,影响模型在任务上的行为。如果改写后的 skill 能让任务得分提高,它就像一次有效的参数更新。

形式化地看,可以写成:

$$
s^* = \arg\max_s ; \mathbb{E}​{x \sim D​{test}}[r(M(x, s, h))]
$$

这里的 s 是 skill,M 是冻结模型,h 是 harness,r 是 verifier 分数。重点不是公式,而是这个分工:模型不动,运行时不动,外部策略文档被持续优化。

SkillOpt 的训练过程可以拆成三步:
mermaid-02.png

图:SkillOpt 将执行反馈转化为有界更新

这套流程最重要的不是“让模型反思”,而是每一步都在限制候选。

设计 做法 作用
完整 rollout 记录任务、消息、工具调用、观察、答案和评分 让改进来自证据,不来自空想
成功/失败分离 失败样本提纠正规则,成功样本保留有效行为 避免只盯着错误导致行为漂移
有界文本编辑 限制每轮最多改几处,只允许增删改替 收窄候选空间
验证门 只有验证集严格提升才接受 防止“看起来更好”的改写进入主线
拒绝缓冲 保存被拒编辑和失败模式 避免重复踩坑
慢更新 每个 epoch 总结纵向经验 让优化器跨轮积累判断力

这里有一个很工程化的细节:慢更新和普通编辑不在同一个时间尺度上。

普通编辑解决当前这一轮的局部问题,步长小、范围窄。慢更新在 epoch 结束后发生,负责总结更长期的编辑经验。它像是在告诉优化器:哪些方向反复有效,哪些改法反复失败,哪些表述容易造成漂移。

这比单轮“自我反思”更接近真正的优化。

六道护栏

把 SkillOpt 和其他自进化工作放在一起看,可以抽出六道护栏。它们分别提高方向性、收敛性和长期稳定性。

护栏 解决的问题 典型做法
Domain-pack 让系统知道当前域的目标、约束和先验 固定任务域、任务背景、验证标准、专用策略
完整 trace 与分层消费 让改进来自真实执行证据 记录 rollout,并区分失败、成功、工具反馈
可控候选空间 降低无效搜索 限制修改模块、编辑次数和编辑类型
Judge 信号转正负样本 明确什么该接受、什么该拒绝 verifier、测试集、验证门、人工审查
编辑历史记忆 避免重复和矛盾修改 rejected buffer、历史候选、失败模式记录
优化器自进化 让改进策略本身积累经验 慢更新、meta skill、跨 epoch 总结

这六道护栏可以对应到 k/n
mermaid-03.png

图:自进化系统需要多层护栏过滤风险

前两道护栏帮助系统知道该往哪里改,中间两道护栏减少无效候选,最后两道护栏让系统不要每轮都从零开始。

缺少任何一道,都会漏气。

没有 domain-pack,自进化会变成泛泛建议。没有 trace,改进没有证据。没有候选空间限制,系统会在无限文本空间里游荡。没有验证门,模型会把“更像道理”的修改当成进步。没有历史记忆,错误会反复出现。没有优化器自进化,系统很难跨轮积累经验。

通用性不是现在的重点

很多人会自然地问:能不能做一个通用自进化 Agent?

至少在当前阶段,这不是最值得押注的问题。

更现实的路径是:先选一个有明确 verifier 的任务域,把六道护栏做扎实,在域内做到可迁移。

域内迁移和跨域通用不是一回事。

类型 约束是否保留 难度
跨模型迁移 任务域不变,验证标准不变 相对可行
跨 harness 迁移 任务域不变,执行环境变化 可行但要处理接口差异
跨 benchmark 迁移 同域任务变化 取决于任务分布
跨领域迁移 domain-pack 失效 难度陡增

一旦换领域,原来的任务先验、错误模式、验证方式和候选编辑空间都可能失效。约束变少,k/n 会下降。

这就是为什么数学、代码执行、表格操作、结构化抽取这类任务更适合先做自进化:它们天然有较硬的验证信号,trace 也更容易结构化。

开放式创作任务就麻烦得多。文案、对话、创意写作的 Judge 主观性更强,验证信号更弱。不是不能做,而是护栏成本会大幅前置。你得先解决标注、偏好建模、审查流程和质量边界。

明天就要做,先别上全套

如果资源有限,不需要一开始就复刻最复杂的系统。可以按约束强度逐步搭起来。

阶段 做什么 目标
跑通 有任务集、有 verifier、有 rollout trace,做单轮 prompt 或 skill 进化 证明方向能闭环
收敛 加入有界编辑、beam search 或编辑步长限制,再加 rejected buffer 提高 k/n,减少重复试错
长期 加入 epoch 级慢更新和 meta skill,让优化器积累跨轮经验 让系统持续稳定改进

第一阶段最重要的是验证链路,不是追求最终效果。没有可复验的 verifier,自进化就会滑回“模型给模型写建议”。

第二阶段开始控制候选空间。不要让模型自由重写整份 skill,而是限制它只改某几个区块、每轮最多改几处、每处必须绑定证据。

第三阶段再考虑长期记忆。系统要知道哪些编辑被拒绝过,哪些失败模式反复出现,哪些更新在多个 epoch 后仍然有效。

这条路径的好处是,每一步都在提高 k/n,而不是盲目换更强模型。

结语

Agent 自进化不是让 LLM 自己写几条改进建议。

真正的自进化更像一套受控优化系统:任务域提供先验,trace 提供证据,候选空间被限制,verifier 决定是否接受,拒绝样本防止重复踩坑,慢更新让优化器积累经验。

模型越会自由生成文本,越需要这些约束。否则它最擅长的能力,会把系统带进低信噪比搜索。

自进化的关键不是“更会反思”,而是“更会筛选、限制和验证”。约束越清楚,好候选的占比越高,系统越接近真正的改进。
aaa_compressed_under_1M.png

推荐阅读

Skill 评测体系:从格式检查到真实任务验证的五层证据链

Agent OS 视角:别再把 Graph、Loop 和 Harness 当成并列概念

Agentic 工程组织:从赶 DDL 到负反馈闭环

知识库不是文档仓库,而是 Agent 的上下文底座

Claude Tool Search 深度拆解:延迟加载、工具引用和与 Codex 对比

posted @ 2026-08-05 10:46  AI小老六  阅读(53)  评论(0)    收藏  举报