Prompt Engineering 提示词工程¶
概述¶
Prompt Engineering(提示词工程)是设计和优化AI输入提示的技术,是充分发挥AI能力的关键技能。
什么是Prompt¶
Prompt基础结构¶
CRISPE框架¶
# C - Capacity(角色)
你是一位[具体角色]
# R - Request(请求)
请帮我[具体任务]
# I - Input(输入信息)
背景信息:[相关信息]
# S - Style(输出风格)
请使用[风格]输出
# P - Purpose(目的)
目的是[最终目标]
# E - Extra(额外要求)
额外要求:[其他约束]
实际示例¶
你是一位资深的Python开发工程师(C)。
请帮我编写一个爬虫程序(R),
用于抓取某电商网站的商品信息(I),
代码需要有详细注释(S),
目的是用于学习爬虫技术(P),
请确保代码符合网站的robots.txt规则(E)。
六大Prompt技巧¶
1. 角色设定¶
# 基础角色
你是一位[领域]专家
# 具体角色
你是一位拥有10年经验的全栈开发工程师,
擅长React、Node.js和PostgreSQL,
熟悉敏捷开发和CI/CD流程
# 角色行为
请以这个身份:
- 使用专业但易懂的语言
- 提供最佳实践建议
- 指出潜在问题
2. 任务分解¶
# ❌ 模糊任务
帮我写一个网站
# ✅ 分解任务
请按以下步骤帮我创建博客网站:
步骤1:设计数据库结构
- 用户表
- 文章表
- 评论表
步骤2:创建后端API
- 用户认证接口
- 文章CRUD接口
- 评论接口
步骤3:创建前端页面
- 首页文章列表
- 文章详情页
- 登录注册页
3. 示例学习(Few-shot)¶
# 提供示例让AI学习
请按照以下格式生成产品描述:
示例1:
产品:智能手表
描述:这款智能手表支持心率监测、睡眠追踪和运动记录,
帮你随时掌握健康状况,7天超长续航,防水设计。
示例2:
产品:无线耳机
描述:这款无线耳机采用主动降噪技术,沉浸式音质体验,
佩戴舒适,支持触控操作,20小时续航。
现在请为以下产品生成描述:
产品:[产品名称]
4. 约束条件¶
5. 输出格式¶
# 指定输出格式
请按以下JSON格式输出:
```json
{
"name": "项目名称",
"description": "项目描述",
"technologies": ["技术栈"],
"features": ["功能列表"],
"status": "开发状态"
}
或使用表格¶
| 需求 | 优先级 | 预计时间 | 负责人 |
|---|---|---|---|
| 需求1 | 高 | 3天 | 张三 |
请按照以下步骤分析: 1. 识别循环结构 2. 计算每层循环的执行次数 3. 计算总执行次数 4. 得出时间复杂度
---
## 高级Prompt技术
### 1. 思维树(Tree of Thought)
```markdown
# 让AI探索多个解决方案
我需要设计一个用户认证系统。请探索以下三个方案:
方案1:基于Session的传统认证
- 优点:
- 缺点:
- 适用场景:
方案2:基于JWT的Token认证
- 优点:
- 缺点:
- 适用场景:
方案3:基于OAuth2.0的第三方登录
- 优点:
- 缺点:
- 适用场景:
最后请推荐最适合[场景]的方案并说明理由。
2. 自我反思(Self-Reflection)¶
3. 角色扮演辩论¶
# 让AI从多个角度分析
请从以下三个角色的角度分析"是否应该使用微服务架构":
架构师视角:
- 支持理由:
- 反对理由:
项目经理视角:
- 支持理由:
- 反对理由:
运维工程师视角:
- 支持理由:
- 反对理由:
最后给出综合建议。
4. 分步骤指导¶
# 创建详细的行动指南
我想学习[技术],请给我一个30天学习计划:
第1周:基础入门
- Day 1-2:[内容]
- Day 3-4:[内容]
- Day 5-7:[内容]
第2周:进阶学习
...
第3周:实战练习
...
第4周:项目实战
...
每天的学习内容需要包含:
1. 理论知识
2. 代码练习
3. 实践作业
不同场景的Prompt模板¶
编程开发¶
# 代码生成
请用[语言]编写[功能],要求:
- 使用[框架/库]
- 遵循[规范]
- 添加注释
- 包含错误处理
# 代码审查
请审查以下代码,重点关注:
1. 代码质量
2. 性能问题
3. 安全漏洞
4. 最佳实践
# Bug调试
问题:[错误描述]
代码:[代码片段]
环境:[环境信息]
已尝试:[已尝试的解决方法]
请分析原因并提供解决方案。
内容创作¶
# 文章写作
请撰写一篇关于[主题]的文章:
- 标题:[标题或主题]
- 字数:[字数要求]
- 风格:[正式/轻松/学术]
- 受众:[目标读者]
- 结构:[包含的章节]
# 营销文案
产品:[产品信息]
目标:[文案用途]
风格:[风格要求]
字数:[字数限制]
学习教育¶
# 概念解释
请用简单的语言解释[概念]:
1. 基础定义
2. 核心原理
3. 实际应用
4. 常见误区
# 教学设计
请为[主题]设计一节课:
- 时长:[时间]
- 对象:[学生水平]
- 目标:[学习目标]
- 内容:[知识点]
- 活动:[互动环节]
数据分析¶
# 数据分析
请分析以下数据:
[数据内容]
分析要求:
1. 数据概览
2. 关键指标
3. 趋势分析
4. 异常识别
5. 建议措施
# 可视化建议
数据类型:[类型]
分析目的:[目的]
受众:[报告受众]
请推荐合适的图表类型和配色方案。
常见错误与优化¶
❌ 常见错误¶
# 1. 指令过于模糊
❌ "帮我写点东西"
✅ "请写一篇500字的Python入门教程,面向零基础学习者"
# 2. 缺少上下文
❌ "这个代码有问题"
✅ "这段Python代码在处理空列表时报错,请分析原因"
# 3. 没有指定格式
❌ "告诉我怎么做"
✅ "请用步骤列表的形式告诉我如何部署Django项目"
# 4. 一次性任务过多
❌ "帮我写整个系统"
✅ "请先帮我设计数据库表结构"
✅ 优化技巧¶
# 1. 迭代优化
第一轮:获取初步结果
第二轮:要求改进特定方面
第三轮:最终完善
# 2. 提供反馈
"这个回答很好,但请增加代码示例"
"请用更简洁的方式重写"
# 3. 使用锚点
"请保留上面的代码结构,只修改函数B"
# 4. 明确边界
"只修改这部分代码,不要改变其他内容"
Prompt调试流程¶
下一步学习¶
- Claude使用教程 - 了解Claude的Prompt技巧
- DeepSeek使用教程 - 探索DeepSeek的使用
- AI Agent智能体教程 - 构建智能应用