教师Agent—学生Agent迭代循环:一种可复现的AI Skill调优方法

给 AI Agent 写 Skill(系统提示词)有一种常见的挫败感:你写了一大段规则,Agent 第一次输出还是不行,你改了改规则,第二次好了一点,第三次又倒退回去了。你无法知道自己改对了没有,因为每次测试的文章不同、Agent 的随机性不同、你的判断标准也在漂移。

这篇文章讲的是我用一种教师Agent—学生Agent 迭代循环的方法,把博客写作 Skill 的封面文本生成合格率从 41% 提到 70% 的过程。核心不是那 70% 的数字——核心是这个循环本身。

问题:一个具体但不好量化的写作任务

博客 Skill 需要自动生成 coverText(封面文本),一个 50 字以内的卡片文案。它要告诉读者"这篇文章讲了什么",但不能剧透文章内容——是「门」,不是「房间」。

最初 Skill 里有一段封面文本规则,约 150 行。效果很随机:有时候 Agents 生成得不错,有时候它把实现细节(芯片型号、协议字段、精确数值)全塞进封面文本。你改一条规则它修好一个案例,但又引入另一个问题。

问题本质是:写作质量是一个难以度量的目标。 你觉得「这条规则改进了内容」,但实际上你只是在用一个主观感受替代另一个主观感受。

架构:一个教师,一群学生

解决思路是把改进过程本身变成可度量的工程问题。架构很简单:

角色 做什么 数量
教师 Agent 读取所有盲测结果,分析失败模式,提炼新规则,更新 Skill 文件 1 个
学生 Agent 读取当前 Skill 规则,为去掉封面文本的文章重新生成封面文本 N 个

教师不写封面文本。学生不改规则。两个角色各司其职。

教师在每一轮做的事情是:把 N 个学生的生成结果和原文封面文本对比,不是比「是否一模一样」,是比「是否合格」。「合格」意味着它作为独立卡片文案是可接受的——读者看得懂、信息正确、不剧透、不超过 50 字。

循环:教学 → 盲测 → 复盘 → 提炼

每一轮迭代是四步:

1. 教学

教师把上一轮盲测中发现的失败模式提炼为规则,写入 Skill 的参考文件。规则不是「封面文本应该更好」这种废话——每一条规则都必须对应一个可以反查的具体失败模式。

例如,有一轮盲测发现学生 Agent 们频繁把文章正文里的实现数字(914 万 token0.65mm 咬合量128KB RAM)写进封面文本。对应的规则不是「不要写太多细节」,是:

数字禁令: 除非是协议标准数字(MTU 20、124 寄存器),否则任何数字不准出现在封面文本中。

这条规则是可执行的——学生 Agent 在生成封面文本时可以逐字检查是否违反了它。

2. 盲测

这一步是关键设计。

把 N 篇已有文章的封面文本字段清空,创建副本到临时目录。每个学生 Agent 拿到同一个 Skill 规则文件,为分配到的文章生成封面文本。

「盲」体现在两点:

如果没有盲测,你很容易陷入「我觉得这条规则改得对」的错觉。盲测把改进变成了可观察的事实:改了规则 → 重新生成 → 统计合格率 → 看结果。

3. 复盘

教师拿到所有学生的生成结果后,逐篇对比原文。每一篇的对比回答三个问题:

  1. 合格还是不合格? 这是一个二分类判断,不允许「差不多」。
  2. 如果不合格,失败模式是什么? 不是「写得不好」——是「加了正文才有的实现数字」、「用抽象类别替代了具体机制名称」、「在封面文本里解释了物理原理」。
  3. 这个失败模式在多少篇文章中出现了? 单篇文章的失败可能是个例,跨文章反复出现的失败才是规则缺陷。

把失败模式按出现频次排序,优先级最高的先修。

4. 提炼

把高频失败模式翻译成新规则。翻译时有一条重要原则:显式对照表优先于抽象原则。

举个例子:V7 那轮盲测之后,我发现学生 Agent 最大的问题不是没有找到价值点,是它不知道「什么叫有价值」。它把「我理解了实现细节」和「读者会因此点进来」搞混了。如果我写一条规则「封面文本应该突出文章价值」,这是一句正确的废话——学生 Agent 不知道怎么判断价值。

所以我写了一个显式对照表:

有价值的(放封面) 没价值的(放正文)
这个技术能在资源受限设备上跑 用了多少 KB RAM
把分散的寄存器排成了连续表 f=g+h 最小堆扩展
用防收缩槽消除冷却纹 咬合量 0.65mm

每一条左侧是「读者想知道的原因」,右侧是「你实现它用到的细节」。Agent 对照这个表做排除,比理解一段抽象原则要可靠得多。

盲测为什么要做大规模

第一轮盲测用了 10 篇文章,样本太少——合格率波动大,失败模式看不全。后面扩展到 51 篇(约占全部 84 篇文章的 60%),分成 3 个 batch,每个 batch 约 17 篇。

大规模盲测带来三个收益:

第一,统计稳定性。 10 篇样本里合格率波动 ±15%,51 篇样本波动降到 ±5% 以内。你能在数字上区分「这条规则真的有用」和「这轮运气比较好」。

第二,失败模式收敛。 单篇失败可能是学生 Agent 的随机性,但同一失败模式在 5 篇、10 篇文章中反复出现,那就是规则层面的缺陷。数字禁令、缩写禁令、「而」字禁令都是在 51 篇规模的盲测中确认的——它们不是个别案例。

第三,防止过拟合。 规则改得太针对某几篇文章,会伤害其他文章的生成质量。大规模盲测能提前发现过拟合——如果一条规则让 3 篇文章变好但 5 篇变差,数字会告诉你。

四个关键迭代与它们揭示的方法论

整个过程的实际迭代路径不是线性的——有倒退、有方向修正、有方法论突破。

V4→V5:独立规则文件(效果不大)

把封面文本规则从主 Skill 中拆出来,独立成 200 行的参考文件。逻辑是「学生 Agent 需要一份专注的参考资料,不是在 500 行 Skill 中找相关段落」。

合格率从 41% 升到 43%,几乎没变。这说明学生 Agent 不缺信息,它缺的是信息的使用方法

V5→V7:价值优先过滤(方法论突破)

V5 的失败模式非常集中:学生 Agent 读了文章全文后,把所有它觉得「有意思」的事实都塞进封面文本。文章正文里 20 个有意思的事实,封面文本里塞了 6 个。

我最初的想法是「不给学生看全文,只看标题和首段」。V6 盲测合格率冲到 94%,但这个方案被否决了——写新文章时没有「首段」可以看,Agent 必须先写正文才知道首段是什么,可封面文本应该在标题之后、正文之前就生成。

正确的方向是价值优先过滤:允许学生读全文,但要求它在生成封面文本前先做一轮显式的价值排序。

具体步骤:

  1. 读全文,找出 3-5 个高价值点
  2. 按价值排序
  3. 只取前 1-3 个
  4. 用选中的点写封面文本
  5. 锁定——不再把被丢弃的点加回去

V7 合格率跳到 70.6%。改进不是靠「减少信息量」,是靠「在信息进入封面文本之前加了一道门槛」。

V7→V8:显式价值判断(微调)

V7 解决了「信息过载」的问题,但暴露了另一个问题:学生 Agent 不知道什么叫「有价值」。它把「协议帧格式是 SOF/ID/TYPE」「PMOS 关断分压链路、NMOS 隔离高压域」当成高价值点排在前面——因为这些是它绞尽脑汁理解的技术细节。

V8 加入显式价值对照表和数字禁令、缩写禁令后,合格率到了 68.6%,没有继续提升。剩下的 ~30% 不合格案例的共同特征是:学生 Agent 选的价值点是对的,但表达时多加了一句解释。比如「FDM 散热孔冷却纹」它写成了「FDM 散热孔槽根部预挖防收缩槽,切断应力路径消除冷却纹」——不加那句解释它就是合格的。

收益递减点:70% 之后是什么

从 41% 到 70% 是方法论驱动的改进。从 70% 往上,剩下的问题不再是「Agent 不懂规则」,是 LLM 本身的表达倾向——它总是想在正确的答案后面加一句解释。这不是规则能解决的问题。

这个天花板的存在本身就是一个有价值的发现:规则可以教会 Agent「选什么」,但很难教会它「停在哪儿」。

如果你的 Skill 迭代卡在某个数字上不再上升,停下来问自己:剩下的失败是因为规则不够好,还是因为 LLM 有一个和你的目标相反的内置倾向?如果是后者,加更多规则不会解决问题——你需要换一种思路(比如用更小、更专注的模型做这个子任务,或者在生成后加一个专门做「修剪」的步骤)。

为什么这个循环是可复现的

这个方法的本质是把 AI 写作质量的改进从一个玄学问题变成了一个测量-反馈工程问题。

三样东西让它可复现:

1. 盲测。 每一轮改进的效果可度量。你没有在「优化感觉」,你在「优化合格率」。

2. 教师不写封面文本。 教师只分析失败模式、写规则。如果教师自己也写封面文本,就会陷入「我觉得这样写更好」的主观判断,偏离了「规则是否可被学生执行」这个唯一标准。

3. 规则来自失败模式,不来自审美直觉。 每一条规则在写入 Skill 之前,都必须能在盲测结果中找到至少 3 个独立案例支持它的必要性。不是「我觉得数字不应该出现在封面文本中」,是「我在 12 篇文章中看到数字出现在封面文本中,其中 10 篇不合格」。

如果把这个循环抽象成一个模板,它可以用于任何「AI Agent 需要执行一个质量可判断但难以量化」的任务——写作、翻译、代码审查、文档生成。你需要的是一个可度量的质量标准(合格/不合格)、一个教师 Agent(分析失败、提炼规则)、多个学生 Agent(执行规则、生成结果)、以及一个盲测机制(隔离评测和优化)。

一篇后记

这个过程花了我大约 3 小时——不是写代码,是反复读取盲测结果、逐个对比失败案例、从模式中提取规则。

让我意外的是,最有效的规则往往是最「笨」的——对照表、禁令、步骤列表——不是最「聪明」的。AI Agent 执行显式约束的能力远强于理解抽象原则的能力。如果你的 Skill 里有任何一句「XXX 应该更好」,把它换成「XXX 必须满足以下 3 条可检查的条件」,Agent 的成功率就会提升一个台阶。

本文由 AI 辅助生成,可能存在错误或遗漏,请以实际资料和官方文档为准。