为什么我用了那么多提示词模板甚至用了 AI 帮忙还是写不好提示词?
上次我分享了一个模拟雷军演讲的提示词,广受好评,但也有网友想知道我是怎么写出这样的提示词的。授人以鱼不如授人以渔,还是继续分享一下写好提示词的方法论。
现在流行的是上下文工程(Context Engineering),似乎很少有人提起提示词工程(Prompt Engineering),甚至很多人觉得提示词工程已经不需要了:
“模型已经那么强了,还要啥提示词工程,我写什么提示词大模型都能知道我的意思执行的很好。”
这话只是部分正确,模型是已经越来越强了,普通的需求确实只要简单的提示,但是复杂的需求还是要借助提示词工程才能写的好。
那么什么是提示词工程?
提示词工程是一个过程,系统化地设计、测试、优化提示词的过程——宝玉
网上分享的提示词或者各种提示词模板,它不是提示词工程,是提示词,是静态的,产生这些提示词的过程才叫提示词工程。
举几个我最近写提示词的例子。
第一个例子就是我怎么写雷军演讲这个提示词的。
往下看之前不妨停下来想一想,如果你来写怎么写?
我是这么做的: 先用 Deep Research 去收集雷军的演讲,然后让 AI 基于 AI 的演讲结果生成一个模仿雷军演讲的提示词。

AI 生成了提示词后,我拿去测试了一下,虽然也生成了一个类似雷军风格的演讲稿,但是内容平淡无奇,结果并不怎么理想。

我用相同的方法分别去 ChatGPT 和 Claude 上测试了,评估下来结果都不怎么好。
看来 Deep Research 搜索出来的结果并不够好,可能很多都不是雷军的演讲,只是新闻报道之类,后来正好在 X 上看到有网友转载的早年有人整理的雷军演讲风格总结,于是用它试试看:
请帮我生成一个 Prompt,可以把输入的主题或文本生成雷军风格的演讲稿。以下是网友总结的内容作为参考: <tweet > 雷军有一个非常牛的技能,就是把一件平平无奇或者并没有那么厉害的东西用数字、百分比或者其他的形容词给描述成一个听上去可望而不可即的物品。 发布会后,极氪高管吐槽小米汽车:小米的营销值得我们学习,但是汽车技术上小米应该向我们学习。 雷军的 PPT 和王家卫的电影台词有异曲同工之妙。 举个例子,普通人下一碗面就是我什么时候在哪下一碗什么面。但是雷军的PPT 会这样说:经我们小米的员工连续300个日夜不间断的大数据研究发现,97%的人类在早晨七点零三分56秒的时候会出现明显的饥饿感,相比较七点整,饥饿感整整提升了57%。 为了解决这种困扰人类几千年的饥饿感,我们小米工程师们反复研究比对发现,面粉的饱腹感要比大米的饱腹感高出21%。 于是我们专门找到了面粉原料小麦的5万年前的发源地 --位于中东的新月沃土,砸重金在新月沃土研制出了一款迄今为止最有饱腹感的面条。 那么究竟多有饱腹感呢? 比传统的面条饱腹感提升了73%。同时卡路里下降50%。 我们也给它取了一个好听的名字,叫小米超级空心面。同时呢,我们还联合饮用水的行业巨头--农夫山泉研制出了业内首创的泡面专用水-农夫米泉。用我们农夫米泉煮出来的面条饱腹感还能再提升11% 9.9元3斤小米空心强饱腹感面条。(面粉成本1.6元一斤而已)免费送十包调料。总共有9款粗细不同,6种种包装颜色可选 </tweet>

用生成后的提示词去测试了一下,效果极好!
就这么简单!
我把这个过程画成了一张图

所有的提示词创作都是这样一个迭代的过程:
目标:先设定一个目标,你期望你的提示词能达到什么样的效果。
想法:有了目标你需要有个想法怎么来写,比如可以手写,可以 AI 帮你写,可以套模板
写提示词:不用想那么多,先写一个版本出来。就好比你在练习射击,别想太多,先瞄准开一枪。
测试提示词:得到第一个版本 Prompt 后,去测试你的提示词。
评估:拿到测试结果后,看看实际结果和你期望的结果有多大差距,差距在哪里。就好比你朝靶子开了一枪后,量一下离靶心多远。
如果评估结果达不到你设定的目标,那么就从第 1 步开始,基于上一个版本的结果继续迭代。有时候运气好,一次就得到了好的结果,有时候就需要反复迭代。

再比如上一次我创作 YouTube 字幕生成的提示词时,迭代了十几个版本,一开始是对格式不满意,后来发现它总是在段落中间加上时间戳,非常影响阅读体验,但是怎么在提示词里面强调让它不要在段落中间加时间戳都不起作用。

最后灵机一动在 Few-Shot 的例子里面,加了一个如果同一个人发言内容太长就拆分成两段显示的例子,终于是不会再在段落内加时间戳了。
所以回头总结一下,很多人写不好提示词,根源其实不是找不到好的模板,或者 AI 帮不了你,而是你是不是能评估出当前提示词生成结果离目标的差距,以及知道怎么调整。
这也是为什么专业领域的提示词,通常还需要有专业背景才能写得好,比如一个不懂编程的人去用 AI 编程,就算套用一堆的提示词模板,也一样难用 AI 写好,因为他们无法判断提示词生成的结果是不是满足要求,如果不满足差距在哪里,怎么调整。