前阵子在库拉KULAAI(k.kulaai.cn) 上对比各种AI模型和提示词工具的时候,发现一个有意思的事:同一个模型,不同人用出来的效果天差地别。不是模型的问题,是prompt的问题。
我自己也是从"随便写两句"过来的。后来花了两个月整理了一套框架,不说脱胎换骨,但输出质量确实肉眼可见地稳了。这篇文章把我的思考过程和实际踩过的坑写出来,不是教程,更像是笔记。
为什么你的prompt总是差点意思
大部分人写prompt的方式是这样的:脑子里有个模糊的需求,直接打字扔给AI,不满意就加一句"写得更好一点"或者"再详细一些"。
这种方式偶尔能蒙对,但大部分时候输出不稳定。有时候好有时候差,你也不知道为什么。
核心原因是prompt里缺少约束。你觉得自己说清楚了,但模型理解的方式可能跟你想的完全不一样。"写一篇关于AI的文章"这个prompt,模型可以写成新闻稿、技术博客、学术论文或者小学生作文。你没说清楚,它就随机选。
所以prompt工程的第一件事不是学习什么高级技巧,而是学会给约束。
我用的框架:四层结构
折腾了两个月,我最后沉淀下来的框架很简单,就四层:角色、任务、约束、格式。
听起来像废话?让我一个个说为什么每层都不能少。
第一层:角色
给模型一个身份。不是"你是一个AI助手"这种废话,而是具体的、有边界的身份。
比如"你是一个有五年电商运营经验的文案编辑"比"你是一个写作助手"好十倍。原因在于,角色定义会激活模型在对应领域的表达方式、术语习惯和判断标准。
一个"有五年电商经验的文案编辑"写出来的促销文案,跟一个"写作助手"写出来的东西,风格完全不一样。前者知道什么话能打动消费者,后者只会堆砌形容词。
但角色不能乱设。你说"你是一个诺贝尔物理学奖得主",然后让它写营销文案,模型会困惑,输出反而不伦不类。角色要跟任务匹配。
第二层:任务
任务描述的要点是具体,不是详细。
"帮我写一篇文章"是不具体的。"帮我写一篇800字的产品介绍,目标读者是中小企业的技术负责人,重点突出易集成和低维护成本"——这是具体的。
区别在哪?"详细"是加字数,"具体"是减少歧义。我见过有人把prompt写到五百字,其中四百字是背景介绍,核心任务只有一句话。模型根本分不清哪些是重点。
我的习惯是任务描述控制在两三句话以内,每句话只表达一个要求。多个要求就分点列,不要挤在同一句话里。
第三层:约束
这是大部分人最容易忽略的一层,也是提升最大的一层。
约束分两种:要什么和不要什么。
"要什么"的例子:语气要专业但不生硬、用短句、给出具体数字而不是模糊描述、引用真实案例。
"不要什么"的例子:不要用"随着XX的发展"开头、不要堆砌形容词、不要用"赋能""抓手""闭环"这类词、不要在结尾做总结升华。
"不要什么"往往比"要什么"更有效。因为模型有一个毛病——它特别喜欢用那些高频套路句式。你不明确禁止,它一定会写"随着人工智能技术的飞速发展"。
我现在的习惯是在每个prompt最后加一行"禁止事项",把已知的模型坏毛病列出来。两个月下来,这个禁止列表越来越长,但输出质量也越来越干净。
第四层:格式
告诉模型你想要什么样的输出结构。这一步很多人不做,结果模型自由发挥,格式每次都不一样,后处理很麻烦。
格式要求可以很简单:"分三个小节,每节一个核心观点,每节不超过200字"或者"用对比表格呈现,左栏是传统方案,右栏是AI方案"。
格式约束还有另一个好处——它会反过来约束内容。你让模型写"三个观点,每个200字",它就不得不精炼,不会写成流水账。
两个月下来的实际感受
用这套框架之前,我用AI生成内容大概有三成能直接用,剩下七成都需要大改。
用了两个月之后,能直接用或只需要微调的比例提到了六七成。不是模型变好了,是我给的信息更准了,模型发挥的空间更可控。
但我也发现一个天花板:框架能解决"稳定输出"的问题,解决不了"创造力"的问题。需要真正有创意的场景,框架化的prompt反而会限制模型的发挥。有时候随便写一句效果更好,你也不知道为什么。
所以现在我的做法是日常重复性任务用框架,需要灵感的任务随便扔一句话试试,两种方式交替用。
几个实操建议
prompt写完之后先跑三遍。如果三遍输出的风格和质量差距很大,说明prompt的约束不够,回去加约束。
不要试图在一个prompt里塞太多任务。模型处理多任务的能力比你想的弱。拆成多个prompt依次执行,效果通常更好。
把好用的prompt存下来。我用了一个文档专门存prompt模板,按场景分类。两个月积累了四十多个,复用率很高。好prompt不是一次写成的,是反复改出来的。
模型不同,prompt也要微调。同样一套prompt,扔给GPT和扔给Claude效果不一样。有的模型吃"角色扮演"这套,有的更吃"直接指令"。多试几次就知道各自的脾气了。
最后一句
prompt工程没有银弹。市面上那些"万能prompt模板"大部分是噱头,好用的prompt都是针对具体任务、具体模型、反复调试出来的。
我的这套框架不高级,但够用。与其花时间找完美模板,不如动手多写几个,跑几次,看看输出差在哪,然后改。这个过程本身比任何模板都值钱。