
说个真实体验同样一个模型有人用它写出了一整套可落地的方案有人来来去去只能得到一堆“正确的废话”。我有一段时间也在“废话”这一侧总觉得模型听不懂人话。后来才意识到问题根本不在模型而在提示词本身——那不是一组随便组合的句子而是一段需要设计的输入。提示词工程听起来玄乎说白了就是搞清楚模型怎么“读”你的话再把你的需求翻译成它最擅长处理的形式。这篇文章不讲高深理论我把平时自己在用的10个提示词实战技巧整理出来附带一套可以直接改的模板库适合所有正在跟大模型打交道的人不管是写文案、做分析、写代码还是试图让AI干点实际活计的朋友。我把底层机制放在前面说是因为不搞懂这一点后面所有技巧顶多算是碰运气搞懂了你会发现每条技巧都能自己生发出新变体。1. 提示词底层逻辑为什么同一个模型在不同人手里是两个水平1.1 模型不是“理解”你的话而是在算注意力大语言模型做的最核心的一件事是预测下一个词。它会根据你给的所有文字计算每个词跟其他词之间的关系最终决定下一个最合适的词是什么。这个计算过程里有一环特别关键注意力机制。注意力机制决定了模型在生成下一个词的时候会更“依赖”上下文中的哪些词、哪些句子。你写在提示词里的内容从第一个字到最后一个字不会被模型一视同仁地对待——前面和后面的内容往往比中间的内容拿到更高的注意力权重被重复提起的关键词权重会更高用明确指令写的句子会比闲聊式背景信息更容易影响输出方向。很多人把提示词工程当成“跟AI说话的艺术”但本质上它更像是在安排一场注意力分配。你把哪个信息放在了权重高的位置模型输出的方向就往哪里偏。有一个类比我觉得很贴切大型语言模型像一个拿到了一堆资料的高效率实习生他理解能力没问题但判断不了哪份资料更重要。你给他的资料里重点信息藏得越深、说得越乱他产出的东西就越容易被次要信息带偏。1.2 上下文窗口你的信息预算就这么多模型一次性能处理的token是有限的这被称为上下文窗口。窗口越大你能塞进的信息越多但这并不意味着塞得越多越好。当输入的文字非常长时每一条信息能分到的注意力权重会被稀释就像一锅水放太多盐最后反而是咸味掩盖了你想突出的味道。所以提示词工程的第一课不是“把需求描述得越详细越好”而是学习如何在有限的上下文里做信息分配。什么内容该放在最前面什么内容该放在材料区什么内容可以直接丢掉这比堆砌大量形容词和背景说明重要得多。我在实际项目里经常做的一步就是反复压缩提示词字数同时确保核心约束一个不少。大多数情况下删完一半字数之后输出质量反而提升了。1.3 从提示词工程到上下文工程一个正在发生的认知升级最近行业里有一个趋势挺明显——很多人开始意识到提示词只是模型消费的上下文的一部分真正决定输出质量的是模型在生成那一刻看到的所有内容。系统提示词、用户消息、历史对话、外部检索出来的资料、工具返回的报错信息这些合在一起才构成完整的上下文。所以现在更准确的说法是上下文工程。提示词优化解决的是“这条指令怎么说”上下文工程解决的是“模型这一轮生成的依据到底是什么”。做单一任务的时候这两者差不太多但一旦做多轮复杂任务或者开始接入外部数据你就必须切换到上下文的视角把自己的工作重心从“雕琢一句话”变成“管理一段信息环境”。这也是本篇后面几个技巧的核心出发点。不要把自己局限在提示词的框里模型消费的是你的整个输入提示词只是其中影响权重最高的那部分。2. 基础技巧1-5把沟通意图讲清楚模型才能不跑偏2.1 目标前置最重要的指令永远放在第一条注意力机制决定了提示词开头的指令获得的权重最高。这一点直接影响提示词的结构设计核心目标放最前面背景材料和详细说明放中间格式要求放后面。反例是这样的我最近在一家互联网公司做运营负责一个美食类公众号粉丝大概5万最近掉粉有点厉害我想了很多办法都没效果可能还是内容选题的问题你能不能给我一些建议比如什么样的选题方向比较好要不要写探店还是做菜谱教程我挺纠结的你帮我出出主意。这句话信息量大不大大。但模型需要从一堆背景信息中自己“猜”出你真正想要的是什么——你想要的是选题建议。实际效果基本是模型顺着“纠结”两个字把话题带跑输出一堆泛泛的鸡汤建议。正例是把目标放最前请为美食类公众号设计5个选题方向目标群体是25-35岁的都市女性方向需围绕“一人食”主题要求每个方向配2个具体选题示例和1个标题参考。两段话覆盖的信息量差不多但输出的稳定性天差地别。写提示词跟写新闻稿的倒金字塔结构有点像最重要的事放在第一句然后才是补充信息。这个习惯一旦养成你会发现模型的理解准确率有明显提升。2.2 定义成功标准告诉模型“做成什么样算是好”我见过最多的问题提示词是要求部分写得非常抽象——“请详细分析”“请深入解读”“请全面评估”。问题在于“详细”“深入”“全面”这些词在模型那里没有可执行的边界。多详细算详细写到什么程度算深入模型不知道它只能凭概率猜。让模型知道任务完成的标准是什么输出稳定性会好很多。试着把抽象形容词替换成可量化的要求抽象要求可验证要求详细分析分析原因时列出5个关键因素并按影响程度排序深入解读从背景、过程、影响、争议4个维度展开每个维度不少于200字全面评估给出3个优点和3个风险每个点用1句话概括观点1句话补充论据优化这篇文章保留原意将字数压缩到300字以内删除所有形容词这个技巧我几乎在每个项目里都用。核心逻辑是模型非常擅长“朝着明确目标前进”但非常不擅长“自己制定目标”。成功标准其实就是把你脑子里“什么算做好了”这个判断标准外显出来写进提示词里。2.3 角色设定不是随便说一句“你是专家”就完了角色设定确实有效但前提是用法得当。如果你只写“你是资深的营销专家”模型确实会切换到专家口吻可输出的内容往往还是内容质量平平的套话。原因很简单它训练数据里自称专家的内容太多了光靠角色名无法筛选出高质量的那部分。更有效的角色设定是给角色加上具体的背景、立场、资源边界。比如你是一名在快消行业做了8年的电商渠道负责人服务过3个年销售额过亿的品牌。你习惯用数据说话不喜欢空泛的理论。现在公司给一个新锐零食品牌做电商增长方案预算只有同行的一半你只能在预算框架内给建议。这个角色设定比“你是资深电商专家”强大得多。为什么因为你在限定模型的采样范围。它不再是从所有和“专家”相关的语料里随机选一种口吻而是被约束到具体的行业、年限、风格、条件里。这就像你请顾问只说“请个专家来”和“请一位懂快消、做过电商、预算紧张期成长起来的操盘手来”后者给的建议肯定更对症。角色设定的信息量越大输出越不跑偏。但注意这里有一个度跟专家背景无关的冗余信息不要加比如“你喜欢蓝色、平时喜欢跑步”这种内容加了反而稀释注意力。2.4 用负面约束划边界告诉模型“不要做什么”很多人在提示词里只写“要做什么”不写“不要做什么”。但模型的指令遵循并不是无限容量的。你一次性给它20条要求它执行的时候会顾此失彼不如精简核心指令把真正容易翻车的地方用“不要做”的形式明确排除掉。负面约束要具体不要泛泛而谈。“不要瞎编”对模型几乎没有约束力因为它并不觉得自己在瞎编。更有效的写法“不要引用没有在材料中出现过的数据。”“不要使用夸张的营销用语如‘全网第一’‘史上最强’。”“不要提供超出我给定角色视角的建议。”“不要在每个段落最后加总结。”我实测下来负面约束对输出质量的影响有时候比正面指令还大。原因是模型在生成时会把你的提示词当作一种隐形的过滤器你画出红线它就会主动避开这些区域。但负面约束不能写太多优先级最高的3-5条即可写多了权重同样会被稀释。另外说一个关键点负面约束尽量写在提示词靠后的区域。正面目标开头定方向负面边界收尾防越线这个结构比较稳定。2.5 把抽象动词换成可验证动作“分析”“讨论”“解读”“评估”这些动词是提示词里的雷区。它们描述的是宏大的动作但缺少可执行的细节。模型会把“分析”理解为“围绕这个主题写一些看法”然后给你产出一篇万金油式的散文。我把常用抽象动词整理成一套可以互换的表达一直在自己的提示词库中使用不要写可以换成分析这个问题列出3个主要原因并为每个原因提供1个事实依据总结这篇文章用5个要点概括文章核心信息每个要点不超过20字比较这两个方案从成本、周期、风险3个维度对比两个方案最后推荐1个提出建议给出3条建议每条附带适用场景和预期效果评估风险列出5个潜在风险标注发生概率和影响程度表面上看这只是换了个说法实际是在改变模型的生成策略。“分析”让模型自由发挥它会在概率空间里随机游走“列出3个原因并按影响排序”则是一个明确的路径模型每一步都知道自己在做什么。这个方法也适用于日常生活里跟AI的交互。你把问题从“我该怎么办”改成“告诉我三种可能的方案并分别说明代价和收益”获得的答案价值完全不同。这不是表达习惯的区别而是信息设计水平的区别。3. 进阶技巧6-10处理复杂任务与连续对话3.1 先想后说让模型走中间步骤再给答案有时候你问一个复杂问题模型直接给出答案结果经常是错的或者像在糊弄。有一个技巧很实用不让模型直接跳到最终答案而是要求它先把思考过程拆解成几个中间步骤再给出结论。比如排查代码bug你直接让它“找问题”它的回答往往会泛泛指出几个潜在可疑点但你这样写第一步用简短的话说明这段代码的功能 第二步指出3个最可能导致bug的代码片段并说明原因 第三步基于第二步的判断给出修复方案 第四步说明修复后可能引入的新问题。效果会有显著提升。这背后的逻辑是“思维链”的简化工程版模型先处理一层任务把中间结果保留在生成文本里然后基于这些中间结果继续推导。中间步骤本身就成了上下文的一部分相当于模型自己给自己做了二次提示词。不要把这个技巧用在小任务上比如问“杭州今天天气怎么样”你不需要这些步骤。它适合中等以上复杂度、需要多维度考虑的任务。我个人的判断标准是如果我自己回答这个问题需要想超过30秒就用这个技巧。3.2 少样本示例一个例子顶十句解释有时候你用文字怎么解释都说不清楚这时直接给模型看例子。所谓少样本示例是在提示词里放入2-3组输入输出的对照让模型通过模仿来理解你的要求。用改写句子来举例。如果你写“请把这句话改得更专业”模型大概率会给你换上几个生僻词反而更别扭但如果你给一个对照输入我们产品很好用。 输出我们的产品可帮助用户在15分钟内完成数据报表制作比传统方式节省约40%的时间。再输入一句让它改写它就会照着这个示例的句式、详略程度、数据使用习惯来输出。示例的作用本质上是在告诉模型“我要的不是专业感是这种结构和语气”。语言文字描述不清楚的地方示例一次就能对齐。使用示例时注意一个细节示例质量必须高。模型会不自觉地模仿示例的风格甚至错误你给它一个烂示例它会学得更快。另一个细节是示例数量不必多2-3个即可多了会挤占提示词长度而且收益边际递减。3.3 大任务拆多轮一次只让模型干一件事在同一个提示词里要求模型完成太多事情它是能完成的但每一部分的完成度都会打折扣。这个问题在大任务上特别明显比如“帮我写一份品牌年度营销方案包含市场分析、人群洞察、渠道策略、内容计划、预算分配”。表面上模型都给了实际上哪里都是蜻蜓点水。我的做法是拆成多轮对话。以写方案为例我会先用第一轮对话确认目标“请结合品牌年度目标把今年市场营销要解决的核心问题列成3个并标注优先级。”模型给出这一点之后我再基于这个结果追问“针对优先级最高的问题请给出主要目标人群的画像和核心需求。”每一轮都把上一轮的输出作为下一轮的输入相当于你在带模型一步步接近目标。这个方法之所以有效是因为模型每个回复的处理深度是有限的。你把一个大问题拆成几个小问题依次处理每个问题的输出都能拿到更充分的注意力。本质还是在做上下文工程每一轮的输出都被保留到上下文里成为下一轮更有针对性的提示词基础。3.4 把事实材料变成提示词的真实主体很多任务失败不是因为模型笨而是因为它没有看见你掌握的材料。你的私域数据、公司内部文档、项目背景资料只要不放进上下文模型就只能“凭印象”回答结果自然是编造的。正确的做法是把材料直接写进提示词里。基本结构是材料区将原始文件内容粘贴到提示词前半部分并明确用分隔符号标记。 指令区明确要求模型只能依据材料回答不加入材料外的知识。 兜底句如果材料中没有相关信息请直接说明“材料中未找到相关信息”不要自行推断。比如背景材料 ——— 粘贴内容 ——— 请基于上述材料回答…… 如果材料中没有相关信息请直接说明不要编造。这里的“兜底句”是专业场景下的保命符。没有它模型面对信息缺口时会自动调用训练数据补全编出一个看起来可信但不一定存在的内容有了它模型会走“承认不知道”这条路。材料、指令、兜底构成了一个可靠的事实问答结构。3.5 主动重复用多轮运行和对比来降低随机性大语言模型的输出天然带有随机性这不是bug是特性。同一段提示词跑几次结果可能不一样。很多人遇到这种情况就以为提示词写得不好开始胡乱改反而越改越差。正确姿势是主动利用这种随机性。当你需要高质量方案时不要只跑一次跑三次甚至更多次把几次结果放在一起对比取长补短。你还可以在提示词里直接要求模型给出变体方案“请输出2个具有不同侧重点的方案一个偏稳健一个偏激进并说明各自适用场景。”最极端但有效的做法是让模型扮演多个角色对同一个问题给出不同视角的回答。比如做决策时让它先以财务视角分析再以用户视角分析再以竞争对手视角分析。多视角内容放进同一个上下文之后你可以要求它基于这些观点做综合判断效果往往比单一提示词好得多。说白了抽卡策略就是在承认随机性的前提下把随机性变成用于探索的工具。不要期待一次写对提示词而是建立一套快速生成、对比、择优的迭代循环。4. 模板库可以直接套用改写的提示词结构4.1 万能任务模板这个模板是我最常用的基础结构覆盖了提示词的核心要素目标、背景、成功标准、输出格式、约束边界。做任何任务都可以先套这一版再按需增删区块。# 目标 【用一句话描述你希望模型完成的具体任务】 # 背景 【提供完成任务必需的材料包括数据、原文、场景说明等】 # 成功标准 【用可验证的指标描述什么算合格如列出3个原因、每个要点不超过50字】 # 输出格式 【描述你希望输出的组织形式如用表格展示、每个方案附推荐理由、分点列出】 # 约束边界 【写2-3条负面约束如不要编造材料外的数据不要使用夸张形容词】实际使用时背景这个区块最容易被漏掉。很多人直接写目标、要格式就开始跑。你少给的每一个背景信息模型都会用自己的猜测补上猜错的方向就是跑偏的输出然后你再回来返工。不如一开始多花30秒把背景写清楚。4.2 角色专家模板当你需要模型以特定身份给出建议时不要只写“你是XX专家”把专家的画像、立场、资源条件交代完整。模板如下你是【身份】有【年限】经验长期从事【行业/领域】相关工作。 你的风格是【风格描述如直接给结论、喜欢用数据支撑】。 当前你面临的处境是【资源、限制等情况】。 请基于以上身份回答以下问题【问题描述】。 注意【可加一个关键的负面约束】。一个细节角色模板不要写得太长控制在100字以内足够。写太多的背景故事反而会喧宾夺主把完成任务所需的目标信息淹没掉。角色的作用是限定方向不是展示文笔。4.3 内容改写模板内容改写的难点在于“保留原意、改变风格”。模型很容易改着改着就添油加醋。改写的提示词应该锁定这几个变量请改写以下文本 原文 ——— 【粘贴原文】 ——— 要求 1. 保留所有关键信息不变更事实和数据 2. 将风格调整为【目标风格如面向新手的科普风格、正式报告风格】 3. 改写后的字数控制在【具体数字】字以内 4. 不要添加原文不存在的信息这个模板不仅适用于公众号文章和邮件写代码注释、改写周报、调整简历话术都适用。核心永远是“保留事实调整表达”这八个字。4.4 结构化分析模板分析类任务最怕的是模型给你一篇散文。给它硬性结构让它按结构走输出的质量会稳定很多针对【主题】请从以下5个维度进行分析 1. 背景【说明该主题产生的背景与原因】 2. 现状【当前的主要表现用事实或数据支持】 3. 问题【指出3个主要问题按严重程度排序】 4. 趋势【未来可能的发展方向不超过2条】 5. 建议【针对上述问题给出具体建议每条建议说明适用条件】 要求每个维度的回答不超过200字不要泛泛而谈。这个模板我自己在写行业分析、写方案复盘、做竞品调研时经常用。它的优势是强制性——同一个分析维度模型每次的输出结构不会有大的跑偏方便你快速翻阅搜索结果、对比不同版本。4.5 长文档摘要模板摘要任务是很多人的刚需但模型经常把摘要写成一堆信息点的堆砌缺乏逻辑结构。这个模板专门优化信息结构以下是【文档类型】的内容请生成摘要 ——— 【粘贴文档内容】 ——— 摘要要求 1. 先用一句话概括全文核心观点 2. 再用一段话说明主要论点及其关系 3. 最后用列表列出关键信息每条信息注明其在原文中的位置 4. 字数控制在全文长度的10%以内 5. 不能添加原文没有的信息里面最有用的要求是第3条——列出关键信息并注明位置。大部分摘要工具只给你压缩后的结果你无法验证信息对不对、来源是哪。加上这个要求之后摘要的可追溯性大大提升后续你需要引用原文时能快速定位。4.6 多轮任务启动模板大任务拆多轮时第一轮发出去的提示词决定了后面所有轮次的走向。建议第一轮只做“目标对齐”不要急着要输出成品。启动模板如下接下来我们要合作完成一项任务【描述任务目标】。 第一轮先做目标对齐 1. 请复述你对任务目标的理解如有不确定的地方请直接提出 2. 请列出你认为完成这项任务需要知道的3-5个关键信息 3. 请建议一个你觉得合理的执行步骤顺序 确认以上内容后我们再逐轮推进完成每一步后再进入下一步。这个模板的价值在于它让任务的第一步变成了“建立共识”。模型把它的理解和疑问反馈给你你及时纠正后面的每一轮回溯成本都会大幅下降。就算你给的任务背景有疏漏这一轮也能给你暴露出来。5. 实测中的翻车现场与应对策略5.1 模型一本正经地编造数据我见过最让人头疼的问题是模型在分析任务里自动生成一组看起来非常合理的数据——“据统计65%的用户会在购买前查看至少3条评论”——实际上这个数字完全是它编的。模型不会标记“这是编的”它只会用一种自信的口吻说出来。应对方法我在3.4里说过强调“只依据材料回答”加“不知道就直接说”。这里再补充一步操作建议在任务完成后专门追加一条指令“请检查你的回答标注哪些内容来自材料哪些属于你的推测。”让模型自己做一次事实性自检能在很大程度上暴露编造内容。5.2 提示词写太全效果反而变差有一段时间我迷信“提示词写得越详细越好”结果经常收到重点模糊、比例失调的回答。后来我意识到指令遵循的容量是有限的提示词越长注意力越分散。现在的做法是把提示词分成两层。第一层是硬性约束层只放目标、成功标准、边界红线控制在5条以内第二层是补充信息层放在背景区块里作为模型需要的材料。两层之间用明显的分隔标记分开让模型知道“约束”和“背景”是两种不同性质的信息。5.3 角色设定与目标冲突模型进入“精神分裂”状态有一次我给模型设定成“严格的风险官”角色又要求它“给出大胆的创新方案”它输出的内容逻辑混乱先批判再让步再批判。问题出在角色指令与任务指令在打架。这类冲突的解法很简单写提示词时心里要有一个优先级表。角色设定的作用是为语言风格和视角定调但任务指令决定输出内容的具体方向。当两者可能冲突时在提示词里补一句“所有建议必须优先满足任务目标角色视角仅作为分析维度的辅助”即可模型的输出立刻恢复正常。一个对话任务保持角色单一性也很重要别让模型同时扮演两个立场冲突的角色。5.4 模板不是万能药用之前要做两件事模板库的本质是给你一个架构不是拿来直接复制。我每次用模板之前会做两件事第一把模板里的占位符全部替换成具体内容同时删掉不适用于当前场景的区块。比如改写任务不需要“背景”这个区块删掉它比空着更有效。第二正式交付前先做一次低成本的输出测试跑一条真实数据看输出结构是否符合预期。不合适就在这个阶段调整而不是等整批内容生成完再返工。模板真正的作用是让每个项目的起点高一点而不是替你解决全部问题。要不要调参、怎么调还是要你对着一批真实输出反复做对比才发现。5.5 没有“一次到位”的提示词只有“迭代出来”的提示词说了这么多技巧最想说的一句话是别指望一次写出完美提示词。实际操作中我基本遵循一条简单的迭代路径第一版写得太长、太抽象跑一次发现方向不对接着压缩目标、加上成功标准跑一次方向对了再加上负面约束和格式要求跑一次质量稳了最后如果配额允许再跑几次对比选定最优输出。写提示词和调代码一样早点接受“一定会返工”这个事实心态反而稳了效果也更好了。写提示词这件事归根到底是在训练自己更精确地表达需求。模板和技巧都是外挂真正的壁垒是你对自己要做的事情有没有想清楚。你在提示词里写的每一个目标、每一条边界都是在逼自己回答“我到底要什么”。这也是为什么很多人在整理提示词的过程中发现自己原本的业务想法也在变得清晰。工具时代真正拉开差距的或许从来不是工具本身而是使用工具的人对自己要做的事情想得有多清楚。