同一个提示词换 AI,结果差很多怎么办
烧烤店那个小程序交付后我只写了不到 20 行手写代码,剩下的都是 AI 出的。交付完我想把同一套提示词挪去写另一个模块,换了个模型,出来的东西直接不能看。同一个提示词换个AI结果差很多,这事儿我踩了不止一次,最贵的一课是别把提示词当成能跨模型搬运的资产。
一、最贵的一课:我以为提示词是可移植的
我一直有个错觉:提示词写得好,就是一段通用资产,换谁执行都一样。现实是同一段话,在一个模型上能直接跑,在另一个模型上会漏掉一半约束条件,或者把结构改了。
那次我图省事,直接把为 A 模型调好的提示词丢给 B 模型。结果它没报错,它只是安静地少做了几件事。比报错更麻烦的就是这种:你得自己一条条对回来。
二、坑一:把「会做」当成「会按你的方式做」
现象是输出看着挺像样,实际约束没生效。原因在于每个模型对「默认行为」的理解不同,你没写死的地方,它会按自己觉得合理的方式补。
怎么避:凡是不能被它自由发挥的部分,都在提示词里写死。格式、字段名、边界条件、要不要解释,一条条列清楚。我现在的习惯是,提示词末尾固定留一段「不许做」的清单,比正文还长。
三、坑二:一次改太多,最后不知道是谁的问题
换模型之后效果差,我第一反应是提示词不行,于是大改。改完更差,因为我已经分不清是模型差异导致的,还是我改坏了。
怎么避:换模型的那一次,提示词一个字都不要动。先拿原样的提示词跑一遍,看差在哪,再决定改什么。
这跟调程序一个道理:一次只改一个变量,否则你永远不知道是哪次改动起的作用。
四、坑三:把模型的输出当成提示词的功劳
顺的时候我容易归因错误,觉得是自己提示词写得妙。其实不少时候是那个模型本身强,跟我怎么写关系不大。同一个提示词换个AI结果差很多,反过来也说明顺的时候未必是你的功劳。
怎么避:用同一段提示词在两个模型上各跑一遍,做对照。跑之前就想好怎么判断结果好坏,不然跑完还是靠感觉。
判断结果这件事本身就有一套检查点,我在怎么判断 AI 的输出对不对里拆过。
五、我的止损清单
- 提示词改到第三版还不对,就停下来换思路,别继续在措辞上磨
- 换模型只改模型,不改提示词,一次一个变量
- 新模型的第一次输出必须逐条对约束,不看着像就收
- 给每个模型留一份自己的提示词副本,别共用一份
- 结构问题优先于内容问题,格式都稳不住就别谈质量
这五条里最有用的是最后一条。格式不稳的时候,内容好不好根本没法判断,你连它在说什么都得猜。我后来专门写过一篇AI 输出格式不稳定,我用这 4 招锁住,就是被这件事逼出来的。
六、同一个提示词换个AI结果差很多,到底怎么处理
我的处理方式很简单:承认提示词是有归属的,它属于某个模型。
我不再维护「通用提示词」,而是按模型各留一份,各自迭代。这不是提示词写坏了,是我一开始对它的定位就错了。
我真要跨模型搬,就得接受重新调一遍的成本。同一个提示词换个AI结果差很多,接受的成本越低,越不容易反复浪费。
常见问题
Q:同一个提示词换 AI 结果差很多,是提示词写得不合格吗?
A:不一定。更常见的原因是提示词里有很多依赖模型默认行为的留白,换个模型留白就被填成别的了。先把留白补上,再判断提示词本身的质量。
Q:换模型之后输出变差,应该先改提示词还是先换回去?
A:先换回去。用同一段提示词在原模型上再跑一遍,确认差异确实来自模型,再决定要不要为这个模型专门调。顺序反了,你会一直改错东西。
Q:有没有一套能通吃所有模型的提示词写法?
A:没有能保证通吃的。能做的是把约束写得更死、格式写得更明确,这样换模型时的落差会小一些,但还是要重新验一遍。
相关阅读
- AI 写业务逻辑为什么总漏,我找到 3 个原因
- AI 输出格式不稳定,我用这 4 招锁住
- 写提示词要不要学框架,我只留了 3 个套路
- 怎么判断 AI 的输出对不对,3 个检查点
- 怎么提高 AI 生成代码的准确率,5 个动作
本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。
完整代码、踩坑清单与最新进展,都在公众号。
📱 关注公众号「西米分享」