什么是提示词工程?
提示词工程(Prompt Engineering)是设计和优化AI输入提示的技术,目的是获得更好的AI输出。
为什么重要?
- 影响输出质量 - 好的提示词 = 好的结果
- 提高效率 - 减少反复修改
- 降低成本 - 减少token消耗
- 可控性 - 更好地控制AI行为
提示词结构
基本结构
一个完整的提示词通常包含:
[角色] + [任务] + [要求] + [示例] + [约束]
示例
你是一个专业的Python开发者。
请帮我创建一个函数,计算两个日期之间的工作日数量。
要求:
- 使用标准库
- 处理节假日
- 返回整数
示例:calculate_workdays('2024-01-01', '2024-01-31') -> 23
约束:不使用第三方库
提示词技巧
1. 明确角色
告诉AI扮演什么角色:
你是一个资深的前端开发工程师,擅长React和TypeScript。
2. 具体任务
明确描述任务:
❌ “帮我写个函数” ✅ “帮我写一个React Hook,用于管理表单状态,支持验证和提交”
3. 提供上下文
提供相关背景信息:
我在开发一个电商网站,使用Next.js框架。
数据库使用PostgreSQL,ORM使用Prisma。
请帮我设计商品搜索功能的API。
4. 给出示例
提供输入输出示例:
输入: [1, 2, 3, 4, 5]
输出: 15
输入: [10, 20, 30]
输出: 60
5. 设定约束
明确限制条件:
要求:
- 函数长度不超过20行
- 时间复杂度O(n)
- 不使用额外空间
高级技巧
1. 思维链(Chain of Thought)
让AI逐步思考:
请一步一步思考如何解决这个问题:
1. 首先分析问题
2. 然后设计算法
3. 最后实现代码
2. 少样本学习(Few-shot Learning)
提供多个示例:
示例1:
输入: "hello world"
输出: "Hello World"
示例2:
输入: "ai programming"
输出: "Ai Programming"
请根据以上示例,转换输入文本。
3. 角色扮演
让AI扮演特定角色:
你是一个代码审查专家,请审查以下代码并提供改进建议。
关注点:
- 代码质量
- 性能优化
- 安全性
- 可读性
常见模式
1. 代码生成
请使用[语言]创建一个[功能],要求:
- [具体要求1]
- [具体要求2]
示例用法:[示例]
2. 代码解释
请解释以下代码的作用,并说明:
1. 整体功能
2. 关键步骤
3. 时间复杂度
4. 空间复杂度
代码:
[代码内容]
3. 代码重构
请重构以下代码,目标是:
- 提高可读性
- 优化性能
- 遵循[语言]最佳实践
代码:
[代码内容]
4. Bug修复
以下代码有bug,请帮我修复:
- 期望行为:[描述]
- 实际行为:[描述]
- 错误信息:[信息]
代码:
[代码内容]
实战案例
案例1:生成API
你是一个后端开发专家。
请使用Node.js + Express创建一个RESTful API,实现用户注册功能。
要求:
- POST /api/register
- 接收 { username, email, password }
- 验证输入
- 密码加密
- 返回用户信息(不包含密码)
数据库使用MongoDB,ODM使用Mongoose。
案例2:代码审查
你是一个代码审查专家。
请审查以下React组件,提供改进建议。
关注点:
- 性能优化
- 代码复用
- 类型安全
- 无障碍访问
代码:
[组件代码]
案例3:文档生成
请为以下函数生成JSDoc文档:
function calculateTotal(items, taxRate) {
// 函数实现
}
要求:
- 参数说明
- 返回值说明
- 使用示例
- 异常情况
常见错误
1. 模糊描述
❌ “帮我优化代码” ✅ “请优化这个函数的时间复杂度,从O(n²)降低到O(n log n)“
2. 缺乏上下文
❌ “写一个登录功能” ✅ “使用React + Firebase创建一个登录功能,支持邮箱密码登录和Google登录”
3. 过于复杂
❌ 一次性要求太多功能 ✅ 分步骤完成,每次一个小功能
动手练习
练习1:基础提示词
编写一个提示词,让AI生成一个简单的函数。
练习2:优化提示词
将模糊的提示词优化为清晰的提示词。
练习3:高级技巧
使用思维链技巧解决一个复杂问题。
下一步
完成本课后,你将:
- ✅ 理解提示词工程的重要性
- ✅ 掌握提示词的基本结构
- ✅ 学会编写高质量提示词
- ✅ 提升AI对话效果
准备好了吗?让我们开始吧!