☰
六模块Prompt结构:让大模型精准听话的提示词设计指南
2026/10/19 7:55:06 网站建设 项目流程

写Prompt这件事,我踩过不少坑,也总结了不少经验。一开始我也喜欢随便问一句就让大模型干活,结果嘛,答案常常泛泛而谈、格式乱七八糟,得来回改好几轮。后来我接触了一些做AI应用的朋友,看了他们的提示词写法,才意识到问题不在模型,而在我们给模型的信息结构。今天想分享的这套六模块Prompt结构,就是我在实际项目里反复打磨出来的系统化方案,核心目标只有三个字:让大模型精准听话。这篇内容没有特别高的门槛,哪怕你刚接触AI不久,也能照着一步步搭出高质量的提示词。

1. 为什么Prompt需要“系统化设计”——从零散提问到结构化方案

1.1 大模型不是“听”你的话,而是在“猜”你的需求

先说一个底层认知,这决定了后面所有操作逻辑。大模型本身并不具备真正意义上的“理解”,它更像一个庞大的概率预测器,根据你给的前文,逐个预测下一个最合理的字、词、句子。你给的信息越完整、越明确,它预测的空间就越小,回答就越可能落在你想要的范围内。

这就好比你给一个陌生人指路。你说一句“去附近超市”,对方只能猜测你要去哪家、你现在在哪、你想买什么。但如果你把标志性建筑、方向、大概距离、要不要买特定商品都告诉他,他一次就能找到地方。Prompt写作也是一样,零散的提问会把大模型扔进一个巨大的猜测空间,它只能用概率说出来一个“平均答案”。这个“平均答案”听上去正确,但往往没用。

我见过一个很典型的例子。有人让模型“帮我写个方案”,模型就真的写出了一份放到任何项目里都能用的通用方案,框架全对、细节全无。问题在于“写方案”这句话没有定义任务边界:什么方案、给谁看、要解决什么问题、投入的资源是多少?这些信息缺失,模型只能基于训练数据里面最常出现的“方案结构”来回答。把它的“猜测空间”压缩下去,才是系统化设计Prompt的第一要务。

1.2 零散提问的四个典型痛点

如果你习惯随手一写、想到啥问啥,你大概率遇到过以下四种情况。

第一种:回答泛泛而谈,正确但无用。比如你问“怎么提升产品销量”,模型会告诉你“做好市场调研、优化产品、加强营销”这类正确的废话,因为问题本身过于宽泛,它只能给你一个普适性的答案。

第二种:格式乱七八糟,需要二次加工。你想要的是一张对比表,它给你一段文字;你想要的是一份待办清单,它给你一段散文。内容本身可能还行,但你得花额外的时间重新整理,这部分的精力消耗常常被忽略。

第三种:多轮追问,沟通成本高。得到初版回答之后,你发现它漏了关键信息,于是说“补充一下”,它补了A,又漏了B,来回折腾四五轮才拿到满意结果。这不完全是模型笨,而是你第一次提问时没有把需求说全。

第四种:结果不稳定。同一个问题,换个表达方式,答案风格可能完全不同。原因很简单,你的表达给模型输送了不同的“提示线索”,它的生成路径就跟着变了。这种不确定性,在大规模的重复任务里简直是一场灾难。

1.3 六模块结构解决的核心问题

为了解决上面的问题,我把提示词拆成了六个固定的信息模块:角色、任务、上下文、约束、格式、示例。每个模块负责一种信息类型,组合起来就构成一份完整的需求说明书。

你可以把这六个模块想象成文件柜里的不同抽屉。角色抽屉里放“你是谁”,任务抽屉里放“你要干什么”,上下文抽屉里放“你现在掌握什么信息”,约束抽屉里放“什么事情不能做”,格式抽屉里放“结果长什么样”,示例抽屉里放“参考样本长什么样”。每次写Prompt,我只需要把对应的信息放进对应的抽屉,就很少再有信息遗漏的情况。

这套结构有一个特别核心的实用价值:把隐性的、默认的需求显性化。很多时候我们觉得“我已经说清楚了”,其实是因为内心默认了很多背景知识,但模型不知道。六模块逼着你把每一类信息都写出来,哪怕不完整,也比漏掉强得多。

2. 六模块Prompt结构全景拆解

2.1 角色定义:给模型一个身份锚点

角色模块是整套结构的第一个抽屉。很多人在写Prompt时完全不设定角色,直接开问。这会让模型处于一种“全能答题者”的默认状态,它只能用中立、百科式的口吻给你一个通用回答。当你给它一个具体的身份,它的语言风格、知识侧重点、建议角度都会随之改变。

角色不是随便说“你是一个专家”就完了,关键在匹配任务需求。我常用的写法是一个公式:身份背景+能力范围+沟通风格。比如写文案,我会写“你是一位拥有十年消费品行业经验的品牌策划,擅长用口语化、生活化的表达把产品卖点讲清楚,不喜欢堆砌华丽形容词”。这里面的每一句话都在影响输出:品牌策划决定了思考角度,十年经验决定了专业深度,口语化表达决定了语气风格,不喜欢堆砌形容词则直接限制了它的措辞方向。

需要提醒的是,角色模块不是万能的。它只能帮你调节表达框架和知识侧重点,不能弥补任务目标的模糊。见过有人写了一个很精细的角色,然后来一句“帮我写点东西”,模型照样会很懵。角色是锚,目标才是方向盘,两个缺一不可。

2.2 任务目标:把“要什么”说成一句话

任务模块是整个Prompt的心脏,它回答的问题是:你到底需要模型交付什么。这里最容易犯的错误是一次性塞好几个目标,或者目标表述过于模糊。

一个有效的任务目标,通常满足三个条件:单一、具体、可衡量。“帮我分析一下市场情况”不是好目标,“基于我提供的三个渠道的月度数据,分析各渠道的转化率变化趋势并找出下降可能原因”就是好目标。后者明确了分析对象、时间范围和数据来源,模型的每一句话都能朝着这个方向努力。

写任务目标时还有个容易被忽视的细节:动词要具体。“分析”“讨论”“思考”这类动词太软,你可以换成“列出”“对比”“总结”“给出5条建议”等有明确动作指向的词。单独丢一句“思考一下这个方案的优劣”,模型可能会给你一篇散文;换成“列出这个方案的5个优点和5个缺点,每一点用一句话说明理由”,它就会老老实实给你结构化结果。

2.3 上下文信息:提供背景,但不投喂垃圾

上下文模块,简单说就是把你掌握的背景资料同步给模型。它的作用在于让模型知道:我现在是什么处境、我手里有哪些牌、我要服务什么样的人。

常见的上下文信息包括:项目背景、目标读者画像、已经尝试过的方法、甚至是一些不愿意放在明面上的考虑。举个例子,你让模型帮你写一封邮件,那么收件人的身份、你和他目前的关系、你希望达成的结果,这些都是上下文。没有这些,模型只能凭空编一封“你好,希望你能帮忙……”式的模板邮件。

但是上下文不是越多越好。模型对信息的注意力是有限的,你把大量无关的细节倒进去,它可能抓不住重点。一个实用的判断标准是:这条信息如果缺失,模型的输出会不会跑偏?会,就写进去;不会,就别放。比如让模型写产品介绍,产品的核心卖点必须有,但公司是哪年成立的如果和卖点无关,就不必写。

2.4 约束条件:把边界画清楚

约束模块是很多人最容易忽略的部分,但它恰恰是“精准听话”的关键。约束的本质是划出边界,告诉模型哪些能做、哪些不能做。

我习惯把约束分成两类。一类是正向约束,要求模型必须包含哪些内容。比如“必须给出具体的数据来源”“必须提供3个可执行的行动方案”。另一类是负向约束,要求模型避免什么。“不要使用行业黑话”“不要超过300字”“不要用AI味太重的书面语”。这两类约束相互配合,能把模型的输出锁进一个可控的范围内。

写负向约束的时候,尽量用明确否定的词而不是模糊的偏好。“尽量避免使用专业术语”不如“全文禁止出现Jargon,如果必须使用术语,请在括号内用通俗话解释”。因为模型在处理否定句时,对“禁止”“绝不”“不允许”这类强指令的响应力度,要明显强于“尽量”“最好”“可能”这类软弱词。约束不是商量,是画线,你把线画在哪,模型才知道不能越过哪里。

2.5 输出格式:锁定交付形态

一个好的回答内容,如果格式不对,照样让人头疼。输出格式模块就是解决这个问题的。它特别适合那些希望把AI输出直接投入使用的人,比如要写表格、生成代码、整理清单、输出JSON数据等等。

我常用的格式要求写法,是把期望的格式直接描述出来。比如“用Markdown表格输出,第一列是渠道名称,第二列是本月转化率,第三列是环比变化”。如果你希望模型像填表一样输出,可以在Prompt里给出一个模板框架,让它往里填空,这种“填空式”指令的稳定性比“随便写”高得多。

格式模块也可以指定输出的组织方式,比如“先给出结论,再列出原因,最后给出建议”。这等于在格式层面给模型规定了行文结构,比单纯说“写得清晰点”有效得多。我自己做项目时,经常把格式要求放在Prompt的尾部,把它当作最后一道“塑形”指令。

2.6 示例引导:用样本消除歧义

最后一个模块是示例,它是所有模块里对“精准”贡献最直接的一个。原因很简单,描述性的规则无论如何都会存在歧义,但示例是确定的,模型可以直接参照。

举个例子,你想让模型把口语化表达改写为标准书面语。你写“请把下面这段话改写成书面语”,它大概率能完成,但结果可能会过于生硬。如果你先给它一个改造前后的对照示例,情况截然不同:模型会自觉模仿示例中那种“保留原意、去口语化、但不过度正式”的尺度。

示例一般放两三个就够,太多反而会限制模型的发挥空间。示例要贴近你真实的任务需求,不要拿一个毫不相关的示例去引导。还有一种高级用法是“正例+反例”的组合:给一个符合要求的示例,再给一个你不想看到的反例,双管齐下,模型基本不会再跑偏。我通常把示例放在Prompt的最末尾,让模型在生成之前最后看到的内容就是参照样本,这样它的注意力更容易锁定在示例的形态上。

3. 实操过程:把一个普通需求改造成六模块Prompt

3.1 原始需求:一个“将就能用”的初版Prompt

纸上谈兵没有意义,我拿一个实际场景来走一遍完整流程。这个场景是我在某次内容项目中反复用过的:帮我写一份产品发布会的社交媒体宣传计划。

初版Prompt长这样:

帮我写一份产品发布会的社交媒体宣传方案。

这个Prompt是典型的零散提问。它缺少角色的视角、缺少目标受众、缺少发布会的具体信息、缺少格式要求、也缺少示例。模型拿到它,只能生成一个高度模板化的“宣传方案”,里面可能是“前期预热、中期爆发、后期发酵”这类放之四海而皆准的框架。说白了,你用这个Prompt让十个人写,可能得到十份都能交差的方案,但没有一份对你有实质帮助。

我拿到这个初版后的第一反应,不是急着补写内容,而是先列需求清单:这个方案给谁执行的?在哪些平台发?产品有什么特点?目标用户是谁?预算和周期是多少?输出形式是文档还是表格?把这些问题逐一落实,六模块填充就有了素材。

3.2 六模块逐项落地:修改过程实录

先从角色开始写。这次任务,我希望模型站在一个有实操经验的新媒体运营负责人角度,所以角色我写的是:“你是一位有五年以上社交媒体运营经验的资深策划,操作过科技产品的上市推广,风格务实,注重可落地性而不是空谈创意。”

接下来是任务目标。我把它聚焦成:“针对我即将发布的一款智能手环产品,制定一份为期两周的社交媒体宣传计划,覆盖预热期、发布期和发酵期三个阶段,每个阶段给出具体的内容主题、发布渠道和预期指标。”对比初版的“帮我写一份方案”,这句话把时间范围、阶段划分、输出内容都钉死了,模型就算自由发挥,也跑不出这个圈子。

然后是上下文。我在这一层写上了产品的核心卖点、目标人群和现有的账号资源:“产品主打超长续航和健康监测,目标人群是25到35岁、有运动习惯的上班族。我们目前有微博、小红书和抖音三个账号,粉丝量分别在10万、8万和15万左右。本次发布会预算有限,不打算做大规模投放。”

约束条件这里,我明确了两件事:“不要给出付费投放之外的建议,因为预算有限;内容建议必须具体到可以直接执行,不要写空泛的策略名词。”

格式要求是“用表格输出,每一行包含阶段、日期、内容主题、发布渠道、预期指标、备注六列”。示例我放了一条针对其他产品的宣传内容样式,让模型照着那个颗粒度去写,不要天马行空。

3.3 完整版Prompt与效果对比

把上面六个模块拼在一起,完整版Prompt就是下面这个样子:

你是一位有五年以上社交媒体运营经验的资深策划,操作过科技产品的上市推广,风格务实,注重可落地性。请针对我即将发布的一款智能手环产品,制定一份为期两周的社交媒体宣传计划,覆盖预热期、发布期和发酵期三个阶段,每个阶段给出具体的内容主题、发布渠道和预期指标。

产品主打超长续航和健康监测,目标人群是25到35岁、有运动习惯的上班族。我们目前有微博、小红书和抖音三个账号,粉丝量分别在10万、8万和15万左右。本次发布会预算有限,不打算做大规模投放。

请不要给出付费投放之外的建议,内容必须具体到可以直接执行,不要写空泛的策略名词。

请用表格输出,每一行包含阶段、日期、内容主题、发布渠道、预期指标、备注六列。

参考示例格式: 预热期 | 发布前第7天 | 发布一条产品悬念海报,配文提示“续航革命” | 微博 | 互动率大于3% | 配图需突出产品剪影

把这两版Prompt放到同一个模型里跑,出来的结果差别非常明显。初版给的是大家常见的方案套话,每条建议都很正确但没有数据、没有时间、没有平台选择逻辑,需要我再花时间“翻译”成能用的工作计划。而完整版给出的方案,每一步都踩在我提供的产品信息和平台账号上,内容颗粒度基本可以拿来直接用,后续只做了小幅度修改。

我特别想强调的是,这不是模型的“超能力”被激活了,而是完整版Prompt把模糊需求变成了一份清楚的Brief。模型本来就是信息加工器,你把材料准备得越齐,它返还给你的成品越接近需求。

3.4 场景变体:技术任务中的六模块用法

上面这个流程不限于内容策划,换成写代码、解析数据、做技术调研,思路完全一样,只是模块内容的写法变化了。

比如写代码需求,角色可以写“你是一位熟悉Python的数据分析工程师,习惯写清晰可维护的代码”;任务是“读取某个CSV文件,对其中某一列做缺失值处理,并按分组计算均值”;上下文写清楚数据格式、列名、缺失值比例;约束写“不使用额外第三方库,除了pandas”“函数必须带有docstring”;格式写“输出完整代码和注释,代码块用python标记”。你会发现这六句话拼在一起,远比直接说“帮我处理一下这个数据”要高效得多。

这些都是同一个框架在不同场景里的变体。核心逻辑始终没有变:把你在脑子里已经想清楚、但懒得写下来的那些背景,一件一件搬进Prompt里。模型能在一个清晰的决策空间里工作,输出质量自然就上去了。

4. 常见问题与排查技巧实录

4.1 加了角色还是效果差,问题出在哪

很多人试了角色模块之后反馈“好像没太大区别”。我遇到过这种情况,排查之后发现,他们只加了角色,任务目标仍然是模糊的。比如“你是一位资深HR,帮我分析一下简历”,这个角色加了等于没加,因为“分析简历”到底要分析什么、从哪几个维度入手、用什么标准评价,全都没有说。

角色和任务是配合关系,角色负责框定视角,任务负责框定动作。当你觉得角色没有发挥作用,第一件事不是换一个更厉害的角色,而是检查任务是否已经足够具体。角色加任务都清晰了,效果才出得来。

4.2 模块全写了,结果还是跑偏——排查清单

如果你完整写了六模块,输出依然不理想,按照下面这个顺序排查,基本能定位问题。

第一步,检查目标和输出是否匹配。比如目标是“总结这篇文章”,输出的却是一大段原文摘抄,那是因为你没有给“总结”定义形式,加一句“用自己的话概括核心观点,不要摘抄原文”就矫正了。

第二步,检查上下文里有没有自相矛盾的信息。很多人一边说“用户是普通小白”,一边又说“可以引用复杂的专业术语作为示例”,模型接收到矛盾指令时,往往会选择其中一个偏离你的预期。

第三步,检查约束语句有没有冲突。“不要太长”和“必须包含全部细节”放在一起就会冲突,模型只能权衡,结果往往两边都不满意。删掉多余的约束,只留下不可妥协的一条,输出反而更可控。

第四步,检查示例与目标的一致性。如果你的目标是结构化报告,示例却是一大段散文,模型的模仿本能会压倒你写在规则里的格式要求。示例的作用非常强,你给它什么样本,它就倾向于回你什么形态的答案。

4.3 一次给全还是分步对话

一个常见的纠结是:六模块内容很多,是否每次都要一次性写完,能不能在对话里逐步给?

我的建议是分情况。对一次性任务,比如写一封邮件、生成一段代码,最好六模块一次给全,避免中间切换话题导致上下文漂移。对复杂的大型任务,比如做一个完整方案、多角色协作的调研报告,建议把大任务先拆成几个子任务,每一步在对话里单独给一次Prompt,拿到这一步的结果后再进入下一步。

六模块不是非要一次性打完的,它是一个信息组织框架,跨多轮对话使用完全没有问题。核心是每一轮对话内,你给出的信息仍然要具备完整的模块结构,不要变成“上轮已经说了,这轮懒得说”的零散追问。

4.4 模板用久了效果变差怎么办

如果你把一个Prompt模板重复用很多次,尤其是同一话题下的长期任务,有时会感觉模型输出变“油”了,不再像第一次那么走心。这不是模型退化,而是你的模板信息已经固化,模型对它的响应轨迹变得规律化,失去了新鲜感带来的“注意力集中”效果。

我自己的习惯是,每个阶段性的Prompt模板,用过一段时间后都要重新修订一次。可能是换一个更细致的角色表达,或者往上下文里补充最近变化的数据,或者调整示例让它更贴合当前任务。定期维护Prompt模板,本质上是把你自己的工作变化同步给模型,它才不会停留在上一次对话的记忆惯性里。

4.5 小任务也需要六个模块吗

不是。六模块是一个完备框架,但不是所有任务都值得写满六块。日常轻量任务,比如查一个常识、翻译一句话,直接用简洁的方式交给模型反而更快。

我自己的简化逻辑是:任务只要稍微复杂一点、有一定容错成本,就用“角色+任务+约束+格式”四件套。上下文和示例模块,只有当任务存在明显歧义或者希望模型模仿某种风格时再加。这个轻重取舍本身就是经验的体现,用的时间长了,你会知道什么场景写几个模块最划算。

5. 进阶经验与个人心得

5.1 模块顺序与信息密度的排列思路

虽然六模块没有一个权威的排序标准,但我在实战中总结出一个比较顺手的顺序:角色放在最开头,任务紧跟着,然后放上下文,接着约束,再用格式锁形状,最后用示例做收尾。

之所以这样排,有一个很现实的考虑:模型对Prompt开头的信息注意力权重通常更高。角色和任务是整个Prompt的“定调”部分,放在开头可以让模型在理解后续细节前,已经建立起一个正确的分析框架。而示例放在最后,是为了让模型生成时,最近看到的参照物就是理想的样本形态。约束和格式夹在中间,它们像筛子一样,在模型产出内容之前,就把不合适的路径先排除掉。

信息密度也要有梯度。开头两段保持短而明确,中间上下文可以稍微铺开,后面的约束和格式尽量精确,不要继续堆大段描述。整体节奏是“先立骨架、再填肉、最后定形”。

5.2 用六模块建立自己的Prompt素材库

用六模块拆解Prompt一段时间之后,你会发现很多内容是可以复用的。角色表达、格式模板、约束措辞,这些都属于可沉淀的素材。我后来建了一个自己的提示词素材库,按场景分类存放,比如内容创作类、数据分析类、代码开发类、邮件沟通类。每次接到一个新的任务,我不用从零开始写,直接把库里对应场景的角色、格式、常用约束拉出来,配上当前任务的目标和上下文,拼装一下就是一个完整的六模块Prompt。

这个过程类似做菜的“预制菜”思路。提前备好材料,下锅的时候就能节约大量时间,同时还能保证每次出品的水准相对稳定。在团队里推广这套方法也很实用,几个核心模板沉淀下来,新同学上手用AI的效率会明显提高。

5.3 和思维链结合使用的提示词写法

六模块框架之外,我现在还习惯在任务目标里加一句“请先列出你的分析步骤,再给出最终答案”。这个做法借鉴了思维链的基本思路:让模型先把推理过程外显化,再落到结论上。

这样做的好处是,模型的输出不只是“一个答案”,它还给出了“为什么是这个答案”的推导链路。我拿到结果时,可以先检查它的推理逻辑对不对,再决定是否采纳,而不是对着一个算出来的结论干瞪眼。尤其在做数据分析、策略推演、方案评估这类任务时,这一步对结果质量的提升贡献相当明显。

它和六模块的关系也不冲突。你可以把它理解为在“任务目标”里面加了一层过程要求,让模型的思考过程与你期望的路径靠得更近。

5.4 最后想分享的一点体会

六模块这套结构,最开始是我为了解决自己重复返工的问题而整理的。用了半年多以后,最大的感受不是模型变聪明了,而是我自己的表达能力被反向训练好了。因为每次都要逼着自己把角色、目标、上下文、约束、格式想清楚,我动手写需求文档的时候也有意识地更结构化。后来我教身边的同事和朋友用AI写提示词,没有让他们死记硬背六个模块的名字,只告诉了他们一句话:把你心里默认知道、但嘴上没说出来的那些信息,全部写下来。这句话是这套方法论最核心的本质。

如果非要我提供一个一页纸的速记,大概是这句:告诉模型它是谁、要做什么、有什么背景、不能做什么、交付长什么样、参考是什么。你把这六句话回答清楚,大模型的“精准听话”就是一件自然而然的事情。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询