我用 AI 写了 10000 行代码,总结出这 8 个万能提示词
大家好,我是小易。
昨天的文章发出后,很多读者在评论区问我:"为什么同样用 AI 写代码,你写的又快又好,我写的却一堆 BUG?"
答案很简单:不是 AI 不行,是你的提示词不行。
过去 3 个月,我用 AI 写了超过 10000 行代码,从简单的 CRUD 到复杂的 AI Agents 应用,踩过无数坑,也总结出了一套万能提示词模板。
今天我把这些压箱底的宝贝分享给你,全部可直接复制粘贴,每个模板都配了真实开发案例,用了之后你的 AI 代码质量至少提升 3 倍。
一、为什么提示词这么重要?
AI 就像一个刚毕业的实习生,聪明但经验不足。你给他的指令越清晰、越具体,他做的事情就越好;如果你只给他一句模糊的话,他只能靠猜,结果自然一塌糊涂。
我见过太多人这样用 AI:
"帮我写一个用户管理系统"
"帮我排查一下这个 BUG"
"帮我优化一下这段代码"
这样的提示词,AI 生成的代码能跑就不错了,更别说质量和性能了。
好的提示词应该包含 4 个要素:角色、任务、要求、输出格式。
记住这个公式,你写的提示词就能超过 90% 的人。
二、8 个万能提示词模板(附真实案例),直接复制就能用
1. 需求拆解提示词(最常用)
适用场景:拿到一个复杂需求,不知道从何下手
模板:
你是一位有10年经验的Java后端架构师。请帮我拆解以下需求,输出详细的开发步骤和技术方案。
需求:[在这里输入你的需求]
要求:
1. 拆分成不超过10个小任务,每个任务不超过1天工作量
2. 明确每个任务的输入输出和验收标准
3. 推荐合适的技术栈和第三方库
4. 指出可能遇到的技术难点和解决方案真实案例:
我之前接到一个需求:"开发一个 SpringBoot 的文件上传功能,支持大文件断点续传,文件存储到阿里云 OSS"。直接写代码很混乱,用这个提示词后,AI 给出了清晰拆解:
搭建阿里云 OSS SDK 依赖(输入:项目 pom.xml,输出:配置完成的依赖,验收:无编译错误)
设计文件上传实体类(输入:业务字段需求,输出:FileUploadDTO.java,验收:包含文件名称、大小、分片信息等字段)
实现分片上传接口(输入:实体类,输出:UploadController 分片接口,验收:支持分片上传和分片校验)
实现断点续传逻辑(输入:分片接口,输出:断点续传工具类,验收:支持断点恢复上传)
实现文件合并接口(输入:分片数据,输出:文件合并服务,验收:正确合并所有分片)
...(后续 5 个任务略)
还推荐了 aliyun-oss-java-sdk、hutool 工具库,指出了 "分片一致性校验" 和 "大文件内存占用" 两个难点及解决方案,帮我少走了很多弯路。
2. 代码生成提示词
适用场景:生成具体的功能代码
模板:
你是一位有10年经验的Java开发工程师。请帮我写一段代码,实现以下功能。
功能:[在这里输入你的功能需求]
技术栈:SpringBoot 3.5 + Java 17 + MySQL 8.0 + MyBatis-Plus
要求:
1. 遵循阿里巴巴Java开发规范
2. 代码要有详细的注释
3. 处理所有可能的异常情况
4. 包含必要的参数校验
5. 输出完整的类代码,不要省略任何部分真实案例:
我需要实现 "用户注册功能,包含手机号验证码校验、密码强度验证",用这个提示词后,AI 生成了完整的代码:
包含 PhoneValidator 手机号格式校验工具类
密码强度校验(必须包含大小写字母、数字、特殊字符,长度≥8 位)
处理了手机号已注册、验证码过期、密码强度不够等 6 种异常
完整的 Service 和 Controller 层代码,直接复制到项目中就能用
之前自己写这样的代码至少要 1 小时,用 AI + 这个提示词只花了 5 分钟,而且 BUG 率为 0。
3. 代码重构提示词
适用场景:优化老代码,提高可读性和可维护性
模板:
你是一位有10年经验的Java代码重构专家。请帮我重构以下代码,提高它的可读性、可维护性和性能。
[在这里粘贴你的代码]
要求:
1. 保持原有功能不变
2. 提取重复代码,封装成方法
3. 优化变量名和方法名,使其更有意义
4. 简化复杂的逻辑判断
5. 添加必要的注释
6. 说明重构的原因和好处真实案例:
我接手一个老项目,有一段用户状态判断的代码,原代码用了 8 个 if-else 嵌套,可读性极差:
if (user != null) { if (user.getStatus() == 1) {
if (user.getVipLevel() > 3) {
// 逻辑1
} else {
// 逻辑2
}
} else if (user.getStatus() == 2) {
// 逻辑3
} else {
// 逻辑4
}
} else {
// 逻辑5
}
用提示词提交后,AI 将其重构为策略模式,提取了 5 个状态处理类,用工厂模式管理,代码行数从 60 行精简到 35 行,后续新增状态只需添加新类,无需修改原有代码。重构后我同事看了直呼清晰,后续维护效率提升了 50%。
4. BUG 排查提示词
适用场景:遇到 BUG,自己解决不了
模板:
你是一位有10年经验的Java调试专家。请帮我排查以下BUG,找出问题原因并提供解决方案。
问题描述:[详细描述BUG现象]
错误日志:[粘贴完整的错误日志]
相关代码:[粘贴相关的代码片段]
运行环境:[说明你的运行环境,如JDK版本、SpringBoot版本等]
要求:
1. 分析可能的问题原因
2. 提供详细的排查步骤
3. 给出具体的解决方案
4. 说明如何避免类似问题再次发生真实案例:
上周我遇到一个 BUG:"SpringBoot 项目启动时报 NoSuchBeanDefinitionException,找不到 UserService 的 Bean"。错误日志很长,我复制了关键日志和启动类代码提交给 AI:
问题描述:项目启动失败,提示找不到 UserService 的 Bean,该类已添加 @Service 注解
错误日志:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.service.UserService' available
相关代码:(粘贴了 UserService 类和 SpringBoot 启动类)
运行环境:JDK 17 + SpringBoot 3.5
AI 很快分析出原因:启动类的 @ComponentScan 注解扫描范围不包含 UserService 所在的包,解决方案是扩大扫描范围或移动启动类位置。按照 AI 的提示修改后,项目成功启动,前后只花了 10 分钟,而我之前自己排查类似问题至少要 1 小时。
5. 单元测试提示词
适用场景:为代码生成单元测试
模板:
你是一位有10年经验的Java测试工程师。请帮我为以下代码生成单元测试。
[在这里粘贴你的代码]
要求:
1. 使用JUnit 5和Mockito
2. 覆盖所有的方法和分支
3. 包含正常情况和异常情况的测试用例
4. 测试用例要有清晰的命名
5. 输出完整的测试类代码真实案例:
我有一个用户登录 Service 方法,包含用户名密码校验、状态判断等逻辑,用这个提示词提交后,AI 生成了 8 个测试用例:
用户名密码正确,用户状态正常 → 登录成功
用户名不存在 → 登录失败
密码错误 → 登录失败
用户状态为禁用 → 登录失败
用户名或密码为空 → 抛出参数异常
...
每个测试用例都有清晰的命名,比如 testLogin_success ()、testLogin_userNotFound (),还包含了 Mock 依赖注入的代码。直接复制到项目中,运行测试覆盖率达到了 92%,完全满足项目要求。
6. 代码解释提示词
适用场景:看不懂别人写的代码
模板:
你是一位有10年经验的Java技术讲师。请用通俗易懂的语言解释以下代码的功能和实现原理。
[在这里粘贴你的代码]
要求:
1. 先说明这段代码的整体功能
2. 逐行解释关键代码的作用
3. 说明代码中使用的设计模式和最佳实践
4. 指出代码中可能存在的问题真实案例:
我刚接手项目时,看到一段复杂的并发代码,用了 CountDownLatch 和线程池,完全看不懂:
public void processTasks(List tasks) throws InterruptedException {
CountDownLatch latch = new CountDownLatch(tasks.size());
ExecutorService executor = Executors.newFixedThreadPool(5);
for (Task task : tasks) {
executor.submit(() -> {
try {
task.execute();
} finally {
latch.countDown();
}
});
}
latch.await(10, TimeUnit.SECONDS);
executor.shutdown();
}
用提示词提交后,AI 详细解释:
整体功能:使用线程池并发执行任务,等待所有任务完成或超时后关闭线程池
关键代码:CountDownLatch 用于等待所有任务完成,线程池固定 5 个核心线程,超时时间 10 秒
设计模式:使用了线程池模式和闭锁模式
潜在问题:Executors 创建的线程池可能导致 OOM,建议用 ThreadPoolExecutor 自定义配置
看完解释后,我不仅懂了代码功能,还知道了优化方向,后续将线程池改为自定义配置,避免了潜在风险。
7. 文档生成提示词
适用场景:为代码生成接口文档和注释
模板:
你是一位有10年经验的技术文档工程师。请帮我为以下代码生成详细的接口文档和方法注释。
[在这里粘贴你的代码]
要求:
1. 为每个类和方法添加Javadoc注释
2. 说明每个方法的功能、参数、返回值和异常
3. 生成符合OpenAPI 3.0规范的接口文档
4. 包含接口的调用示例真实案例:
我写了一个用户查询接口,用这个提示词提交后,AI 生成了完整的 Javadoc 注释和接口文档:
类注释包含接口功能、作者、创建时间
方法注释详细说明每个参数(比如 userId:用户 ID,必填,格式为 Long)
返回值说明包含 JSON 格式示例
接口文档包含请求 URL、请求方式、请求头、响应码等信息
直接复制到项目中,前端同事看了文档就能调用接口,省去了我写文档的 1 小时时间,而且文档比我自己写的更规范。
8. 性能优化提示词
适用场景:优化代码性能
模板:
你是一位有10年经验的Java性能优化专家。请帮我分析以下代码的性能问题,并提供优化方案。
[在这里粘贴你的代码]
要求:
1. 分析代码中存在的性能瓶颈
2. 提供具体的优化方案
3. 说明优化后的性能提升效果
4. 给出优化后的代码示例真实案例:
我有一段批量查询用户的代码,循环调用 DAO 方法查询,每次查询 1 个用户,数据量大时速度很慢:
public ListDTO> getUserList(List<Long> userIds) { List result = new ArrayList
for (Long userId : userIds) {
User user = userDAO.selectById(userId);
result.add(convertToDTO(user));
}
return result;
}
AI 分析出性能瓶颈:循环查询数据库,产生 N 次数据库连接,IO 开销大。优化方案是修改 DAO 方法支持批量查询,一次性查询所有用户。优化后的代码只查询 1 次数据库,测试后执行时间从 500ms 缩短到 30ms,性能提升了 16 倍。
三、提示词优化的 3 个黄金法则
1. 越具体越好
不要说 "帮我写一个登录接口",要说 "帮我写一个 SpringBoot 的用户登录接口,使用 JWT 进行身份认证,密码用 BCrypt 加密,返回包含用户信息和 token 的 JSON 格式数据"。
2. 给 AI 设定角色
给 AI 设定一个专业的角色,比如 "10 年经验的 Java 架构师"、"代码重构专家",这样 AI 生成的内容会更专业、更符合行业规范。
3. 明确输出要求
告诉 AI 你想要什么样的输出,比如 "遵循阿里巴巴 Java 开发规范"、"代码要有详细的注释"、"输出完整的类代码",这样 AI 就不会生成一些没用的内容。
四、最后说几句
很多人以为 AI 会取代程序员,但实际上,AI 只会取代不会用 AI 的程序员。
掌握了好的提示词,你就能让 AI 成为你最好的搭档,帮你完成 80% 的重复劳动,让你有更多时间去做更有价值的事情。
今天分享的这 8 个提示词,是我用了 3 个月、写了 10000 行代码总结出来的精华,每个都配了真实案例,收藏起来,下次写代码的时候直接复制粘贴,你会发现效率提升不止一点点。
互动问题:你有什么私藏的 AI 写代码提示词?欢迎在评论区分享,大家一起交流学习。