模型可以冻着不动,要训练的是你写给它的那份说明书
调 prompt 这件事,凡是认真干过的人都知道它有多难受。你给 agent 写一份 skill 文档,写一段 CLAUDE.md,规定它先查什么、用哪个工具、遇到哪种报错怎么退。然后你跑一遍,看哪里翻车,回去改两句,再跑一遍。改到能用,靠的不是什么方法论,是手感——一种"我大概知道加这句它会乖一点"的肌肉记忆。
问题是这门手艺几乎不可复现。你调好的那份文档,换个人接手就得重调;你自己过两个月回来看,也忘了当初那句话是为了堵哪个坑。它费时、玄学、不留痕迹,而且永远不知道自己到底改好了还是改过头了——这次堵上的坑,会不会顺手挖了个新的。这是我看到的大多数团队在 agent 工程上最真实的状态:模型越来越强,喂给模型的那份"经验"还停在手搓阶段。
最近微软和几所高校的一项已开源新研究,把这件事彻底翻了个面:模型一个参数都没动、冻得死死的,真正被"训练"的,是那份 markdown 技能文档本身。结果在 GPT-5.5 上,相对没有文档的基线,直接对话涨了 23.5 分,在 Codex 那类智能体循环里涨 24.8 分,在 Claude Code 里涨 19.1 分。而且它赢过了人手写的版本。
一份不更新模型权重的"权重"
先把这个反直觉的点说透。你写给 agent 的那份文档,从来没进过训练,模型看它的方式和看用户问话没有区别——都是上下文里的一段文本。但它干的事,恰恰是权重该干的事:决定模型在你这个任务上的行为偏好。模型权重是它从全网学来的通用先验,这份文档是你这个具体任务上的私有经验。前者动不了、也不该为你一个任务去动;后者天天能改,却一直在用最原始的方式改。
所以"训练一份文档"不是修辞。它说的是:把这份外置在模型之外的"权重",从手工编辑,换成一个有反馈、有约束、能收敛的优化过程。文档不大,紧凑的 markdown,几百到两千 token,装的是流程、工具使用规则、踩过的失败模式——读起来就像一个老手干完一天活随手记的笔记。东西小,但它是模型在你任务上唯一能调的旋钮。
一个被验证集管着的小循环
机制其实比想象中朴素。

目标模型冻结。另起一个独立的"优化器",让它读 agent 跑任务的完整过程记录,看哪一步对、哪一步崩,然后对那份 markdown 提出修改:增一条规则、删一句没用的、把某段重写得更准。关键有两道闸。第一道是预算——每轮只允许小幅改动,不准一次推倒重来,这相当于给它定了个学习率,逼它小步走。第二道是验证集——你预先留出一批任务不参与改写,每一次改动都要在这批留出任务上分数严格变好,才被接受,否则回滚。这一道正是防过拟合:不让它把刚踩的那个坑过度记进文档,反倒伤了别的情况。
就这么一个"小步改写→验证集把关→留下或回滚"的环,一轮轮慢慢转。没有玄学,每一步改动都有数字背书。
它凭什么赢过人手写
证据这边给得很硬:6 个基准、7 个目标模型、3 种执行环境,凑成 52 个组合,它在每一个组合上都是最好或追平,对照里被它压过的包括人类手写文档、让大模型一次性写的、以及几种已有的自动方法。
但我更在意的是为什么。人改文档,靠的是记忆和直觉,没有留出验证集,所以你永远在对"刚才那次失败"做拟合——把上一个坑堵死,代价可能是悄悄收窄了别的路,而你看不见。机器这套不一样:它每改一笔都拿一批没见过的任务回归一次,分数不涨就不要。它不比你聪明,它只是不自欺。人手写的上限,受限于人不肯也没法对自己每一次改动做回归测试。
还有个容易被忽略的部署特性:训练完,产物就是一份静态 markdown,部署时零额外推理开销。不是挂一个更重的模型、也不是常驻一个优化器,就是一个文本文件——谁都能读、能改、能交接。这意味着这条优化路径几乎不增加你线上的成本。
把这套搬进你自己的 agent
不必等谁开源完整工具链,低配版今天就能搭。挑你最常用的那个 agent,给它的高频任务攒十几条能自动判分的小例子——能跑出明确对错的那种。以后每次想改 CLAUDE.md 或某个 skill,先用这十几条回归一遍,分数没涨就别 merge,凭感觉过的那一关,从此交给数字。
这同时给了你一把新标尺,去判断一份 prompt/skill 工程到底成不成熟:有没有评测集,有没有验证集这道 gate,每次改动能不能回滚。三样都没有,那它还停在手感阶段,无论看起来多漂亮。
也得说清楚边界,这套不是万能的。它整个建立在"任务能被可靠地自动打分"之上;对那些成功与否很难自动判定的开放任务,打分这一步还得靠人或模型兜底,循环就转不顺。而且它刻意只优化单个文档,不是一整座技能库——你的领域特别杂、规则互相打架时,这会成为瓶颈。
回到能上手的那一步:先给你最常用的 agent 搭十几条能打分的任务,下次改文档时拿它回归,别再凭手感 merge。当那份"经验文档"从一次性手艺,变成可训练、可回滚、可移交的资产,agent 工程一直缺的那一环才算补上。模型可以冻着不动,真正该被训练的,是你写给它的那份说明书。
