1-2 提示词工程基础

在理解了 1-1 大模型认知与工程概览 之后,本篇正式进入大模型工程落地的第一层能力:提示词工程。它是五大模块里成本最低、见效最快、也是最值得最先掌握的一层。


本章课程目标:

  • 理解提示词(Prompt)与提示词工程(Prompt Engineering)的定义、作用与边界。
  • 掌握写 Prompt 最常用的一套方法:角色、任务、背景/上下文、输入数据、输出格式、质量与约束六要素。
  • 理解 Zero-shot、Few-shot、提示词模板和 System / User / Assistant 结构化组织方式的适用场景。
  • 知道提示词工程什么时候够用、什么时候不够用,以及在真实项目中如何与 RAG、工作流、智能体配合。

学习建议: 提示词不是咒语,关键是把需求写到模型能执行。读这一章时,最好拿一个真实任务边看边改:先写清角色和任务,再补输入边界、输出格式、示例和约束。读完后,至少能把一句含糊的“帮我写一下”改成一段可执行、可检查的提示词。

和第 13 章的分工: 本章解决的是“Prompt 为什么这样写、应该写哪些信息、什么时候有效、什么时候无效”;后面的 第 13 章 提示词与消息模板 解决的是“把这些思路落到 LangChain 代码里,应该如何用消息、模板和占位符来组织输入”。你可以先把本章当成方法论篇,再把第 13 章当成工程实现篇

官方文档与资源:详见 工具导航与参考资料索引 - 提示词与结构化输出


1、提示词与提示词工程

1.1 提示词定义

提示词(Prompt)就是你发给模型的输入内容。它可以是一句话,也可以是一整套结构化消息。

最简单的 Prompt,是一句自然语言,比如:

  • “谁发明了数字零?”
  • “讲个笑话”
  • “给男/女朋友写封情书”

任务也可以更复杂,例如:

  • 让模型研究你的产品创意的竞争对手
  • 从零开始构建一个网站
  • 分析你的企业数据

提示词可用于问答、写作、代码生成、竞品分析和数据分析等多种任务场景

从入门角度,可以先把 Prompt 理解成“我给模型的一次任务说明”。但从工程角度,Prompt 不只是“一句话问问题”,而是把角色、任务、上下文、输入和输出规则组织清楚

1.2 为什么需要提示词

大模型虽然读过海量语料,但它不会主动知道你这次到底想让它做什么。
提示词的作用,就是告诉模型:你现在扮演什么角色;这次任务是什么;可以参考哪些资料;应该输出成什么样子。

提示词不是在“教模型重新学知识”,而是在激活它当前最该用的那部分能力

提示词帮助模型明确角色、任务、参考资料和输出要求的示意图

1.3 为什么需要优化提示词

同一个模型,输入不同,输出质量往往差别很大。
高质量 Prompt 的作用,不是把模型“变聪明”,而是减少歧义、减少跑偏、减少格式错误,让模型更稳定地朝着你的目标输出。

它有点像你去看医生:

  • 如果只说“我不舒服”,医生很难判断
  • 如果能清楚描述症状、持续时间、触发条件,判断就会更准确

大模型也一样。输入越模糊,输出越容易漂。

优化提示词可以减少歧义、减少跑偏并提升输出稳定性的示意图

1.4 提示词工程

提示词工程(Prompt Engineering)指的是:
在使用大模型时,通过系统地设计、组织、测试和优化 Prompt,让模型在特定任务、约束和上下文下,尽可能稳定地产出符合目标的结果。

它不是玄学,也不是“多试几次运气好就行”。真正有效的提示词工程,关注的是:

  • 需求表达是否清晰
  • 输入边界是否明确
  • 输出结构是否可验收
  • 示例是否足够说明边界
  • 约束是否自洽

所以,本章讲的不是“几个魔法词”,而是一套可复用、可维护、可迁移的输入组织方法。

1.5 概念补充

1.5.1 上下文

上下文(Context)通常指模型在当前这次生成时可直接访问并用于推理的信息集合。

简单说,上下文就是这次你实际喂给模型的全部输入,其中可能包括:

  • System 提示词
  • 用户问题
  • 历史对话
  • 检索结果
  • 工具返回

上下文通常由系统提示、用户输入、历史对话、检索结果和工具返回共同构成

1.5.2 上下文窗口

模型不是能无限接收内容的。它一次最多能处理多长的上下文,是由模型架构和训练决定的,这个长度上限叫上下文窗口

超出上下文窗口后,内容会被截断、压缩,或者根本放不进去。

简单区分:

  • 上下文 = 这次喂给模型的全部信息
  • 上下文窗口 = 模型最多能吃下多少信息

这也是为什么:

  • 长文档不能无脑全塞
  • 多轮对话要做摘要或裁剪
  • 资料太多时,往往要用 RAG

2、提示词怎么写

2.1 提示词工程的变化

早期模型能力相对弱,开发者常常需要大量依赖“技巧型 Prompt”,比如复杂提示链、花式引导语、很多显式推理提示。

但随着模型能力增强,提示词工程的重点越来越从“炫技巧”转向“把需求说清楚,并让结果可检查”。

这并不是说技巧完全没用了,而是说技巧应该服务于任务设计。比如 Few-shot、分隔符、结构化输出、逐步拆解依然有价值;但它们的作用是让任务更清楚、更稳定、更容易验证,而不是靠某一句神秘话术让模型突然变强。

今天更重要的问题不再是:

  • 我要不要加某个神秘句式?

而是:

  • 任务到底定义清楚了吗?
  • 输入边界是否明确?
  • 输出格式是否可验收?
  • 我有没有给模型足够的背景和示例?

对真实项目来说,这种变化很重要。因为工程系统需要的不是“偶尔答对一次”,而是能长期稳定复现,并且能通过样例集或评测标准判断好坏

2.2 核心六要素与典型构成

虽然并不是每个 Prompt 都必须把六要素写满,但在绝大多数场景下,这六项能帮你把需求组织得更完整:

1
2
3
4
5
6
7
8
9
flowchart LR
Role["角色<br/>用什么身份和口吻"] --> Prompt["一段可执行的提示词"]
Task["任务<br/>具体要完成什么"] --> Prompt
Context["背景 / 上下文<br/>需要参考什么"] --> Prompt
Input["输入数据<br/>本次处理哪段内容"] --> Prompt
Format["输出格式<br/>结果长什么样"] --> Prompt
Constraint["质量与约束<br/>哪些事不能做"] --> Prompt
Prompt --> Model["大模型"]
Model --> Output["更稳定、可检查的输出"]

一种通用模板如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 角色
你是一名【角色定位,如:数据分析师 / 业务分析师 / 政策研究员】。

# 任务
你的任务是基于给定的输入数据进行【分析 / 总结 / 对比 / 评估】。

# 背景/上下文
【历史记录总结】。
【参考资料】。

# 输入数据
<<<
{在此粘贴输入数据}
>>>

# 输出格式
- 使用表格形式输出
- 表格中必须包含以下列:
1. 关键发现
2. 支撑数据(来自输入数据的原文或摘要)
3. 结论
4. 建议
- 表格下方需给出整体结论说明

# 质量与约束
- 仅基于输入数据进行分析
- 不得编造、推测或引入外部信息
- 若输入数据不足以支撑结论,必须明确标注为“信息不足”
- 不允许为了完整性而补充假设

下面逐项展开。

2.2.1 要素一:角色

角色用于回答“你现在是谁”。
它的作用不是给模型贴一个花哨身份,而是告诉模型:应该用什么专业视角、表达风格和知识深度来完成这次任务。

常见作用包括:控制口吻与语气;控制专业深度;控制思考视角;限定任务边界。

通用写法:

1
你是一名【角色定位,如:数据分析师 / 业务分析师 / 政策研究员】。

举例:

1
2
3
4
5
(❌)给我一个英语的学习计划

(✔️)
需要你扮演一名优秀的小学英语讲师。
我是一名3年级的学生,给我一个为期3个月提高英语成绩的学习计划

这个例子里,角色一旦明确,模型就更容易控制难度、语气和节奏。

2.2.2 要素二:任务

任务是 Prompt 的核心,用来回答“你要做什么”。

写任务时,建议优先做到两点:

  • 指令动词开头:用一个强有力的指令动词开始你的任务描述,例如“分析”、“总结”、“提取”、“分类”、“翻译”、“生成”、“重写”、“排序”等。
  • 任务说明:一个好的任务说明必须是明确、具体、无歧义的。比如”写摘要”、“做分类”、“写代码”等。

举例 1:

不推荐:目标不明确

1
告诉我关于气候变化的事情。

推荐:目标明确

1
请简要描述气候变化的主要原因及其对农业的影响。

举例 2:

1
你的任务是基于给定的输入数据进行【分析 / 总结 / 对比 / 评估】。

举例 3:

1
(弱)谈谈这篇报告
1
2
3
4
5
(强)请执行以下三个任务:

• 总结所附的 2025 年第二季度全球 AI 市场分析报告,篇幅限制在 300 字以内。
• 提取报告中提到的三大主要增长动力和两大潜在风险。
• 基于报告内容,为一家计划进入该市场的初创公司提出三条战略建议。

你会发现,任务一旦具体,模型更容易稳定命中目标。

2.2.3 要素三:背景/上下文

背景/上下文用于回答“模型完成任务时,还需要知道什么”。

这部分不是每次都必须有,但当任务涉及特定读者、业务背景、历史聊天记录、参考资料、角色知识边界时,它会很重要。

通用写法:

1
2
3
# 上下文
【历史记录总结】
【参考资料】

举例 1:

不推荐:无上下文

1
解释一下微积分。

推荐:有上下文

1
作为一名高中生,我正在学习微积分。请用简单的语言解释一下微积分的基本概念。

举例 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def provide_context_prompt(topic, expertise_level, background_info):
"""构建包含上下文的提示词"""
prompt = f"""
根据以下背景信息:
{background_info}

请以{expertise_level}水平撰写关于{topic}的详细解释。
确保内容准确、结构清晰,并包含实际应用示例。
"""
return prompt

# 使用示例
background = "读者是计算机专业大三学生,已学习过机器学习基础知识"
topic = "Transformer架构中的多头注意力机制"
prompt = provide_context_prompt(topic, "中级", background)

这个例子很好地说明了一点:
上下文并不是“把资料堆进去”,而是给模型一个更准确的理解起点。

2.2.4 要素四:输入数据

输入数据用于告诉模型:“下面这部分,才是本次真正要处理的内容”。

为了避免指令、背景和原始文本互相混淆,我们通常会使用分隔符把不同部分隔开。常见分隔符包括:

1
```   """   <<< >>>   <>   <tag></tag>

只要能清楚地区分不同文本区域,用哪一种并不绝对,关键是一致且明确

通用写法:

1
2
3
4
# 输入数据
<<<
{在此粘贴输入数据}
>>>

举例 1:使用 ``` 作为分隔符

1
2
3
4
5
6
7
把用三个反引号括起来的文本总结成一句话。

​```
您应该提供尽可能清晰、具体的指示,以表达您希望模型执行的任务。这将引导模型朝向所
需的输出,并降低收到无关或不正确响应的可能性。不要将写清晰的提示词与写简短的提示词混淆。在
许多情况下,更长的提示词可以为模型提供更多的清晰度和上下文信息,从而导致更详细和相关的输出。
​```

举例 2:

不推荐的提示词:

1
2
3
4
5
请将以下句子改写为更易理解的形式。

OpenAI是一个美国人工智能(AI)研究实验室,由非营利组织OpenAIIncorporated(OpenAIInc.)和其盈利子公司
OpenAI Limited Partnership(OpenAI LP)组成。OpenAI旨在推广和发展友好型人工智能,并使用世界第五大超级计算机进行研究。该组织于2015年由Sam Altman、Reid Hoffman、Jessica Livingston、Elon Musk、Ilya
Sutskever、Peter Thiel等人在旧金山创立,共承诺捐赠10亿美元。Musk于2018年从董事会辞职但仍然是捐赠者。微软于2019年向0penAILP提供了10亿美元的投资,并在2023年1月提供了第二笔多年期投资,金额据报道为100亿美元。

推荐的提示词:

1
2
3
4
5
请将以下句子概括,以便更易理解。

文本:"""
OpenAI是一个美国人工智能(AI)研究实验室,由非营利组织OpenAIIncorporated(OpenAIInc.)和其盈利子公司 OpenAI Limited Partnership(OpenAI LP)组成。OpenAI旨在推广和发展友好型人工智能,并使用世界第五大超级计算机进行研究。该组织于2015年由Sam Altman、Reid Hoffman、Jessica Livingston、Elon Musk、Ilya Sutskever、Peter Thiel等人在旧金山创立,共承诺捐赠10亿美元。Musk于2018年从董事会辞职但仍然是捐赠者。微软于2019年向0penAILP提供了10亿美元的投资,并在2023年1月提供了第二笔多年期投资,金额据报道为100亿美元。
"""

举例 3:

1)不推荐的提示词

1
2
将下面的这句话翻译成英文.
尽量使用华丽的词语

AI 回复:

“春风拂面,百花齐放,万物复苏,大地一片生机勃勃。”
Translation:”With the caress of the spring breeze,myriad flowers bloom in unison,all things
rejuvenate,and the earth is teeming with vibrant vitality.”

2)推荐的提示词

1
2
把用三个引号括起来的文本翻译成英文
"""尽量使用华丽的词语"""

AI 回复:

“Strive to use magnificent words as much as possible.”

这个例子很经典,因为它说明了一件事:
如果不把“任务说明”和“原始输入”分开,模型就可能把输入文本本身当成新的任务去执行。

2.2.5 要素五:输出格式

很多时候,我们要的不是一段随意发挥的自然语言,而是可读、可用、可继续处理的结构化输出。

常见输出格式包括:

  • JSON:适合程序处理和结构化提取
  • Markdown:适合文档、报告、可读性展示
  • 表格:适合分析、对比、汇总
  • 代码:适合生成特定语言的程序片段

举例 1:

1
2
3
4
5
6
7
8
9
# 输出要求

- 使用**表格**形式输出
- 表格中必须包含以下列:
1. 关键发现
2. 支撑数据(来自输入数据的原文或摘要)
3. 结论
4. 建议
- 表格下方需给出**整体结论说明**

举例 2:

1
中国有哪些经典菜系,以表格的形式输出中国经典菜系

输出:

中国八大菜系是指鲁菜、川菜、粤菜、苏菜、闽菜、浙菜、湘菜、徽菜,这八大菜系各具特色,代表了中国饮食文化的精髓。

菜系 起源地 核心特色 代表菜品
鲁菜 山东 咸鲜为主,讲究”鲜而不腻、嫩而不生”,善用葱姜蒜,精于制汤 葱烧海参、九转大肠、糖醋鲤鱼、油焖大虾
川菜 四川、重庆 麻辣鲜香,味型丰富,有”一菜一格、百菜百味”的美誉 麻婆豆腐、水煮鱼、宫保鸡丁、夫妻肺片、回锅肉
粤菜 广东 清鲜爽嫩,追求原汁原味,注重食材新鲜度 白切鸡、清蒸石斑鱼、广式烧腊、虾饺、云吞面
苏菜 江苏 清鲜平和,咸甜适中,讲究”色、香、味、形、器”的统一 松鼠鳜鱼、清炖狮子头、叫花鸡、盐水鸭、扬州炒饭
闽菜 福建 海味突出,酸甜适口,擅长用红糟、虾油、老酒调味 佛跳墙、荔枝肉、醉虾醉蟹、红糟肉、太极芋泥
浙菜 浙江 清淡鲜嫩,咸甜适中,注重”鲜、嫩、滑、爽”,菜品清新雅致 西湖醋鱼、龙井虾仁、叫花鸡、宋嫂鱼羹、东坡肉
湘菜 湖南 香辣浓烈,油重色浓,多搭配烟熏、腊味,开胃下饭 剁椒鱼头、辣椒炒肉、腊味合蒸、毛氏红烧肉、东安子鸡
徽菜 安徽 咸鲜醇厚,重油重色,注重火功,善用山珍和河鲜 臭鳜鱼、毛豆腐、胡适一品锅、黄山炖鸽、问政山笋

这八大菜系的形成与各地的气候、地理环境、物产资源及饮食风俗密切相关,共同构成了中国饮食文化的丰富多样性。

举例 3:

1
2
3
4
5
请从以下非结构化文本中提取联系人信息,并以 JSON 对象数组的格式输出。
每个对象应包含 name (string), email (string), 和 phone (string) 三个键。
如果某个信息缺失,请将对应的值设为 null。

文本: 张三的电话是 13812345678,邮箱是 zhangsan@example.com。李四只留了邮箱 lisi@example.com。

输出:

[{“name”: “张三”, “email”: “zhangsan@example.com“,”phone”: “13812345678”}, { “name”: “李四”,”email”: “lisi@example.com“,”phone”: null}]

举例 4:

1
2
3
4
5
6
7
8
9
10
11
请根据以下要求生成一段 Python 代码:
- 定义一个函数 `add_numbers`,接受两个参数 `a` 和 `b`,返回它们的和。
- 打印函数的调用结果,参数为 5 和 10。

示例格式:
```python
def function_name(parameters):
# function body

print(function_name(arguments))
```

输出:

1
2
3
4
def add_numbers(a, b):
return a + b

print(add_numbers(5, 10))

如果你后面还要把结果交给程序、工作流或解析器处理,那么输出格式往往不是锦上添花,而是必须先说清楚

2.2.6 要素六:质量与约束

这一要素用于回答两个问题:怎样算好哪些事不能做

它通常包括两部分:

  • 质量标准:例如文风、语气、粒度、专业程度、创造性
  • 约束条件:例如字数、来源限制、禁止编造、合规边界

常用模板:

1
2
3
4
5
# 质量与约束
- 仅基于输入数据进行分析
- 不得编造、推测或引入外部信息
- 若输入数据不足以支撑结论,必须明确标注为“信息不足”
- 不允许为了完整性而补充假设

举例 1:

1
2
(❌)
帮我写个介绍
1
2
(✔️)
请写一段 100 字以内、适合微信推文开头的介绍,风格轻松活泼。

举例 2:

1
2
3
4
5
6
7
8
9
10
11
你是一位为高端汽车品牌撰写广告文案的创意总监。请为新款电动跑车保时捷 taycan 创作一段 150 字左右的广告语。

质量要求:
• 突出未来感、速度与环保的结合。
• 语言富有诗意和画面感。
• 唤起读者的自由和探索精神。

约束:
• 不得提及具体价格或竞争对手。
• 不得使用最好、第一等绝对化词汇。
• 最终输出必须是一段完整的文本,不含任何标题或标签。

举例 3:

1
2
3
4
5
6
7
作为资深刑事律师,【角色】

你需要设计一套评估 AI 伦理风险的框架,包含 3 个核心维度和 9 项具体指标,【任务目标】

必须排除技术可行性讨论,聚焦社会影响层面,【约束】

用 SWOT 分析框架呈现,每个维度附带现实案例。【输出格式】

举例 4:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 角色
你是一名产品分析师。

# 任务
你的任务是基于给定的用户反馈数据,识别主要问题并提出改进建议。

# 上下文
{{历史讨论记录的总结}}
{{内部知识库中记录的分析技巧}}

# 输入数据
<<<
1. 多名用户反馈应用启动速度变慢
2. 部分用户提到新界面操作路径不清晰
3. 有用户表示通知功能比之前稳定
>>>

# 输出要求
- 使用表格形式输出
- 表格中必须包含以下列:
1. 关键发现
2. 支撑数据
3. 结论
4. 建议
- 表格下方需给出整体结论说明
- 输出语言必须为中文,表述客观、克制、偏分析报告风格

# 约束
- 仅基于输入数据进行分析
- 不得编造、推测或引入外部信息
- 若输入数据不足以支撑结论,必须明确标注为“信息不足”
- 不允许为了完整性而补充假设

这一类 Prompt 很像真实项目里的系统提示词雏形。

2.2.7 实操

提示词的运用非常灵活,并不一定要把六要素写满,但在复杂内容生成任务里,这六类信息通常都会派上用场。下面保留课程中的完整案例。

(1)提示词

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
**# 角色**
你现在是一名 **专业商业广告导演、品牌策划师、脚本创意总监**,擅长为 TikTok、抖音、小红书、电商平台制作高转化产品视频。

**# 任务**
你的任务:**根据产品信息创作一支约 20 秒的故事短片级商品介绍视频脚本**,并严格按以下 3 个部分输出。

**# 输出**
**格式要求【必须输出以下 2 部分】**
**1. outline(视频整体大纲)**
以自然段文本形式输出,需包含:
* 视频定位(带货、种草、功能展示等)
* 目标受众画像(性别、年龄、需求)
* 视频风格(科技感、生活感、快节奏等)
* 视频结构(例如:0–3s 抓眼、3–5s 痛点、5–15s 卖点故事化、15–20s 情绪收束 + CTA)
* 故事走向与主题表达
* 氛围与视觉基调建议

**要求**:浓缩完整故事脉络 + 产品价值呈现方式,字数约 150–300 字。

**2. contents(分镜脚本和旁白数组)**
输出为 **数组,每个元素为一个镜头的JSON字符串,名为content**。
content包含两个字段:**script**和**aside**

**2.1 script(分镜脚本)**
输出为 **一个镜头的字符串**。
每个镜头 **时长 0.5–5 秒**,全片总时长约 20 秒。
每个镜头字符串需包含:
```
【镜头编号】
【画面描述】(景别/构图/人物动作/产品动作)
【旁白/字幕】
【拍摄手法】(特写/推镜/俯拍/转场/光效等)
【时长】X 秒
【情绪/节奏】
```
**要求:**
* 开头前 3–5 秒必须强抓注意
* 故事化、画面执行明确、镜头语言专业
* 卖点通过情节自然呈现,而不是堆砌参数
* 节奏符合短视频平台呈现方式
* 镜头数量可 3-5 个(依内容需要)

**2.2 aside(旁白)**
* 输出为字符串,是该镜头的旁白文本
* 若镜头无旁白,则使用 `"无旁白"`

**# 约束**
**写作风格要求**
* 专业但易懂
* 画面感强,镜头语言表达清晰
* 情绪节奏鲜明、卖点突出、推动购买
* 每个镜头方案可真实落地拍摄
* 全片故事流畅、有戏剧张力
* 充分“抓眼”与“爽点”设计

**# 输入**
产品信息如下
【1. 产品名称】
添可极客智能洗地机

【2. 参数信息】
转速:92000 转/分钟
续航时间:70 min
清水箱容量:1000 ml
品牌:TINECO/添可
型号:FW52010ECN
电压:220V
是否智能:否
电器基站功能:滚刷烘干
适用地面材质:木地板、瓷砖、大理石
附加功能:高温全链速干、除菌、延边清扫、防毛发缠绕、拖布自清洁
最大吸入功率:75 AW
污水箱容量:690 毫升
清水箱容量:1000 ml
质保周期:2 年
颜色分类:【AI全向助力】添可极客

【3. 产品特点】
智能洗地机 芙万 Fold X90
90°小折叠,女神好帮手
3.9kg超轻量,自动上热水
镇店爆款:添可极客
全网都在夸的洗地机
买过的人都说好
净顽渍 安静洗 14天无异味
AI全向助力 22000Pa大吸力
恒压活水高效洗
一键Turbo祛顽渍
安静模式免打扰
22000Pa龙卷吸
AI全向助力
毛发0缠0逃逸
70min长续航
400平方米清洁面积
抗菌祛味棒 14天无异味
99.99%电解水除菌
双模式烘干
小于等于45dB(A)静烘/5min速干

(2)在线平台测试

选择 DeepSeek 官方网站进行测试。

在 DeepSeek 在线平台中测试商品视频脚本 Prompt 的示意图

输出如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
**1. outline(视频整体大纲)**

本视频定位为 **“痛点故事化解码 + 高效功能种草”** 的强带货视频,旨在通过一个极具生活共鸣感的日常“灾难”场景,戏剧化地展示添可极客洗地机如何“降维打击”传统清洁难题。

* **目标受众**:追求生活品质、注重清洁效率但时间/精力有限的 **25-40岁都市女性**(特别是宝妈、有宠家庭)。

* **视频风格**:采用 **快节奏、生活感、微电影质感** 的风格。前半段紧张混乱,后半段干净利落,形成强烈的情感与视觉反差。

* **视频结构**:

* **0–3s 强冲突抓眼**:婴儿打翻食物、宠物踩踏,制造突发“灾难”现场。

* **3–5s 强化痛点**:传统拖把清洁无力,越拖越脏,女主疲惫绝望。

* **5–15s 产品登场与故事化解码**:添可洗地机如“救星”般登场,通过连贯动作展示“AI全向助力”(轻盈感)、“高温活水+大吸力”(瞬间洁净)、“防毛发缠绕”(解决宠物毛发)、“一键自清洁”(解放双手)等核心卖点。

* **15–20s 情绪升华与CTA**:画面恢复洁净明亮,女主从容优雅,烘托出“科技让生活回归美好”的主题,强引导点击购买。

* **故事走向**:从“混乱绝望”到“从容掌控”的情绪转折,产品是推动剧情、解决矛盾的核心“英雄”。

* **氛围与视觉基调**:开场采用手持晃动、低角度特写,色调偏冷、混乱;产品介入后,镜头运动变得平稳流畅,大量特写与跟随镜头展示产品工作细节,色调转为明亮、温暖,突出洁净与科技的舒适感。

**2. contents(分镜脚本和旁白数组)**
```json
[
{
"content": {
"script": "【镜头1】\n【画面描述】(特写)一杯酸奶被打翻,倾泻在浅色木地板上。一只小狗的爪子欢快地踩过,留下沾满酸奶的爪印和脱落的毛发。\n【旁白/字幕】当生活给你一记暴击…\n【拍摄手法】(手持跟随拍摄,轻微晃动,模拟混乱第一视角)\n【时长】2 秒\n【情绪/节奏】突发、紧张、抓心",
"aside": "当生活给你一记暴击…"
}
},
{
"content": {
"script": "【镜头2】\n【画面描述】(中景)女主人(目标用户)惊慌地“啊”了一声,蹲下用传统拖把擦拭。结果酸奶被抹开,混合毛发,留下一片更脏的污渍。她疲惫地扶额,表情绝望。\n【旁白/字幕】传统清洁?越忙越乱。\n【拍摄手法】(快速切镜,俯拍拖把制造混乱的画面)\n【时长】2 秒\n【情绪/节奏】挫败、共鸣、痛点被戳中",
"aside": "传统清洁?越忙越乱。"
}
},
{
"content": {
"script": "【镜头3】\n【画面描述】(特写转跟拍)画面一转,添可极客洗地机被轻松单手推出,LED屏亮起。机器向前时,女主手部几乎不用力,轻松转向绕过桌角。\n【旁白/字幕】但你有添可极客。AI全向助力,轻如3.9kg。\n【拍摄手法】(产品特写开场,镜头跟随产品运动,强调其灵活轻盈)\n【时长】3 秒\n【情绪/节奏】转折、期待、科技感介入",
"aside": "但你有添可极客。AI全向助力,轻如3.9kg。"
}
},
{
"content": {
"script": "【镜头4】\n【画面描述】(超高速特写+微观视角)滚刷以极高转速接触污渍,酸奶和毛发瞬间被吸入。配合“滋滋”清洁音效。镜头微观展示滚刷高温活水冲洗、毛发被吸入而未缠绕的瞬间。\n【旁白/字幕】22000Pa龙卷吸力,搭配高温活水,净顽渍,毛发0缠绕。\n【拍摄手法】(高速摄影/特技镜头,微观视角展示清洁力,画面干净利落)\n【时长】4 秒\n【情绪/节奏】爽快、解压、核心卖点高光展示",
"aside": "22000Pa龙卷吸力,搭配高温活水,净顽渍,毛发0缠绕。"
}
},
{
"content": {
"script": "【镜头5】\n【画面描述】(中景)女主将洗地机放回基站,按下按钮。镜头特写:滚刷在基站内自动清洁、高速旋转并开始烘干。女主只是轻松地走开。\n【旁白/字幕】一键自清洁,5分钟速干,14天都无异味。\n【拍摄手法】(平滑转场,基站工作灯光效,展示自动化)\n【时长】3 秒\n【情绪/节奏】省心、解放、科技带来便利",
"aside": "一键自清洁,5分钟速干,14天都无异味。"
}
},
{
"content": {
"script": "【镜头6】\n【画面描述】(全景,升格慢镜头)地板光洁如新,反射着温暖灯光。女主光脚踩过,抱起宠物,笑容舒展。添可洗地机静静立在角落,LED屏显示电量充足。\n【旁白/字幕】70分钟长续航,搞定全家清洁。\n【拍摄手法】(慢动作,光线明亮柔和,对比开场)\n【时长】3 秒\n【情绪/节奏】治愈、美好、生活品质感",
"aside": "70分钟长续航,搞定全家清洁。"
}
},
{
"content": {
"script": "【镜头7】\n【画面描述】(产品特写+标语)添可极客洗地机产品定格画面,旁边打出核心标语:“净顽渍,安静洗,AI全向助力”。屏幕下方出现产品购买链接与“镇店爆款”标签。\n【旁白/字幕】添可极客智能洗地机,让清洁,不再是难题。\n【拍摄手法】(产品360度缓慢旋转展示,光效突出质感)\n【时长】3 秒\n【情绪/节奏】自信、果断、强号召",
"aside": "添可极客智能洗地机,让清洁,不再是难题。"
}
}
]
```

这个案例的价值不在于“生成了洗地机脚本”,而在于它很好地演示了六要素如何一起工作:

  • 角色控制专业视角
  • 任务控制目标
  • 输入数据承载产品信息
  • 输出格式规定结构
  • 约束控制质量与边界

2.3 Zero-shot 与 Few-shot

2.3.1 Zero-shot

Zero-shot 指的是:不给任何示例,直接让模型做任务。

它适用于:任务本身很常见,目标边界清楚,模型本身已经具备相关能力。

举例 1:

1
翻译这句话:'The cat is on the roof.'

猫在屋顶上。

举例 2:

1
2
3
将文本分类为中性、负面或正面。

Text: 我认为这个假期还不错

中性

Zero-shot 的优点是简单、快、成本低,但当任务边界比较模糊时,稳定性往往不如 Few-shot。

2.3.2 Few-shot

Few-shot 指的是:先给模型几个示例,再让它按示例去完成新任务。

它特别适合:分类,抽取,改写,风格模仿,结构化输出。

也就是那些“光靠解释还不够,最好直接告诉模型什么算对”的任务。

常见格式:

1
2
3
4
5
6
7
8
9
10
11
Q: <问题>?
A: <答案>

Q: <问题>?
A: <答案>

Q: <问题>?
A: <答案>

Q: <问题>?
A:

举例 1:

1
2
3
4
用一句话描述大象的例子是:
大型食草哺乳动物,性格温和,群居生活,分布于亚洲和非洲。

用一句话描述老虎的例子是:

老虎是大型猫科食肉动物,具有强大的狩猎能力,分布于亚洲。

举例 2:

1
2
3
4
5
6
7
8
以下是一段示例文本,请你学习它的语气和排版。

示例文本:
别害怕慢,怕的是停。
就算今天走得再慢,
也比昨天原地踏步要好。

请模仿以上风格,写一段关于"坚持学习AI提示词"的短文案,字数在80-100字。

别担心起步晚,怕的是从未开始。

就算今天只多懂一个指令,

也比昨天对 AI 一无所知要强。

每一次提问的优化,都是与未来对话的练习。

坚持打磨你的提示词,时间会把它变成你手中最敏锐的思维钥匙。

举例 3:

无提示的情况:

1
圣诞节圣诞老人会给我带礼物吗?

回答:

圣诞老人是一个孩子们相信的虚构角色,他通过有关在圣诞前夜乘雪橇、驯鹿以及送礼物的故事,为圣诞节带来了魔力和兴奋。许多家长鼓励这种信仰,因为它能给孩子们增添一层乐趣和惊奇。

有提示的情况:

1
2
3
4
5
问:牙仙是真的吗?
答:当然!今晚把你的牙齿放在枕头下。牙仙可能会来拜访并留下些小礼物。

问:圣诞节圣诞老人会给我带礼物吗?
答:

回答:

是的,当然!圣诞老人喜欢给那些相信他并且一整年都表现良好的孩子送礼物。只要你表现得特别乖,留一些饼干,你或许会在圣诞节早晨醒来时发现圣诞树下有礼物!

这个例子很适合理解 Few-shot 的本质:
示例不是“再解释一遍任务”,而是直接把目标风格演示给模型看。

2.4 结构化组织方式

2.4.1 为什么要结构化组织提示词

当任务从单轮问题升级为多轮对话、复杂输入、工作流或智能体时,Prompt 不再适合一直写成“一大段字符串”。

结构化组织的主要原因有三个:

(1)模型没有真正的持久记忆

模型不会因为上一轮聊过什么,就自动把那段内容永久记住。
如果想保留上下文,仍然要把历史内容重新送进模型。

(2)固定内容和变化内容应该分开

如果每次都把整段提示词重写一遍,既浪费 token,也不利于维护。

(3)项目开发需要可复用

在真实项目里,系统角色、全局规则、用户输入、历史对话、工具结果通常来自不同模块,天然更适合结构化组织。

先记住这个判断:

结构化 Prompt = 把不变的规则和会变化的输入拆开组织。

2.4.2 如何结构化组织提示词

在聊天模型中,最常见的基础消息通常有三类:

  • System:系统提示词,负责全局身份、规则、风格和长期约束
  • User:用户消息,负责当前任务输入
  • Assistant:助手消息,负责承接历史回复

很多官网聊天产品不会把底层消息结构完整暴露给你,但在 API、LangChain、Coze、Dify、智能体平台里,这套思路都很常见。

这里先建立“稳定规则和动态输入要拆开”的意识就够了。到了 第 13 章 提示词与消息模板,你会继续看到它在 LangChain 里的具体落地形式:SystemMessageHumanMessageAIMessagePromptTemplateChatPromptTemplateMessagesPlaceholder

2.4.3 提示词要素、模板和消息结构的统一关系

前面已经出现了三组概念:

  • 提示词六要素:角色、任务、背景/上下文、输入数据、输出格式、质量与约束。
  • 提示词模板:把反复出现的信息项抽象成可替换变量。
  • 消息结构:把不同性质的信息放进 System、User、Assistant 等消息里。

它们不是三套互相竞争的方法,而是同一件事的三个层次:

层次 解决的问题 典型问题
提示词要素 该告诉模型哪些信息 角色是谁?任务是什么?输出长什么样?
提示词模板 如何把这些信息组织成可复用结构 哪些地方固定?哪些地方运行时替换?
消息结构 运行时放到哪类消息里 哪些放 System?哪些放 User?历史怎么追加?

它们的关系可以压缩成一句:

六要素回答“写什么”,模板回答“怎么复用”,消息结构回答“运行时怎么装配”。

提示词要素与 System、User 等消息结构之间的对应关系示意图

放到工程里,通常会形成下面这种拆分。先看基础结构,后面讲 RAG 和 Agent 时,再把检索资料、工具结果继续接进来。

1
2
3
4
5
6
7
8
9
10
11
12
flowchart TD
Stable["稳定规则<br/>角色、任务边界、输出格式、质量约束"] --> System["System"]
Current["本轮任务<br/>用户问题、输入数据、临时补充"] --> User["User"]
History["历史回答<br/>上一轮结果、需要延续的信息"] --> Assistant["Assistant"]
Extra["外部资料 / 工具结果<br/>RAG 和 Agent 章节继续展开"] --> User

System --> Request["一次完整的模型输入"]
User --> Request
Assistant --> Request

Request --> LLM["大模型"]
LLM --> Output["回答 / 结构化输出"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
System:
- 角色
- 长期任务边界
- 稳定背景
- 输出格式
- 质量与约束

User:
- 本轮用户问题
- 本轮输入数据
- 本轮临时补充资料

Assistant:
- 历史回答
- 需要被后续轮次继续参考的中间结果

如果再进一步写成模板,就会变成:

1
2
3
4
5
6
7
8
9
10
11
12
System Template:
你是一名 {persona}。
你的长期任务是 {task}。
你需要遵守以下输出要求:{output_requirements}。
你需要遵守以下质量与约束:{constraints}。

User Template:
本轮输入如下:
{input_data}

补充上下文如下:
{dynamic_context}

这套拆分对后续章节很重要:

  • RAG 中,dynamic_context 往往会被填充为检索出来的知识库片段。
  • 工作流 中,不同步骤会各自维护不同的模板和输入变量。
  • Agent 中,工具返回、历史动作和观察结果会不断追加到消息上下文里。
  • LangChain 中,这些概念会落到 PromptTemplateChatPromptTemplateMessagesPlaceholder 等对象上。

因此,不要把 Prompt 只理解成“一段写给模型的话”。在真实项目里,Prompt 更像一套输入装配规则:哪些信息固定,哪些信息动态,哪些信息从知识库来,哪些信息从工具来,最后怎么一起送进模型。

2.4.4 实操

为了更直观地演示“固定规则”和“动态输入”的拆分,继续沿用上面的添可洗地机案例。

说明:很多官网聊天产品不会直接给用户暴露“System Prompt”编辑入口,所以这里用本地 AI 客户端来做演示。

(1)不变提示词

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 角色**
你现在是一名 **专业商业广告导演、品牌策划师、脚本创意总监**,擅长为 TikTok、抖音、小红书、电商平台制作高转化产品视频。

# 任务**
你的任务:**根据产品信息创作一支约 20 秒的故事短片级商品介绍视频脚本**,并严格按以下 3 个部分输出。

**# 输出**
**格式要求【必须输出以下 2 部分】**
**1. outline(视频整体大纲)**
以自然段文本形式输出,需包含:
* 视频定位(带货、种草、功能展示等)
* 目标受众画像(性别、年龄、需求)
* 视频风格(科技感、生活感、快节奏等)
* 视频结构(例如:0–3s 抓眼、3–5s 痛点、5–15s 卖点故事化、15–20s 情绪收束 + CTA)
* 故事走向与主题表达
* 氛围与视觉基调建议
**要求**:浓缩完整故事脉络 + 产品价值呈现方式,字数约 150–300 字。

**2. contents(分镜脚本和旁白数组)**
输出为 **数组,每个元素为一个镜头的JSON字符串,名为content**。
content包含两个字段:**script**和**aside**

**2.1 script(分镜脚本)**
输出为 **一个镜头的字符串**。
每个镜头 **时长 0.5–5 秒**,全片总时长约 20 秒。
每个镜头字符串需包含:
```
【镜头编号】
【画面描述】(景别/构图/人物动作/产品动作)
【旁白/字幕】
【拍摄手法】(特写/推镜/俯拍/转场/光效等)
【时长】X 秒
【情绪/节奏】
```
**要求:**
* 开头前 3–5 秒必须强抓注意
* 故事化、画面执行明确、镜头语言专业
* 卖点通过情节自然呈现,而不是堆砌参数
* 节奏符合短视频平台呈现方式
* 镜头数量可 3-5 个(依内容需要)

**2.2 aside(旁白)**
* 输出为字符串,是该镜头的旁白文本
* 若镜头无旁白,则使用 `"无旁白"`

**# 约束**
**写作风格要求**
* 专业但易懂
* 画面感强,镜头语言表达清晰
* 情绪节奏鲜明、卖点突出、推动购买
* 每个镜头方案可真实落地拍摄
* 全片故事流畅、有戏剧张力
* 充分“抓眼”与“爽点”设计

(2)可变提示词

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
*# 输入**
产品信息如下

【1. 产品名称】
添可极客智能洗地机

【2. 参数信息】
转速:92000 转/分钟
续航时间:70 min
清水箱容量:1000 ml
品牌:TINECO/添可
型号:FW52010ECN
电压:220V
是否智能:否
电器基站功能:滚刷烘干
适用地面材质:木地板、瓷砖、大理石
附加功能:高温全链速干、除菌、延边清扫、防毛发缠绕、拖布自清洁
最大吸入功率:75 AW
污水箱容量:690 毫升
清水箱容量:1000 ml
质保周期:2 年
颜色分类:【AI全向助力】添可极客

【3. 产品特点】
智能洗地机 芙万 Fold X90
90°小折叠,女神好帮手
3.9kg超轻量,自动上热水
镇店爆款:添可极客
全网都在夸的洗地机
买过的人都说好
净顽渍 安静洗 14天无异味
AI全向助力 22000Pa大吸力
恒压活水高效洗
一键Turbo祛顽渍
安静模式免打扰
22000Pa龙卷吸
AI全向助力
毛发0缠0逃逸
70min长续航
400平方米清洁面积
抗菌祛味棒 14天无异味
99.99%电解水除菌
双模式烘干
小于等于45dB(A)静烘/5min速干

(3)Cherry Studio 测试

① 系统提示词配置

不变提示词作为系统提示词。

Cherry Studio 中把不变提示词配置为 System Prompt 的界面示意图

② 用户提示词

可变提示词作为用户提示词,直接输入对话框即可。

Cherry Studio 中把可变提示词作为 User Prompt 输入的界面示意图

③ 输出如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
好的,收到。作为专业商业广告导演,我将为您打造一支兼具科技感与生活温度的高转化短视频脚本。
**1. outline(视频整体大纲)**
本视频定位为 **“功能展示 + 痛点解决型种草”**,旨在通过一个极具代入感的家庭清洁场景,戏剧化地展示添可极客洗地机如何“优雅”地解决传统清洁的“狼狈”痛点。目标受众为 **25-45岁、追求生活品质、注重效率与颜值的都市女性(兼顾家庭决策者)**。视频风格为 **“快节奏生活感 + 科技美学”**,前半段展现传统清洁的混乱与疲惫,后半段通过产品介入,瞬间切换至高效、轻松、充满掌控感的愉悦状态。

视频结构采用经典“问题-解决-升华”模式:**0–3s** 用极具冲击力的“灾难现场”抓眼;**3–8s** 深化女主(目标用户)的无力与痛点;**8–15s** 产品登场,以“AI全向助力”、“高温热水”、“毛发不缠绕”、“静音烘干”等核心卖点串联成一个行云流水的清洁过程;**15–20s** 情绪收束于女主享受成果的惬意,并给出明确的购买引导(CTA)。

故事走向是从 **“混乱与压力”到“秩序与掌控”** 的转变,主题表达 **“科技让繁重家务变得轻松优雅”**。视觉基调建议:前半段使用稍显凌乱的构图、偏冷色调、手持晃动感;产品介入后,转为稳定流畅的运镜、明亮温暖的色调、产品特写充满科技质感的光效,形成鲜明对比。

**2. contents(分镜脚本和旁白数组)**
```json
[
{
"content": {
"script": "【镜头1】\n【画面描述】(中景/略带俯拍)客厅地板上,打翻的咖啡渍、散落的宠物毛发、饼干碎屑混在一起,一片狼藉。一只穿着精致拖鞋的脚不小心踩上去,留下污渍脚印。\n【旁白/字幕】生活,总爱给你点“颜色”瞧瞧。\n【拍摄手法】(手持轻微晃动,模拟主观视角/快速推镜至污渍特写)\n【时长】3 秒\n【情绪/节奏】突发、混乱、烦躁、快节奏切入",
"aside": "生活,总爱给你点“颜色”瞧瞧。"
}
},
{
"content": {
"script": "【镜头2】\n【画面描述】(特写转中景)女主(目标用户形象)看着地面,疲惫地叹了口气,拿起传统拖把和水桶,弯腰费力地拖了几下,污渍扩散,毛发缠在拖布上,她表情更沮丧了。\n【旁白/字幕】而传统的清洁方式,只会让战场更混乱。\n【拍摄手法】(从女主面部特写沮丧表情拉出至中景,展示其与脏污“搏斗”的无力感)\n【时长】2.5 秒\n【情绪/节奏】无奈、疲惫、痛点共鸣",
"aside": "而传统的清洁方式,只会让战场更混乱。"
}
},
{
"content": {
"script": "【镜头3】\n【画面描述】(产品登场特写)添可极客洗地机被一只手优雅地“推”入画面,机身线条流畅,科技感十足。产品自动喷出热气(示意高温热水功能),滚刷高速旋转。\n【旁白/字幕】现在,让添可极客,来接管战场。\n【拍摄手法】(产品45度角特写,伴随“嗖”的音效和光效转场,强调登场感)\n【时长】2 秒\n【情绪/节奏】转折、期待、科技感拉满",
"aside": "现在,让添可极客,来接管战场。"
}
},
{
"content": {
"script": "【镜头4】\n【画面描述】(低角度跟拍+特写组合)洗地机在AI全向助力下,轻盈地90°转弯,紧贴墙边滑过(展示延边清扫)。滚刷所过之处,咖啡渍、毛发、碎屑被瞬间吸入,地面光洁如新。特意展示毛发被吸入滚刷仓但毫无缠绕。\n【旁白/字幕】AI全向助力,3.9kg超轻机身,像遛宠物一样轻松。22000Pa龙卷吸力,干湿顽渍,毛发,0缠0逃。\n【拍摄手法】(流畅的轨道跟拍+产品局部特写快切,配合“咻咻”的清洁音效)\n【时长】5 秒\n【情绪/节奏】顺畅、高效、爽感、核心卖点集中展示",
"aside": "AI全向助力,3.9kg超轻机身,像遛宠物一样轻松。22000Pa龙卷吸力,干湿顽渍,毛发,0缠0逃。"
}
},
{
"content": {
"script": "【镜头5】\n【画面描述】(中景)女主单手轻松握着洗地机,走过客厅、餐厅、厨房(暗示长续航和大清洁面积)。背景音安静,只有轻微的机器运行声。她甚至有空用另一只手接了个电话,表情从容。\n【旁白/字幕】70分钟长续航,安静模式,清洁不打扰生活。\n【拍摄手法】(稳定器跟拍女主移动,背景虚化,焦点在女主从容的表情和产品上)\n【时长】3 秒\n【情绪/节奏】轻松、优雅、掌控感",
"aside": "70分钟长续航,安静模式,清洁不打扰生活。"
}
},
{
"content": {
"script": "【镜头6】\n【画面描述】(特写转场)洗地机放回基站,一键启动自清洁。镜头特写:滚刷在基站内被高温热水强力冲洗并开始高速旋转烘干(展示双模式烘干)。字幕弹出:“高温活水洗 | 5分钟速干 | 14天无异味”。\n【旁白/字幕】放回基站,一键自清洁。高温活水洗得净,双模式烘得干,14天都清新。\n【拍摄手法】(高速摄影展示水花与滚刷旋转,烘干时蒸汽特效,科技感字幕弹出)\n【时长】3 秒\n【情绪/节奏】省心、彻底、科技解决最后一步",
"aside": "放回基站,一键自清洁。高温活水洗得净,双模式烘得干,14天都清新。"
}
},
{
"content": {
"script": "【镜头7】\n【画面描述】(全景/升格慢镜头)整个房间干净明亮,光影柔和。女主光脚踩在光洁的地板上,抱着靠枕舒服地窝在沙发里,看着干净的家,露出满意而放松的微笑。产品静静立在角落,像一位可靠的伙伴。\n【旁白/字幕】把麻烦交给科技,把时间留给自己。添可极客,全网都在夸的清洁实力派。\n【拍摄手法】(全景慢镜头,温暖逆光,情绪音乐起)\n【时长】2.5 秒\n【情绪/节奏】满足、愉悦、升华、强号召力",
"aside": "把麻烦交给科技,把时间留给自己。添可极客,全网都在夸的清洁实力派。"
}
}
]
```

4、小结

结构化提示词 = 把稳定约束放进 System,把当前任务和数据放进 User,必要时用 Assistant 承接历史结果。
这样做的价值,是降低重复、降低 token 浪费,并提升系统的一致性和可维护性。


3、提示词工程的边界

提示词工程很重要,但它不是万能解法。
当问题本质已经不再是“怎么问”,而是“模型缺知识、缺流程、缺行为稳定性”时,就需要其他模块配合。

3.1 参考资料太多

如果任务必须参考大量资料,而这些资料已经接近或超过模型上下文窗口,单靠 Prompt 已经很难解决。

这时问题不在“提示词不够漂亮”,而在“资料太多,模型吃不下”。

解决办法:做资料筛选、摘要,或者直接上 RAG。

3.2 多步骤复杂流程

当任务包含多个推理步骤时,模型在一次生成里容易出现跳步、漏步或顺序混乱。

例如:

  • 先分类再抽取再汇总
  • 先查资料再写结论再生成表格
  • 先分析风险再给建议再输出固定结构

解决办法:把大任务拆成多个小 Prompt,或者用工作流来组织。

3.3 指令遵循能力不足

如果模型本身对格式、结构和复杂指令的遵循能力不足,Prompt 再怎么修也会有天花板。

一个很有启发的研究结论是:许多模型对提示开头和结尾位置的信息更敏感,而对中间部分更容易“丢失关注”。所以,关键约束要放在显眼位置。

模型对提示开头和结尾位置更敏感、中间信息更容易被忽略的研究图示

大多数模型在任务描述位于开头时表现更好;也有部分模型对结尾处的关键指令更敏感。无论如何,这张图传达的核心结论都一样:不要把最重要的要求埋在中间。

解决办法:先把关键要求前置;如果仍然不稳,考虑更合适的模型、结构化输出方案,甚至微调。

3.4 缺少领域知识

在垂直领域里,模型可能根本没有相关知识,或者没有足够熟悉那套领域语言分布。

这时,Prompt 再清楚,也不能凭空补足知识。

解决办法:优先补充上下文或知识库;再进一步才考虑微调或续训。


4、提示词工程的几个注意点

4.1 不要把礼貌当成优化核心

很多人第一次写 Prompt,会把“请、谢谢、麻烦你”当成关键优化点。
现实里,礼貌本身通常不会显著提升模型效果,影响结果的是任务是否清楚、边界是否明确、输出是否可验收

1
2
3
礼貌式提示词:请帮我写一篇关于人工智能的文章,谢谢!

命令式提示词:写一篇关于人工智能的文章

更准确地说,不是“绝对不能礼貌”,而是:礼貌不是主要优化杠杆,清晰才是。

4.2 多个任务不要混在一起

如果一个 Prompt 里同时塞太多目标,模型很容易顾此失彼。

例如同时要求:先总结、再分类、再评价、再输出成复杂 JSON。
这时效果往往会明显下降。

建议:复杂任务尽量拆开,或者用工作流串起来。后续做多智能体和 LangGraph 时,你会更明显地感受到这一点。后续章节会讲到。

4.3 允许 LLM 说“我不知道”

如果你总要求模型“必须回答”,它更容易编。

所以在高风险、信息不足或需要事实依据的场景里,最好明确允许模型承认不确定性。

1
2
3
4
5
6
7
作为我们的并购顾问,分析这份关于 ExampleCorp 可能收购 AcmeCo 的报告。

<report>
{{REPORT}}
</report>

重点关注财务预测、整合风险和监管障碍。如果您对任何方面不确定,或者报告缺少必要信息,请说"我没有足够的信息来自信地评估这一点。"

这类约束,对降低幻觉非常有帮助。

4.4 过度优化陷阱

有些人会花很多时间在词句上来回抠,但改来改去只提升一点点,甚至根本没有稳定收益。更麻烦的是,如果没有固定测试样例,你甚至不知道这次改动是真的变好了,还是刚好命中了某一次输出。

更值得优先优化的,通常是:

  • 结构是否清楚
  • 任务是否明确
  • 输入是否分隔
  • 是否缺示例
  • 输出格式是否合理

而不是反复纠结“这里写请帮我还是请你帮我”。

建议:对稍微重要的 Prompt,至少保留 5 到 10 个真实样例。每次改 Prompt 后,用同一批样例重新测试,比较格式正确率、事实错误、遗漏字段和人工评分。这样 Prompt 调优才从“凭感觉改词”变成“有证据地迭代”。

真正改 Prompt 时,建议按同一批样例反复试:

1
2
3
4
5
6
7
8
flowchart LR
A["准备 5-10 个真实样例"] --> B["写出当前 Prompt"]
B --> C["用同一批样例测试"]
C --> D{"结果是否更稳?"}
D -- "否" --> E["看问题出在哪<br/>任务不清 / 上下文不足 / 格式不稳 / 缺少示例"]
E --> F["调整结构、示例或约束"]
F --> C
D -- "是" --> G["固定成可复用版本"]

4.5 指令自相矛盾

如果你一边要求“简洁”,一边又要求“详细全面”,模型就会陷入冲突。

例如:

1
写一段简洁的详细介绍

这类指令往往天然不自洽。

建议:如果必须兼顾多个目标,就明确优先级。

4.6 不要迷信“魔法词”

网上经常流传一些所谓“魔法词”,例如:

  • Let's think step by step
  • Take a deep breath and think this through
  • My career depends on it

这些句式在某些模型、某些任务、某些时期,可能会有帮助;但它们绝不是稳定、通用、可迁移的万能钥匙。

更可靠的做法是:

  • 把任务拆清楚
  • 给足示例
  • 明确输出格式
  • 约束不确定时允许拒答

归根到底:

不要迷信一句“咒语”,要重视完整的任务设计。

思考: 如果底层大模型换了,Prompt 要不要重新调优?

答案: 需要。不同模型的指令遵循习惯、输出倾向、工具调用风格、上下文利用能力都不完全一样。一个模型上表现不错的 Prompt,换模型后往往需要重新验证和调整。

体会: Prompt 调优本质上仍然是一种实验性工作。
它既有方法,也有试错。但有效的试错,不是无意义地反复换词,而是基于结构、目标和评测来迭代。


章节思考题:

  1. 选一个你最近真的会用到的任务,把它从一句含糊请求改成“角色、任务、输入、输出格式、约束”都明确的 Prompt。

    参考思路: 不要只换漂亮措辞,要补齐任务边界。例如“帮我总结会议”可以改成:你是项目助理;输入是会议记录;输出包含结论、待办、负责人和风险;不确定信息标注“未提及”。这样才方便复用和评估。

  2. 一个 Prompt 结果不稳定时,你会先改哪里,而不是马上加更多限制?

    参考思路: 先检查任务是否单一、输入是否完整、输出格式是否可执行、是否缺少示例、约束有没有冲突。限制越堆越多不一定更稳,很多时候问题出在主任务不清楚或示例不够代表。

  3. Few-shot 示例应该怎么选,才不会把模型带偏?

    参考思路: 示例要覆盖真实边界,而不是只放一个漂亮样例。最好包含常见输入、边界输入、容易误判的输入,以及对应的正确输出。示例的格式要和最终期望完全一致,否则模型会学到错误模式。

  4. System、User、Assistant 消息如果混着写,会给后续维护带来什么问题?

    参考思路: 规则、当前任务和历史输出混在一起后,很难判断哪条指令长期生效、哪条只针对本轮任务。工程化时应把稳定规则放 System,动态输入放 User,需要保留的历史再用 Assistant / 消息历史承接。

本章小结:

  • 提示词 是你发给模型的输入内容;提示词工程 是系统化地设计、组织和优化输入,以稳定产出高质量结果。
  • 六要素 分别是:角色、任务、背景/上下文、输入数据、输出格式、质量与约束。并不是每次都要全部写满,但它们能帮你系统地检查 Prompt 是否完整。
  • Zero-shot / Few-shot 的区别,本质上是不举例还是先示范;当任务边界难以用几句话说清时,Few-shot 往往更稳。
  • 结构化组织 是从“随手写一句话”走向“可维护系统”的关键一步。System 放稳定规则,User 放动态输入,Assistant 承接历史结果。
  • 提示词工程有边界:资料太多、流程太复杂、模型指令遵循能力不足、领域知识缺失时,单靠 Prompt 不够,通常要结合 RAG、工作流、微调或智能体。

建议下一步: 如果你按全书主线继续学,建议先看 1-3 RAG、微调、续训与智能体选型,把“Prompt 什么时候够用、什么时候该交给 RAG、微调或智能体”这条边界彻底理顺;如果你想立刻进入代码侧的 Prompt 工程化组织方式,则可以接着看 第 13 章 提示词与消息模板