Skip to content

08 · 像调 bug 一样调提示词 ​

提示词是调出来的,不是想出来的。而大多数人调提示词的方式是"再让 AI 优化一下"——那不叫调,那叫碰运气。这一章给一套真正能收敛的方法。

第一步:先说清楚"哪儿不对" ​

不能接受的描述:"感觉不太行"、"不够专业"、"差点意思"。

必须能说成这种:

症状描述大概率是哪一格的问题
结构对了,但每条都太啰嗦要求:长度没约束,见 05
内容对了,但格式每次不一样要求:没给模板,见 05
出现了材料里没有的人名 / 日期验收:没写替代动作,见 06
漏掉了材料后半部分的内容材料太长,见 07
语气不对(太官方 / 太随便)角色没设,或者没说给谁看
它答的不是我问的任务没说清,或者一条塞了好几件事
十次里有三次跑偏提示词太松,有分叉口,见 01

能把症状归到某一格,改动就有方向了。 归不了,说明你还没看清问题——再跑两次,把不合格的地方逐条圈出来。

第二步:一次只改一个地方 ​

这是从写代码那儿搬过来的,但在提示词上更重要,因为输出本来就有随机性。你一次改了三处,跑一次变好了,你根本不知道是哪一处起了作用——甚至可能是三处里有一处帮倒忙,只是这次运气好。

流程:

text
1. 记下当前版本(原样存一份)
2. 只改一处
3. 跑 3~5 次
4. 对照验收标准数:几次合格?
5. 比之前好 → 保留,继续下一处
   比之前差 → 回滚,换个改法

跑一次不算数

输出有随机性,跑一次好不能说明改对了。至少三次,重要的提示词五次。

这听起来慢,但比"改了十处、时好时坏、最后不知道该保留哪版"快得多。

第三步:建一个小测试集 ​

这一步把"调提示词"从手艺变成工程,而且成本低到离谱——五份材料,一张表。

text
测试集(存在一个文档里就行):

用例 1:标准情况       一份信息齐全的会议记录
用例 2:缺信息         负责人和时间都没写的记录
用例 3:有冲突         前面说九月底,后面说十月初
用例 4:跑题多         一半内容跟主题无关
用例 5:极短           只有三句话

选材料的原则:一个标准情况 + 四个会翻车的情况。翻车样本比标准样本值钱得多。

然后拿这五个跑,记一张表:

用例1用例2用例3用例4用例5
v1✅❌ 编了人名❌ 抹平了冲突✅⚠️ 硬凑三块
v2✅✅❌ 抹平了冲突✅⚠️ 硬凑三块
v3✅✅✅✅✅

新的翻车样本随手就加进测试集。 以后每次改提示词,五个用例重跑一遍——你就再也不会"修好了这个、弄坏了那个"。

这张表还有个额外好处:换模型的时候,五分钟就能测出新模型行不行。

常见改动的优先级 ​

同样的时间,改这些地方回报最高,从上往下试:

优先级改什么典型收益
1把形容词换成结构约束最大。多数"不稳定"是这儿来的
2给禁止项配上替代动作很大。治幻觉和乱填
3材料圈起来 + 挪到最后 + 结尾重复要求大,且改动只要三分钟
4补两个例子(尤其边界情况)大,尤其是格式和风格问题
5加"先分析再结论"或自查中等,对复杂任务明显
6拆成多轮大,但变慢
7换个更强的模型最后才试。前六条没做完就换模型,是在用钱掩盖问题

让 AI 帮你调(正确的用法) ​

"让 AI 优化提示词"不是不能用,是大多数人用错了姿势——直接说"帮我优化这条提示词",它只会给你换一批更华丽的形容词。

正确的用法是带着证据去问:

text
下面是我的提示词,和它这次的输出。

<提示词>
【贴】
</提示词>

<这次的输出>
【贴】
</这次的输出>

问题:输出里出现了"刘建国"这个全名,但我给的材料里只写了"刘总监"。

请分析:我的提示词里,是哪一部分导致它补全了人名?
给出最小的修改(只改必要的地方),并说明为什么这样改能防住。
不要重写整条提示词。

三个关键:给证据(实际输出)、说清症状、要求最小修改。

还有一招:让它当出题人

text
这是我的提示词。请设计 5 个会让它出问题的输入——
不要极端离谱的,要那种"现实中真会遇到、但这条提示词大概率处理不好"的。
只给输入,不要给答案。

它出的题往往正好是你测试集缺的那几个。

什么时候停止调 ​

三个信号,出现任何一个就该收手:

  • 测试集全绿,连着两轮没发现新问题 → 够用了,发出去。
  • 改了五版,指标在原地打转 → 问题可能不在提示词。也许是任务本身超出了一条提示词该干的范围(该拆多轮),或者材料本身就有问题。
  • 提示词已经比材料还长 → 停。这是该做成 Skill 的信号。

下一步 ​

09 · 反模式与民间偏方

一份讲通用概念的入门手册 · 不绑定任何一家模型或工具 · 例子可直接照抄