前几天帮朋友调试一个自动化脚本,他在提示词里写了三行需求,结果模型输出的JSON字段缺了两个,模板渲染直接报了错。我让他把需求拆成“角色设定+任务清单+输出格式限定”三段式结构,跑了两次就稳定了。这件事让我想写一篇提示词工程实战总结。
提示词工程说白了,就是琢磨怎么跟大模型说话,让它稳定地干出你想要的结果。市面上讲概念的文章不少,但真正能直接抄到自己项目里的技巧和模板,反而要自己一个个试才知道。这篇文章整理了我这段时间用下来“立刻能上手”的10个提示词技巧,每一条都附了可直接套用的模板,文末还有一套我日常在用的模板库,适合做内容工具、写自动化脚本、做数据处理的朋友参考。
1. 提示词工程的底层逻辑:先搞清楚模型在猜什么
1.1 大模型不是搜索引擎,它是在“续写”
很多人把提示词工程理解成“把需求说清楚”,这没错,但不完整。大模型的底层能力是预测下一个token。你给它一段话,它在下意识里做的是“这段语境下,最可能出现什么内容”。所以提示词里出现的每一个词,都在给模型提供概率方向。
举例更直观。你输入“帮我写一封邮件”,模型大概率给你一封客客气气、四平八稳的通用邮件。但如果你输入“你是一家创业公司的运营负责人,要给一位潜在客户写一封邮件,对方上周试用了产品但没回复,邮件要简短、主动、不卑不亢”,模型的输出就会从“通用礼貌体”变成“特定场景下的推动性表达”。
关键点在于:提示词工程里,上下文比指令更重要。模型不是听懂了你的指令,而是顺着你给的上下文在续写。而这个“上下文”,主要就是通过角色、背景、示例、输出格式这几样东西来搭建的。
1.2 一套万能的提示词框架:角色+任务+背景+格式
我自己的习惯是,任何复杂提示词都套这个公式,不需要花哨技巧:
- 角色:告诉模型它现在是谁,有什么专业背景
- 任务:你要它干什么,尽量用动词开头,比如“分析”“总结”“改写”“提取”
- 背景:补充任务发生的场景、目标人群、约束条件
- 格式:输出的结构、顺序、数量、长度
这四个要素看起来简单,实际使用中它们的优先级却不太一样。我实测下来的感受,格式和角色的影响往往大于任务描述。举个例子,你让模型“把下面这段会议纪要提炼成三条行动项”,如果不说格式,它可能给一句摘要完事,也可能给五条建议。你只要补一句“每条行动项包含负责人、截止日期、下一步动作三个字段”,输出质量立刻稳定。
这也是为什么很多提示词模板看起来都差不多,但真正用得顺手的人,会反复打磨“格式”这一层。它相当于给模型的续写过程装了导航。
2. 10个立刻能上手的提示词技巧
2.1 技巧一:角色设定越具体,输出越有边界
角色设定可以说是提示词工程里投入产出比最高的一招。但很多人的角色设定写得太空——“你是一个专家”“你是一个助理”,这种设定对模型的约束力很弱,因为它没有给出任何判断标准。
我自己常用的写法,至少包含三层:身份、专业背景、输出立场。举个例子:
你是一位有5年内容增长经验的B站UP主运营顾问,擅长把复杂的技术概念转化成适合16-25岁观众理解的视频文案。请你基于下面这段产品说明,写出3条口播稿开头,风格要求是“轻松+悬念”,每条不超过50字,直接输出列表,不要多余解释。比单纯说“你是文案专家”要稳得多。原因是模型在受到具体角色约束时,会按这个角色的“语料分布”去续写,它的词表选择范围会被明显收窄,编造感也会下降。
2.2 技巧二:任务语句用“做什么”驱动,而不是“不要什么”
这个技巧是从工程领域迁移过来的。你写“不要输出无关内容”,模型反而更容易联想到无关内容。更好的做法是直接告诉它要输出什么。比如:
- 差:“不要解释太多,不要加开场白”
- 好:“直接输出最终结果,不包含任何解释、开场白或补充建议”
这两个指令给到模型身上,效果差异非常明显。前者它在理解时还得先把“解释太多”是什么样子解析一遍,反而激活了相关模式;后者清晰地框定了输出范围,歧义少很多。
在提示词工程里,要尽量把指令写成“正面的、唯一的、可判定的”行为描述。说得学术一点,就是降低模型的搜索空间,让它不用去猜你有没有漏掉“哪些不能做”。
2.3 技巧三:给定输出格式,让结果天然具备结构化
如果你需要模型的输出直接用于程序处理,这一步是绝对不能省的。我第一次用大模型做文本分类时,没指定输出格式,结果模型回了很长一段“根据您的文本分析,我们可以看出……”,程序直接崩溃。后来我在提示词里加了限制,所有结构化输出都稳定了:
判断以下评论的情感倾向(只能输出:正面/负面/中性),并给出置信度(0到1之间的小数)。 输出格式:{"sentiment": "正面", "confidence": 0.93}格式的约束不是写在纸上的,它会在模型的输出层形成一种强烈的概率引导。尤其是你给出JSON示例之后,模型会倾向于把全过程都严格对齐到这个结构里。
2.4 技巧四:用思维链诱导复杂推理
思维链是目前让大模型完成多步推理最有效的技巧之一。但它的使用场景不是万能的。数学题、逻辑判断、多因素对比这类任务比较适合;写文案、生成创意标题这类任务,加思维链反而会让输出变得啰嗦。
它的核心逻辑很简单:让模型把推理过程先写出来再给答案,而不是直接跳跃到结论。例子如下:
请回答下面这道题:某商品原价300元,先提价20%,再降价20%,最终价格是多少?请先写出计算步骤,再给出最终答案。如果直接问“最终价格是多少”,模型有相当概率算错;而先写步骤,它的计算接口会逐步被打开,中间过程的每个token都在帮它校准后续结果。
2.5 技巧五:用少样本示例代替抽象描述
告诉你一个经验:与其花一百字描述“你要的风格”,不如给出一个示例。提示词工程里把这个叫“少样本学习”,原理是模型能通过几个范例快速识别你期望的模式。
有一次我要模型把产品描述改成小红书的种草风格,我在提示词里写了不少风格说明:“语气亲切、有网感、多使用emoji、结尾要有互动引导”。结果模型的输出还是有点模板腔。后来我直接给了两条示例文案,一条原文、一条改后,再让它处理第三条,效果立刻提升。
少样本示例还有一个作用,是替模型划定了“什么算好”的边界。尤其当任务比较主观时,示例就是你对“好”的定义。
2.6 技巧六:条件约束写在提示词最后,防止被忽略
提示词不是越长越好。模型对长提示词的注意力分布并不均匀,中间部分的信息容易被削弱。我自己习惯把最关键的约束条件放到最后面,例如:
根据以下会议记录生成周报摘要,要求: 1. 不超过150字 2. 按照“完成事项、待推进事项、风险点”三部分输出大模型的注意力卡在早期和晚期都有强化现象,但结尾处的命令通常会被当成“最后的优先级指令”,执行度往往高于放在中段的文本。多个约束条件之间用编号分开,也能帮助模型理解优先级顺序。
2.7 技巧七:用一个变量占位符做批量处理
这个技巧做批量内容生成的人应该深有体会。写提示词时,把变化的部分抽象成变量,其余部分固定下来,这样同一个模板可以反复调用。
我经常用的写法是这样的:
你是资深电商文案策划。请为以下商品写上3条使用场景描述和一句卖点标语。 商品名称:{{name}} 核心卖点:{{feature}} 目标人群:{{audience}} 输出要求:每条场景描述不超过40字,卖点标语不超过15字。这套方式的工程价值在于,你不需要为每件商品重写提示词,只需要把变量抽出来,程序自动填充即可。在批量工作时,它的效率提升是以十倍计的。
2.8 技巧八:任务拆解成子任务,逐个击破
我的经验是,一次提示词里不要堆太多的任务。你让模型“先总结,再翻译,再提取关键信息,最后给出建议”,它会尽力完成,但每一个子项的质量都可能会打折扣。
更好的做法是把一个复杂任务拆成两次或三次调用。比如第一步让模型提炼关键内容,第二步再拿着提炼结果去生成摘要,第三步再做风格改写。每一次子任务都比较纯粹,模型的输出质量会明显更稳。
这个技巧尤其适合要给内容做二次创作的朋友。你直接让模型把一段2000字文章缩写成50字摘要,效果远不如“先提取核心观点,再给核心观点写摘要”来得准。
2.9 技巧九:设定“不确定性”边界,让模型承认不知道
很多人担心模型会一本正经地胡说八道。提示词工程里有一种技巧,可以明显降低这种情况:在提示词里明确允许模型表达不确定性。
写法很直接:
如果问题中的信息不够充分,请直接回复“信息不足,无法判断”,不要推测。只有在证据充分的情况下才给出结论。加上这一句之后,模型在信息不足时会倾向于保守。在一些需要高可靠性的应用里,比如数据分析、法律咨询、医疗建议类工具,这个技巧非常关键。它本质上是在调整模型的“阈值”,让它在不确定时不硬编一个答案。
2.10 技巧十:用温度和多轮对话配合提示词
提示词之外的超参调整,也能带来质的改变。做创意写作时,可以尝试把温度参数调高一些,让输出更有随机性;做信息提取和分类时,温度尽量调低,输出更稳定。
多轮对话也是提示词的一部分。有一次我需要模型持续优化一段文案,单轮完成的效果总是不尽如人意。我改成多轮方式:第一轮生成初稿,第二轮指定“口语化一点”,第三轮指定“把截止日期改成更柔和的表达”。每轮只处理一个方向,几轮下来文案的完成度就高了很多。
这里也提个醒:多轮迭代的成本高于单轮,如果你的提示词工程还没把第一轮的格式和约束做好,不建议直接靠多轮补。
3. 模板库:我平时一直在用的六组提示词模板
3.1 内容提炼模板
这个模板是我做日报和会议记录时最常用的,稳定性和格式好到可以直接投喂给后续程序。
你是企业运营助理。请将下面输入的会议记录转化为结构化摘要。 输出格式: 完成事项:(列表形式,不输出与讨论相关的废话) 待推进事项:(每项需包含责任人和时间节点) 风险点:(如无风险输出“无”) 内容输入如下: 【】用这个模板时,不要再额外加“请准确”之类的话,格式已经足够收敛。加了反而可能扰动模型对格式的专注度。
3.2 文案改写模板
适合做公众号、小红书、知乎等平台的内容二创。它的特点是融合了角色设定和少样本示例。
你是擅长撰写社交媒体文案的编辑。请将下面的原文改成符合小红书风格的内容。 要求: - 语气亲切口语化,减少书面语 - 加入合理的emoji点缀,但不能每句都加 - 结尾附加一个互动提问来引导评论区讨论 - 原文关键信息要保留 # 示例 # 原文:这款保温杯采用316不锈钢内胆,保温12小时。 改写:这个杯子我这个冬天真的离不开了,早上倒的热水,下班了还是烫嘴的那种,谁懂啊!你们平时通勤都用什么杯子呀? # 原文开始 # 【】技巧不复杂,核心在示例的选取。示例里表达的情绪要和产品调性一致,否则风格会被带偏。
3.3 数据分析解读模板
这是一个典型的“任务拆解+格式限定”组合。做数据周报时,不用再把一长串数据丢给模型。
你是一名经营分析顾问。请根据以下数据表,找到3个趋势特征,并给出每条趋势的可能解释。 数据表: GMV:132万,环比+8%;订单量:5700单,环比-2%;客单价:231元,环比+10%;退货率:6.5%,环比+1.2% 输出格式: 趋势1:【指标变化描述】 可能原因:(不超过两句话) 趋势2:【…】这个模板的关键在于数据字段要清晰,如果数据本身格式混乱,模型的分析质量会明显下降。建议先把数据整理成“指标:值”的一行式结构,模型解析会容易很多。
3.4 代码生成模板
写代码场景下,最影响输出质量的是边界条件描述不清。下面这个模板对“输入输出”做了强制约束,我用它来生成数据处理脚本时,一次通过率很高。
你是Python开发工程师。请编写一个函数完成以下任务: 函数名:count_keywords 输入:一个字符串text,一个关键词列表keywords 任务:统计text中每个关键词出现的次数,返回dict,key是原关键词,value是出现次数 要求: - 关键词匹配时忽略大小写 - 不做子串重复计数(如“苹果”已匹配,不再在“苹果派”中重复计) - 返回结果按出现次数降序排列 请只输出完整代码,不要解释。注意,我加了“请只输出完整代码”而不是“不要输出无关内容”,这是技巧二的标准写法。
3.5 结构化提取模板
信息抽取类任务,最怕模型遗漏字段。这个模板利用整型描述来规范输出,实测在10个以上字段的抽取任务上也很稳定。
请从下面的简历文本中提取候选人信息,按如下JSON结构输出: {"姓名": "", "年龄": "", "工作年限": "", "技能": [], "最近一家公司": "", "最近岗位": "", "项目亮点": ""} 注意:缺失字段留空,技能最多提取5个。 文本内容: 【】输出的JSON我做了一层“缺失留空”的兜底,模型在字段信息不足时会自动填空,避免发散的改写。
3.6 多轮对话角色模板
搭建客服机器人或者问答系统时,这个模板值得直接套用。
你是某智能家居产品的售后客服,你的语气专业且温和。在回答用户问题时,遵循以下规则: 1. 先用一句话确认用户问题,再用解决方案回复 2. 如果问题超出产品使用范围,礼貌说明无法回答,并引导用户联系售后热线 3. 回答不要超过80字 4. 当用户情绪激动时,先回应情绪,再解决问题这套模板好在它把“异常路径”都预先定义好了,模型不至于在用户情绪化时生硬地重复官方话术。
4. 实操中的经验:提示词迭代的四个基本步骤
4.1 从“能跑”到“稳定”,多做对比测试
我踩过的最深的坑,是在一个效果还不错的提示词上原地不动。你第一次写出来的提示词,往往只达到了“能跑”的水平,距离“稳定”还有不小的距离。判断一个提示词是否稳定,有个简单标准:同一个任务跑10次,输出差异很小,才算及格。
要提升稳定度,就得做对比测试。同一组输入,分别用两个版本的提示词跑,对比输出的格式一致性、信息完整度、有无冗余内容。不用很复杂,Excel拉个表就能记录。这样迭代个两三轮,提示词的效果就会上一个台阶。
4.2 记录“失败样本”,比记录成功样本更有价值
我有一份属于自己的“失败案例库”,专门记录模型被我调教翻车的场景:既要这个又要那个结果两边都没做好、示例风格和任务不匹配、输出格式和实际代码解析有出入。每条后面都备注了修改思路。
比如有一次我用示例时,示例里有两个关键信息点,但这两个信息点跟目标任务的方向不对齐,导致模型的输出反而偏离了任务。我把这个案例记下来后,以后写示例时,会先检查示例中的信息是否和目标任务保持同一维度。
4.3 控制提示词长度,不是越长越好
提示词长度的合理边界,比多数人想象的要窄。如果你发现自己写了500字还是没说清楚需求,这时优先考虑的不是继续补充描述,而是把任务拆成两块。
长提示词有三个问题:消耗更多token、模型注意力衰减、修改成本高。我习惯把提示词控制在150-250字之间,必要的细节放到示例或输出格式里表达,而不是用长句去描述。
4.4 利用并行测试搭建自己的“提示词工作台”
日常工作中,我习惯把多个提示词版本放在同一份文档里,用统一格式去写版本号、使用场景、最后效果。这样做的好处是,当你面对不同场景时,能快速调出历史方案,而不是每次从头开始构思。
这个工作台也可以做成一个集成环境,用变量填充的方式来管理模板。尤其当提示词需要服务多个使用方时,维护一套标准的模板库比每个人各自维护自己的版本要可控得多。
5. 不同场景下的提示词工程实战案例
5.1 电商文案批量生产场景
朋友做电商代运营,每周要输出将近100条商品种草文案。原来他全靠手写,一天最多写15条,后面直接把模板库里的“文案改写”套上,配合参数调整,每条文案用变量结构填充,半小时能完成一整周的文案量。
他的流程是这样:先把产品数据整理成一张表,列有商品名、卖点、目标人群;然后用程序循环读取每一行数据,填入提示词模板,调用接口拿结果;最后人工筛选修改一遍,保留明显有亮点的,标记返回较差的,把不合格样本记录到一个sheet里。两周下来,合格率从60%提升到了85%左右。
5.2 会议纪要自动整理场景
有位产品经理分享过他自己的用法:会议是用录音转文字全程记录下来,他会把转写后的文本直接喂给“内容提炼模板”,要求模型只保留跟决策有关的信息。原来整理一次会议纪要需要半小时,现在转写好之后交给模型,五分钟左右就能拿到初稿。
这里面有一个很关键的环节:转写文本通常带有大量口语和打断,直接喂给模型会产生较多噪音。他的解法是先让模型做一轮“去口语化”处理,去掉无效语气词和重复表达,再做结构化摘要。这其实就是任务拆解的应用——把最终目标拆成多个步骤,每步交给模型单独处理。
5.3 客户工单分类场景
客服工单分类是提示词工程里结构化输出的经典应用。传统的做法是训练一个分类模型,数据标注、模型训练、上线维护,周期长成本高。现在只需要写一个分类提示词,让模型输出结构化的分类结果即可。
常见的格式是这样的:
将下列用户反馈分为以下三类之一:功能咨询、故障报修、使用建议。 输出JSON格式:{"category": "", "reason": "", "keywords": []} 用户反馈: 【】这里值得留意的细节是reason字段。最开始我只让模型输出类别,后来发现模型偶尔误判,单独看结果也不知道为什么。加上reason以后,一方面可以校验分类逻辑,另一方面这些理由还可以作为训练数据,后续再做更精细的模型时直接投入使用。
5.4 学习辅助工具场景
有朋友把大模型接进了一个学习工具里,做一个“错题讲解助手”。她用的提示词很有意思,不是让模型直接解答,而是让它“扮演一个不爱直接给答案的导师”。
提示词大致是:
请根据以下题目和学生的错误答案,引导学生自己推导出正确答案。规则: 1. 先指出学生答案里“哪里值得注意”,不要说“错了” 2. 通过连续提问方式,引导学生发现矛盾点 3. 给出最终提示后,让学生自己写出正确答案 4. 全程不超过150字 题目:【】学生的答案:【】从这个例子里你能看出来,提示词工程不只是“更准确地让模型干活”,它还能定义模型的“行为风格”。同样是解题,指令的不同会让最终产品体验完全不同。
6. 实用工具推荐与配套工作流
6.1 提示词管理工具的选型思路
我试过市面上多款提示词管理工具,说实话,功能繁多的反而不如简洁的好用。提示词管理工具的核心应该只有三个能力:模板存储、变量填充、版本对比。
有些工具做得太重,有团队协作、权限管理等功能,单个用户根本用不上。如果你只是一个人或一个小团队在做提示词工程,用Notion文档、飞书表格、或者Git仓库都够用。真正关键的是要建立一套自己习惯的“命名-分类-版本”规则,而不是工具本身。
6.2 调试工具的必备能力
调试提示词时,我比较依赖三类工具:支持多轮对话对比的、支持参数可视化的、支持批量测试的。
多轮对话对比用于评估长上下文场景下模型的记忆效果;参数可视化可以直观看到温度、top_p对输出风格的影响;批量测试则是验证模板稳定性的最快路径。市面上的主流API调试工具大多有这些功能,只是入口和交互方式不同,选一个趁手的就行。
6.3 从“靠感觉调提示词”到“有数据地调提示词”
最开始我也是靠感觉在调提示词:觉得输出不够好,就换个说法,再跑一次,碰运气。后来总结下来,这种方式的偶然性太大。
现在我的工作流是:先从历史记录里找出最近5个失败样本,分析它们是不是有共性;如果都是格式偏差,就针对输出格式做强化;如果都是内容质量偏低,就调整示例或补充角色背景。每一步都有一个明确的修改目标,而不是两头一起改,因为同时修改多个变量时,出了问题往往定位不到根因。这里的核心思路是“一次只调一个变量”,和做实验的原则完全一致。
6.4 提示词测试集:像维护软件用例一样维护提示词
如果你打算把提示词工程能力长期沉淀下来,我建议建一个专属的“测试集”。测试集就是一组固定输入和预期输出的正交集合,每个提示词改动后都拿这一组数据去回归一遍,观察效果有没有提升。
这个习惯一开始会有些麻烦,但作用会在积累到二三十条的时候体现出来。你会逐渐掌握每个模板在边界条件下可能出的问题,也能在升级模型版本、更换模型供应商时,快速判断哪条提示词“换了模型就不灵了”。
7. 避坑指南与心得总结
7.1 最容易踩的五个坑
第一个坑:把提示词写得跟文章一样长。提示词和写作不一样,它是给模型的“结构化指令”,而不是你的草稿纸。堆砌大量背景介绍,模型反而抓不住重点。
第二个坑:对模型的能力过分夸大或低估。很多人在这两个极端之间摇摆。要么觉得“模型什么都能做”,把特别复合的任务直接丢进去,最后效果不稳定;要么觉得“模型什么都做不好”,索性什么事情都自己手工处理。提示词工程的前提是基于模型能力做合理分工,该拆的任务要拆,该交给规则代码的地方还是要交给代码。
第三个坑:示例和任务不一致。前面提过,示例会划定输出风格的边界。如果你的示例里全是文艺写法,但任务是写产品功能说明,输出就会偏向词藻堆砌。
第四个坑:从不做回归测试。模型版本更新后,之前稳定的提示词效果可能发生变化。如果一直在线上用同一个提示词而不更新,某天突然劣化了都会找不到原因。回归测试不是能不能做的问题,而是必须做的问题。
第五个坑:忽视了上下文长度。有些提示词模板本身没有问题,但在对话轮数变多后模型开始“忘事”。如果任务比较长,建议定期把关键前提重申一遍,或者让模型在输出前先回顾一遍上下文。
7.2 我的几点心得
提示词工程没有标准答案,但有一条主线:它始终是概率引导的艺术。你给出的信息越能缩小模型的预测空间,输出的稳定度就越高。所以学习提示词工程,与其学套路,不如学原理——理解模型如何预测、如何分配注意力、如何受示例影响。把原理吃透后,任何新场景你都能自己拆解成一套有效的提示词。
我自己的工作习惯是,每周抽点时间把当周跑过的提示词做过一次复盘,记录哪些改进了、哪些无效。积累到一定量级后,你做提示词的速度和精度会形成质的飞跃。就像学任何一门手艺一样,上手靠模仿,精通靠复盘。
7.3 提示词工程的下一个阶段
与其说明天模型会发展成什么样,不如让思维回到一个弹性的状态。提示词工程这个领域,表面上是在研究“怎么跟模型沟通”,本质上是在研究“怎么把人类需求转化为机器可执行的表达方式”。这个能力,不只是今天有用,往后的应用空间还很大。至少我现在的判断是,花在理解“如何准确、无歧义、有结构地表达需求”上的积累,不会白费。
如果你刚开始接触提示词工程,希望这篇文章能帮你少踩一些我当初踩过的坑。文中的所有模板,直接拷走改改就能用。如果你在使用过程中发现了更好的写法,那正是这件事最有趣的地方——大家可以一起把公共的模板库边界再推大一点。