很多开发者用ChatGPT编程的方式是错的——输入"帮我写个爬虫",拿到一段跑不通的代码,然后抱怨AI不行。问题不在模型,在提问方式。
一个好的编程提示词,能让ChatGPT从"什么都懂的聊天机器人"变成"能交付生产级代码的编程搭档"。差的提示词只能得到"学生作业"。
本文按代码生成、调试排错、代码审查、重构优化、测试编写、文档生成、技术学习七个类别分类,每个提示词都标注了适用场景,部分配有实测案例。
[方括号] 内容请替换为你的实际信息。涉及公司代码时,务必使用脱敏后的代码片段,不要粘贴含有密钥、内部域名或敏感业务逻辑的原始代码。💻 一、代码生成(12个)
从API接口到CLI工具,覆盖后端、前端、脚本、SQL等全场景代码生成
🧠 核心原则:三段式指令
一个有效的代码生成提示词包含三个部分:
明确告诉ChatGPT它应该扮演什么角色,以及要完成的核心功能。
列出必须遵守的约束和期望的输出形式——参数从哪里读、输出到哪里、边界条件怎么处理。
给出一小段期望的代码风格或不要做的事情,能极大减少误解。
后端API接口
适用场景:编写RESTful API端点
[Node.js/Python/Go]后端开发者。请创建一个[POST/GET/PUT/DELETE] /api/[端点路径]接口,功能是[描述功能]。技术栈:[Express.js/FastAPI/Spring Boot] + [TypeScript/Python/Java] + [ORM工具] + [数据库]
要求:
- 使用[验证库]进行输入验证
- 使用数据库事务确保数据一致性
- 返回合适的HTTP状态码(200/201/400/404/500)
- 为每种错误类型定义自定义错误类
代码组织方式:[路由层 → 服务层 → 数据访问层]
React组件
适用场景:前端组件开发
[组件名] React组件。技术栈:React [版本] + TypeScript + [样式方案]
行为要求:
- 输入变化时[防抖/节流]调用API
- 支持键盘导航(上下键/回车/Esc)
- 在结果中高亮匹配文本
- 包含加载中、错误和空状态
- 符合ARIA无障碍标准
- 新请求到来时取消上一次请求
CLI命令行工具
适用场景:编写命令行工具
[语言]创建一个CLI工具,功能是[描述功能]。要求:
- 成功/错误/警告使用不同颜色输出
- 长时间操作显示进度条
- --help显示使用示例
- --verbose输出调试信息
- 支持配置文件
Python工程化脚本
适用场景:数据处理、自动化脚本
[功能描述]的脚本。技术约束:
- Python [版本],必须包含Type Hints
- 文件可能很大([大小]),必须使用生成器逐行读取,严禁一次性加载到内存
- 使用[合适的数据结构]进行统计
- 包含完整的try-except块,使用logging模块输出日志,禁止使用print调试
Java架构级代码
适用场景:企业级Java开发
[版本]和JDK [版本]实现[业务功能]。架构约束:
- 拒绝if-else链,必须使用[设计模式]模式路由不同业务逻辑
- 所有策略类实现统一接口,交由Spring容器管理
- 核心方法添加@Transactional(rollbackFor = Exception.class)
- 金额计算强制使用BigDecimal,严禁使用Double
- 使用Lombok简化代码,关键方法补充JavaDoc注释
SQL查询生成
适用场景:复杂SQL编写
[MySQL/PostgreSQL],版本[X]。请编写一个SQL查询:需求:[描述你要查什么]
表结构:[粘贴表结构]
要求:
- 考虑索引使用,避免全表扫描
- 处理NULL值
- 如果可能,提供两种写法并说明哪种性能更好
正则表达式生成
适用场景:文本匹配与提取
[描述你要匹配的内容]。输入示例:
- 应该匹配:[列出应匹配的字符串]
- 不应该匹配:[列出不应匹配的字符串]
要求:解释每个部分的含义,并说明边界情况
跨语言转换
适用场景:将代码从一种语言迁移到另一种
[源语言]代码转换为[目标语言]代码:[粘贴代码]
要求:
- 保持相同的功能和逻辑
- 遵循[目标语言]的最佳实践和惯用写法
- 添加适当的类型注解/类型声明
- 处理相同的边界情况
多方法拆分
适用场景:长函数重构
[粘贴长函数]
要求:
- 每个方法只做一件事
- 方法命名清晰表达其职责
- 保持原有功能不变
API数据获取脚本
适用场景:从公共API获取数据
文本数据清洗(Python)
适用场景:清理脏数据
数据特点:[描述数据格式和问题]
清洗任务:
- 去除空值和重复值
- 标准化日期格式为[格式]
- 去除首尾空格和特殊字符
- 处理缺失值(填充/删除)
- 输出清洗后的数据到[格式]文件
系统环境检测脚本
适用场景:跨平台兼容性检测
- 是否在Docker容器内
- 是否在Raspberry Pi上
- 是否在常规Linux/Windows/macOS环境中
要求包含文件头块,使用章节分隔代码,并给出清晰的输出
🔍 二、调试排错(8个)
从错误解读到性能瓶颈定位,让AI成为你的调试搭档
错误信息解读
适用场景:看到报错但不知道什么意思
[粘贴完整错误信息]我的技术栈:[语言/框架/版本]
请解释:
1. 这个错误是什么意思
2. 最常见的根本原因(列出3-5个)
3. 我应该首先检查什么
先不要写代码——我想先理解问题再看解决方案
栈追踪解读
适用场景:程序崩溃,有一堆调用栈
[语言]应用的栈追踪:[粘贴脱敏后的栈追踪]请从下到上逐帧解读:
1. 每一层在做什么
2. 错误起源于哪里
3. 最可能的原因是什么
4. 我应该首先查看哪个位置
假设驱动调试
适用场景:已经排查了一些方向,需要新思路
[描述异常行为]我已经排除了:
- [已排查项1]
- [已排查项2]
请生成5个可能导致此问题的假设,按可能性从高到低排序,每个假设附带一个我可以立即执行的验证方法
回归分析
适用场景:代码上周还能跑,现在不行了
-
[变更1]-
[变更2]-
[变更3]哪个变更最可能导致[描述bug]?请解释推理过程
错误转检查清单
适用场景:将错误信息转化为可操作的排查步骤
[粘贴错误]列出我应该逐一检查的事项,按最可能的原因排序
内存泄漏排查
适用场景:应用内存持续增长
[Node.js/Python]应用内存持续增长,大约每小时增加[X]MB。关键代码区域:[粘贴相关代码]
请分析是否存在:
- 事件监听器泄漏
- 无限增长的缓存
- 阻止垃圾回收的闭包引用
- 未清理的Buffer/流
性能瓶颈定位
适用场景:代码运行太慢
[数据量]需要[时间]:[粘贴代码]请分析:
1. 时间复杂度是多少
2. 瓶颈在哪里
3. 给出3个优化方案,从低到高按改动成本排序
代码行为异常
适用场景:函数行为与预期不符
[函数/组件/服务]行为异常。期望:[应该发生什么]
实际:[实际发生了什么]
相关代码(已脱敏):[粘贴代码片段]
请带我走一遍结构化调试流程:该记录什么日志、隔离什么部分、检查什么。同时标记你注意到的明显bug
🛡️ 三、代码审查(6个)
提交PR前的安全审查、质量评分、边界检查,让AI当你的Code Reviewer
安全审查
适用场景:提交前检查安全漏洞
[粘贴代码]检查项:
- SQL/NoSQL注入
- XSS(存储型、反射型、DOM型)
- 认证绕过
- CSRF漏洞
- 敏感数据暴露
对每个漏洞标注:严重等级(严重/高/中/低)、攻击场景、含代码示例的修复方案
全面代码审查
适用场景:PR提交前的全面检查
[粘贴脱敏代码片段]检查:
- 逻辑错误
- 未处理的边界情况
- 安全问题
- 性能问题
- 可读性问题
直接指出问题,不要软化反馈
代码评分
适用场景:量化评估代码质量
- 可读性:___分
- 性能:___分
- 可测试性:___分
- 安全性:___分
每个分数给出简短理由,然后提出3个改进建议
边界情况检查
适用场景:找出代码没考虑到的边界情况
[粘贴代码]特别关注:
- null/undefined输入
- 空集合
- 极大/极小值
- 并发场景
代码坏味道检测
适用场景:发现代码中的反模式
[粘贴脱敏代码]对每个问题:命名模式、解释为什么是问题、建议更好的方案。按影响优先级排序
PR描述生成
适用场景:为PR写描述
[描述]请写一份PR描述,包含:
- 解决了什么问题
- 我采用了什么方法
- 我考虑过哪些替代方案
- 审查者应该重点关注什么
控制在300字以内
⚡ 四、重构优化(6个)
让代码更优雅、更高效、更可维护
长函数拆分
适用场景:拆分超过100行的函数
[行数]行。请重构为更小的函数,使用清晰的命名:[粘贴代码]提取常量与辅助函数
适用场景:消除魔法数字和重复代码
- 将魔法数字提取为命名常量
- 将重复代码提取为辅助函数
[粘贴代码]同步转异步
适用场景:将同步代码改为异步
[粘贴代码]设计模式重构
适用场景:用设计模式替换复杂条件逻辑
[粘贴代码]依赖注入重构
适用场景:提升代码可测试性
[语言]开发者。我正在用[框架]构建一个[应用类型]应用。请重构以下函数以使用依赖注入。遵循[编码规范],优先考虑可测试性。给出重构后的代码和简要说明。🧪 五、测试编写(5个)
从单元测试到集成测试,让AI帮你写出靠谱的测试用例
单元测试生成
适用场景:为函数编写测试
[粘贴函数]包含:
- 正常路径测试
- 3个边界情况
- 2个错误情况
- 适当使用fixtures/mocks
测试用例建议
适用场景:不确定需要测什么
[粘贴函数]包括:正常路径、边界情况、错误情况
集成测试方案
适用场景:API或数据库集成测试
[API端点/数据库操作]设计集成测试方案。技术栈:[框架] + [测试框架] + [数据库]
要求:
- 测试数据库使用[测试数据库配置]
- 每个测试前后清理数据
- 测试异步操作
- 模拟外部依赖
测试覆盖率补充
适用场景:提高测试覆盖率
[粘贴代码和现有测试]请指出哪些分支没有被覆盖,并写出补充测试
Bug回归测试
适用场景:修复bug后防止再次出现
[描述bug和修复]请编写一个回归测试,确保这个bug不会再次出现:[粘贴相关代码]
📝 六、文档生成(5个)
从函数注释到技术设计文档,让AI帮你把代码讲清楚
函数文档生成
适用场景:为函数写文档注释
[粘贴函数]包含:功能描述、参数说明、返回值说明、异常说明、使用示例
README生成
适用场景:为项目写README
项目名称:[名称]
功能:[描述]
技术栈:[列表]
安装步骤:[简述]
包含:项目简介、安装指南、使用示例、API文档(如有)、贡献指南、许可证
API文档生成
适用场景:为API接口写文档
[粘贴路由/控制器代码]
格式要求:端点、方法、请求参数(含类型和是否必填)、请求示例、响应示例(成功和错误)、状态码说明
代码注释补全
适用场景:为已有代码补充注释
[粘贴代码]技术设计文档
适用场景:记录架构决策
[功能/模块]生成一份技术设计文档。背景:[为什么需要这个功能]
目标:[要解决什么问题]
技术选型:[选择了什么技术,为什么]
架构:[高层设计]
包含:背景与目标、技术选型与理由、高层架构设计、数据模型、API设计、安全考虑、部署方案
📚 七、技术学习(6个)
用AI加速技术学习,从概念理解到技术选型
概念通俗解释
适用场景:快速理解新概念
[技术概念],假设我是[你的背景,如"刚学完基础Python的计算机学生"]。包含:
- 用通俗语言解释核心概念
- 最直观的一个类比
- 最常见的两个误解
- 实际应用场景
概念对比
适用场景:理解两个相似技术的区别
[概念A]和[概念B]有什么区别?给出实际场景中各自的使用示例。知识衔接
适用场景:理解了一个概念但卡在下一个
[概念A],但对[概念B]感到困惑。请帮我从A过渡到B,解释它们之间的关系。80/20快速学习
适用场景:快速掌握一门新技术
[技术名称]的"80/20"学习指南——需要学习的20%内容,覆盖80%的实际使用场景。设计模式学习
适用场景:理解设计模式的实际应用
[设计模式]的真实代码示例,然后解释什么时候不该用它。技术选型建议
适用场景:在多个技术方案中做选择
[项目类型],需要在[选项A]和[选项B]之间选择。请从以下维度对比:
- 学习曲线
- 生态系统和社区
- 性能特点
- 适用场景
- 维护成本
给出推荐并说明理由
🎯 通用提示词技巧
角色 + 上下文 + 任务 + 约束 + 输出
一个有效的编程提示词包含五个要素:角色——"你是一名资深[语言]后端开发者";上下文——"我正在用[框架]构建一个[应用类型]";任务——"请[具体任务]";约束——"遵循[规范],优先考虑[可读性/性能/安全]";输出——"给出[代码/解释/检查清单]"。
用示例代替抽象描述
给示例比给百字描述更管用。抽象要求容易误读,示例暴露真实输入形态。至少提供三类示例:正常输入示例、边界值输入示例(null、0、超长字符串)。
明确"不要做什么"
"不要打印调试信息到标准输出""不要一次性加载所有文件到内存""不要使用全局变量"——禁止项往往比正面指令更有用。
写在最后
这些提示词的核心价值不是让你"一键生成完整项目",而是帮你跨过"不知道怎么问"这道门槛。



