同一个模型修同一个问题,试五次,终于有一次成功。我们很容易说“它会了”,可下一位用户只有一次机会,仍然可能撞上另外四条路。一次成功证明这条路能够被走出来;把任务放心交出去,还需要模型经常选中它。能力的形成,很大一部分就在这两个状态之间。
一条成功轨迹通常包含许多恰到好处的选择:读了正确的文件,注意到一个不起眼的条件,在第一次失败后换了方法,最后还做了有效的检查。模型已经能够组合出这些动作,却未必稳定地这样组合。提高可靠性,就要让有用的选择在相应情境里更容易出现,让它们更容易接成一段完整的工作。
多试几次,和下次更会做,是两件事
最直接的办法是多尝试,再用可靠的检查挑出成功结果。下面假设每次尝试相互独立,成功概率相同,而且成功能够被准确识别。增加尝试次数,可以提高这一轮至少拿到一个成功结果的机会;模型单次的成功率仍留在原处。把单次成功率也调高,再看两项数字,便能看到训练希望带来的变化。
这一轮的概率 = 1 − (1 − p)ⁿ。其中 p 为单次成功率,n 为尝试次数。
例如,单次成功率为 20%,独立尝试五次,至少成功一次的概率约为 67%。如果能识别成功、失败的代价又可接受,多试几次已经能做出更好用的产品。但把五次尝试改成五位用户各用一次,同样的模型让五个人全都成功的概率只有 0.032%。智能体评测中的“至少一次成功”与“每次都成功”衡量的是不同事情。能力展示可以挑一次好结果,稳定服务需要改变每次交付的机会。
怎样提高这个机会?可以把过程分成四件相接的工作:让好路径有机会出现,辨认它是否真的成功,让模型学会其中的选择,再看这种改变能否迁移到新任务。 训练算法参与第三件事,前后的任务、环境与评价决定了它究竟在学什么。理解这个系统,比把所有进步统称为“更多数据、更强训练”更有用。
先让值得学习的做法出现
想象一个模型在修复配置问题。它经常直接改生成出来的文件,眼前的测试通过了,下次构建却又把修改覆盖掉。一个有经验的人会追问:这个文件由谁生成?随后找到源配置,修改源头,再重新构建并验证。这里相差的也许只有一次关键查询,却把后面的工作带到了完全不同的路径上。我们要让模型学到的,是这个查询在什么情境下值得发生。
人可以示范这条路,技能可以提醒查生成关系,工具可以直接给出依赖入口,更大的尝试预算也可能让模型自己找到它。这些支持都在改变探索条件,让有价值的行为不至于被大量无效尝试淹没。领域材料与中间训练则从另一侧帮忙:模型先熟悉生成文件、构建系统和依赖关系,才更容易把观察组织成有效判断。
这也是外部支持参与能力形成的地方。人不必一次写出所有答案,可以只补那个让任务走不下去的缺口,再观察模型如何把其余部分接起来。更强的模型还可以生成示范,已有程序可以提供精确计算,环境可以提供即时反馈。能力在这些条件下组合、展开,新的做法也可能在探索中形成。我们要收集的学习材料,就从这些实际完成的工作里来。
再决定,什么才算真正的成功
如果验收只看修改后的文件内容,前面那条错误路径也能得满分。把重新构建加入环境,问题才会暴露;再检查原本正常的功能,才能知道修复是否带来了退步。评价标准因此参与定义了能力。“模型会修复配置”这句话究竟意味着什么,很大程度上取决于我们让它面对哪些条件,又检查了哪些后果。
评价可以分成三个相互补充的视角:
-
结果是否成立。 目标产物、真实环境状态、业务行为是否满足要求。能执行的地方,就运行构建、查询状态、校验数据;主观质量则需要明确的评价尺度,必要时由人校准模型评分。
-
成功是否符合任务约束。 绕过检查、破坏原有数据、偷偷缩小需求,也可能制造一个好看的结果。评价需要覆盖这些不能被牺牲的条件,同时容许不同的有效解法。把“必须走我示范的每一步”也当成成功标准,会把探索空间锁在旧方法里。
-
这条路径是否值得复用。 同样完成任务,一条路径定位清楚、检查充分,另一条反复猜测、碰巧通过。耗时、调用成本、对无关对象的改动,以及决定有没有依据,都能帮助筛选。保留失败后合理修正的过程也有价值,模型需要学会恢复,而不只是模仿一条从未出错的理想路线。
一条可学习的轨迹,因而应当把当时的任务、模型实际看到的观察、选择的动作和环境结果联系起来。只留下最终补丁,会丢掉“为什么去找生成源头”的情境;把后来才知道的答案塞回先前输入,又会教出一个在真实工作中拿不到那些信息的学生。轨迹整理要保存关键选择发生的条件,并剔除错误记录、敏感数据和不适合复用的内容。
训练改变的是,下一次怎样选择
监督微调把筛选出的好轨迹当作示范。模型在相应上下文里学习接下来的内容和动作,参数更新使这些选择以后更容易出现。对于配置例子,示范可以包括发现生成标记、查询生成入口、修改源文件和重新构建。它不只是记住这次改了哪一行,也有机会学会一组可迁移的关系:眼前的文件可能只是产物,持久修改需要找到产生它的地方。
强化学习则让模型在环境中继续尝试,根据奖励调整行为。我们可以检验修改是否经得起重建,而不必给每道题预先写一条唯一解法。模型有机会在不同路径之间比较,逐渐提高能获得好结果的选择的概率。DeepSeek-R1 的早期报告既展示了可验证任务上的强化学习,也描述了冷启动示范、强化学习和筛选数据相接的流程。示范提供有效起点,探索把起点继续往前推。
这里有三种容易混在一起的变化:提示或技能进入当前上下文,改变的是这一次可用的条件;多次尝试与筛选,增加的是这一轮找到好结果的机会;训练更新参数,改变的是模型面对后续任务时的行为分布。它们可以接成同一条生产线:外部支持帮助探索,评价找出好轨迹,训练让好做法更常出现。把这三种变化分清,才知道一次效果提升究竟发生在哪一层。
换一批题,才能知道学到了什么
训练过的配置问题做对了,只是起点。换一个构建系统、隐藏生成标记、让错误出现在另一种文件里,模型是否仍会寻找来源关系?换一类无需追查生成过程的任务,它会不会过度调查?评测既要检查该出现的行为,也要检查它不该出现的场景。这样才能区分掌握方法与形成一个新的机械习惯。
开发用的失败案例可以进入回归检查,保护已经获得的能力;判断泛化时,还需要没有参与训练和反复调参的新任务。比较模型前后表现,也要尽量保持环境、工具和尝试预算一致,否则更高分数可能来自更强的外部帮助。我们需要知道两件事:整个产品是否更好用了,以及模型本身是否更能独立完成工作。两种进步都值得要,也应当分别看清。
产品把这个过程接成循环
真实使用不断带来新问题:开发者没见过的项目结构、用户没有说全的需求、只在某种环境下出现的失败。把这些问题还原出来,先判断缺的是知识、方法、工具还是执行条件,再修改对应的支持,就能为下一轮学习创造更好的材料。可用轨迹进入训练,独立评测检查收益,新的模型重新进入产品。数据飞轮转动的关键,在于失败确实能改变下一轮的工作条件;只是把日志越存越多,循环还没有闭合。
因此,智能体工程与模型训练可以看作能力形成过程里前后相接的工作。前者把新领域表达成可行动、可反馈的环境,并让有效方法先在外部发生;后者从中学习,使这些选择逐渐成为模型自己的习惯。一次成功走到稳定能力,中间隔着的正是这套生产过程。接下来的自进化问题也由此变得具体:模型能否参与寻找失败原因、改进工具与技能,进而改善自己下一轮学习所依赖的条件?