Appearance
提示词到底该怎么写?
导读
AI 可以理解为统计机器。输出与预期不符时,排查思路优先落在输入端:提示词本身,以及它触发的各类注入指令。写法上先让人看懂,再兼顾机器特性——标准版是八个板块,直觉版是发散、收敛、按输出格式验收。
什么样是好的提示词
符合人类直觉,符合机器特性
歧义、约束力、冲突、可验证、冗余,是 LLM 指令遵循失败的五个根本原因。
前三个落在人能凭直觉察觉的层面,后两个是机器特有的故障模式:
| 层面 | 对应的词 | 谁能先察觉 |
|---|---|---|
| 语义层 | 歧义 | 人凭直觉 |
| 作用域层 | 约束力 | 人凭直觉 |
| 执行层 | 可验证 | 人凭直觉 |
| 注意力竞争 | 冲突 | 只有机器 |
| 上下文窗口的物理限制 | 冗余 | 只有机器 |
这五个词放在一起,就成了一条约束指令:拿它去校验一条规则,能判断这条规则到底能不能被 AI 好好遵守。
我们写提示词,原则也是一样的。
首先,提示词要能让人类看懂。 因为模型是通过人类语料训练的。AI 的兼容性很强,提示词可以啰嗦,但别有遗漏。
这其实并不容易
其实我们大多数人说话,同类都听不懂。
其次,要兼顾 AI 的特性。 这就是网上的提示词模板越来越冗长的源头。
提示词八个板块
任务、上下文、角色、步骤、约束、示例、验收标准、输出格式
“提示词模板”为什么搞这么复杂
第一个是任务。 第二个是步骤。复杂是相对概念。这套框架对程序员并不晦涩,正如前文提到的「LLM 指令遵循失败的五个根本原因」,文字虽不直白,但程序员可以依靠直觉完成分析。
结构化提示词最早落地在高严谨度场景,例如学术论文、期刊与官方网站。
但市面上大量过度复杂的提示词体系,属于人为增加的复杂度:一方面来自培训方,简单内容难以支撑课程;另一方面来自部分内容创作者,自身认知有限,只能堆砌概念输出内容。
标准版:八个板块,直接给你
此处可以略读,但不要略过。
要有一个大概印象,结尾处会有一个相对友好的版本。
text
# 任务
请完成:【要办成的那件事】。
期望:先写目标,不先写角色;目标要具体、可执行。
# 上下文
背景:【现状 / 走到哪一步 / 相关材料 / 目标对象 / 使用场景】。
期望:提供必要信息,不让模型猜测;没有的材料不要编。
# 角色(写处境,别写头衔)
你现在是:【谁、站在什么位置、要向谁说话】。
期望:用具体处境锚定视角,不写空泛头衔。
# 步骤
请按以下步骤完成:
1. 【步骤1】
2. 【步骤2】
期望:复杂任务拆步骤;简单任务可省略。
# 约束
- 必须:【必须做到的事项】。
- 不要:【关键禁止项】。
期望:正向指令优先;负约束只保留必要项,并尽量改写为正向要求。
# 示例
输入:【样例输入】 → 输出:【样例输出】。
期望:说不清就给一个样子;复杂任务优先给3—5个示例。
# 验收标准
完成后必须满足:
- 【可逐条核对的事实1】
- 【可逐条核对的事实2】
期望:每条都能人工核对的程度,而不是“质量高”“写得好”这类主观标准。
# 输出格式
请以【表格 / 列表 / 一段话 / 邮件 / 代码 / JSON】输出,必须包含:【部分1、部分2、部分3】。
期望:格式、长度、结构、字段写清楚。挑重点拆解一下
「角色提示」
角色提示是一次注意力引导
你告诉模型,在当前任务中它应该把注意力放在哪些维度上、按什么标准评估、对什么结果负责。
是站在某个位置说话,不是变成一个更厉害的人
举例子:
「你现在是一个要向领导汇报的员工」。
此时「角色」是一个和「联网」一样的命令,让 AI 脑补出:你站在哪、对谁说话、什么场合。这类处境在语料里有一大片真实样本,一提就能对齐。AI 会把相关联的提示词注入到对话中。
敲重点
模型内部没有可供「回忆」的场景库。模型是根据提示词,重新加权了它对训练语料中各种模式的注意力。 它不是「想起」了某个场景,而是通过注入新的 Token 「偏向」了某种说话方式和判断框架。
- 交代处境,管用。
- 加头衔换能力,不管用。 比如「你是一个十年资深的 XX 专家」这种,堆再多头衔也推不到一个它没有的能力上。
这种「请神上身」的提示词,目前只有鉴定水货 up 主的作用了
「你是一个有十年经验的资深产品经理」——这种请神上身式的人设,已经是自媒体肉喇叭们提示词教学的标配了。
他们的逻辑是:角色是一次唤醒,唤醒它在训练阶段对某个场景的记忆。就像你跟老同学提一句「你还记不记得我们上大学那年……」,他脑子里那段画面、那股说话的口气,一下就回来了。
在这个逻辑下,还诞生了「你是一个资深提示词架构师」这种我连编例子都要费半天劲的神奇岗位。
「验收标准」
具体要求只有一条:人和机器都能验证。
- 「做好看点」「优化一下」——形容词,不能核实;
- 「打开首页,卡片上能看到本月收入、本月支出、结余三个数字」——事实,能核实;
- 「手工把当月几笔加起来,跟卡片数字对得上」——事实,能核实。
敲重点
把形容词换成能验收的事实。
| 形容词 | 换成能验收的事实 |
|---|---|
| 好看 | 按钮圆角,颜色跟现有导航一致,字号不小于 16px |
| 快一点 | 列表里放一百条记录,滚动不卡 |
| 稳一点 | 连点两下不会重复提交 |
「上下文」
敲重点
把话说明白,罗嗦好过什么都没说
这是最简单,但其实是踩坑最严重的地方。
举例子:你想在你的 Vibe Coding 项目里增加一个功能。
text
planA:帮我加一个按月看账的功能。
planB:现在只有一页流水列表,数据存浏览器本地;顶部已经有一个按月切换,我不想再叠一套新的筛选逻辑跟它打架;这应用是给我妈用的,她六十多了,按钮太小她点不到。同样一个功能,第二种给出来,改哪个文件、按钮做多大、动不动现有切换,全不一样。因为你给了更多的已知条件:
- 现况——走到哪一步;
- 对象——给谁用、在意什么;
- 限制——时间、预算、数据放哪、哪些红线不能碰;
- 试过什么——常被漏掉,你不讲,AI 会诚恳地把你已经试过的三个烂方法再推荐一遍;
- 搞砸了会怎样。
「任务」
敲重点
换任务框架,比堆形容词有效得多
同一段文本,你换一个任务目标,模型就换一套评价函数:
| 你写的任务 | 它进入的模式 | 它实际会做什么 |
|---|---|---|
| 这是 AI 写的,帮我去掉 AI 味 | 改写模式 | 目标是让文本不像 AI,于是调用训练里关于“AI 味”的刻板清单:套话、排比、对举、首先其次最后、空泛升华、过度平衡、破折号、不是……而是…… |
| 这是实习生写的,疑似用 AI | 审查/鉴别模式 | 目标不是改好而是找证据:逐段标可疑句,判断哪些像模板化生成,还会因为“实习生”标签带上经验不足、表达生涩的先验 |
一个AI独有的脾气
“AI 味”并没有客观标准,它只是模型对某种统计风格的印象。
你说“是 AI”,它倾向于全篇降 AI;
你说“疑似 AI”,它倾向于保守鉴别、只标可疑处。
输出会不一样。
「输出格式」
你说「少说废话」,这算一个输出格式,但不够好。因为 AI 要思考:什么才算废话?没有明确标准,它只能给一个安全的中间值——不长不短、不深不浅,谁看了都不生气,但也不会有用。
更好的说法是:「三句话以内,每句不超过 20 字,只保留动作和截止时间。」这就不是形容词,而是结构。
会议纪要也一样。不要说「写简洁点」,要说清四件事:谁参会、领导说了什么、每人承诺了什么、什么时候交。这四条既是收敛,也是验收。
敲重点
输出格式的本质不是排版,而是收敛指令加验收标准(之一)。
我的体会是:提示词完全可以按照「输出格式」的思路来写,用「我到底要你给我什么样的答案」来向 AI 发指令。
第二种写法:更符合直觉
中心思想:写提示词在「校准」AI「即将输出」的 Token
第一,校准的方式是发散和收敛。
发散,是扩大可能性空间:问AI还有哪些路径、方案、替代品、协作方式。
收敛,是选择和挑选有价值的方案,并定义验收标准。
也就是提示词 = 发散 or 收敛。
第二,描述现状与目标之间的差距。
AI 手上有什么(你给的),和最终你要的,全都说明白
也就是提示词是在不停地描述「问题 = 目标状态 − 当前状态」。
假设你想做一个 PPT。
一轮盘点,你可能只想到“自己做”。那么你有如下选择:
找一个 PPT 模板,塞内容,拼成一个了事
自己粘贴文字进去。
你对这一轮思考并不满意,于是你继续「发散」:把「谁来做」也变成一个变量,就会多出另外几条路。
找实习生帮忙。
付费外包出去。
用 AI 制作。
发散之后,判断条件反而更多了:美观、内容合理、效率、省心、成本。更多的选项意味着更高的决策成本。
当然,你可以先收敛到一个大方向:AI 制作。
但收敛到 AI 制作之后,下一层发散才开始——AI 辅助到底有哪些路线?
| 走哪条路 | 拿到什么 | 卡在哪里 |
|---|---|---|
| 可编辑的 PPTX | 基于几套固定模板,给内容就能迅速生成,效率极高 | 模板可能不够用 |
| HTML | 直接生成图片加文字,视觉效果极佳,排版合理,还有动画 | 内容很难调整,把字往右移一点都做不到 |
| AI 生成图层再拼接 | 上限最高 | 难度大,对审美要求高,要投入大量打磨 |
第三行是个关键判断:如果走 AI 路线也要投入大量审美打磨,提效优势被抵消,那还不如直接动手做。
不管是发散还是收敛,都会产生新的决策。而每一次决策,都让你离目标更近一点
发散和收敛,是控制 AI 下一步行为的方式。你有了这个意识,就是在给 AI 下达“输出结构”的指令。
AI 的回复是否满足需求,可以作为判断下一阶段该发散还是该收敛的依据,从而形成一个闭环。
而落到你实际的动作,就是不停地在描述 「问题 = 目标状态 − 当前状态」。
通过每一条提示词,描述当下目标和现状之间的差距,去校正AI的回答。
所以完整的第二种写法,是把三件事叠加:
- 现状同步——现在在哪,手上有什么,卡在哪里;
- 模式指定——这一轮是发散,还是收敛;
- 输出格式——交付成什么样,怎么验收。
输出格式管答案长什么样,发散/收敛管这一轮答案该怎么来。你负责出题和判卷,AI 负责答题。
参考资料
- Prompt Engineering Guide(中文)
- OpenAI:Prompt engineering
- Token 只会被不断追加:旧内容为什么不会消失。
- 提示词的实用小技巧:六个可以直接照做的动作。