提示词工程实战:10个技巧与可复用模板库设计
1. 先别急着写 Prompt把提示词当“工程”来想的底层逻辑提示词工程这个词这两年已经被聊烂了。但我给团队做内训、帮不同项目做落地支持时发现真正能把提示词用好、用得稳、能规模化复用的人其实并不多。大多数人写 Prompt 还是“一句话嘱咐模型”的思路你说“帮我写个文案”它就给你一段四平八稳的文字你说“分析一下这个数据”它就给你一堆想当然的结论。运气好的时候效果不错换个业务场景立马失灵。这不是模型不够聪明而是我们没把提示词当成一个需要设计、需要测试、需要维护的系统来对待。真正的提示词工程核心就三件事把任务描述清楚、把输出结构锁死、把边界条件说透。这三点做好了哪怕用的是同一个模型效果也能拉开一个数量级。这篇文章我从实战角度拆解 10 个能立刻上手的提示词技巧并且把我实际维护的一套模板库的整体设计思路开源出来。这套模板覆盖了文案生成、代码辅助、数据分析、角色扮演、内容改写等高频场景全部是我在生产环境里反复调过的版本你拿来改改参数就能用。适合谁看经常写 Prompt 但觉得效果不稳定的内容运营、大模型应用开发者、以及想把 AI 接入工作流但不知道从哪下手的团队。2. 提示词不是咒语先吃透这层底层逻辑后面全顺了很多教程一上来就丢“万能公式”什么“角色任务背景要求”背得滚瓜烂熟一用就废。原因是没搞懂提示词为什么起作用。大模型本质上是一个概率化的指令跟随系统它不是数据库检索器不会因为你说了“请”就诚实地去查证。它是在根据你给的上下文推测你最可能满意的答案长什么样。所以提示词工程的目标不是“让模型听我的话”而是让模型在概率空间里更容易走到正确的输出区域。你的角色设定、示例、格式要求、约束条件都是在缩小这个概率空间。2.1 提示词的三个基本组成部分一个完整的提示词不管多长通常就三件事任务指令明确告诉模型要干什么写、改、分析、总结、翻译。上下文背景提供完成任务所需要的输入信息文档、数据、历史对话。输出约束限定格式、风格、长度、语气、注意事项。很多人的问题出在第三个部分——输出约束写得极其模糊。你让他“分析一下用户反馈”他给你列了 5 条大而化之的建议你让他“用 JSON 格式返回”他给你前后各包一个代码块。这些都不是模型笨是你没给它足够窄的通道。2.2 为什么模板库比“自由发挥”靠谱自由写 Prompt 最大的坑是每次打字都不一样。同一个任务今天写“帮我写个小红书文案”明天写“生成一段种草笔记”你以为意思一样模型理解出来的上下文分布完全不同效果自然忽好忽坏。模板库的意义在于把高频任务沉淀成稳定结构做到三件事变量可替换改参数而不是重写 Prompt格式可复用同一套输出约束反复生效效果可迭代改坏了能对比回滚改好了能沉淀经验所以下面这 10 个技巧不是让你一条条背而是让你理解每个模板设计背后对应的机制。你掌握了机制写自己的模板才会有手感。3. 十个核心技巧精讲原理、适用场景、可直接改的模板这一节是全文的重头戏。每个技巧我都会按照“它解决什么问题” → “背后的机制是什么” → “模板长什么样” → “什么时候别用”的结构来讲这样你既知道怎么抄也知道为什么这么写。3.1 技巧 1角色锚定法——给模型一顶“专业的帽子”这是流传最广、也最容易被用歪的技巧。很多人写“你是 ChatGPT一个 AI 助手”这不算角色锚定——因为“AI 助手”这个角色在训练数据里太宽泛了模型会默认回归到所谓“教科书式回答”的模式。真正有效的角色锚定是把角色写得具体到能激活特定语料库的程度。机制上大模型在训练时见过程度不同的文本——技术文档、营销文案、学术论文、客服对话。当你指定一个具体角色比如“有 10 年从业经验的临床营养师”模型内部会更倾向于调用对应领域的词汇、句式、语气和思维方式。这个模板我直接给出来你改方括号里内容即可你是一名[职业]专家拥有[年限]年一线经验尤其擅长[细分领域]。 现在需要你帮[目标用户]解决[具体问题]。 要求 1. 回答语气/[风格要求] 2. 优先给出[可落地操作]而非理论空谈 3. 提到关键概念时用[目标用户]能听懂的方式解释实际效果对比一下普通版“帮我写一份减脂饮食建议”角色版“你是一名拥有 10 年一线经验的临床营养师擅长为办公室久坐人群做体重管理。现在需要你为一位身高 165cm、体重 70kg、每周运动 2 次的 30 岁女性用户写一份 3 天的减脂饮食建议。要求给出早中晚具体食物搭配标注大致热量避免极端节食用语亲切但不失专业性。”明显后者输出质量会上一个台阶。但注意一个使用边界如果任务本身很简单比如翻译一句话强行加角色设定反而会拉长上下文、引入干扰信息。角色锚定适合“专业判断类”任务不适合“机械转换类”任务。3.2 技巧 2思考链引导CoT——逼模型“先想后答”大家应该都听过“Lets think step by step”这个梗。不过实际使用时我建议把这句话写得更明确一点。思考链Chain of Thought的核心不是魔法咒语而是强制模型把内隐的推理过程外显化。模型在生成“总结性结论”之前先生成一段“逐步推理”这个过程中它会“看见”自己的思路从而减少跳跃性错误。一个很典型的场景是逻辑推理和数学计算。你直接问“一个水池进水管 4 小时灌满出水管 6 小时放空同时打开多久灌满”模型可能张口就来“12 小时”如果你要求它先设定变量、再写方程、最后给答案正确率会高很多。模板遇到复杂问题时请不要直接给最终结论。 请遵循以下步骤 第1步用自己的话重述问题 第2步列出已知条件和隐含假设 第3步分步推理每步说明依据 第4步综合各步骤给出最终答案 最后检查第3步的推理是否有逻辑漏洞这里有个非常重要的实操经验能拆成多个步骤的推理尽量在提示词里“分步问”而不是让它一口气推完。比如你先让它“列出已知条件和问题”拿到结果后再发第二步指令“基于这些条件继续推理”。虽然多了一次 API 调用但每一轮对话的注意力更加集中输出稳定性高很多。注意别滥用如果任务是“帮我把这句话改写得更口语化”强行上 CoT 只会增加 token 消耗完全没有收益。3.3 技巧 3示例演示Few-shot——说一百遍不如给一个例子这是大模型最吃的一套——给示例比给指令更有效。原因在于大模型的训练目标就是“根据前文预测下一个 token”当你给出输入输出对它其实是在做类比推理照着样例的样子继续生成。而且示例能顺带锁定格式、语气、详细程度等难以用文字精确描述的维度。你光说“请用简洁、幽默、口语化的风格写朋友圈文案”模型可能给你三种风格混着来。但你给它两个例子你是一位社交媒体运营专家请根据产品卖点撰写朋友圈文案。 示例1 产品卖点保温杯24小时保温316不锈钢内胆 文案早上泡的枸杞半夜喝还是烫嘴。不是我嘴叼是这杯子真的太能“留”了。 示例2 产品卖点无线鼠标静音续航一年 文案半夜写方案再也不怕吵醒室友了。这鼠标能装一年续航反正我是忘了充电器长啥样。 现在请根据以下产品卖点撰写文案风格与示例保持一致 产品卖点[蓝牙耳机降噪佩戴舒适颜值高]同样是“写文案”有示例和没示例的输出差异化非常大。模板库设计里示例还有一个容易被忽略的作用示例本身就在定义“不是什么样的输出”。比如你的示例全是用口语短句写的模型自然就不会生成排比长句。选例子时不要选太极端、太特殊的要选典型场景让模型归纳出你的“预期分布”。这里分享一个我踩过的坑示例给 1-2 个就够建立风格给 5-6 个反而可能让模型“学串”。因为模型会从多个示例里提取公共特征如果示例之间差异过大它反而找不到规律输出更乱。我自己测下来2-3 个示例是性价比最高的区间。3.4 技巧 4结构化输出约束——让结果可以被程序直接解析经常做自动化流程的工程师最看重这个技巧。AI 聊天可以天马行空但当你把 Prompt 接入业务系统时输出必须是严格可解析的结构化数据。常见的格式约束包括 JSON、XML、Markdown 表格、CSV。最可靠的方案是在提示词里给出明确的格式示例并逐字段说明含义你是一个信息抽取助手。请从用户提供的句子中抽取结构化信息并以 JSON 格式返回。 返回格式要求严格遵循不要添加其他内容 { 事件类型: 退款/发货/发票/其他, 涉及商品: , 客户情绪: 正面/中性/负面, 是否需要人工介入: true/false, 建议处理方案: } 用户句子[待分析句子]这里有一个小细节JSON 字段名不要用没有语义的 a、b、c要用业务可读的字段名。因为大模型在生成时字段名会影响它对内容的推理方式。“情绪标签”这个词比你写“sentiment”更利于中文模型准确抽取。另一个避坑经验要求“不要添加其他内容”之外最好在提示词里加一句“直接输出 JSON不要用代码块包裹”。很多模型会下意识地把 JSON 放进 Markdown 代码块里这对人看没问题但对程序解析就是灾难。实测这句话能显著降低需要做后处理的概率。3.5 技巧 5分步拆解法——大任务切成小任务逐个击破这是我在多轮对话里最推荐的结构化思路。很多人一次性丢给模型一个超复杂任务“帮我写一份市场分析报告包含行业趋势、竞品分析、目标人群、营销策略、预算规划”然后期待它一口气输出 5000 字干货。结果往往得到一份四平八稳、哪个部分都不深入的“大杂烩”。原因在于大模型的上下文注意力是有限的任务指令越长给每个部分的“精神力量”就越分散。正确做法是把任务拆成多个子任务每个子任务单独写 Prompt、单独执行。比如要写一份营销方案可以拆成 5 步让模型分析目标人群画像和核心痛点基于痛点让它列出 3 个核心传播主题针对每个主题让它撰写具体的渠道策略让它给出排期和预算分配最后把前四步的输出整合成完整方案每步之间我会加一句承接提示词比如“在步骤 1 中你分析出目标人群是……请基于此完成下一步”。这样做还有一个额外好处中间任何一步不满意只需要重跑那一步不用整篇推倒重来。在项目实战里这种“流水线式”的提示词编排会让修改成本大幅下降。3.6 技巧 6上下文锚点与记忆注入——让多轮对话不“失忆”大模型的上下文窗口再大也扛不住聊到第 50 轮之后丢失最初的需求。如果你做的是客服机器人、对话式调研工具这类多轮场景一定要掌握“锚点注入”和“记忆摘要”这两个方法。锚点注入的思路是把最重要的背景信息放在每一轮对话的前部或者系统提示词的固定位置确保模型每次生成时都能“看到”。记忆摘要的思路是对话进行一段时间后先让模型“用 3 句话总结刚才的对话要点”然后把这段总结作为后续对话的历史背景。这样既节省 token又锁定了关键信息。模板示意多轮场景系统提示词你是[某电商平台]的售后客服助手。 本次会话的目标解决用户关于[订单金额]的退款问题。 已确认的背景信息 - 用户订单号[订单号] - 用户诉求商品未发货申请全额退款 - 当前进展退款申请已通过等待支付渠道处理 请基于以上信息继续处理用户的最新问题。 用户最新消息[实时对话内容]我在实际接入客服知识库时会再加一个关键步骤对话摘要更新。每轮结束后用一个小 Prompt 让模型生成新的“背景摘要”覆盖旧摘要。这样不会越聊越乱上下文占用也一直是可控的。如果你记忆注入后模型开始“复读机”十有八九是摘要里信息冗余了把不重要的过渡内容删干净再注入。3.7 技巧 7约束指令优化——“禁止做 X”不如“请用 Y 代替 X”大模型对否定句的理解一直有局限。你写“不要用术语”“不要啰嗦”“不要出现错别字”模型确实看到了“术语”“啰嗦”“错别字”这些词但这些词本身就会在概率分布上“激活”相关内容。所以更稳的写法是直接给出替代方案。举个例子低效写法“解释 TCP 三次握手不要用专业术语。”高效写法“解释 TCP 三次握手请用‘打电话’的场景来类比让一个完全不懂网络的人也能听懂正文中不要出现‘SYN’‘ACK’‘确认号’等词用日常语言描述整个过程。”第二种写法不仅告诉模型“不要什么”还给了它“要什么”的正向通道生成质量完全不同。模板库设计时我会把约束部分统一改成“正向指令 少量排除项”的格式效果最稳。这里总结一个排错参考很多人在提示词里狂写“不要”结果发现模型“偏要”。先检查一下你的“不要”是不是写成了这种形式“不要写太短”——这句话里“短”也是个需要激活的概念模型很容易逆向生成“写长一点”。改成“请写出不少于 500 字的详细解答”就明确多了。3.8 技巧 8采样参数校准——温度只调一次是调不出感觉的技巧层面很多教程不讲参数但这恰恰是“提示词工程”里最能提升手感的部分。常用的采样参数有 Temperature、Top-p、Presence Penalty、Frequency Penalty。它们在 API 调用里属于参数但从效果上讲它们和提示词共同决定了输出质量是同一套系统的两半。Temperature温度控制随机性。温度越低输出越确定、越保守温度越高输出越发散。0 到 1 区间内事实性任务用 0-0.3创意性任务用 0.7-1.0。Top-p核采样控制候选词池的大小。Top-p 越小候选越少输出越集中Top-p 越大可能性越丰富。一般和 Temperature 搭配使用不需要两个同时拉满。Presence Penalty鼓励模型谈论新话题的惩罚系数。调大它模型更倾向于引入新概念适合头脑风暴。Frequency Penalty抑制重复表达的惩罚系数。调大它模型不太会重复句子适合长文生成。我实测的经验值是写营销文案、故事剧本Temperature 调到 0.8-0.9Top-p 调到 0.9 左右做信息抽取、代码生成、知识问答Temperature 直接调 0.1-0.2Top-p 0.5 以下。Presence Penalty 在头脑风暴类任务开 0.3-0.5其他任务默认 0 就行。有一个常见误区认为“Temperature 调低 输出一定正确”。实际上温度只能影响“重复稳定性”模型该错的还是会错它只是“稳定地错”。所以参数校准永远替代不了提示词结构优化两个要搭配使用。3.9 技巧 9自我校验循环——让模型自己当自己的质检员这个技巧知道的人不算多但在长文档、代码生成、数据分析等对准确性要求高的场景里效果非常显著。思路很简单生成一次答案后再让模型对刚才的答案进行一轮批判性检查。模板你刚才给出了以下回答[粘贴模型第一次输出] 现在请以批判者的身份重新审视上述回答重点检查 1. 是否存在事实性错误或未经证实的断言 2. 逻辑链条是否完整有无跳跃 3. 是否遗漏了用户问题中的关键要求 4. 如果存在以上问题请直接输出修正后的完整版本 如果问题较大请同时说明修改原因。实际操作时我一般会开启两轮对话第一轮正常生成第二轮把生成结果粘贴进另一个带“批判者”角色的 Prompt 里。你可能会觉得这样多花时间和 token但产出文档的可用率确实会大幅上升。我自己在做项目方案起草时这个循环基本是标配。一个小技巧给“批判者”角色设定一个明确的身份比如“你是一位出版行业从业 20 年的资深编辑专门负责审查逻辑漏洞和事实错误”它的挑错能力会比泛泛的“请检查一下”高出一截。慎用场景任务本来几秒钟就能搞定你非要让它自我校验三遍输出可能越来越“谨慎”反而失去灵气。创意类初稿别用这个一批评就平庸。3.10 技巧 10模板组合与变量抽取——从“一条 Prompt”到“一套模板系统”最后这个技巧是把前面的技巧串起来的“进阶玩法”。单个技巧是局部模板系统是整体。真正的项目里极少有人只调用一个技巧通常都是多个技巧嵌套在同一套模板里。设计模板系统时核心动作是“变量抽取 结构固化”。把每次都要变的部分产品名、用户描述、目标风格抽成变量把不变的部分任务角色、输出格式、约束条件固化成模板骨架。这样你每次调用只需要替换变量不用整条重写。以一个“产品种草文案生成器”为例整套模板是这样组合的角色锚定设定“资深生活方式博主”结构要求开头 3 行吸引眼球 → 中间列 3 个核心卖点 → 结尾一句行动号召格式约束限制 350-400 字每行不超过 30 字示例演示给出上个月最成功的 2 条文案做风格参考参数建议Temperature 0.8Presence Penalty 0.3这套模板在不同产品线之间复制时只需要改变量区不需要重写任何“灵魂部分”。这也是为什么我建议把模板的前后设计当成一个小系统来维护而不是零散地存几十条 Prompt 文本。4. 模板库落地实操三套可直接套用的完整模板前面讲完了技巧这一节直接给实操结果。我挑三个高频场景技术文章改写、营销文案生成、数据分析辅助。每套模板都包含“角色锚定 分步任务 输出约束 示例锚定 参数建议”你复制下来改改变量就能用。4.1 营销文案生成模板这是最常被问到的一类场景我用得也最多。注意它的设计思路先框定角色和用户再给产品信息和风格示例最后用格式约束卡死长度和结构。角色你是一位有 8 年经验的社交媒体内容顾问擅长小红书、朋友圈、抖音等平台的种草文案。 任务根据我提供的产品信息撰写一篇[内容平台]推广文案。 产品信息 - 产品名称[产品名] - 核心卖点[卖点1]、[卖点2]、[卖点3] - 目标用户[年龄/职业/场景] - 期望传达的调性[轻松/专业/潮流/温情] 输出要求 1. 全文 [字数] 字以内 2. 开头前 2 句必须直接植入使用场景不说废话 3. 中间逐条说明卖点时每个卖点搭配一个生活化类比 4. 结尾必须有行动号召例如“评论区告诉我你的选择” 风格示例[粘贴 1-2 篇过往优秀文案] 调用参数temperature 0.8top_p 0.9presence_penalty 0.3使用提示示例不要找“爆款”来参考要找稳定发挥的那几篇。爆款往往具有很强的偶然性模型学不到“为什么火”反而会模仿出夸张的表达。4.2 技术文档改写模板写技术文章的人经常需要把一段晦涩的内容改写成不同受众能懂的形式。这个模板把“目标读者画像”当成一个显式变量塞进去模型改写时就有了明确的“翻译方向”。角色你是一位拥有 15 年经验的技术内容主编擅长把复杂技术概念翻译成不同层次读者能读懂的语言。 任务将下面的技术内容改写为适合[目标读者]阅读的版本。 原始内容 [粘贴待改写文本] 目标读者特征 - 身份[前端工程师/产品经理/完全没有技术背景的普通人] - 已知的技术水平[能写代码/只看过科普/完全零基础] - 关心的话题[性能/成本/用户体验] 改写要求 1. 保留原内容的全部关键信息不做主观增删 2. 使用不超过 [50] 个技术专有名词 3. 增加一个生活化的类比段辅助理解核心概念 4. 原文超过 800 字时分段输出每段前加一个小标题 调用参数temperature 0.3top_p 0.6一个细节第 2 条的“不超过 50 个技术专有名词”模型不一定能精确遵守但它会因此倾向少用术语。实际使用时可以把你想保留的术语清单直接列出来“以下术语可以出现API、数据库、缓存”这样可控性更强。4.3 数据分析辅助模板数据分析类任务是 AI 最容易“一本正经地胡说八道”的场景所以这个模板把“无法确认的数据”和“确定性数据”做了剥离让模型只做结构性分析不做事实性编造。角色你是一位资深数据分析师擅长从数据中提炼洞察。 已知数据由调用方提供 [粘贴数据/表格/统计口径说明] 任务按照以下顺序完成分析 1. 提炼数据总览最大值、最小值、均值、异常点 2. 指出数据中最显著的 3 个趋势 3. 针对异常点给出可能原因假设必须标注“假设” 4. 给出下一步建议采集的补充数据指标 硬性要求 - 所有分析结论必须基于“已知数据”不得编造数值 - 原因部分以“可能原因”开头使用条件句式 - 最终输出格式使用 Markdown 表格呈现每列一个分析维度 调用参数temperature 0.1top_p 0.4这个模板特别适合团队共享任何人拿到数据都能跑一遍输出结构完全一致方便后续对比。但要注意模型对表格里的“数值逻辑”理解常常有偏差跑完结果后人一定要复核一遍关键数字再对外汇报。5. 模板库的目录设计怎么把自己存的 Prompt 整理成可复用的资产说完了模板再说说模板库怎么组织。很多人下载了别人的 Prompt 收藏夹发现真用起来还是乱想找一条找不到、改了又忘、版本迭代没有记录。我的做法很简单按“场景-任务-版本”三层来组织。目录结构参考prompt-templates/ ├── marketing/ # 营销场景 │ ├── social_media_copy/ # 社交媒体文案 │ │ ├── v1.0_base.md │ │ ├── v1.1_add_style_example.md │ │ └── README.md │ ├── ad_copy/ # 广告投放文案 │ └── seo_article/ # SEO 文章 ├── code/ # 代码辅助场景 │ ├── code_review/ # 代码审查 │ ├── bug_fix/ # 异常排查 │ └── sql_query/ # SQL 生成 ├── data/ # 数据场景 │ ├── info_extract/ # 信息抽取 │ └── report_analysis/ # 报表分析 └── general/ # 通用能力 ├── rewrite/ # 改写润色 ├── roleplay/ # 角色扮演 └── question_split/ # 问题拆解每套模板我建议在同目录维护一个 README记三件事使用场景、调用参数、已踩过的坑。比如某条模板在什么模型上效果差、某条模板对长文本会截断这些经验比模板本身更宝贵。版本管理上不一定要上 Git但对“模板的迭代记录”一定要有概念。我们团队就是用最普通的文件夹日期后缀来做效果已经超过 90% 靠聊天记录找 Prompt 的团队了。6. 我踩过的坑与排查技巧最后一章分享一些实战中高频出现的问题以及对应的排查思路。提示词调优和写代码一样遇到问题不能靠玄学重试应该按图索骥。6.1 加了角色设定后模型反而变“笨”了现象设定了角色之后输出的内容比不加角色更空泛、更套路化。排查方向角色写得太“大”了。“你是世界顶级营销专家”“你是一位诺贝尔文学奖得主”这种角色模型能匹配到的参考模式过于宏大反而容易输出正确的废话。解法是缩小角色范围增加“细分赛道”和“具体约束”。反例你是一位顶级文案大师。 正例你是一位专注 3C 数码品类的小红书内容运营写过 200 篇以上种草笔记特别擅长用个人真实体验引出产品卖点。6.2 加了示例后输出格式反而更乱了现象给了两三个示例模型有时照着格式来有时完全放飞。排查方向示例之间关键特征不一致。尤其注意标点符号、换行方式、信息顺序模型会“无差别吸收”。解法是示例之间保持强一致性只变化内容不变化结构。6.3 长篇内容写到后面开始跑题或重复现象3000 字以上的长文生成到后半段开始偏离开头主题或不断重复前面说过的话。排查方向上下文超长后模型对前文“注意力”比例降低重复是典型的频率惩罚没调好。解法调大 Frequency Penalty0.5 左右或把长文拆成几段分别生成再拼接中间用一段摘要衔接。6.4 同一套模板在不同对话里效果差异极大现象模板没问题但每次生成的风格、格式都略有不同接入自动化流程非常头疼。排查方向检查是 API 调用里的 temperature 参数是不是默认值。同一个 Prompt 在 0.7 和 0.2 温度下效果天差地别。另外检查系统提示词与用户提示词是否有重复或冲突的内容。6.5 模板库在不同模型间“水土不服”现象在模型 A 上跑得很好的模板换到模型 B 直接失效。排查方向不同模型的指令遵循能力、角色扮演倾向、参数敏感度都不同。通用解法是降低模板的复杂度减少角色描述的篇幅、用更直白的动词“列出”“计算”“判断”、把长句改成短句。核心技巧越接近“伏笔式指令”跨模型迁移的稳定性就越高。7. 最后分享一点维护经验文章讲到这里技巧、模板、坑都覆盖到了。最后说一点我的通用维护心得提示词模板库和代码仓库一样是需要持续维护的“活资产”。我自己每写完一套新模板头一周必做一件事——用 20 组不同输入去压测它。输入覆盖边界场景长文本、空值、特殊字符、不同语气、不同领域。哪里输出不稳定就回头改约束条件。反复迭代几轮之后模板的“韧性”就出来了。这套方法论适配性很强。你可能是做营销的、做开发的、做咨询的但只要工作里有 AI 生成内容的需求这套“角色锚定 分步任务 输出约束 示例演示 参数校准”的组合就值得内化成自己的肌肉记忆。下次遇到再复杂的任务不再是拍脑袋写一句 Prompt而是先问自己这个任务的边界条件是什么它的输出要被谁消费我用什么机制来保证输出稳把这些想清楚了提示词工程就真正入了门。