金句:提示词是和 AI 说话的艺术,但不是所有艺术都需要天赋——掌握几个核心技法,你就能让 AI 的输出质量跃升一个等级。
一、为什么提示词质量差异巨大?
同样是使用 GPT-4 或 Claude,不同人得到的结果可能相差 5 倍甚至 10 倍。这不是模型的问题,是提示词工程的问题。
一个真实对比:
普通提示词:
帮我分析这段代码有什么问题
def calc(x, y): return x/y
高质量提示词:
请扮演一位资深 Python 工程师,对以下代码进行深度分析。
代码:
def calc(x, y): return x/y
分析维度:
1. 潜在的运行时错误(考虑所有可能的输入)
2. 生产环境下的安全性风险
3. 可读性和可维护性问题
4. 符合 PEP 8 规范吗?
对每个问题:
- 描述问题
- 解释为什么这是问题
- 给出修复代码
- 给出改进后代码的测试用例
同样的模型,第二个提示词的输出质量明显更高。
二、思维链(Chain of Thought)技术
原理
思维链(CoT)让 AI 先"想清楚"再给答案,对复杂推理任务特别有效。
无思维链:
问:一个工厂每天生产 500 个零件,每 10 个需要 3 分钟检验,
工人每天工作 8 小时,需要几个检验工人?
答:3 个工人
有思维链(加一句"请一步步思考"):
问:...请一步步思考这个问题
答:
步骤1:每天生产 500 个零件
步骤2:每 10 个检验需要 3 分钟
步骤3:500 ÷ 10 = 50 组,共需要 50 × 3 = 150 分钟检验时间
步骤4:工人每天工作 8 × 60 = 480 分钟
步骤5:需要 150 ÷ 480 = 0.3125 个工人,向上取整 = 1 个工人
答案:1 个检验工人
代码分析中的 CoT
请分析以下代码可能产生的并发问题。
在分析之前,请先:
1. 识别所有共享状态
2. 识别所有可能的并发访问点
3. 分析每个访问点的读写顺序
然后再给出你的结论。
代码:
```python
class Counter:
def __init__(self):
self.count = 0
def increment(self):
current = self.count
time.sleep(0.001) # 模拟处理时间
self.count = current + 1
---
## 三、少样本学习(Few-Shot Learning)
给 AI 提供几个输入-输出的例子,让它学习你期望的输出风格。
### 场景:生成统一风格的 Git commit message
**不好的提示词**:
请帮我写一个 Git commit 信息,我修改了用户注册逻辑
**使用少样本**:
请根据以下代码变更生成 Git commit message, 遵循我们团队的 Conventional Commits 格式。
格式示例:
变更:修复了用户登录时的 JWT 验证逻辑 commit 信息:fix(auth): fix JWT token validation logic
变更:添加了用户头像上传功能 commit 信息:feat(user): add avatar upload functionality
变更:将用户查询接口的响应时间从 800ms 优化到 150ms commit 信息:perf(api): optimize user query response time from 800ms to 150ms
现在请为以下变更生成 commit 信息: 变更:重构了用户注册流程,将验证逻辑从 Controller 移至 Service 层, 并添加了邮件重复验证
---
## 四、自我反思(Self-Reflection)技术
让 AI 在给出答案后,自我审查和改进。
### 三轮自我反思模板
[第一轮:初步回答] 请实现一个 URL 缩短服务的核心函数: generateShortCode(originalUrl: string): string
[第二轮:自我审查] 请重新审查你的实现:
- 是否有碰撞(collision)风险?
- 是否考虑了并发场景?
- 生成的短码是否可预测?
- 性能是否足够?
[第三轮:改进] 基于审查结果,给出改进后的实现。
### 实际应用
第一步:生成初始代码 "请实现用户权限检查中间件"
第二步:要求自我审查 "请重新审查刚才的代码,特别检查:
- 是否存在权限绕过的可能?
- 是否处理了 token 过期的情况?
- 是否有性能问题? 列出你发现的所有问题。"
第三步:根据发现修改 "请根据你发现的问题,提供改进版本"
---
## 五、树状思维(Tree of Thought)
对于复杂架构问题,让 AI 同时探索多条路径:
我需要设计一个消息队列系统,支持 100 万/秒的消息处理。
请使用"树状思维"方式分析:
路径 A:使用 Kafka
- 优点、缺点、适用场景
- 技术挑战
- 估算成本
路径 B:使用 Redis Streams
- 优点、缺点、适用场景
- 技术挑战
- 估算成本
路径 C:使用 RabbitMQ
- 优点、缺点、适用场景
- 技术挑战
- 估算成本
最后,综合以上分析,给出你的推荐方案和理由。 考虑因素:团队已熟悉 Redis,预算有限,3个月内上线。
---
## 六、提示词优化的五个层级
Level 1 - 基础提示: "帮我写一个排序函数"
Level 2 - 加上约束: "帮我用 Python 写一个时间复杂度 O(n log n) 的排序函数"
Level 3 - 加上上下文: "帮我写一个排序函数,用于对电商平台的商品列表排序, 支持按价格、销量、评分多字段排序,返回 ProductSortResult 类型"
Level 4 - 加上示例: "参考以下接口设计风格:[示例代码], 帮我写一个商品排序函数..."
Level 5 - 加上思维链和反思: "请先分析以下排序场景的特殊要求, 写出排序函数后自我审查性能和边界情况..."
---
**章节小结**:高级提示词工程的核心是"让 AI 像人类专家一样思考"——思维链让它先推理再回答,少样本让它学习你的风格,自我反思让它在提交答案前自检。这些技法的组合,能让 AI 输出质量提升 50-200%,是高阶 Vibe Coding 必须掌握的技能。