程序员实战提示词
8个拿来就能用的提示词,覆盖程序员最高频场景
使用说明
- 每个提示词都是实战版本,可直接复制使用
[方括号]中的内容根据你的实际情况替换- 建议先用提示词原样试一次,再根据效果微调
- 同一个问题可以发给不同AI交叉验证,防止幻觉
1. 报错诊断
场景:遇到报错信息,不知道原因和修复方法
为什么好用:程序员每天都会遇到报错,这是最高频场景。AI能快速定位根因,比你自己翻文档快10倍。
我遇到了以下报错,请帮我诊断根因并给出修复方案:
【报错信息】
[粘贴完整的报错信息,包括堆栈跟踪]
【相关代码】
[粘贴报错涉及的代码片段]
【运行环境】
- 语言/框架:[如 Python 3.11 / FastAPI 0.100]
- 操作系统:[如 macOS 14 / Ubuntu 22.04]
- 其他依赖版本:[如 numpy 1.24]
请按以下结构回答:
1. 根因分析:一句话说明根本原因
2. 修复代码:给出可直接替换的代码
3. 预防措施:如何避免同类问题再次出现实战示例:
我遇到了以下报错,请帮我诊断根因并给出修复方案:
【报错信息】
TypeError: Cannot read properties of undefined (reading 'map')
【相关代码】
function UserList({ users }) {
return (
<div>
{users.map(user => <UserCard key={user.id} user={user} />)}
</div>
);
}
【运行环境】
- 语言/框架:React 18 / Next.js 14
- 浏览器:Chrome 120
请按以下结构回答:
1. 根因分析:一句话说明根本原因
2. 修复代码:给出可直接替换的代码
3. 预防措施:如何避免同类问题再次出现典型AI回答要点:
- 根因:
users为undefined时调用.map()报错 - 修复:添加默认值
{ users = [] }或条件渲染 - 预防:接口返回数据做空值兜底,TypeScript严格模式
2. 代码审查
场景:写完代码想让AI帮你审查,发现潜在问题
为什么好用:AI审查速度比人快,能发现安全漏洞、性能隐患、边界遗漏等问题,相当于免费的代码审查员。
请对以下代码进行专业审查,重点关注安全、性能和边界情况:
【代码】
[粘贴你的代码]
【代码用途】
[简要说明这段代码做什么,如:处理用户注册的API端点]
请按以下维度逐一审查:
1. 安全问题:是否有注入、泄露、权限漏洞
2. 性能问题:是否有不必要的计算、内存泄漏、N+1查询
3. 边界情况:空值、极端输入、并发场景是否处理
4. 代码质量:命名、结构、可读性是否达标
5. 最佳实践:是否违反该语言/框架的惯例
每个问题请给出:
- 问题描述(一句话)
- 严重程度(🔴严重 / 🟡中等 / 🟢轻微)
- 修复建议(具体代码)实战示例:
请对以下代码进行专业审查,重点关注安全、性能和边界情况:
【代码】
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
user = db.execute(f"SELECT * FROM users WHERE username='{username}'")
if user and user[0]['password'] == password:
session['user_id'] = user[0]['id']
return redirect('/dashboard')
return 'Login failed', 401
【代码用途】
处理用户登录的API端点
请按以下维度逐一审查:
1. 安全问题
2. 性能问题
3. 边界情况
4. 代码质量
5. 最佳实践
每个问题请给出:问题描述、严重程度、修复建议典型AI回答要点:
- 🔴 SQL注入:用参数化查询替代字符串拼接
- 🔴 明文密码:用bcrypt哈希比对替代
== - 🟡 无输入验证:username/password长度、格式校验
- 🟢 缺少日志和限流
3. 重构建议
场景:代码能跑但写得烂,想重构又怕改出bug
为什么好用:AI能给出多种重构方案并解释优劣,你选最合适的那个,比凭感觉改安全得多。
请对以下代码给出重构方案,要求功能不变、质量提升:
【原始代码】
[粘贴需要重构的代码]
【重构目标】
[如:提高可读性 / 降低耦合 / 提升性能 / 便于扩展]
【约束条件】
[如:不能引入新依赖 / 必须兼容现有接口 / Python 3.9+]
请提供:
1. 重构后的完整代码(可直接替换原代码)
2. 逐项说明每个改动的原因
3. 重构前后的对比(代码行数、结构变化)
4. 需要注意的风险点实战示例:
请对以下代码给出重构方案,要求功能不变、质量提升:
【原始代码】
def get_user_info(user_id):
conn = get_connection()
cursor = conn.cursor()
cursor.execute("SELECT name, email, age FROM users WHERE id=" + str(user_id))
row = cursor.fetchone()
cursor.close()
conn.close()
if row:
return {"name": row[0], "email": row[1], "age": row[2]}
return None
【重构目标】
提高可读性、安全性、可维护性
【约束条件】
Python 3.10+,不能引入新依赖
请提供:
1. 重构后的完整代码
2. 逐项说明每个改动的原因
3. 重构前后的对比
4. 需要注意的风险点典型AI回答要点:
- 参数化查询防SQL注入
- 用
with上下文管理器自动关闭连接 - 字典解包替代手动索引
row[0] - 添加类型注解和文档字符串
4. 单元测试生成
场景:写完功能代码,需要补测试但不想手动写
为什么好用:写测试是最枯燥的环节,AI能一键生成覆盖正常/边界/异常的完整测试套件。
请为以下代码生成完整的单元测试:
【源代码】
[粘贴需要测试的代码]
【测试框架】
[如:pytest / Jest / JUnit 5 / Go testing]
【特殊要求】
[如:需要mock数据库 / 需要参数化测试 / 覆盖率目标80%+]
请生成:
1. 完整的测试代码(可直接运行)
2. 每个测试用例的说明(测试什么场景)
3. 测试覆盖的维度清单(正常/边界/异常)
4. 运行命令示例实战示例:
请为以下代码生成完整的单元测试:
【源代码】
class ShoppingCart:
def __init__(self):
self.items = {}
def add_item(self, name, price, quantity=1):
if price < 0 or quantity < 1:
raise ValueError("Invalid price or quantity")
self.items[name] = {"price": price, "quantity": quantity}
def remove_item(self, name):
if name not in self.items:
raise KeyError(f"Item '{name}' not in cart")
del self.items[name]
def total(self):
return sum(item["price"] * item["quantity"] for item in self.items.values())
【测试框架】
pytest
【特殊要求】
需要参数化测试,覆盖率目标90%+
请生成:
1. 完整的测试代码
2. 每个测试用例的说明
3. 测试覆盖的维度清单
4. 运行命令示例典型AI回答要点:
- 正常场景:添加/删除/计算总价
- 边界场景:空购物车总价=0、数量=1最小值
- 异常场景:负价格、零数量、删除不存在商品
- 参数化:多组价格×数量组合
5. API接口设计
场景:有了需求,需要设计API接口定义
为什么好用:从需求到接口定义是最耗脑力的环节,AI能帮你快速产出RESTful规范的定义,省去反复思考。
请根据以下需求设计API接口:
【需求描述】
[描述业务需求,如:用户可以创建、查看、更新、删除自己的任务,任务有标题、状态、截止日期]
【技术约束】
- 框架:[如:FastAPI / Spring Boot / Express]
- 数据库:[如:PostgreSQL / MongoDB]
- 认证方式:[如:JWT / OAuth2]
请提供:
1. 接口清单(路径、方法、功能、认证要求)
2. 每个接口的请求/响应示例(JSON格式)
3. 数据模型定义(字段、类型、约束)
4. 错误码定义(常见错误及对应HTTP状态码)
5. 接口之间的关联说明实战示例:
请根据以下需求设计API接口:
【需求描述】
任务管理系统:用户可以创建、查看、更新、删除自己的任务。任务有标题、描述、状态(待办/进行中/已完成)、优先级(低/中/高)、截止日期。支持按状态和优先级筛选,支持分页。
【技术约束】
- 框架:FastAPI
- 数据库:PostgreSQL
- 认证方式:JWT Bearer Token
请提供:
1. 接口清单
2. 请求/响应示例
3. 数据模型定义
4. 错误码定义
5. 接口关联说明典型AI回答要点:
- CRUD 5个端点 + 筛选/分页参数设计
- Task模型:id, title, description, status, priority, due_date, created_at, updated_at
- 401未认证、403无权限、404任务不存在、422参数校验失败
- 状态变更逻辑约束(如已完成不能回退到进行中)
6. SQL优化
场景:查询太慢,需要优化SQL
为什么好用:慢查询是后端永恒痛点,AI能分析执行计划、建议索引、重写SQL,比你自己啃文档高效。
以下SQL查询执行太慢,请帮我优化:
【原始SQL】
[粘贴慢查询SQL]
【表结构】
[粘贴相关表的DDL,或描述表名、字段、大致行数]
【性能现状】
- 执行时间:[如:3.2秒]
- 数据量:[如:orders表500万行]
- 数据库:[如:MySQL 8.0 / PostgreSQL 15]
请提供:
1. 性能瓶颈分析(为什么慢)
2. 优化后的SQL(可直接替换)
3. 建议添加的索引(含CREATE INDEX语句)
4. 优化前后的预期对比
5. 进一步优化建议(如分表、缓存)实战示例:
以下SQL查询执行太慢,请帮我优化:
【原始SQL】
SELECT o.id, o.total, u.name, p.title
FROM orders o
JOIN users u ON o.user_id = u.id
JOIN products p ON o.product_id = p.id
WHERE o.created_at > '2025-01-01'
AND u.region = '华东'
AND p.category = '电子产品'
ORDER BY o.created_at DESC
LIMIT 20;
【表结构】
orders: id, user_id, product_id, total, created_at (500万行)
users: id, name, region (10万行)
products: id, title, category (1万行)
【性能现状】
- 执行时间:4.5秒
- 数据量:orders 500万行
- 数据库:MySQL 8.0
请提供:
1. 性能瓶颈分析
2. 优化后的SQL
3. 建议添加的索引
4. 优化前后预期对比
5. 进一步优化建议典型AI回答要点:
- 瓶颈:三表JOIN + 无索引的全表扫描
- 索引:orders(created_at, user_id)、users(region)、products(category)
- 优化SQL:子查询先过滤小表再JOIN、覆盖索引
- 进一步:冷热数据分表、查询缓存
7. 技术方案对比
场景:技术选型纠结,需要客观对比
为什么好用:选型时人容易偏向自己熟悉的方案,AI能给出客观的多维度对比,帮你做出理性决策。
请对比以下技术方案,帮我做出选型决策:
【候选方案】
[列出要对比的方案,如:Redis vs Memcached / React vs Vue / REST vs GraphQL]
【使用场景】
[描述你的具体场景,如:10万QPS的会话缓存,数据结构较复杂]
【决策维度】
[如:性能、易用性、社区生态、运维成本、团队技能匹配]
【团队现状】
[如:5人团队,主要用Python,无专职运维]
请提供:
1. 每个维度的详细对比(表格形式)
2. 各方案的优势和劣势(各列3条)
3. 针对我的场景的推荐方案及理由
4. 推荐方案的落地注意事项实战示例:
请对比以下技术方案,帮我做出选型决策:
【候选方案】
Redis vs Memcached
【使用场景】
10万QPS的会话缓存,需要存储复杂用户状态(嵌套JSON),需要持久化
【决策维度】
性能、数据结构支持、持久化、运维复杂度、社区生态
【团队现状】
5人Python团队,无专职运维,预算有限
请提供:
1. 每个维度的详细对比(表格形式)
2. 各方案的优势和劣势
3. 针对我的场景的推荐方案及理由
4. 推荐方案的落地注意事项典型AI回答要点:
- Redis胜出:支持复杂数据结构、有持久化、单线程足够应对10万QPS
- Memcached优势:更简单、多线程更高吞吐(但仅支持字符串)
- 推荐:Redis,因为需要嵌套JSON和持久化
- 注意:Redis内存管理、淘汰策略配置、主从高可用
8. 正则表达式生成
场景:需要写正则但不会写或写不准
为什么好用:正则是程序员最怕的东西之一,AI写正则非常强,还能解释每个部分的含义,你再也不用对着正则发呆。
请帮我生成一个正则表达式:
【匹配目标】
[描述你要匹配的内容,如:中国手机号 / URL / 邮箱 / JSON key]
【具体规则】
[如:11位数字,1开头,第二位3-9 / 必须包含https / 允许子域名]
【测试用例】
应该匹配的:[列出3-5个应该匹配的例子]
不应该匹配的:[列出3-5个不应该匹配的例子]
【使用环境】
[如:Python re模块 / JavaScript / Go regexp / grep]
请提供:
1. 正则表达式(带注释说明每部分含义)
2. 在指定环境中的使用代码示例
3. 用测试用例验证匹配结果
4. 常见变体(如更宽松/更严格的版本)实战示例:
请帮我生成一个正则表达式:
【匹配目标】
中国手机号码
【具体规则】
11位数字,以1开头,第二位为3-9,后面9位为0-9
【测试用例】
应该匹配:13812345678, 15900001111, 18699998888
不应该匹配:12812345678, 12345, 23812345678, 1381234567a
【使用环境】
Python re模块
请提供:
1. 正则表达式(带注释)
2. Python使用代码示例
3. 用测试用例验证匹配结果
4. 常见变体典型AI回答要点:
- 正则:
^1[3-9]\d{9}$ - 注释:
^开头 →1第一位 →[3-9]第二位 →\d{9}后9位 →$结尾 - Python代码:
re.match(r'^1[3-9]\d{9}$', phone) - 变体:宽松版(允许+86前缀)、严格版(按运营商号段细分)
使用技巧
提示词微调建议
- 加上下文:把项目背景、技术栈、约束条件告诉AI,回答会更精准
- 指定格式:明确要求表格、代码块、分步骤等格式,输出更易读
- 交叉验证:同一个问题发给Claude和DeepSeek,对比答案找差异
- 迭代追问:第一次回答不满意,追问"请更具体"或"请给出替代方案"
防幻觉技巧
- 要求引用来源:加一句"请标注信息来源"
- 要求承认不确定:加一句"不确定的地方请明确说明"
- 验证代码:AI给的代码一定要自己跑一遍,不要直接上线
- 检查逻辑:AI给的方案要自己过一遍逻辑,特别是安全相关