我做 AI 产品有一段时间了,不止一次遇到这种场景:团队拿着 GPT-4 跑出一堆烂输出,然后有人说"这模型不行,换 Claude 试试?"
我每次听到这话都觉得哪里不对。换模型当然可以试,但大多数时候,问题根本不在模型。
---
一个真实案例:Prompt 重写带来的合格率跃升
之前有个内容生成项目,早期的 Prompt 就一行:「帮我写一篇关于×××的文章」。合格率 23%。不是模型的问题,是需求文档写得太烂——你跟供应商说"帮我做个产品",结果当然是灾难。后来系统重写了 Prompt,加上角色、背景、任务要求、格式规范,合格率直接到 89%。模型没换,工程师没换,就这一处变化。
这个反差让我确信了一件事:Prompt 本质上是需求文档。
写 PRD 的时候,产品经理会花时间定义用户是谁、场景是什么、要解决什么问题、输出标准长什么样。写 Prompt 的逻辑完全一样——你在告诉 AI 它要扮演什么角色、在什么背景下工作、要完成什么任务、输出要符合什么规格。把 Prompt 当成"打给 AI 的字条"的人,和把需求当成"随口说一句"的产品经理,犯的是同一种错误。
---
Prompt 六要素框架:角色、上下文、任务、风格、格式、参考
我自己用的框架叫六要素:角色、上下文、任务、风格、格式、参考资料。六个不是每次都要全写,但每次都该想清楚。
角色不是角色扮演游戏,它做的事情是激活模型里特定的知识分布。大模型训练时看过天量文本,不同角色的知识结构和表达方式都编码在参数里。你写"你是一位有十年经验的内分泌科医生",模型就从那个子空间里采样,而不是从通用写作空间里给你一个平均值。这跟建筑师给设计师指定方向一样——同一个人,做医院设计和做商业综合体,调用的规范体系完全不同。
上下文是最容易省略、代价也最大的一块。你做的是给 45 到 65 岁用户看的健康科普,还是给医生看的专业文献综述?这两个场景的 Prompt 写出来应该完全不一样,但很多人直接跳过这步,然后抱怨 AI 不懂需求。
格式要求常被当成可选项,其实它决定了后续处理成本。要三级标题还是 Markdown 列表,输出要不要 JSON,字数限制是多少——这些写清楚,省下来的不只是 AI 的时间,还有你 review 输出的时间。
---
Few-shot 实测:3 个示例是性价比拐点
我曾在一个 B 端数据分析平台上专门测过 Few-shot 的效果,结论很直白:给 3 个示例,格式合规率从 61% 跳到 94%。给 5 个示例,只到 95%,几乎没有边际收益,但 token 消耗多了将近一半。
这个数字有一个实际的指导意义:大多数场景下,3 个示例是性价比最高的点。不用堆,堆多了没用还费钱。
Few-shot 有效的原因也很直觉:与其花大段文字描述"我要什么风格的输出",不如直接给三个样本让 AI 看。新员工入职,你给他看三份优秀周报,他写出来的东西会比你口头说"要有数据、要有重点"强得多。人类学习如此,模型的上下文学习(In-Context Learning)也是同一个逻辑。
---
Prompt 迭代:为什么"工程"两个字不是摆设
有一个误区值得单独说:很多人觉得 Prompt 写好就完事了,一次到位。这个想法本身就暴露了对 Prompt Engineering 的理解层次。工程意味着试错、版本管理、效果评估、持续迭代。一个稳定的 Prompt,平均要经过七到十二个版本才能成型。我参与过的一个数据分析报告项目,Prompt 迭代了十七个版本。另一个项目只迭代了四个版本就上线,结果一周后问题不断,最后回滚重来。
每个版本都值得记录:改了什么、为什么改、效果如何。这是工程师写变更日志的逻辑,也是产品经理写迭代记录的逻辑。不记录的迭代不叫工程,叫瞎改。
---
"魔法咒语"思维为什么有害
回到开头那个问题——为什么那么多团队拿到烂输出后第一反应是换模型?
一部分原因是"魔法咒语"思维在作怪。觉得 Prompt 是某种玄学,某些词汇有魔力,某些表达能触发 AI 的隐藏能力。只要找到正确的咒语,就能召唤完美输出。
这个思维框架从根上就错了。Prompt 没有魔法,只有规格。你的需求越具体、约束越清晰、示例越准确,AI 的行为边界就越可控,输出质量就越稳定。这跟软件工程里写接口文档是一回事——接口文档写得烂,上下游对接就会出问题,怪接口框架没有意义。
产品经理写 Prompt 的天然优势
从产品经理的角度看,这其实是一件很熟悉的事。我们本来就是靠把模糊需求转化为清晰规格来推动事情发生的人。Prompt 只是把这个能力用到了一个新地方:你的"用户"变成了 AI,你的"产品"变成了 AI 的输出。规则没变,工具变了。
---
我不打算给出一个"五步写出完美 Prompt"的清单,因为那又回到魔法咒语的路子上了。真正有用的是建立一个习惯:每次写 Prompt 之前,先问自己——如果这是一份给人看的需求文档,它完整吗?
角色定了吗?背景说清楚了吗?任务拆得足够具体吗?输出的格式和边界写出来了吗?有没有可以提供的参考示例?
问完这几个问题,Prompt 的质量下限就已经比大多数人高了。
剩下的,靠迭代。