写 Prompt 和 Skill 时有一个非常反直觉的现象,很多人写规则喜欢用「小标签加冒号加详细描述」,觉得这样提纲挈领结构清晰,实际上反而会导致模型指令依从性大幅下降。
这种写法很多人经常使用,AI 由于训练语料的影响,几乎所有模型都会默认使用,比如:
- 异常处理:遇到报错直接向上抛出,不要在当前层捕获
- 核心原则:……
- 输入校验:……
看起来排版美观大纲分明,非常好的文档。在人的阅读习惯中,这就是加导引词划重点。然而实际执行的时候,会发现后面的内容 AI 很少遵循,大部分注意力都在前面的导引词。
比如「异常处理」这类概括性词语在语料里出现过成千上万次,绑定的全是最平庸的通用代码套路。模型的前置注意力一旦被这个词劫持,就会瞬间激活默认模板,后面那些具体的反向限制根本抢不过前面的先验权重。
再加上冒号结构在训练集里大量对应公文、百科和参考文档,模型惯性会把它当成被动知识,而不是强制执行的协议。
真正管用的做法是干掉所有冒号和标签,改成扁平的动作指令。
比如直接写「遇到报错必须向上抛出,严禁在当前层捕获」,条件先行,动作跟上,使用陈述句。
写规则不需要大纲感,指令越直白干脆,执行就越精准。
