跳到主要内容

Prompt Engineering 提示词工程

掌握与AI对话的艺术,让AI准确理解并完成你的需求


什么是Prompt Engineering?

Prompt Engineering(提示词工程)是一门设计、优化和调试AI输入指令的技术,通过精心构造的提示词来引导AI模型生成期望的输出。它是使用生成式AI的核心技能。

核心价值:

  • 🎯 提高AI输出质量和准确性
  • ⚡ 减少迭代次数,提升效率
  • 🎨 激发AI的创造力和潜能
  • 💰 降低token消耗成本

基础概念

Prompt的组成部分

一个完整的Prompt通常包含以下要素:

[角色设定] + [任务描述] + [上下文信息] + [输出要求] + [约束条件]

示例:

你是一位资深的Python开发者(角色)。
请帮我编写一个函数(任务),用于处理用户上传的CSV文件(上下文)。
代码需要包含错误处理和注释(输出要求),不要使用pandas库(约束)。

提示词类型

类型说明适用场景
Zero-shot不提供示例,直接描述任务简单、通用的任务
Few-shot提供几个示例需要特定格式或风格
Chain-of-Thought引导逐步思考复杂推理、计算任务
Role-playing角色扮演需要特定专业知识

核心技巧

1. 清晰明确

❌ 不好的提示:

写点关于AI的东西

✅ 好的提示:

写一篇500字的文章,介绍生成式AI在教育领域的三个主要应用场景,
包括个性化学习、自动批改和智能答疑,目标读者是中小学教师。

2. 提供上下文

❌ 缺少上下文:

这个代码有什么问题?

✅ 提供上下文:

我在开发一个Django Web应用。下面的视图函数在处理POST请求时
总是返回500错误。请帮我找出问题:
[代码]

3. 使用分隔符

使用三引号、XML标签等分隔符清晰标识不同部分:

请总结以下文章的要点:

"""
[文章内容]
"""

要求:
1. 提取3-5个关键要点
2. 每个要点不超过一句话

4. 指定输出格式

分析以下用户评论的情感倾向,以JSON格式输出:

评论:"这个产品质量不错,但价格有点贵"

输出格式:
{
"sentiment": "正面/中性/负面",
"confidence": 0.0-1.0,
"keywords": ["关键词1", "关键词2"]
}

5. 迭代优化

从简单开始,根据输出逐步优化:

第一版:写一个排序函数
第二版:写一个Python快速排序函数,包含注释
第三版:写一个Python快速排序函数,包含详细注释和测试用例,
处理空列表和单元素列表的边界情况

高级技巧

Chain-of-Thought(思维链)

引导AI逐步推理,提高复杂问题的准确性:

问题:一个班级有60名学生,其中40%是女生,女生中有30%戴眼镜。
请问戴眼镜的女生有多少人?

请按以下步骤思考:
1. 先计算女生总数
2. 再计算戴眼镜的女生人数
3. 给出最终答案

Few-shot Learning(少样本学习)

提供示例来定义期望的输出格式:

将以下句子转换为正式语气:

示例1:
输入:这个东西真不错
输出:此产品质量优良

示例2:
输入:赶紧来看看吧
输出:欢迎您前来参观

现在转换:
输入:有啥问题随时找我
输出:

Self-Consistency(自我一致性)

要求AI提供多个解决方案,提高可靠性:

请用三种不同的方法解决以下问题,并说明哪种方法最优:
[问题描述]

角色扮演

指定专家角色获得更专业的回答:

你是一位有20年经验的儿科医生。请用通俗易懂的语言
向家长解释如何预防儿童近视。避免使用专业术语。

实用模板

内容创作模板

主题:[主题]
目标受众:[受众群体]
内容类型:[文章/博客/社交媒体等]
字数:[字数要求]
风格:[正式/轻松/专业等]
关键要点:
1. [要点1]
2. [要点2]
3. [要点3]

请基于以上信息创作内容。

代码生成模板

编程语言:[语言]
功能需求:[详细描述]
输入参数:[参数说明]
返回值:[返回值说明]
特殊要求:
- [要求1]
- [要求2]

请生成代码,包含必要的注释和错误处理。

数据分析模板

数据集描述:[描述]
分析目标:[目标]
关注指标:[指标列表]
输出要求:
1. 数据概览
2. 关键发现(3-5条)
3. 建议行动

数据:
[数据内容]

文本优化模板

请改进以下文本:

原文:
"""
[原文内容]
"""

优化方向:
- [ ] 提高可读性
- [ ] 修正语法错误
- [ ] 增强说服力
- [ ] 简化表达

目标读者:[读者群体]

常见问题与解决方案

问题1:输出不符合预期

解决方案:

  • 增加更详细的描述
  • 提供示例
  • 明确不想要什么
  • 使用约束条件

问题2:输出过于冗长

解决方案:

请用不超过100字总结...
只列出最重要的3点...
用一句话回答...

问题3:内容不准确或"幻觉"

解决方案:

  • 要求引用来源
  • 使用RAG技术提供准确信息
  • 要求标注不确定的部分
如果你不确定某个信息,请明确说明"我不确定",不要编造。

问题4:缺乏创意

解决方案:

请提供5个不同风格的方案...
从不同角度分析...
跳出常规思维,给出创新建议...

最佳实践

DO ✅

  • 明确目标:清楚说明你想要什么
  • 提供上下文:给出必要的背景信息
  • 具体化:使用具体的数字、格式要求
  • 分步骤:复杂任务拆解为多个步骤
  • 反馈优化:根据输出迭代改进提示词
  • 使用分隔符:区分不同部分的内容
  • 设定角色:利用角色设定获得专业回答

DON'T ❌

  • 过于模糊:避免笼统、不清晰的描述
  • 假设太多:不要假设AI知道你的具体需求
  • 单次完美:不要期望一次就得到完美结果
  • 忽略限制:注意模型的能力边界
  • 过度复杂:避免在一个提示中包含太多任务
  • 缺乏验证:不要盲目信任输出,需要验证

进阶学习

提示词框架

CRISPE框架:

  • Capacity and Role(能力与角色)
  • Insight(洞察,背景信息)
  • Statement(陈述,任务描述)
  • Personality(个性,输出风格)
  • Experiment(实验,请求多种方案)

示例:

[C] 你是一位经验丰富的品牌营销专家
[I] 我们公司是一家新创立的环保科技公司,目标客户是年轻的环保意识者
[S] 请为我们的品牌写一条slogan
[P] 风格要简洁、有力、富有感染力
[E] 请提供5个不同方向的选项

提示词工程工具

  • ChatGPT Prompt Generator:自动生成优化的提示词
  • PromptPerfect:提示词优化和测试
  • OpenAI Playground:实验和调试提示词
  • LangChain:构建复杂的提示词链

学习资源


实战案例

案例1:客服机器人

你是一位友好、专业的客服代表。

客户咨询:[客户问题]

回复要求:
1. 首先表达理解和同情
2. 提供清晰的解决方案
3. 询问是否需要进一步帮助
4. 保持礼貌和专业
5. 回复长度控制在100字以内

请回复:

案例2:代码审查

作为一位资深代码审查员,请审查以下代码:

```python
[代码]
```

审查维度:
1. 代码质量(可读性、可维护性)
2. 潜在bug
3. 性能问题
4. 安全隐患
5. 改进建议

请按照以上维度,每个维度给出具体评分(1-10分)和详细说明。

案例3:学习助手

我正在学习[主题]。我是[水平:初学者/中级/高级]。

请为我:
1. 用简单的语言解释[概念]
2. 提供一个实际例子
3. 列出3个常见误区
4. 推荐下一步学习内容

请确保解释通俗易懂,避免过多专业术语。

快速检查清单

在提交提示词之前,检查以下项目:

  • 任务描述是否清晰明确?
  • 是否提供了必要的上下文?
  • 输出格式是否明确?
  • 是否设置了合理的约束?
  • 是否需要提供示例?
  • 角色设定是否合适?
  • 语言是否准确无歧义?
  • 是否有字数或结构要求?

小结

Prompt Engineering是一项需要不断实践和优化的技能。记住以下要点:

🎯 清晰性:准确描述你的需求
📝 结构化:使用模板和框架
🔄 迭代性:不断测试和改进
🎨 创造性:尝试不同的方法
📊 验证性:检查输出质量

实践建议:

  1. 从简单的提示词开始
  2. 建立自己的提示词库
  3. 分析成功和失败的案例
  4. 关注社区最新实践
  5. 定期回顾和优化常用提示词

相关主题


最后更新: 2026年1月23日

难度级别: 入门到进阶

预计学习时间: 2-4小时

维护者: AI_GEN Team

版本: v1.0

掌握Prompt Engineering,让AI成为你的得力助手!