Skip to content

10-提示词工程(Prompt Engineering)完整指南

📚 提示词工程是大语言模型应用的核心技能,本教程从基础到进阶,系统讲解提示词设计原则、技巧和实战应用。

适用人群:

  • 🎯 想要提升 LLM 使用效果的开发者
  • 🎯 需要构建 AI 应用的产品经理
  • 🎯 希望优化对话质量的研究人员

预计时间: 45-90 分钟

前置知识: [LLM 环境搭建](../AI_basics/LLM 环境搭建完整指南.md)


📋 目录

  1. 什么是提示词工程
  2. 提示词基础原则
  3. 核心提示技巧
  4. 高级提示模式
  5. 实战应用场景
  6. 提示词优化方法
  7. 常见错误与避免
  8. 工具与资源

1. 什么是提示词工程

1.1 定义

提示词工程(Prompt Engineering) 是通过设计和优化输入文本(提示词),引导大语言模型生成更准确、更有用输出的技术和方法。

1.2 为什么重要?

对比项无提示词工程有提示词工程
回答准确率60-70%85-95%
输出质量不稳定稳定可控
使用成本高(多次尝试)低(一次成功)
应用场景简单问答复杂任务

1.3 核心要素

好的提示词 = 清晰的任务描述 + 充分的上下文 + 明确的格式要求

示例对比:

差的提示词:

写点关于 AI 的东西

好的提示词:

你是一位 AI 技术专家,请为初学者写一篇 500 字的科普文章,
介绍人工智能的基本概念、主要应用领域和未来发展趋势。
要求语言通俗易懂,避免使用专业术语。

2. 提示词基础原则

2.1 CLEAR 原则

原则说明示例
Concise(简洁)避免冗余,直截了当"用一句话总结"而非"希望你能用比较简短的方式"
Lucid(清晰)表达明确,无歧义"列出 3 个要点"而非"列出一些要点"
Explicit(明确)明确说明要求和限制"不超过 200 字"而非"简短一点"
Actionable(可执行)任务具体可操作"分析这段代码的问题"而非"看看这个"
Reflective(反思)鼓励模型检查和验证"请检查你的答案是否有逻辑错误"

2.2 结构化提示词

基本结构:

markdown
# 角色设定
你是一位 [专业角色]

# 任务描述
请完成 [具体任务]

# 背景信息
[相关上下文和背景]

# 输出要求
- 格式:[文本/列表/表格/代码等]
- 长度:[字数限制]
- 风格:[正式/轻松/专业等]
- 其他:[特殊要求]

# 示例(可选)
输入示例:[...]
输出示例:[...]

完整示例:

markdown
# 角色设定
你是一位资深 Python 工程师和技术作家

# 任务描述
请解释 Python 装饰器的工作原理

# 背景信息
读者是有 Python 基础的开发者,熟悉函数和类,但第一次接触装饰器

# 输出要求
- 格式:教程文章,包含代码示例
- 长度:800-1000 字
- 风格:技术性强但易于理解
- 必须包含:定义、语法、至少 2 个实用示例

# 示例
输入:请解释装饰器
输出:装饰器是 Python 中用于修改函数行为的工具...

3. 核心提示技巧

3.1 零样本提示(Zero-Shot Prompting)

直接提问,不提供示例。

markdown
# 示例
问题:法国的首都是哪里?
回答:巴黎

适用场景: 简单事实性问题、常识性任务

3.2 单样本提示(One-Shot Prompting)

提供一个示例作为参考。

markdown
# 示例
将以下句子翻译成英文:

输入:今天天气很好
输出:The weather is very nice today

输入:我喜欢学习编程
输出:

适用场景: 格式转换、风格模仿

3.3 少样本提示(Few-Shot Prompting)

提供多个示例,让模型学习模式。

markdown
# 示例
提取句子中的人名:

句子:张三和李四在北京见面了
人名:张三、李四

句子:王五给赵六发了一封邮件
人名:王五、赵六

句子:小明和小红一起去上学
人名:

适用场景: 复杂模式识别、特定任务学习

3.4 思维链提示(Chain-of-Thought)

引导模型逐步推理。

markdown
# 示例
问题:小明有 5 个苹果,他给了小红 2 个,又买了 3 个,现在有几个?

请逐步思考:
1. 小明最初有 5 个苹果
2. 给了小红 2 个,剩下 5 - 2 = 3 个
3. 又买了 3 个,现在有 3 + 3 = 6 个

答案:6 个

适用场景: 数学问题、逻辑推理、复杂分析

3.5 角色扮演提示(Role-Playing)

设定特定角色,获得专业化回答。

markdown
# 示例
你是一位有 10 年经验的营养师,请为一名 30 岁的办公室职员设计一份
一周的健康饮食计划。考虑以下因素:
- 每天工作 8 小时,运动量少
- 目标:保持健康,控制体重
- 预算:中等
- 饮食偏好:中式料理

适用场景: 专业咨询、创意写作、特定风格输出


4. 高级提示模式

4.1 自洽性提示(Self-Consistency)

让模型生成多个答案,选择最优解。

markdown
# 示例
问题:一个农场有鸡和兔子共 35 个头,94 只脚,问鸡和兔子各有多少?

请提供 3 种不同的解法,然后比较结果,给出最终答案。

4.2 反思提示(Reflection Prompting)

让模型检查和改进自己的答案。

markdown
# 示例
请写一段 Python 代码实现快速排序算法。

完成后,请:
1. 检查代码是否有边界情况未处理
2. 分析时间复杂度和空间复杂度
3. 提出可能的优化建议

4.3 分步提示(Step-by-Step Prompting)

将复杂任务分解为多个步骤。

markdown
# 示例
请帮我分析这家公司的商业模式:

第一步:描述公司的核心产品和服务
第二步:分析目标客户群体
第三步:识别收入来源
第四步:评估竞争优势
第五步:指出潜在风险

请依次完成以上步骤,每一步不少于 200 字。

4.4 对比提示(Comparison Prompting)

通过对比获得更深入的洞察。

markdown
# 示例
请对比分析 Python 和 JavaScript 在以下方面的异同:
- 语法特点
- 运行环境
- 应用场景
- 学习曲线
- 生态系统

请以表格形式呈现,并给出选择建议。

4.5 约束提示(Constrained Prompting)

设置明确限制,引导精确输出。

markdown
# 示例
请用不超过 100 字总结这篇文章的核心观点,要求:
- 必须包含 3 个关键数据
- 不能使用专业术语
- 适合初中生阅读理解

5. 实战应用场景

5.1 代码生成

markdown
# 角色
你是一位资深软件工程师

# 任务
请编写一个 Python 函数,实现以下功能:
- 接收一个字符串列表
- 统计每个字符串出现的次数
- 返回按出现次数降序排列的字典

# 要求
- 包含类型注解
- 添加文档字符串
- 提供 3 个测试用例
- 时间复杂度优于 O(n²)

5.2 文档写作

markdown
# 角色
你是一位技术文档工程师

# 任务
为以下 API 函数编写使用文档:

```python
def calculate_mortgage(principal, rate, years):
    """计算房贷月供"""
    pass

要求

  • 包含参数说明
  • 提供使用示例
  • 说明返回值格式
  • 列出常见错误和解决方案
  • 字数:500-800 字

### 5.3 数据分析

```markdown
# 角色
你是一位数据分析师

# 任务
分析以下销售数据,提供业务洞察:

月份 | 销售额 | 订单数 | 客户数
1 月 | 100 万 | 5000 | 3000
2 月 | 120 万 | 6000 | 3500
3 月 | 150 万 | 7500 | 4000

# 要求
- 计算月增长率
- 识别趋势和模式
- 提出 3 条业务建议
- 用数据支撑结论

5.4 创意写作

markdown
# 角色
你是一位科幻作家

# 任务
写一篇微型科幻小说

# 要求
- 主题:人工智能与人类情感
- 字数:800-1000 字
- 风格:温暖感人
- 必须包含:一个出人意料的结局
- 避免:技术术语堆砌

5.5 学习辅导

markdown
# 角色
你是一位耐心的家庭教师

# 任务
帮我理解机器学习中的"过拟合"概念

# 要求
- 用生活中的类比解释
- 提供图形化描述
- 说明如何识别过拟合
- 列出 3 种解决方法
- 适合高中毕业生理解

5.6 面试准备

markdown
# 角色
你是一位技术面试官

# 任务
模拟 Python 后端开发岗位的面试

# 要求
- 提出 10 个面试问题(涵盖基础、进阶、项目经验)
- 每个问题附带考察点说明
- 提供参考答案要点
- 难度分布:3 个基础、5 个中级、2 个高级

6. 提示词优化方法

6.1 A/B 测试法

测试不同提示词版本,比较效果。

markdown
# 版本 A
请总结这篇文章

# 版本 B
请用 3 句话总结这篇文章的核心观点,每句不超过 30 字

# 评估标准
- 准确性
- 完整性
- 简洁性

6.2 迭代优化法

markdown
# 第 1 轮
解释什么是机器学习

# 第 2 轮(添加约束)
用通俗易懂的语言解释什么是机器学习,避免使用数学术语

# 第 3 轮(添加示例)
用通俗易懂的语言解释什么是机器学习,避免使用数学术语,
并用生活中的例子说明监督学习和无监督学习的区别

6.3 提示词模板化

创建可复用的模板:

markdown
# 代码审查模板
你是一位资深代码审查专家,请审查以下代码:

【代码内容】

请从以下维度分析:
1. 代码正确性:是否存在 bug
2. 代码质量:是否遵循最佳实践
3. 性能:是否有优化空间
4. 安全:是否存在安全隐患
5. 可维护性:是否易于理解和修改

输出格式:
- 问题列表(按严重程度排序)
- 改进建议(附代码示例)
- 总体评分(1-10 分)

6.4 提示词检查清单

在发送前检查:

  • [ ] 任务描述是否清晰?
  • [ ] 是否提供了足够的上下文?
  • [ ] 输出格式是否明确?
  • [ ] 是否有字数或长度限制?
  • [ ] 是否需要提供示例?
  • [ ] 是否设定了合适的角色?
  • [ ] 是否有不合理的约束?

7. 常见错误与避免

7.1 模糊不清

错误:

写点有用的代码

改进:

编写一个 Python 脚本,批量重命名文件夹中的所有 JPG 文件,
按"image_001.jpg"格式命名

7.2 信息过载

错误:

请分析这家公司的财务状况、市场地位、竞争优势、管理团队、
发展战略、风险因素、行业趋势、政策环境、技术创新、
供应链情况、客户关系、品牌价值...(继续列举 50 个维度)

改进:

请从以下 3 个维度分析这家公司的投资价值:
1. 财务健康状况(重点看现金流和负债率)
2. 市场竞争地位(市场份额和增长率)
3. 主要风险因素(政策、市场、技术)

7.3 缺乏上下文

错误:

这个怎么优化?

改进:

以下 Python 函数处理 10 万条数据需要 30 秒,太慢了。
目标是优化到 5 秒以内。硬件配置:8 核 CPU,16GB 内存。
请问如何优化?

【代码内容】

7.4 矛盾的要求

错误:

请详细解释量子力学,用 50 字以内说完

改进:

请用一句话(不超过 50 字)概括量子力学的核心思想

7.5 忽略模型限制

错误:

请分析这个 100MB 的日志文件(直接粘贴文件内容)

改进:

我有一个 100MB 的日志文件,需要分析错误模式。
由于文件太大,我提取了 100 行典型样本:
【样本内容】
请分析这些样本,总结错误类型和出现规律

8. 工具与资源

8.1 提示词管理工具

工具功能链接
PromptPerfect提示词优化和测试https://promptperfect.jina.ai
FlowGPT提示词分享社区https://flowgpt.com
PromptBase提示词市场https://promptbase.com
Awesome Prompts提示词合集https://github.com/promptslab/Awesome-Prompt-Engineering

8.2 学习资源

在线课程:

书籍:

  • 《Prompt Engineering Guide》
  • 《The Art of Prompt Engineering》

社区:

  • Reddit r/PromptEngineering
  • Hugging Face 社区

8.3 提示词库

常用提示词模板:

markdown
# 文章摘要
请用 3 句话总结以下内容,每句不超过 30 字:
【内容】

# 代码解释
请解释这段代码的功能、输入输出、时间复杂度:
【代码】

# 翻译任务
请将以下文本从【源语言】翻译成【目标语言】,保持专业术语准确:
【文本】

# 问答任务
基于以下背景信息,回答问题。如果信息不足,请说明:
【背景信息】
问题:【问题】

# 创意生成
请为【产品/服务】生成 10 个创意名称,要求:
- 朗朗上口
- 体现产品特点
- 易于记忆
- 未被注册商标

📚 下一步学习

完成本教程后,建议继续学习:

  1. 预训练 - 大模型预训练
  2. 微调 - Fine-tuning 实践
  3. [RAG 应用](./11-RAG 检索增强.md) - 检索增强生成

✅ 实践作业

完成以下练习,巩固所学技能:

  1. 基础练习:使用 CLEAR 原则重写 3 个模糊的提示词
  2. 进阶练习:为同一个任务设计零样本、单样本、少样本 3 种提示词,比较效果
  3. 实战练习:设计一个完整的提示词模板,用于你的实际工作场景

最后更新: 2026 年 3 月 30 日

作者: 小蛋蛋 🦞

参考资料:

  • DeepLearning.AI Prompt Engineering for Developers
  • Hugging Face Prompt Engineering Guide
  • OpenAI Prompt Engineering Best Practices