晴天技术
AI5 min read

Prompt 工程完全指南:让 AI 输出质量翻倍的技巧

Prompt 工程完全指南:让 AI 输出质量翻倍的技巧

Prompt工程ChatGPTClaudeAI技巧

Prompt(提示词)是和 AI 沟通的唯一方式。写好 Prompt,AI 输出质量可以翻倍。本文总结实用的 Prompt 技巧。

Prompt 的基本结构

一个好 Prompt 包含四部分:

角色:你是一个资深 Java 架构师
任务:帮我设计一个秒杀系统的架构
约束:要求支持 10 万 QPS,使用 Redis + MySQL
输出:用 Markdown 架构图 + 关键代码示例

核心技巧

1. 给 AI 一个角色

你是一个有 10 年经验的 MySQL DBA

角色设定让 AI 用对应的专业视角回答,输出更专业。

2. 明确输出格式

用表格对比 Redis 和 Memcached 的区别,包含以下维度:
- 数据结构
- 持久化
- 集群方案
- 适用场景

指定格式比"告诉我区别"得到的输出好 10 倍。

3. 给出示例(Few-shot)

我给你一些 SQL 查询的例子,请按同样的风格写新的查询:

示例:
输入:查询每个部门工资最高的员工
输出:SELECT * FROM employees WHERE (department_id, salary) IN (
  SELECT department_id, MAX(salary) FROM employees GROUP BY department_id
)

现在请写:查询连续 3 天都有订单的用户

4. 分步思考(Chain of Thought)

请一步一步分析这个 SQL 的执行计划:
SELECT * FROM orders WHERE user_id = 123 AND status = 'completed'
表上有索引 idx_user_status(user_id, status)

先分析索引选择,再分析扫描行数,最后给出优化建议

5. 限定范围,避免胡说

只使用 Spring Boot 3.x 和 Java 17 的特性回答
不要使用已废弃的 API
如果不确定,说"我不确定"而不是编造答案

开发者常用 Prompt 模板

代码审查

审查以下代码,从以下角度给出改进建议:
1. 性能问题
2. 安全漏洞
3. 代码规范
4. 可维护性

[粘贴代码]

生成测试

为以下方法编写单元测试:
- 正常输入
- 边界值
- 异常输入
- 使用 JUnit 5 + Mockito
- 覆盖率目标 > 80%

[粘贴方法代码]

代码重构

重构以下代码:
- 消除重复
- 提高可读性
- 应用 SOLID 原则
- 保持行为不变

[粘贴代码]

排查问题

我的 Spring Boot 应用报错:
[粘贴错误日志]

环境信息:
- JDK 17
- Spring Boot 3.2
- MySQL 8.0

请分析可能的原因和解决方案

学习新概念

用一个实际的 Java 例子解释什么是观察者模式,
要求:
- 包含完整代码
- 代码能直接运行
- 添加详细注释
- 说明适用场景

高级技巧

1. 让 AI 批评自己的输出

[AI 的回答]

请以资深架构师的角度批评上面的方案,指出潜在问题

2. 迭代优化

这个方案不错,但请改进以下几点:
1. 增加缓存层
2. 考虑分布式场景
3. 添加降级策略

3. 让 AI 假设不同场景

如果并发量从 1000 增长到 10 万,这个架构需要怎么调整?
如果数据量从 100 万增长到 10 亿,数据库设计需要怎么变?

常见错误

  1. Prompt 太模糊:"帮我写代码" → "帮我写一个 Spring Boot 的文件上传接口"
  2. 没有给上下文:AI 不知道你的项目结构和技术栈
  3. 一次问太多:拆分成多个小问题,逐步深入
  4. 不验证输出:AI 可能编造 API 或逻辑错误,一定要验证

总结

Prompt 工程的核心:

  • 明确:说清楚你要什么
  • 具体:给足上下文和约束
  • 格式:指定输出格式
  • 迭代:不满意就继续调整

和 AI 协作是一个技能,越练越好。