自进化 AI 智能体:Learning Loop 与 Self-Improving 内幕
先问一个问题。你上线了一个 Agent它今天犯了个错你手把手给它改对了。明天它遇到同样的问题还会犯吗如果不会说明这个 Agent 在学。如果会那它本质上和你三个月前写的那段 if-else 没有区别只是换了个更贵的概率外衣。这段时间我聊了不少做 Agent 落地的人大家普遍卡在一个认知盲区我们只花了力气让 Agent “能干活”却很少有人认真设计它怎么从干活里变好。一个静态 Prompt 驱动的 Agent部署那天是什么水平半年后还是什么水平用户骂了一万次它都不会改。这就像一个永远不长记性的员工今天教他一次明天依然原样犯错。这篇我想把这件事的内幕拆开智能体到底靠什么机制从使用中变好这个闭环长什么样以及最关键的安全边界在哪里。静态 Prompt 的天花板是它永远是出厂设置要理解自进化的意义得先看清静态 Prompt 的本质局限。一个靠 Prompt 驱动的 Agent整套行为在部署的那一刻就冻结了。Prompt 是给模型的出厂说明书它规定了角色、约束、步骤和输出格式但说明书不会自己改自己。更根本的在于Prompt 能调度的知识有三个上限。第一是训练截止模型不知道截止日之后发生的任何事第二是上下文窗口你把再多规矩写进 Prompt一次推理能看到的只是那几万字超出就丢第三是它没有个人经验它不记得上周三你纠正过它的那个命名规范也不记得某个客户项目里踩过的坑。这三个上限加在一起意味着一个纯 Prompt Agent 的能力完全由写 Prompt 那一刻的人类智慧 底座模型的训练语料决定部署之后是一条平线。我见过很多团队把精力全砸在调 Prompt 上指望靠一句精妙的 system prompt 解决一切。结果就是调得再好Agent 还是在重复犯同一类错因为错误的根因不在它没听懂指令而在它没有把这次失败变成下次的经验。真正拉开差距的是把使用本身变成训练信号的那套机制。这就是 Learning Loop。Learning Loop 的基本骨架五步闭环自进化 Agent 的底层是一个持续运行的闭环节制。它跑在 Agent 正常运行之外是一条元循环。我把它拆成五步每一步都不是装饰缺一个这个环就转不起来。第一步执行Execute。Agent 在正常生产里干活调工具、做推理、和用户交互。这是数据的发生地没有真实运行就没有任何可学的东西。闭门造车的训练数据价值有限真实流量里的长尾和意外才是金矿。第二步观测Observe。把每一次运行的完整轨迹留下来用户给的原始输入、Agent 的最终输出、中间的工具调用和返回、用户的后续反应是采纳了、修改了、还是直接关掉了。这一步的关键是全量留痕很多团队只存成功案例等于故意扔掉了最该学的那部分。第三步评估Evaluate。拿到轨迹之后要打分。分数可以来自几个来源人工标注的对错、用户隐式反馈采纳率、停留时长、二次修改次数、以及自动化评估器基于规则的校验、LLM-as-Judge 的语义评分、任务成功率的客观指标。没有评分观测到的一切只是噪音。评估器是这个环的眼睛它的质量直接决定 Agent 往哪个方向进化。第四步沉淀Crystallize。这是最有讲究的一步。原始轨迹不能直接喂回去必须被加工成某种可复用的经验形态。它可以沉淀成四类东西其一是训练数据把输入 正确输出配对后用于监督微调把好回答 vs 坏回答配对后用于偏好学习其二是记忆把某个项目的背景知识、用户的偏好写入向量库或结构化存储下次检索增强时用其三是 Skill把反复验证有效的操作流程固化成可复用的能力包一套 prompt 脚本 资源的组合下次遇到同类任务直接调用而不是重新摸索其四是规则把踩过的坑写成显式约束反写回 Prompt 或护栏。这一步的本质是把一次性的经验结晶成可迁移的资产。第五步再部署Redeploy。沉淀出来的资产要重新作用到生产里的 Agent 上。形式可以不同微调后的新权重替换旧模型、检索库更新让 Agent 看到新知识、新 Skill 注册进能力清单、新规则进护栏。再部署之后Agent 在新一轮执行里表现不同又产生新轨迹闭环重新转动。这个闭环和前面说的 Loop Engineering 不是一回事。Loop Engineering 是 Agent 单次任务内部的思考-行动-观察小循环是它完成一件事的方式Learning Loop 是跨任务的、跨时间尺度的元循环是它作为整体如何随使用变好。一个管这一次怎么做对一个管下次整体更强。持续学习的几种范式本质区别在沉淀成什么上面说的沉淀一步落到工程上有几种成熟范式它们的分水岭在于经验被加工成了哪种形态、以及更新发生在哪一层。第一种是基于反馈的监督微调Feedback-based SFT。做法是收集人工修正或高置信度正确的 (输入, 输出) 对周期性地微调基底模型。比如客服 Agent 把人工坐席改写过的回答收集起来作为新的监督样本重新训练。它的好处是改的是模型权重本身能力泛化到所有相关场景代价是训练成本高、周期长、有灾难性遗忘风险。适合那些高频且模式稳定的错误类型。第二种是偏好学习Preference Learning。当对错难以用单一标准定义更现实的是收集哪个更好。这里就是 RLHF 和 DPO 的用武之地。你把同一问题的两个回答按质量排个序训练目标不是拟合某个绝对答案而是让模型学会区分好坏的分布。GRPO 这类方法在推理型任务里特别有用它不需要独立的奖励模型直接用一组采样回答的相对优劣作为优势估计来优化策略。偏好学习解决的问题是很多真实任务里没有标准答案、只有相对好一点这种信号。它比 SFT 更贴合人类模糊的评判习惯但对偏好数据的质量和一致性极其敏感脏偏好数据比没有数据更危险。第三种是基于评估的自动迭代Eval-driven Iteration。这是工程上最容易起步的一种。你不改模型而是靠评估器驱动 Agent 的外围持续进化。具体做法用一个自动评估集一批覆盖典型场景的输入和评分标准反复跑 Agent发现问题后改 Prompt、改检索策略、改 Skill再跑评估看指标是否提升。GitLab、Cursor 这类产品背后大量的 Agent 调优本质是这样的人力迭代循环。更进一步可以引入 LLM-as-Judge 自动发现失败案例再自动生成修复方案做自我博弈self-play由评估门禁决定哪些修复能合入。这条路的优点是安全、可逆、不碰权重缺点是它改的是行为策略而非模型智商遇到基座模型天赋不够的任务无能为力。第四种是记忆与检索增强的长期演化Memory / RAG-based Evolution。这是我个人认为最被低估、也最贴近从使用中变好直觉的一条路。它的思想是Agent 不追求改权重而是把每次交互中学到的事实性经验存进长期记忆下次通过检索把这些经验拉回上下文。一个项目型 Agent 在第一个月里逐步记住了客户的代码规范、常用依赖、历史决策理由第二个月它表现出的懂行不是因为模型变了而是因为记忆库厚了。这条路的工程成本低、实时性强、可解释、且天然支持个性化每个用户/组织有自己独立的记忆空间。代价是检索质量和记忆去重/遗忘机制很难做存了一堆垃圾记忆反而拖垮上下文。回到选型的本质决定用哪条路的核心变量是两个延迟要求以及能否承担动权重的代价。需要秒级响应、又要记住某个客户的怪癖记忆层是唯一答案可以接受天级延迟、又想要整体能力跃升微调才划算连权重都不敢动的高风险场景评估驱动的外围迭代是唯一能睡安稳觉的路。很多团队一上来就想着微调其实先在记忆和评估两层把闭环跑通性价比最高等信号真正确认了再动模型也不迟。这四种范式不是互斥的成熟的自进化系统往往是分层叠加的记忆层负责低延迟、个人化的即时演化偏好和 SFT 层负责周期性、全局的能力提升评估驱动层负责日常的行为修补。我见过一个做得好的内部 Agent它同时跑了记忆库、每周一次 DPO 微调、和一条持续运行的评估流水线三者各自填不同的坑。数据飞轮与冷启动闭环转起来的前提这套机制最迷人的地方是它理论上能形成数据飞轮Agent 用得越多产生的轨迹越多评估出的好数据越多沉淀出的资产越厚Agent 变得越好用于是用的人更多、场景更广又产生更多数据。飞轮一旦转起来后来者几乎无法追赶因为护城河不是模型而是那条越滚越大的数据闭环。但飞轮有个残酷的前提它得先转起来。冷启动是最难的。一个刚上线的 Agent 没有真实轨迹、没有用户反馈、没有偏好数据闭环的第一圈就转不动。破解冷启动的常见手段有几类。其一种子数据引导用人工编写的高质量范例和合成数据先把评估集和训练集铺一层底别指望一开始就有真实数据。其二合成数据生成用更强的模型或同模型加约束采样批量造出 (问题, 好回答) 对先喂饱 SFT。其三人肉标注兜底早期关键场景靠人工标注和修正把人当作第一个评估器用成本换数据。其四影子模式积累让 Agent 先只记录不执行大量真实交互进来看它会怎么做攒够数据再谈自进化。冷启动阶段最忌讳的是为了转飞轮而放宽质量关。飞轮有正反馈也有负反馈如果早期喂进去的是噪声和错误闭环会把这些错误放大成系统性偏差越转越歪。所以冷启动期反而要更严格地把关进入闭环的数据质量等信号稳定了再逐步放开自动化比例。范式不是选择题分层叠加才是正解讲到这里有个常见误区就是非要在 SFT、偏好学习、评估迭代、记忆增强里挑一种。真实系统里它们是分层的各管一层缺了哪层都有短板。记忆层解决延迟和个性化的即时演化今天踩的坑明天就别再踩评估驱动层解决行为习惯的持续修补不用动权重就能把表现稳住SFT 和偏好学习解决全局能力的周期性跃升代价是训练成本和遗忘风险。一个成熟的 Agent往往是记忆打底、评估天天跑、微调每周一次三层叠加。举一个具体的例子。一个代码审查 Agent记忆层存下每个仓库约定俗成的规矩命名风格、被禁用的 API这是低延迟且个性化的评估层每天拿一批真实 PR 跑自动检查发现它又开始放行某种并发 bug 就立即改策略;偏好层每周把资深 reviewer 的修改聚成 DPO 数据让模型对什么是好 review的理解整体上一个台阶。三层各跑各的合起来才是一个会成长的 reviewer而不是一个昙花一现的 demo。自改进的安全边界最该敬畏的地方自进化听起来很美但它是把双刃剑。一个会自我改写的系统最危险的地方在于如果闭环里的某个信号错了它会把错误自动化、规模化、长期化。这部分是整个设计里最该花心思的我分几个维度讲。第一避免强化错误行为。这是自改进的头号陷阱学术上叫奖励黑客Reward Hacking或奖励漂移。如果你的评估器只盯着用户停留时长Agent 可能学会用冗长废话拖住用户如果你的偏好数据里混了大量看起来 fancy 但其实错误的回答DPO 训练会把模型往错误方向推。更隐蔽的是分布漂移Agent 自己生成的数据再训练自己一代代迭代后可能飘到人类分布之外表面上指标好看实际能力塌方。对抗手段是用人类强约束的黄金评估集定期锚定真实能力不让自动指标完全取代人类判断。第二人在环门禁Human-in-the-loop Gate。任何把沉淀资产重新部署到生产的动作都应该有一个人工确认节点。新的微调权重上线前要人审新增的 Skill 要先在沙箱验证写入记忆的事实要可追溯可质疑。这不是不信任自动化而是因为自进化的错误成本极高一次错误的全局部署可能污染成千上万次后续交互。人在环放的不是全流程而是最关键的合入决策点。第三回滚与版本隔离。自进化系统必须保留每一个历史版本并且能一键回退。新权重跑了半天发现某类指标诡异下滑要能立刻切回上一版。更进一步做灰度新资产先对小流量生效对照组用旧版本指标确认正向才全量。回滚能力的存在本身就让团队敢去尝试更多自进化动作因为它知道最坏情况只是退回去。第四评估门禁自动化。除了人审还要有自动化的硬指标门槛新版本在核心评估集上的成功率不能低于旧版本某个阈值幻觉率不能上升成本不能超预算。这些门禁由流水线自动卡卡住的直接拒合不给人情面空间。我强烈建议把评估门禁做成不可绕过的 CI 环节而不是靠工程师自觉。第五防遗忘与范围限定。每次微调都可能让模型忘了旧能力灾难性遗忘。对策是训练时混入历史核心样本以及在部署后持续监控旧能力的指标。同时自进化的改动应该限定在经验与策略层面而不是去乱动底层模型的基础能力边界避免不可控的全局漂移。这几条安全边界合在一起本质是一句话自进化系统必须有刹车而且刹车要比油门可靠。没有回滚、没有门禁的自改进不是进步是给系统装了一台没有方向盘的加速器。和静态 Prompt 的本质区别一句话说清把这些讲完回头看静态 Prompt 和自进化 Agent 的区别其实就一句话静态 Prompt 是写死的指令自进化 Agent 是会积累经验的系统。前者在部署那一刻能力就封顶后者把每一次使用都变成下一次更强的养分。更深一层看它们的工程重心完全不同。纯 Prompt 路线的核心是怎么把话写清楚投入产出在部署那一个点就结束了Learning Loop 路线的核心是怎么把运行数据转成资产再喂回去投入产出是随时间长尾递增的。前者像写一份永远不更新的操作手册后者像养一个会复盘、会记笔记、会随项目成长的同事。手册不会变好同事会。再给一个具体的画面。同一个客服 Agent纯 Prompt 版本在第一天犯的归类错误第 365 天照样犯因为它根本没有记性每一次都是重新来过而带 Learning Loop 的版本第一次被人工纠正后那条纠正会沉淀成记忆或训练样本第二次遇到同类问题十有八九就对了。三个月后两者的差距不是线性的是指数级的因为后者每多服务一个用户就多积累一份让后来用户受益的资产。这恰恰是自进化最迷人的地方也是它最难做的地方。我的判断是接下来真正能拉开企业 Agent 差距的不是谁的 Prompt 写得更巧而是谁的 Learning Loop 转得更稳、数据飞轮转得更早、安全边界守得更牢。模型大家都能接Prompt 谁都能抄但一个跑了半年、沉淀了几十万条真实交互和偏好的 Agent是竞争对手抄不走的。这恰恰是架构师该下注的地方把闭环搭起来比把单次效果调漂亮重要十倍。这也是为什么我把自进化放在系列靠后的位置前几篇讲怎么把 Agent 搭起来、跑得稳这一篇才讲它怎么自己长本事而它本身正是前面所有工程能力的归处。