提示词工程02:提示词的基本结构

提示词工程02:提示词的基本结构

📖 系列导航


上篇回顾

上一篇我们学习了:

  • 提示词是人与 AI 的”接口”
  • 好提示词公式:背景 + 角色 + 任务 + 要求 + 示例

本篇我们深入拆解这个公式,看看每个部分具体怎么写。


提示词的四大结构

综合 OpenAI 和 Anthropic 官方指南,一个完整的提示词通常包含四个核心部分:

提示词的四大结构


一、角色设定(Role)

为什么需要角色设定?

AI 模型在训练时接触了海量数据,可以扮演各种角色。你不指定角色,它就用”默认模式”回答——通常是中性、泛泛而谈的。

指定角色后,AI 会:

  • 调整语言风格
  • 选择合适的解释深度
  • 使用特定领域的术语

效果对比

角色设定的效果对比

常见角色设定模板

场景角色设定示例
学习编程”你是一位有10年经验的Python讲师,擅长用通俗语言解释概念”
面试准备”你是一位技术面试官,正在考察初级工程师的API知识”
写作辅助”你是一位专业编辑,擅长优化文章结构和语言”
代码审查”你是一位资深架构师,专注于代码质量和最佳实践”

角色设定的三个要素

好的角色设定包含:

身份 + 经验/能力 + 风格/特点

示例:

你是一位有10年经验的Python讲师(身份+经验),
擅长用生活类比解释复杂概念(风格),
教学风格幽默轻松但干货满满(特点)。

二、任务描述(Task)

好任务描述的三个原则

根据 Anthropic 的最佳实践:

1. 使用动词开头

❌ 模糊✅ 明确
关于Python列表解释Python列表的5个常用方法
一些代码编写一个计算阶乘的函数
这个问题分析这段代码的性能瓶颈

2. 具体明确

❌ "写点关于AI的东西"
✅ "写一篇500字的文章,主题是AI在教育领域的应用,面向家长群体"

3. 复杂任务分步骤

Anthropic 建议:当任务复杂时,用编号列表拆解:

请帮我完成以下任务(按步骤执行):

1. 分析这段代码的时间复杂度
2. 指出可能的性能问题
3. 提出优化建议
4. 给出优化后的代码

任务描述的”黄金模板”

请 [动词] [主题],要求:
- [具体要求1]
- [具体要求2]
- [具体要求3]

三、约束条件(Constraints)

约束的三种类型

1. 格式约束

输出格式要求:
- 使用 JSON 格式
- 包含 name、age、skills 三个字段
- skills 是数组类型

2. 长度约束

长度要求:
- 控制在300字以内
- 列出3-5个要点
- 每个要点不超过50字

3. 风格约束

风格要求:
- 语言通俗易懂,适合初中生阅读
- 避免使用专业术语,必要时用括号解释
- 每个概念都配一个生活例子

约束条件的”说yes不说no”原则

约束条件:说"要做什么" vs "不要做什么"

OpenAI 和 Anthropic 都强调:告诉AI要做什么,而不是不要做什么

❌ 负面约束✅ 正面引导
不要写太长控制在200字以内
不要用专业术语用通俗易懂的语言
不要废话直接回答核心问题

四、示例引导(Examples)

什么是 Few-shot?

Few-shot(少样本学习)是提示词工程中最有效的技巧之一。

原理: 给AI几个示例,让它”模仿”你的期望输出。

Zero-shot vs Few-shot 对比

Zero-shot vs Few-shot 对比

Few-shot 的威力

Zero-shot(无示例):

判断这句话的情感倾向:
"这家餐厅的服务太差了"

Few-shot(有示例):

判断这句话的情感倾向:

示例1:"这家餐厅的服务太差了" → 负面
示例2:"菜品味道还不错" → 正面
示例3:"环境一般,没什么特别的" → 中性

请判断:"这家餐厅的服务太差了"

有示例时,AI 输出的准确率和一致性都会大幅提升。

Few-shot 的三个要点

根据 Anthropic 的研究:

  1. 数量:3-5个示例效果最好
  2. 多样性:覆盖不同情况和边界
  3. 结构化:用XML标签包裹示例

推荐格式:

<examples>
<example>
<input>这家餐厅的服务太差了</input>
<output>负面</output>
</example>
<example>
<input>菜品味道还不错</input>
<output>正面</output>
</example>
</examples>

请判断这句话的情感倾向:"环境一般般"

实战练习

练习 1:完善角色设定

把这个提示词的”角色设定”部分补全:

[补全这里],请解释什么是递归。

要求:设计两个不同的角色,对比输出效果。

练习 2:改写任务描述

把模糊的任务改成明确的:

❌ 原版:帮我写个函数

请改写,包含:功能、输入、输出、边界处理。

练习 3:添加约束条件

为以下提示词添加合适的约束:

推荐几本Python入门书籍

要求添加:数量限制、每本书的描述格式、适合人群说明。

练习 4:设计 Few-shot 示例

为”代码风格检查”任务设计 Few-shot 示例:

判断以下Python代码的风格问题:

示例1:[你设计]
示例2:[你设计]
示例3:[你设计]

请判断:x=1+2

练习 5:组合运用

用四大结构写一个完整的提示词,任务是:让 AI 帮你写一封求职邮件。

练习 6:对比测试

分别用 Zero-shot 和 Few-shot 完成同一个任务,对比效果:

任务:将以下句子改写成更正式的表达:

  • 原句:“这代码写得真烂”

本篇要点

  1. 角色设定:让 AI 扮演特定角色,改变回答风格
  2. 任务描述:动词开头、具体明确、复杂任务分步
  3. 约束条件:格式、长度、风格约束,说”要做什么”不说”不要做什么”
  4. 示例引导:3-5个示例效果最好,用XML标签包裹

下篇预告

下一篇我们将深入对比 Few-shot 与 Zero-shot

  • 什么是 Zero-shot?什么时候用?
  • Few-shot 的适用场景
  • 如何设计高质量的示例
  • Few-shot 的进阶技巧

👉 下一篇:Few-shot 与 Zero-shot 对比

💡 本系列文章


参考资料

💬 评论区

返回文章列表