结构化提示词:用分隔符组织你的提示词

你有没有遇到过这种情况:写了一个很长的提示词,里面包含了背景信息、任务描述、格式要求、示例……所有东西混在一起,AI似乎"看漏"了某些部分,输出结果不完全符合预期。问题往往不在于AI不理解你的需求,而在于你的提示词"结构混乱"——AI在处理长文本时需要清晰的"路标"来引导注意力。结构化提示词就是解决这个问题的——用分隔符、标签和层级结构来组织你的提示词,让AI一目了然地看到"这是什么部分"、“那是什么部分”。今天,我们来系统掌握这门让提示词"从混乱到清晰"的基本功。
一、为什么结构化如此重要
1.1 AI是如何"读"提示词的
要理解为什么结构化重要,我们需要先理解AI处理提示词的方式。
大语言模型在处理提示词时,并不是"同等重视"每个部分。研究显示:
- AI对提示词开头和结尾的内容给予更多注意力(首因效应和近因效应)
- AI对"格式突出"的内容(如用特殊符号标记的内容)给予更高权重
- AI对"角色切换信号"(如"### 示例部分 ###")更加敏感,会自动调整处理模式
- 长提示词中的信息如果没有清晰的结构,AI可能会"丢失"中间部分的内容
💡 结构化的本质是"给AI做路标"——通过清晰的视觉分隔和标签,告诉AI:“注意,这部分是这个意思,那部分是那个意思。这里是示例,那里是你的任务。”
1.2 结构化 vs 非结构化的直观对比
非结构化提示词:
请帮我分析一下我们公司的用户数据。我们的用户主要是25-35岁的职场人士,产品是一个效率工具App,最近一个月日活下降了15%。请在分析中考虑以下几个因素:季节性因素、竞品动态、产品更新影响。分析报告需要有数据解读、原因分析、改进建议三个部分。分析报告控制在1500字以内。对了,还需要一个300字以内的摘要放在报告最前面。请参考以下案例的风格:标题用"用户活跃度分析报告-[日期]",第一部分是核心指标概览,第二部分是异常发现,第三部分是建议。哦对了,还要加一个"风险提示"部分。分析要客观,不要为了凑字数而写废话。如果有不确定的地方,请用"基于现有数据推测"来标注。
结构化提示词:
=== 任务描述 ===
分析用户数据并生成一份分析报告。
=== 背景信息 ===
- 产品:效率工具App
- 核心用户:25-35岁职场人士
- 近期异常:日活跃用户(DAU)环比下降15%
- 需要分析的因素:季节性因素、竞品动态、产品更新影响
=== 报告结构要求 ===
报告按以下顺序组织:
① 摘要(300字以内,概括核心发现)
② 核心指标概览
③ 异常发现与原因分析
④ 改进建议
⑤ 风险提示
=== 格式与风格规范 ===
- 标题格式:"用户活跃度分析报告 - [日期]"
- 总字数:1500字以内
- 风格:客观、数据驱动、说人话
- 不确定的内容请用"基于现有数据推测"标注
=== 参考示例 ===
[此处放示例]
=== 你的任务 ===
请基于以上所有信息,生成分析报告。
💡 同样的内容,结构化版本让AI能清晰分辨"这是背景"、“这是格式要求”、“这是参考示例”、“这是任务指令”。而非结构化版本把所有信息混在一起,AI需要自己去"猜测"每句话是什么性质的信息。
二、分隔符的选择与使用
2.1 常用分隔符及其适用场景
💡 选择分隔符的核心原则:用最少的分隔符传达最清晰的结构。不要让分隔符本身成为阅读障碍。
一级分隔符(区分大板块):
=== 板块名称 === # 推荐,视觉上醒目且不容易与内容混淆
--- # 次选,简洁但可能被AI误认为内容
*** # 可用但不够通用
══════ # 能用但可能在手机上显示异常
二级分隔符(区分子板块):
### 子板块名称 # 推荐,Markdown风格,语义清晰
--- # 次选
三级分隔符(列表或条目):
- 条目1 # 推荐,Markdown无序列表
① 条目1 # 推荐,编号清晰
> 引用内容 # 用于示例或引用
2.2 我推荐的"三层分隔体系"
经过大量实践,我总结了一套"三层分隔体系",适用于90%以上的提示词场景:
===== 第一层:用等号线分隔主要板块 =====
=== 第二层:用三个等号分隔子板块 ===
### 第三层:用Markdown标题分隔细项 ###
- 具体内容用列表
完整示例:
===== 系统设定 =====
你是一个数据分析师。你的分析风格是数据驱动、结论清晰。
===== 任务背景 =====
公司最近三个月的数据如下:
[数据]
===== 任务要求 =====
=== 分析维度 ===
- 维度1:用户增长趋势
- 维度2:收入变化分析
- 维度3:用户留存分析
=== 输出格式 ===
### 报告标题 ###
[格式说明]
### 核心发现 ###
[格式说明]
### 详细分析 ###
[格式说明]
=== 质量标准 ===
- 每个结论要有数据支撑
- 不确定的用"推测"标注
===== 参考示例 =====
[示例内容]
===== 开始分析 =====
2.3 分隔符使用禁忌
⚠️ 避免在分隔符中使用AI可能误解的符号:
❌ <任务> 任务描述 </任务>
→ 可能被AI误解为HTML标签,触发奇怪的响应
❌ {任务开始}
→ 花括号在编程中常用,可能触发代码解析模式
❌ /* 任务描述 */
→ 这是注释符号,AI可能认为这部分应该"被忽略"
✅ 推荐使用AI在训练数据中大量见过且语义清晰的符号:
✅ === 任务描述 ===
✅ ### 任务描述
✅ ---任务描述---
三、结构化提示词的模板设计
3.1 通用型提示词模板
这是我最常用的通用模板,适用于大多数任务场景:
===== 角色设定 =====
[你是谁,你的专业背景和行为方式]
===== 背景信息 =====
[任务相关的背景、上下文、数据]
===== 任务目标 =====
[要完成什么,最终产出什么]
===== 输入材料 =====
[需要AI处理的原始内容]
===== 输出要求 =====
=== 内容要求 ===
[输出必须包含什么]
=== 格式要求 ===
[输出的格式规范]
=== 质量要求 ===
[质量标准、字数限制等]
===== 参考示例 =====
[示例输入和期望输出]
===== 约束条件 =====
[限制和要求,包括不应该做什么]
===== 开始执行 =====
[具体的执行指令或问题]
3.2 简洁型提示词模板
当你不需要太复杂的结构时,可以用这个简洁版:
### 角色
[一句话角色描述]
### 任务
[一句话任务描述]
### 要求
- [要求1]
- [要求2]
- [要求3]
### 示例
[示例]
### 输入
[实际输入]
3.3 复杂任务型模板
对于需要多步骤的复杂任务:
===== 任务总览 =====
[任务的整体描述和目标]
===== 第一阶段:[步骤名称] =====
=== 输入 ===
[本阶段的输入材料]
=== 操作说明 ===
[本阶段要做什么]
=== 输出格式 ===
[本阶段的输出格式]
=== 完成标准 ===
[怎样判断这个阶段完成了]
===== 第二阶段:[步骤名称] =====
[同上结构]
===== 第三阶段:[步骤名称] =====
[同上结构]
===== 最终整合 =====
[如何将各阶段输出整合成最终成果]
四、结构化提示词的高级技巧
4.1 信息分层:让重要信息"跳出来"
💡 在结构化提示词中,不是所有信息同等重要。你需要让"关键约束"和"容易忽略的细节"在视觉上更突出。
===== 任务要求 =====
注意:以下三条为【硬性要求】,不满足任何一条则视为不合格。
⚠️ 硬性要求1:输出必须是合法的JSON格式,且所有字段不可缺失
⚠️ 硬性要求2:所有金额单位为"分"(整数),不是"元"
⚠️ 硬性要求3:对于不确定的数据,必须填写null而非猜测一个值
以下为【软性建议】,尽量满足但不强制:
💡 建议1:优先使用中文键名(方便非技术人员阅读)
💡 建议2:如果某字段的数据源缺失,在备注中说明原因
通过"硬性要求"和"软性建议"的区分,AI能清楚知道"什么必须做到"和"什么尽量做到"——避免了将所有要求放在同等优先级导致的注意力稀释。
4.2 上下文隔离:防止示例"污染"任务
⚠️ 一个常见问题是:示例部分的内容可能会"渗透"到AI对任务的理解中,导致AI在应该独立处理任务时过度模仿示例。
💡 解决方法:使用清晰的分隔符将示例与任务"物理隔离",并明确标注示例的边界。
===== 以下为示例(仅用于理解格式和风格,不要复制示例的内容)=====
=== 示例开始 ===
[示例1]
[示例2]
=== 示例结束 ===
===== 以上为示例。下面是你的实际任务,请独立完成。=====
[实际任务输入]
4.3 动态结构:用占位符标记可变内容
💡 如果你要将提示词做成"模板"反复使用,用明显的占位符标记可变部分。
===== 任务描述 =====
分析 {{PRODUCT_NAME}} 在 {{TIME_PERIOD}} 的用户增长数据。
===== 数据输入 =====
```json
{{USER_GROWTH_DATA}}
===== 参考基准 =====
- 行业平均增长率:{{BENCHMARK_GROWTH_RATE}}
- 上期增长数据:{{PREVIOUS_PERIOD_DATA}}
===== 分析要求 =====
请重点关注增长率是否高于 {{BENCHMARK_GROWTH_RATE}} 的行业基准。
如果低于基准,请在分析报告中重点说明原因。
使用{{ }}这样的醒目占位符,替换时不容易遗漏或搞混。
### 4.4 指令分层:从宏观到微观
💡 结构化提示词应该遵循"从宏观到微观"的信息组织原则——先给大框架,再给细要求。
好的组织(从宏观到微观):
===== 角色 =====
[身份描述]
===== 任务目标 =====
[要做什么]
===== 具体要求 =====
=== 内容要求 ===
- 具体点1
- 具体点2
=== 格式要求 === - 具体点1
- 具体点2
===== 示例 =====
[示例]
===== 执行 =====
[开始]
❌ 不好的组织(跳跃):
- 格式用JSON
===== 角色 =====
[身份] - 数据要精确到小数点后2位
===== 任务 =====
[要做什么] - 输出1500字
---
## 五、分隔符在不同AI平台上的兼容性
### 5.1 各平台表现
💡 不同AI平台对分隔符的"敏感度"不同。以下是主流平台的表现:
| 分隔符 | ChatGPT | Claude | Gemini | 文心一言 |
|--------|---------|--------|--------|----------|
| === | 良好 | 良好 | 良好 | 良好 |
| ### | 良好 | 良好 | 良好 | 良好 |
| --- | 良好 | 可能被解析为水平线 | 良好 | 可能被解析为分隔线 |
| XML标签 | 一般 | 良好 | 一般 | 一般 |
| ```代码块 | 良好 | 良好 | 良好 | 良好 |
| > 引用 | 良好 | 良好 | 良好 | 良好 |
📝 **最通用的分隔符**:`===`和`###`在所有主流平台上都表现稳定,推荐作为首选。
### 5.2 避免平台特定的"魔法符号"
⚠️ 有些平台对特定符号有特殊处理:
- Claude:对XML标签结构有特别的敏感性(详见第54篇)
- ChatGPT:对Markdown格式的解析较为严格
- 某些平台:`---`会被渲染为水平分割线,可能打破文本的连贯性
✅ **最安全的选择**:`=== 标题 ===`在各平台都表现一致,是"最低公共分母"策略的最佳选择。
---
## 六、结构化提示词的常见错误
### 6.1 错误一:过度结构化
💡 不是所有提示词都需要复杂的结构。对于简单任务,过度的结构反而让提示词变得冗长。
❌ 过度结构化(简单翻译任务):
===== 角色设定 =====
你是一个翻译专家。
===== 任务目标 =====
将以下英文翻译成中文。
===== 输入材料 =====
“Hello, how are you?”
===== 输出要求 =====
=== 内容要求 ===
保持原意
=== 格式要求 ===
只输出翻译结果
===== 开始执行 =====
✅ 适度版本:
请将以下英文翻译成中文,只输出翻译结果:
“Hello, how are you?”
📝 **原则**:提示词少于5行时,通常不需要结构化的分隔符。提示词超过10行时,结构化就变得很有价值。
### 6.2 错误二:分隔符风格不一致
❌ 混乱的分隔符:
===== 第一阶段 =====
输入(混用了不同的分隔符风格)
*** 要求 ***
另一种格式:没有统一标准
✅ 统一的分隔符:
===== 第一阶段 =====
=== 输入 ===
=== 要求 ===
=== 输出 ===
===== 第二阶段 =====
=== 输入 ===
=== 要求 ===
=== 输出 ===
### 6.3 错误三:板块标签不明确
❌ 模糊的标签:
=== 第一部分 ===
=== 第二部分 ===
=== 第三部分 ===
→ AI不知道每个部分"是什么",只能按顺序理解
✅ 明确的标签:
=== 背景信息 ===
=== 任务要求 ===
=== 参考示例 ===
=== 实际输入 ===
→ AI一眼就知道每个部分的功能
---
## 七、完整实战案例
### 7.1 案例:构建一个可复用的代码审查提示词模板
📝 **目标**:设计一个结构化的代码审查提示词,可以反复使用(只需要替换代码部分)。
===== 角色设定 =====
你是一位资深代码审查专家,有10年以上的软件开发经验。
你的审查风格:挑剔但公正,注重实质问题而非表面风格。
===== 审查标准 =====
=== 优先级定义 ===
🔴 P0 - 严重问题:会导致系统崩溃、数据丢失、安全漏洞
🟡 P1 - 重要问题:会导致功能错误或性能显著下降
🟢 P2 - 改进建议:不影响功能,但可以优化
=== 审查维度 ===
① 正确性:代码逻辑是否正确?边界条件是否处理?
② 安全性:是否存在常见安全漏洞(注入、XSS、越权等)?
③ 性能:是否存在明显的性能问题(N+1查询、不必要的循环等)?
④ 可维护性:代码是否易读、易修改?命名是否清晰?
⑤ 错误处理:异常情况是否被妥善处理?
=== 不关注的事项 ===
以下内容不在本次审查范围内:
- 代码格式和缩进风格(假设有自动化工具处理)
- 变量命名风格偏好(除非严重影响可读性)
- 是否有注释(关注代码本身的可读性)
===== 审查流程 =====
请按以下步骤进行审查:
第一步:【总体浏览】
快速浏览全部代码,形成整体印象。
第二步:【逐段审查】
逐段审查代码,记录发现的问题。
第三步:【问题分类排序】
将所有问题按P0 → P1 → P2分组,组内按严重程度排序。
第四步:【生成审查报告】
按照以下格式生成报告。
===== 输出格式 =====
【代码审查报告】
一、总体评价
[2-3句话的整体评价,包括代码整体质量判断]
二、严重问题(P0)
[如果有,逐一列出,每条包含:位置、问题描述、影响、修复建议]
[如果没有P0问题,注明"未发现P0级问题"]
三、重要问题(P1)
[同上格式]
四、改进建议(P2)
[同上格式]
五、亮点
[做得好的地方,至少1-2条]
六、总结
- P0: X个
- P1: X个
- P2: X个
- 审查结论:建议合入 / 建议修改后合入 / 建议重构
===== 待审查代码 =====
{CODE_TO_REVIEW}
===== 开始审查 =====
### 7.2 模板使用效果
这个结构化模板的优势:
1. **角色和标准清晰**:AI明确知道自己要以什么身份、按什么标准来审查
2. **优先级定义明确**:P0/P1/P2的定义让AI能准确分类问题
3. **审查流程有序**:四步流程保证审查全面不遗漏
4. **输出格式固定**:用代码块包裹格式模板,AI会严格遵循
5. **变量隔离**:`{CODE_TO_REVIEW}`占位符清晰标记了需要替换的部分
在实际使用中,这个模板比我见过的大多数非结构化代码审查提示词效果好2-3倍(基于审查覆盖率和问题遗漏率的对比)。
---
## 核心要点总结
✅ **结构化的本质**:给AI做"路标"——通过清晰的视觉分隔和标签,帮助AI准确理解提示词中每部分信息的功能(这是背景、那是要求、这里是示例……),避免AI"看漏"或"误解"。
✅ **三层分隔体系**:第一层用`=====`区分大板块,第二层用`===`区分子板块,第三层用`###`或列表区分细项。三个层次清晰、视觉分明,适用于90%以上的提示词场景。
💡 **分隔符选择原则**:①用最少的分隔符传达最清晰的结构;②选择AI训练数据中大量见过的符号(`===`和`###`是最安全的选择);③避免使用可能被AI误解的符号(如XML标签、注释符号);④整篇提示词中保持分隔符风格统一。
📝 **四种模板类型**:通用型(适用于大多数任务)、简洁型(简单任务用)、复杂任务型(多步骤任务用)、可复用型(用占位符标记可变内容)。根据任务复杂度选择合适的模板。
⚠️ **三个常见错误**:①过度结构化(简单任务用复杂结构,提示词变得冗长);②分隔符风格不一致(混用不同分隔符风格);③板块标签不明确(用"第一部分""第二部分"而非描述性标签)。
🔧 **高级技巧**:①信息分层(区分硬性要求和软性建议);②上下文隔离(用分隔符将示例与任务物理隔离);③动态结构(用`{{ }}`标记可变内容,方便模板复用);④指令分层(从宏观到微观组织信息)。

5019

被折叠的 条评论
为什么被折叠?



