ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

提示词工程实战:10个技巧与上下文工程,构建你的AI模板库

提示词工程实战:10个技巧与上下文工程,构建你的AI模板库 1. 在动手之前先搞明白提示词工程到底在做什么这两年我自己用大模型最深的体会是同样一个模型有人拿来写方案觉得智能得吓人有人拿来写周报觉得蠢得想砸键盘。差距往往不在模型本身而在你开口之前脑中那个模糊的需求和你最终敲进对话框里的那一串文字之间损失了多少信息。很多人把提示词工程当成一种咒语背诵大赛看到某个看似神奇的提示词模板就复制收藏换一个场景用却发现完全不灵。原因很简单提示词工程真正做的事情不是背咒语而是把我到底想要什么这件事用模型能理解的方式讲清楚。大模型本质上是一个极度配合、知识面很广、但完全不会读心术的实习生。它没有你的工作背景不知道你做这件事的真实目的也不了解你喜欢的表达风格。它唯一能依据的就是你给它的那段文字。你给的文字越含糊它的猜测空间就越大翻车的概率自然就越高。反过来你给的文字越具体、结构越清晰、约束越明确它就越能把自己庞大的知识储备对准你要的方向输出。这就是提示词工程底层最核心的逻辑通过设计输入压缩模型的猜测空间把随机开盲盒变成定向输出。顺着这个逻辑往下走你会发现提示词工程其实分两个层次。第一个层次是单次提示词优化也就是我们下面要讲的这10个技巧解决的是怎么把一句话问好的问题。第二个层次是最近圈子里讨论越来越热的上下文工程。如果说单次提示词是一句话怎么说得清楚那上下文工程就是整个对话过程中如何持续保持信息质量和上下文一致。为什么说上下文工程是提示词工程的延伸拿我自己举例子早先我习惯把整个任务塞进一条提示词里对话一长就发现模型开始失忆聊了二十轮之后它忘了最开始指定的角色忘了输出格式要求甚至开始自己编造前面的结论。后来我才反应过来不是模型变笨了是我一直只关注提示词写得好不好却忽略了整个上下文窗口里信息的组织方式。把提示词工程理解为开口第一句话怎么说把上下文工程理解为整场对话怎么布局会更准确。我给自己的实践定了一个简单的判断标准如果一个问题我只问一次那是提示词工程如果我需要多轮对话、逐步迭代、模型要记住前面多个要求那就是上下文工程。两者不矛盾而是递进关系。理解了这层关系再看下面这10个技巧你就知道它们各自解决的是哪一层的问题。2. 十个能立刻上手的技巧我按使用场景分了三组技巧这东西全堆在一起容易让人看完就忘。我自己平时用下来习惯把这10个技巧按基础三招、进阶四式、防翻车三招来分组。基础三招解决模型能不能听懂进阶四式解决输出质量够不够好防翻车三招解决结果稳不稳定。这里面每一个技巧都不是我拍脑袋编的都是这半年我在写方案、做调研、写代码、处理数据这些真实场景里反复试出来的。下面每个技巧我都会讲清楚它为什么有效然后附上一个可以直接复制改用的模板。2.1 基础三招先把意图说清楚技巧一角色锚定法这是最简单、见效最快的一招。给模型设定一个身份等于帮它在庞大的知识库里画了一个检索范围。我见过很多人用这招但用得很粗糙。上来一句你是一个资深专家就结束了模型根本不知道是哪个领域的专家、什么风格的专家、站在什么立场上的专家。角色设定越笼统效果越差。我给你看我踩过坑之后定的模板你是一位有10年经验的{行业}从业者同时在{细分方向}上有过完整的项目落地经验。 你的特点{表达风格如逻辑严谨、喜欢用数据说话} 你的立场{如站在业务方角度} 现在请以这个身份帮我{具体任务}。举个实际对比。普通问法帮我写一段产品的介绍文案。模型大概率会给一段四平八稳、放在哪个产品上都能用的套话。用角色锚定你是一位深耕消费电子行业8年的产品营销负责人写东西从不堆砌形容词喜欢用具体参数和使用场景打动人。请以这个身份帮我写一段无线降噪耳机的电商详情页文案。出来的东西就会完全不一样因为它锁定了表达方式、语气和对产品的理解角度。技巧二结构化指令人的大脑喜欢条理清晰的信息大模型也一样。你给它一坨没有编号、没有分隔符的文字它需要自己解析哪里是背景、哪里是要求、哪里是输出格式解析出错自然就答偏了。我的做法是用分隔符比如---或把指令拆成区块每个区块只承担一个职责。这个习惯我从去年开始用之后就再也回不去了。# 任务 {一句话说明你要做什么} # 背景 {提供完成任务所必需的背景信息} # 要求 - {要求1} - {要求2} # 输出格式 {说明你期望的格式如Markdown表格、JSON、分点列表}这里有个关键细节背景信息不是越多越好。我见过有人把几十页的资料一股脑粘进去结果模型抓不住重点。你要做的是提炼只把和任务直接相关的信息放进去。信息量过大时模型对关键点的注意力会被稀释这个在心理学上叫注意力稀释在大模型上体现得更加明显。技巧三任务拆解法一个复杂的任务直接丢给模型它经常会给你一个表面完整、实际空洞的回答。这不是模型偷懒而是任务本身包含太多子步骤它不知道你优先关注哪个环节。任务拆解的思路是把一个模糊的大问题切成一个清晰的小步骤序列每一步只做一件事。请按以下步骤处理这个任务 第一步{先做什么如提取关键信息} 第二步{再做什么如对信息分类} 第三步{最后做什么如写成结论}举个例子我让模型帮忙整理会议纪要。如果只说帮我整理这份会议纪要得到的往往是流水账。但我把任务拆成三个步骤第一步提取所有决定和结论第二步列出所有待办事项并注明负责人第三步挑出存在争议的关键问题。输出质量立刻就不是一个level。2.2 进阶四式把输出质量拉上去技巧四示例引导法Few-shot这是我自己最常用的技巧之一原理非常简单与其用抽象的语言描述你要什么不如直接给模型一两个具体的例子让它照着你的样子输出。人对抽象规则的理解能力很强比如我说请用口语化的风格写你能立刻调整。但大模型对抽象形容词的理解经常飘忽不定。你告诉它要有网感它理解为加一堆括号和网络流行语你告诉它要专业它就给你堆术语。这时候最有效的办法是别解释了给例子。参考下面的例子完成同样的任务。 输入{示例输入} 期望输出{示例输出} 现在请你处理 输入{新的输入}示例的数量一到三个足够。给太多模型的注意力会被示例内容本身吸引反而忽略了你的真实需求。选示例时要注意示例的风格、长度、结构一定要是你真正想要的因为它会严格模仿。技巧五思维链引导法如果你让模型做逻辑推理、数学计算、方案权衡这一类需要想清楚再回答的任务一定要让它先把思考过程写出来再给结论。这个技巧在圈子里通常叫思维链Chain of Thought用下来的效果非常稳定。原理不难理解大模型在生成文字时它的思维过程和输出过程是绑定的。如果它直接给结论中间那些该想到没想到的推理环节就不会被触发。但你让它分步写出来每一步的输出都会成为下一步的输入推理过程就被强制展开了错误率显著下降。请一步一步思考把你的推理过程完整写出来最后再给出结论。注意一个细节如果任务特别简单不需要用这招。杀鸡焉用牛刀思维链会让模型输出大量文字增加你阅读和验证的成本。只在任务有复杂度、一步到位容易出错时使用。技巧六格式强约束很多时候我们觉得模型输出不专业其实是格式问题。它给的内容是对的但呈现方式让人抓狂。解决方式非常简单明确指定输出格式。请用Markdown表格输出表头包含{列1}、{列2}、{列3}。 每个单元格的内容控制在{字数}以内。这里我要分享一个我的真实体验只要在提示词里指定了表格或者JSON格式模型输出的内容质量就会跟着提升。为什么因为格式约束本质上也是在约束思考结构。比如你让模型输出一个优势、劣势、建议三列的表格它就会自动从这三个维度去组织内容而不会写成一篇没有脉络的散文。技巧七主动提问澄清这个技巧是我从产品经理同事那里学来的。模型不是不能反问而是默认不反问。它宁可猜也不愿意追着你问因为训练数据里很多指令都是直接回答。所以你需要在提示词里明确允许它提问。在回答之前如果我的需求有不清楚的地方请先问我最多{数量}个问题确认清楚后再回答。这个技巧特别适合用在需求本身还没想明白的场景。比如你想做一个用户调研方案但不确定调研目标你直接让模型给方案它也能给你但大概率是通用模板。让它先问三个问题调研的目的是什么目标用户是谁决策者关心的核心指标是什么这时候你会发现自己被AI带着把需求想清楚了再拿到的方案才真正能用。用在写作场景里也一样让它先确认读者对象、篇幅、风格再动笔出来的东西命中率高得多。2.3 防翻车三招把救火变成防火技巧八负面约束法很多人写提示词只写要什么不写不要什么。但模型对于不要什么的理解经常和你想的不一样。你让它写一段产品介绍不要官方套话它可能还是会不自觉带出致力于引领这类词。这时候直接列出禁区效果立竿见影。注意输出内容必须满足以下约束 - 不要使用首先/其次/最后这类连接词 - 不要出现赋能抓手闭环等空泛词汇 - 不要超过{数字}字 - 不要给出模棱两可的结论这个技巧看着简单实际用起来非常神奇。有一次我让模型帮我改写一段项目总结它反复给我输出一套在XX的指导下围绕XX目标扎实推进XX工作的八股腔。我试着列了一条负面约束不要出现中国式公文套话输出立刻正常了。模型是真的能理解负面指令只是你需要说得足够具体。技巧九自检法模型也会在输出里藏一些逻辑漏洞、事实性偏差。很多时候不是它不懂而是它在生成时只顾着说没顾着验证。你可以在提示词里加一步自检要求。输出完成后请自己重新审视一遍你的回答检查 1. 是否存在事实性错误 2. 是否存在逻辑前后矛盾 3. 是否完整回答了用户的问题。 如果发现问题请直接在原回答上修正并标注修正点。这里有个小细节我在意过到底是重写一遍还是在原回答上修正我的经验是让它在原回答基础上修正比让它重写一遍更实用。因为它能保留原本正确的部分只修正有问题的地方不至于把一个80分的答案重写成60分。而且你让它标注修正点相当于逼它说清楚改了什么、为什么改这个过程本身就在促进它重新思考。技巧十模板化封装前面的技巧都是单次会话层面的。但真正让我效率翻倍的是最后一个技巧把验证有效的提示词固化成模板放进自己的模板库。这就是标题里说的模板库的意义——一次性设计永久复用。【任务类型】{总结类 / 写作类 / 分析类 / 翻译润色类} 【角色设定】 {你是一个……} 【任务描述】 {请帮我……} 【背景信息】 {相关背景……} 【输出要求】 - 结构…… - 风格…… - 字数…… 【负面约束】 - 不要…… - 避免…… 【示例】 输入…… 期望输出……这个模板不是让你每次一个字母不改地复制。它的价值在于你只需要替换花括号里的变量就能稳定复现之前验证过的效果。我会在每一条模板后面加一行备注记录这个模板适合什么场景、上次用的时候踩了什么坑这样放三个月再看依然能秒懂。3. 搭一个自己的模板库让技巧沉淀成资产技巧聊完了现在说说怎么把这些东西系统化地管理起来。因为技巧是一次性用模板库才是可持续用。3.1 模板库的通用骨架我自己用的模板库结构很简单但很有效。任何一个模板都被我拆成六大块任务、角色、背景、要求、输出格式、示例。这六块的顺序不固定但每一条模板都力求填满这六块。# 任务 {一句话说清楚要做什么} # 角色 {给模型设定身份} # 背景 {只放和任务直接相关的信息} # 要求 - {正向要求写清楚你要什么} # 输出格式 {表格 / JSON / 分点列表 / 文章段落} # 示例 {至少一个输入输出对风格越精准越好}这个骨架不是我发明的是从我平时大量的试错里提炼出来的。我统计过凡是让我觉得效果惊艳的提示词几乎都覆盖了这六块凡是效果稀烂的基本都缺了好几块。后来我干脆把六块当成必填项缺什么补什么哪怕某一块只有一句话也要占个位。原因很简单这六块本质上对应的是模型在回答前需要明确的六个基本问题——你要干嘛、你是谁、你不知道但你需要知道什么、你的底线在哪里、你希望结果长什么样、有没有参照物。3.2 两个高频模板拿来就能直接用模板这东西说再多不如直接给能用的。我挑两个我每月至少用十次的高频模板完整拉出来。第一个是信息提炼模板适合处理大量资料。我通常在调研竞品、看行业报告、读长文章时用这个你是我的高级研究助理擅长从冗长资料中提取关键信息。 任务阅读以下资料提炼出{指标/观点/数据}。 要求 1. 用Markdown表格输出列为原文出处、关键信息、我的备注 2. 每条信息不超过{字数}字 3. 不要添加原文没有的信息 4. 按重要程度降序排列。 资料如下 --- {粘贴资料} ---第二个是文案改写模板。这个我用来处理各种需要换个风格说话的场景从公众号标题到周报摘要都能用你是一位擅长{风格}的资深编辑曾长期为{目标读者}写稿。 任务改写下面这段文字保留原意但改成{风格}的表达方式。 要求 - 篇幅控制在{字数}以内 - 不使用{禁用词} - 可以参考这个风格示例{示例} - 如果原文有事实信息不得遗漏如果原文是主观表述可适当增强语气。 原文如下 --- {粘贴原文} ---这两个模板我大概用了半年最直接的感受就是以前每次想让AI帮忙都要现场想半天怎么描述需求现在只需要填变量三十秒内能发起一个高概率获得高质量回答的请求。3.3 模板库管理经验存模板只是第一步让模板库真正活起来才是关键。我踩过的坑有两个写出来帮你避开。第一个坑是只存模板不存备注。有一次我看到自己以前存的一个模板写得很完整但完全想不起来当初是在什么场景下验证的输出效果到底如何有没有什么副作用。后来我给自己定了一条规矩每条模板必须附带使用说明包含三个字段——适用场景、预期效果、已知问题。这样即便三个月后再看也能判断该不该用。第二个坑是模板越存越多最后自己都懒得翻了。解决办法是精简化一个模板如果连续两个月没被用过我就把它归档到冷门目录主目录只保留高频使用的。毕竟模板库的价值不是多而是快。翻半天找不到合适的模板还不如自己重新写一条提示词。4. 上下文工程让整个对话从头到尾不跑偏前面说过单次提示词优化只是第一个层次。接下来聊聊上下文工程——最近讨论越来越多也是很多人在多轮对话里反复栽跟头的重灾区。4.1 上下文窗口就是一个工作台你可以把上下文窗口想象成一张工作台。你在这张台子上放了什么资料、什么指令、什么示例模型就基于这些东西来组织回答。问题在于这张台子是有限的——一次对话里前面你发的内容、模型回的内容都在占用台面空间而且不会自动清理。这就是为什么多轮对话后模型会忘掉你最开始的要求。它不是真的忘了而是最初那条关键指令已经在对话中被大量新内容挤到边缘位置它在生成新回复时对早期信息的注意力被稀释了。理解了这个机制你就知道上下文工程的核心任务了管理好工作台上信息的排列方式让关键信息始终处于显眼位置。我说个最实用的操作。如果一段对话预计会很长我会把最重要的指令放在最开始中途每隔几轮重申一次关键约束并且在新的问题出现时把该轮想强调的要求放在问题前面而不是后面。比如重申一下请继续保持第1条要求用表格输出不超过500字。 接下来分析这个新问题……这种做法看着啰嗦但实测下来效果立竿见影。模型的注意力分布是有规律的越靠前和越靠后的信息权重越高中间部分的信息最容易被忽略。所以关键约束要前置当前要处理的问题要紧挨着你的输入让模型在生成回答时能同时注意到这两头。4.2 减少上下文里的噪声上下文工程里还有一个容易忽略的维度对话里积累的噪声。每一条无关的闲聊、每一个跑偏的回答、每一次这段话不用管的内容都在消耗模型的注意力。这个道理和开会一样会议室里坐了三十个人发言人的注意力必然被分散只有四五个人坐在那里沟通效率反而最高。我现在的做法是当一段对话已经聊了很长时间、积累了太多历史信息我不会硬撑而是重开一个新会话把上一轮得出的关键结论手动贴过去作为新一轮对话的上下文起点。另外一个非常实用的技巧是利用总结来压缩上下文。当对话变得很长时我会让模型先对之前的要点做一个总结然后在新会话中把这段总结作为起点而不是直接把整段长对话搬过去。请用5条要点总结我们刚才对话中达成的一致结论每条不超过20字。这个动作相当于给工作台做了一次大扫除清掉无关的过程性信息只保留关键结论为后续对话留出充足的注意力空间。把提示词工程和上下文工程放在一起看我的理解是提示词工程解决的是每一句话怎么说上下文工程解决的是整场对话怎么布局。两者叠加才能稳定产出高质量结果。5. 常见问题排查与避坑实录用的时间长了总会遇到各种问题。我把自己在实践中最常碰到的五类问题整理成一份排查手册每一个都是真实踩过的坑后面都跟着我验证过的解法。5.1 五类高频问题的排查手册问题一模型回答太啰嗦抓不住重点这可能是最常见的抱怨。原因是你的提示词里没给模型的篇幅和结构施加约束。排查模板明确字数上限不要只写简短要写不超过200字明确结构开头一句话给结论后面用分点补充论据加上去掉铺垫和总结直接给核心内容有一次我让模型总结一份五十页的行业报告一开始它给了一千多字的摘要看完和读完原报告差不多。后来我改成了请用5条bullet point每条不超过30字提炼出报告中最反直觉的三个结论和最值得关注的两个数据输出立刻实用得多。问题二格式不稳定一会儿表格一会儿分点模型对格式的理解有时会叛逆。我曾经让模型用表格输出它给了我表格嵌套表格。排查做法用代码块包裹你的格式要求让它知道这是硬性约束在示例中直接给一个格式准确的例子如果还是不稳定加上一句严格使用该格式不得使用其他格式问题三模型一本正经地编造信息幻觉问题不是提示词能百分百解决的但可以显著降低。我的做法是明确要求它区分原文信息和推测信息加上如果你不确定请直接说不知道不要猜测对于关键数据要求它标注信息来源特别是做调研类任务时我会在提示词里加一句对于任何数字和引述如果原文没有请标记为[未核实]不要自行推断。这一句话能救回很多被幻觉玷污的调研报告。问题四角色设定用着用着就失效了这在长对话里非常常见。原因是模型对早期角色的注意力被后续对话稀释了。解法有三个对话中途重申角色在新一轮提问前加一句你仍然是我最开始指定的{角色}把角色设定放在每一轮关键提问前而不是只在第一轮出现利用系统提示/自定义指令功能把角色固定在对话的首部问题五上下文太长后模型越聊越傻这是上下文工程问题。排查顺序先检查是不是信息堆太多了试着压缩上下文——让模型总结一下目前的共识然后开新会话继续检查是否有冗余的历史信息在消耗注意力——删掉无关的问答检查是否所有当前问题都需要之前的历史背景——如果不需要直接开新会话更高效5.2 一条最值得记住的经验写提示词这些年如果让我只留一条经验那就是把提示词当成代码来写而不只是随手打的一段话。代码需要清晰的变量名、需要结构化、需要注释、需要版本控制提示词也一样。我给重要模板都建了版本记录每次迭代都备注改了什么、为什么改。比如某条模板从v1.0到v1.1我记得清清楚楚是因为v1.0总是输出太冗长所以加重了格式约束和负面约束。这段经验能让你从每次都在重新发明轮子的泥潭里爬出来。当你把提示词当作自己的生产资料来经营你会发现它带给你的不是一次两次的好输出而是长期稳定的生产力。最后再分享一个小技巧遇到一个效果很不错的提示词时试着反向拆解一下它到底为什么有效——是角色设定起了作用还是格式约束是示例引导了风格还是负面约束拦截了废话拆解一次你对提示词工程的理解就加深一次下次遇到新场景时你就不再是背模板而是真真正正会设计了。
返回列表