📋 参考
快速参考指南
常用的Prompt模板和技巧快速查询,包含黄金法则和高效交互技巧
📖 约 10 分钟阅读
快速参考指南
常用的Prompt模板和技巧快速查询
🎯 按场景快速查找
我想快速生成代码
→ 转到 01-basics/01-code-generation.md
快速模板:
使用[编程语言]写一个[功能]的[代码类型]
要求:
1. [具体需求1]
2. [具体需求2]
3. [输入/输出示例]
期望:[输出格式说明]
我想理解他人的代码
→ 转到 01-basics/02-code-explanation.md
快速模板:
请解释这段[语言]代码:
[代码]
我特别想理解:
1. [具体疑惑1]
2. [具体疑惑2]
我的背景知识:[你的水平]
我的代码有Bug
→ 转到 02-intermediate/05-debugging.md
快速模板:
我遇到了一个Bug,请帮我诊断:
错误信息:
[完整的错误堆栈或日志]
重现步骤:
[如何触发这个错误]
我已尝试:
[你做过的诊断步骤]
相关代码:
[可能有问题的代码片段]
我想做代码审查
→ 转到 02-intermediate/04-code-review.md
快速模板:
请审查这段代码,检查:
1. 功能正确性
2. 代码风格和可读性
3. 潜在的bug和edge case
4. 性能问题
5. 改进建议
[代码]
背景:[代码的用途和上下文]
我想设计系统架构
→ 转到 03-architecture/09-system-design.md
快速模板:
我需要设计[系统名称]的架构。
需求:
- 功能需求:[功能1,功能2,...]
- 用户数量:[数字]
- QPS:[数字]
- 数据规模:[数字]
- 可用性要求:[99.X%]
约束:
- 技术栈:[当前的]
- 预算:[有/无]
- 时间:[期限]
问题:
1. [架构设计问题1]
2. [架构设计问题2]
我想优化性能
→ 转到 04-engineering/12-performance.md
快速模板:
我需要优化[系统/模块]的性能。
现状:
- 当前性能:[延迟/吞吐量/资源使用]
- 目标性能:[期望的数字]
- 优化范围:[算法/数据库/网络/其他]
代码/配置:
[相关代码或配置]
已知的瓶颈:[你的观察]
我想处理安全问题
→ 转到 04-engineering/13-security.md
快速模板:
我的应用可能有安全问题,请帮我检查。
应用类型:[Web/Mobile/API/...]
技术栈:[...]
处理的敏感数据:[类型...]
代码/配置:
[相关代码]
具体关注点:
1. [你担心的问题1]
2. [你担心的问题2]
我想设计微服务
→ 转到 05-large-scale/16-microservices.md
快速模板:
我们需要从[当前架构]迁移到微服务。
业务背景:
- 产品特点:[特点...]
- 用户规模:[数字]
- 开发团队:[团队结构]
当前问题:
1. [问题1]
2. [问题2]
目标:
1. [目标1]
2. [目标2]
约束:
- 技术选择:[偏好...]
- 迁移时间:[期限]
📌 通用Prompt模板库
模板1: 问题诊断
[系统/功能]出现了[问题描述]。
现象:
- [表现形式1]
- [表现形式2]
出现频率:[频率]
环境:
- 操作系统/平台:[信息]
- 软件版本:[版本号]
- 配置:[特殊配置]
我已尝试:
1. [诊断步骤1]
2. [诊断步骤2]
相关信息:
[日志、错误消息、截图等]
问题:
1. [你的具体问题1]
2. [你的具体问题2]
模板2: 代码优化请求
我想优化这段代码:
[代码]
当前问题:
- [问题1: 如性能差、可读性差等]
- [问题2]
优化目标:
- [目标1: 如速度提升50%]
- [目标2]
约束:
- 不能改变[功能/API/...]
- 需要支持[要求...]
请提供:
1. 分析:为什么当前实现有问题
2. 改进建议:如何优化
3. 代码:优化后的实现
4. 对比:新旧性能对比
模板3: 技术学习
我想学习[技术名称]。
背景:
- 我的编程经验:[水平]
- 我已知道的相关技术:[列表]
- 学习动机:[为什么要学]
我的疑惑:
1. [具体问题1]
2. [具体问题2]
期望的学习方式:
- [ ] 概念讲解
- [ ] 代码示例
- [ ] 对比其他技术
- [ ] 实战应用
可以用[应用场景]来讲解吗?
模板4: 架构评审
我们设计了这个架构方案:
[架构描述或图示]
我们的考虑:
- [设计决策1及其理由]
- [设计决策2及其理由]
我们的顾虑:
- [风险1]
- [风险2]
约束条件:
- [约束1]
- [约束2]
请评审:
1. 这个方案有什么问题吗?
2. 有什么改进建议?
3. 有什么风险我们没考虑到?
4. 有没有更好的替代方案?
模板5: 多方案对比
我需要在[选项A]和[选项B]之间选择。
背景:[问题背景]
选项A: [选项A的描述]
- 优点:[列表]
- 缺点:[列表]
- 成本:[成本]
选项B: [选项B的描述]
- 优点:[列表]
- 缺点:[列表]
- 成本:[成本]
我们的优先级:
1. [优先级1]
2. [优先级2]
3. [优先级3]
请对比这两个方案,并推荐。
🎯 Prompt编写的黄金法则
法则1: 具体优于模糊
| 模糊 | 具体 |
|---|---|
| "写个函数" | "用Python写一个函数,接收字符串列表,返回最长的字符串" |
| "优化代码" | "优化这个SQL查询,当前执行需要5秒,目标是500ms" |
| "设计API" | "设计一个RESTful API,支持创建/读取/更新/删除用户信息" |
法则2: 上下文是关键
| 缺乏上下文 | 有上下文 |
|---|---|
| "这个代码什么意思" | "这是一个Kafka消费者,我想理解它如何处理消息顺序" |
| "有个bug" | "用户上传大文件时超时,错误是MemoryError" |
| "性能不好" | "API端点在高峰期响应时间从200ms增加到5秒" |
法则3: 约束要明确
| 不明确 | 明确 |
|---|---|
| "写个排序算法" | "写个排序算法,O(nlogn)时间复杂度,O(1)空间复杂度" |
| "做个搜索" | "做个搜索功能,支持1000万文档,查询响应<100ms" |
| "写个API" | "写个API,无状态设计,支持水平扩展,需要认证" |
法则4: 给出预期
| 模糊 | 清晰 |
|---|---|
| "生成测试用例" | "生成单元测试用例,使用pytest框架,覆盖正常情况和边界情况" |
| "重构代码" | "重构代码使其可读性更高,并分离关注点,输出应该是3-4个函数" |
| "修复bug" | "修复bug,修复后应该能通过[测试用例],同时不破坏其他功能" |
⚡ 高效交互技巧
技巧1: 迭代改进
第一次Prompt可能不完美,通过迭代改进:
第一轮:
"用Python写个排序函数"
回复后,你可能发现需要调整:
"太复杂了,我需要更简洁的版本"
或
"加上时间复杂度分析"
技巧2: 要求中间步骤
不要:
"写个方案"
应该:
"请按以下格式写方案:
1. 问题分析
2. 解决思路(3-5步)
3. 关键设计
4. 风险和缺点
5. 改进建议"
技巧3: 限制输出大小
不要:
"给我写个完整的电商系统"
应该:
"给我写个电商系统的[某一个部分],代码不超过200行"
技巧4: 要求解释而不是代码
有时候理解比代码更重要:
"请不要直接给代码,先说明[技术]的原理和工作流程,
然后再给实现代码"
📊 评估AI回复的质量
好的回复应该有:
- 准确性: 信息正确,没有错误的概念
- 完整性: 回答了你的所有问题
- 可用性: 代码可以直接用,方案可以直接实施
- 可理解性: 解释清楚,容易理解
- 相关性: 没有离题或不必要的信息
- 深度: 达到了你需要的深度(不太浅也不太深)
如果不满足,可以追问:
"太深奥了,能用简单的话解释吗?"
"这个方案有什么缺点?"
"能给个实际的例子吗?"
🔄 常用的追问模式
当AI的回复不够时,可以用以下追问:
| 需求 | 追问 |
|---|---|
| 更简洁 | "能用更简洁的版本吗?" |
| 更详细 | "能深入讲解其中的[部分]吗?" |
| 举例 | "能给个实际例子吗?" |
| 对比 | "这个方案和[另一个]的区别是什么?" |
| 缺点 | "这个方案有什么缺点或局限吗?" |
| 替代方案 | "有没有其他的实现方式?" |
| 背景 | "为什么要这样做?" |
| 应用 | "什么时候应该用这个技术?" |
📚 学习路径推荐
对于初学者(第1-2周)
- 01-basics/01-code-generation(快速上手)
- 01-basics/02-code-explanation(理解代码)
- 02-intermediate/04-code-review(提高代码质量)
对于有经验的开发者(第3-4周)
- 02-intermediate/05-debugging(高效调试)
- 02-intermediate/07-testing(编写测试)
- 03-architecture/08-design-patterns(设计模式)
对于架构师/技术负责人(第5-8周)
- 03-architecture/09-system-design(系统设计)
- 04-engineering/14-refactoring(大规模重构)
- 05-large-scale/16-microservices(微服务架构)
🆘 当Prompt不太有效时
如果AI的回复不满意,检查:
-
问题是否足够具体?
- 从"优化代码"改为"优化SQL查询,目标从5秒降到500ms"
-
上下文是否充分?
- 加入更多背景信息、代码、错误消息
-
约束是否明确?
- 说明性能要求、兼容性、依赖等
-
预期是否清晰?
- 说明期望的输出格式、代码风格等
-
是否需要多轮对话?
- 一次Prompt可能搞定,也可能需要迭代
现在就开始使用这些技巧和模板,让AI成为你更高效的编程伙伴吧!