在这里插入图片描述

一、先给你结论:高质量 Java Prompt 的标准结构

你以后写 Prompt,尽量按这个顺序写:

1. 角色
2. 项目背景
3. 代码风格/技术栈
4. 具体任务
5. 输入信息
6. 约束条件
7. 输出要求
8. 异常/边界要求
9. 测试要求

二、Java AI 编码万能总 Prompt(母版)

这个是最值得收藏的。以后无论你做 Controller、Service、Mapper、对接第三方、优化代码,都可以先套这个。

1)万能母 Prompt 模版

你是一名资深 Java 后端架构师和业务开发专家,擅长 Spring Boot、MyBatis、Redis、MQ、第三方系统对接、单元测试和性能优化。

我正在开发一个 Java 项目,请严格按照以下要求完成任务:

【项目背景】

  • 项目名称:[项目名]
  • 技术栈:[Spring Boot / MyBatis / Redis / MySQL / MQ / JUnit5 / Mockito 等]
  • Java 版本:[Java 8 / 11 / 17]
  • 代码风格:[如使用 Lombok、统一 Result 返回、阿里巴巴规范、日志用 slf4j]

【任务目标】
帮我实现:[具体任务]

【输入信息】

  • 参考类/参考文件:[类名或代码片段]
  • 接口文档/表结构/JSON/XML:[粘贴内容]
  • 关键业务规则:[规则1、规则2、规则3]

【实现要求】

  1. 按照项目现有分层结构实现
  2. 代码要可运行、可维护、可扩展
  3. 补充必要的参数校验、异常处理、日志记录
  4. 注意空指针、并发、幂等、事务、性能问题
  5. 如果适合,补充 DTO、VO、Mapper、Converter、Enum、工具类

【输出要求】

  1. 先给出实现思路
  2. 再给出完整代码
  3. 标明关键设计点
  4. 如果有风险点,单独列出
  5. 最后补充单元测试示例

如果信息不足,请基于常见 Java 企业级最佳实践给出合理默认方案,不要省略关键代码。


2)万能母 Prompt 实战版(可直接复制)

你是一名资深 Java 后端开发专家。
我正在开发一个 Spring Boot + MyBatis 的酒店 PMS 对接项目,Java 8,统一使用 Result<T> 返回结果,依赖注入使用 @Resource,日志使用 slf4j,要求符合企业级生产代码规范。

请帮我完成以下任务:
任务:对接第三方 PMS 的“查询在住客人信息”接口。

已知信息如下:

  1. 第三方接口文档会提供请求地址、请求参数、返回 JSON
  2. 我们项目内部统一返回对象为 CommonLiveGuestInVo
  3. 需要实现 Controller、Service、第三方请求 DTO、第三方响应 DTO、Converter
  4. 要求对外部接口调用增加超时处理、异常日志、空值保护
  5. 如果第三方返回 guestList 为空,不能抛空指针,要记录 warn 日志

输出要求:

  1. 先给出整体设计思路
  2. 再给出完整代码结构
  3. 说明如何处理异常、日志和空值
  4. 最后补充一个 JUnit5 + Mockito 的测试示例

三、完整 Java 业务场景 Prompt 模版库

下面我按真实开发流程,把常见 Java 业务场景全部展开。


1. 需求分析 / 方案设计 Prompt

模版

你是一名资深 Java 架构师。
请根据以下业务需求,输出一份适合 Java 后端实现的技术方案。

【业务需求】
[粘贴需求]

【项目技术栈】
Spring Boot + MyBatis + MySQL + Redis

【输出要求】

  1. 业务流程拆解
  2. 涉及的表、接口、服务、缓存、消息
  3. 核心类设计
  4. 关键异常场景
  5. 性能和并发风险
  6. 给出推荐实现方案

范例

帮我设计“机器人自助入住”后端方案。
要求支持:订单校验、身份信息校验、房态校验、排房、入住、支付押金、异常补偿。
请输出 Java 服务层架构设计,包含 Controller、Service、Mapper、第三方 PMS 适配层、支付模块、日志追踪方案。


2. Controller 接口编写 Prompt

模版

请为 Spring Boot 项目编写一个 Controller 接口。

【接口名称】[接口名称]
【请求路径】[路径]
【请求方式】[GET/POST]
【入参类】[ReqDTO]
【返回类】[RespDTO]

要求:

  1. 使用 @RestController 和 Swagger 注解
  2. 使用 @Valid 校验参数
  3. 统一返回 Result<T>
  4. 补充必要注释
  5. 风格符合企业项目规范

范例

请写一个 XiRuanPmsController,基础路径 /xiruan
增加一个 POST 接口 /queryRoomLiveGuestInfo,接收 XiRuanQueryGuestReq,返回 Result<List<CommonLiveGuestInVo>>
使用 Swagger 注解,参数使用 @Valid 校验。


3. DTO / VO / BO 类生成 Prompt

模版

请根据以下字段定义,生成 Java DTO/VO 类。

【类名】[类名]
【字段】

  • [字段1]:[类型],[说明]
  • [字段2]:[类型],[说明]

要求:

  1. 使用 Lombok @Data
  2. 补充 Swagger 注解
  3. 必填字段添加 JSR-303 校验注解
  4. 字段命名符合 Java 驼峰规范
  5. 如果原始字段是下划线风格,补充 @JsonProperty

范例

生成 XiRuanQueryGuestReq

  • hotelCode: String,酒店编码,必填
  • roomNo: String,房号,必填
  • bizDate: String,营业日期,可选

要求:使用 Lombok、Swagger、JSR-303 注解。


4. Service 接口与实现 Prompt

模版

请帮我编写 Service 接口和实现类。

【业务功能】[功能名称]
【输入】[Req]
【输出】[Resp]
【依赖】[Mapper/第三方客户端/缓存等]

要求:

  1. 先定义 Service 接口
  2. 再给出 ServiceImpl
  3. 增加参数校验
  4. 外部调用使用 try-catch
  5. 记录关键日志
  6. 处理空值、异常和边界场景

范例

为“查询在住客人信息”编写 XiRuanPmsServiceXiRuanPmsServiceImpl
流程:

  1. 根据 hotelCode 查询酒店配置
  2. 组装第三方请求参数
  3. 调用西软 PMS 接口
  4. 将返回结果转换成 CommonLiveGuestInVo
  5. 如果配置不存在,抛出 BusinessException("酒店配置不存在")
  6. 如果第三方超时,记录 error 日志并抛出业务异常

5. Mapper 接口与 MyBatis XML Prompt

模版

请根据以下实体和查询需求,生成 MyBatis Mapper 接口和 XML。

【实体类】[实体名]
【表名】[表名]
【查询需求】[条件]

要求:

  1. 生成 BaseResultMap
  2. 生成动态查询 SQL
  3. 使用 <where><if><foreach>
  4. 支持逻辑删除过滤
  5. 提供对应 Java Mapper 方法

范例

PmsHotelConfig 生成 Mapper 和 XML。
需求:按 hotelIdbrandCodestatus 查询配置列表,过滤 del_flag = 0,按 create_time desc 排序。
请同时生成 selectByHotelIdAndBrandCode 方法。


6. 第三方 HTTP 接口对接 Prompt

模版

请帮我封装一个第三方 HTTP 接口调用逻辑。

【接口地址】[url]
【请求方式】[GET/POST]
【请求格式】[JSON/XML/Form]
【认证方式】[Token/签名/AppKey]
【返回格式】[JSON/XML]

要求:

  1. 使用 RestTemplate 或项目现有 HTTP 工具
  2. 设置请求头
  3. 处理超时、连接失败、返回码异常
  4. 打印 request/response 日志
  5. 返回统一业务对象

范例

帮我实现一个调用西软 PMS /api/v1/liveGuests 的方法。
使用 POST JSON,请求头包含 Content-Type: application/jsonX-Auth-Token
如果发生 ResourceAccessException,记录错误日志并抛出 BusinessException("外部PMS响应超时")
如果返回 code 非 200,返回业务失败结果。


7. 第三方签名 / 鉴权 Prompt

模版

请实现一个第三方接口签名工具类。

【签名规则】

  • 参数按 key 升序排序
  • 拼接 appKey、timestamp、body
  • 使用 MD5/HmacSHA256 计算签名

要求:

  1. 封装成独立工具类
  2. 提供示例调用代码
  3. 注意空值和编码问题
  4. 输出十六进制小写签名

范例

请写一个 XiRuanSignUtil
签名规则:appKey + timestamp + requestBody + secret 后做 MD5。
提供 generateSign(String appKey, String timestamp, String body, String secret) 方法。


8. JSON / XML 报文转 Java 对象 Prompt

模版

请根据以下 JSON/XML 报文生成 Java 类,并提供解析示例。

【报文内容】
[粘贴 JSON/XML]

要求:

  1. 生成完整 Java Bean
  2. 属性名用驼峰
  3. 原字段名使用 @JsonProperty 或 XML 注解
  4. 给出反序列化示例
  5. 说明哪些字段可能为空

范例

根据以下西软接口返回 JSON 生成 Java Bean:

{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "acc_id": "123",
      "rm_no": "8808",
      "guest_name": "张三",
      "arr_time": "2026-04-18 12:00:00"
    }
  ]
}

请生成 XiRuanGuestQueryResp 及内部 data 子对象类。


9. DTO 转 VO / 第三方对象转内部对象 Prompt

模版

请写一个 Converter,将第三方响应对象转换为内部业务对象。

【输入对象】[第三方 DTO]
【输出对象】[内部 VO]
【映射规则】[规则列表]

要求:

  1. 使用 Java 8 Stream
  2. 做好空值保护
  3. 支持集合转换
  4. 如有非法状态,过滤掉
  5. 金额、时间、状态码要正确转换

范例

List<XiRuanRawGuestDTO> 转换成 List<CommonLiveGuestInVo>

  • acc_id -> guestId
  • rm_no -> roomNo
  • guest_name -> guestName,为空时默认“未知客人”
  • arr_timeDate
  • status=I 映射入住,status=O 映射离店,其余过滤掉
    请给出完整 Converter 代码。

10. 参数校验 Prompt

模版

请帮我为以下请求对象补充参数校验规则。

【对象类】[类名]
【字段要求】[字段要求]

要求:

  1. 使用 JSR-303 注解
  2. 给出友好的 message
  3. 标注哪些字段必填
  4. 长度、格式、范围校验完整

范例

CreateOrderReq 增加校验:

  • hotelId 必填
  • roomNo 必填且长度不超过 20
  • checkInDate 必填,格式 yyyy-MM-dd
  • amount 不能小于 0

11. 异常处理 Prompt

模版

请设计这个业务的异常处理方案,并给出代码示例。

【业务场景】[场景]
【异常来源】[数据库/第三方接口/参数错误/业务规则冲突]

要求:

  1. 区分业务异常和系统异常
  2. 自定义异常类
  3. ControllerAdvice 统一处理
  4. 返回统一错误码和错误信息
  5. 日志分级清晰

范例

为“调用第三方 PMS 接口”设计异常处理方案。
区分:配置缺失、参数错误、第三方超时、第三方业务失败、未知异常。
请给出 BusinessException、错误码枚举、全局异常处理器示例。


12. 日志埋点 Prompt

模版

请帮我为以下业务流程设计日志方案并补充代码。

【业务流程】[流程说明]

要求:

  1. 入口日志
  2. 关键节点日志
  3. 外部请求/响应日志
  4. 异常日志
  5. 耗时日志
  6. 敏感字段脱敏

范例

请为“查询在住客人信息”增加日志:

  • 接口入参日志
  • 查询酒店配置日志
  • 请求第三方 PMS 的 request/response 日志
  • 返回客人数日志
  • 异常日志
  • 总耗时日志

13. 空指针 / 防御式编程 Prompt

模版

请帮我审查下面的代码,重点解决空指针和边界问题。

【代码】
[粘贴代码]

要求:

  1. 找出所有可能 NPE 的地方
  2. 使用 OptionalCollectionUtils.isEmptyStringUtils.isBlank 等方式优化
  3. 保持代码简洁
  4. 增加必要日志

范例

以下代码可能空指针:

for (Guest guest : orderResp.getGuests()) {
    names.add(guest.getName());
}

请改造成安全写法,并在 guests 为空时记录 warn 日志。


14. 事务处理 Prompt

模版

请帮我分析这个业务是否需要事务,并给出 Spring 事务实现方案。

【业务流程】[流程]

要求:

  1. 标注哪些步骤需要事务
  2. 说明哪些步骤不适合放在同一个事务里
  3. 给出 @Transactional 代码示例
  4. 指出分布式场景下的补偿方案

范例

订单入住流程:更新本地订单状态、写入住记录、调用第三方 PMS 入住接口、发送 MQ 通知。
请分析如何设计事务,避免长事务和第三方接口导致事务失控。


15. 幂等控制 Prompt

模版

请为以下接口设计幂等方案。

【接口】[接口名]
【风险】[重复点击/重复回调/消息重复消费]

要求:

  1. 提供 Redis 幂等方案
  2. 提供数据库唯一索引方案
  3. 说明适用场景
  4. 给出代码示例

范例

为“机器人办理入住”接口设计幂等控制。
用户可能连续点击多次,导致重复入住。
请给出基于 Redis key checkin:{orderNo} 的幂等实现方案。


16. 并发与异步 Prompt

模版

请将以下串行逻辑优化为并发执行。

【当前逻辑】[说明]

要求:

  1. 使用 CompletableFuture
  2. 使用自定义线程池
  3. 设置超时和默认值
  4. 最后汇总结果
  5. 说明线程安全风险

范例

现在接口要依次调用 PMS、支付、会员系统三个服务,耗时太长。
请用 CompletableFuture 改造,超时时间 3 秒,超时后给默认结果,并最终聚合返回。


17. Redis 缓存 Prompt

模版

请为以下业务增加 Redis 缓存设计。

【业务】[业务描述]
【数据特点】[读多写少/强一致/更新频率]

要求:

  1. 设计缓存 key
  2. 设置过期时间
  3. 说明缓存更新策略
  4. 防止缓存穿透/击穿/雪崩
  5. 给出 Java 示例代码

范例

为酒店配置查询增加 Redis 缓存。
key 格式:pms:hotel:config:{hotelCode},TTL 30 分钟。
如果数据库查不到,缓存空值 5 分钟防止穿透。
请给出读取和更新缓存代码。


18. MQ 消息生产与消费 Prompt

模版

请帮我设计一个 MQ 消息处理方案。

【业务场景】[场景]
【消息内容】[内容]

要求:

  1. 定义消息体类
  2. 生产端发送代码
  3. 消费端处理代码
  4. 增加幂等和重试
  5. 异常时记录死信或补偿

范例

在办理入住成功后发送“入住成功通知”消息。
请设计消息体、发送逻辑、消费逻辑,并说明如何防止重复消费。


19. 定时任务 Prompt

模版

请帮我实现一个 Spring Boot 定时任务。

【任务】[任务名]
【频率】[cron]

要求:

  1. 使用 @Scheduled
  2. 防止重复执行
  3. 打印任务开始/结束/耗时日志
  4. 支持失败重试或补偿

范例

每 5 分钟同步一次 PMS 房态数据。
请给出定时任务代码,并说明如何避免多实例部署下重复执行。


20. 批量处理 / 导入导出 Prompt

模版

请帮我实现一个大数据量批处理方案。

【场景】[导出/导入/批量更新]
【数据量】[数量级]

要求:

  1. 避免 OOM
  2. 分页/分批处理
  3. 必要时异步执行
  4. 记录进度日志
  5. 说明失败补偿机制

范例

导出 100 万条入住账单数据到 Excel。
请给出分页查询 + 流式写出的实现方案,并解释如何避免内存溢出。


21. 代码重构 Prompt

模版

请重构以下 Java 代码。

【代码】
[粘贴代码]

要求:

  1. 降低圈复杂度
  2. 提取重复逻辑
  3. 优化命名
  4. 增加注释
  5. 不改变业务行为

范例

请重构这个多层 if-else 的订单处理方法,使用卫语句 + 枚举 + 私有方法拆分,提高可读性。


22. 性能优化 Prompt

模版

请分析以下代码/SQL 的性能问题,并给出优化方案。

【代码或 SQL】
[粘贴内容]

要求:

  1. 找出瓶颈
  2. 从数据库、JVM、网络、缓存、并发几个维度分析
  3. 给出优化后的代码/SQL
  4. 说明优化收益

范例

请分析这个“按订单循环查客人信息”的代码是否存在 N+1 查询问题,并改造成批量查询方案。


23. 单元测试 Prompt

模版

请为以下类编写 JUnit5 + Mockito 单元测试。

【类名】[类名]
【方法】[方法名]

要求:

  1. 正常场景
  2. 异常场景
  3. 边界场景
  4. 使用 @ExtendWith(MockitoExtension.class)
  5. 使用 @Mock@InjectMocks

范例

LvYunPmsServiceImpl.queryRoomLiveGuestInfo 写测试:

  • 正常返回 2 个客人
  • 酒店配置不存在
  • 第三方接口超时
    请给出完整测试代码。

24. 集成测试 Prompt

模版

请为以下接口设计集成测试方案。

【接口】[接口名]

要求:

  1. 使用 Spring Boot Test
  2. 模拟 HTTP 请求
  3. 验证数据库变化
  4. 验证返回内容
  5. 说明如何隔离第三方依赖

范例

为“创建预订单”接口设计集成测试。
验证接口返回成功、数据库插入成功,并模拟第三方 PMS 返回数据。


25. SQL 诊断 Prompt

模版

请分析以下 SQL 是否存在性能风险。

【SQL】
[粘贴 SQL]

要求:

  1. 是否走索引
  2. 是否有全表扫描风险
  3. 动态 SQL 是否合理
  4. 给出优化版本
  5. 说明需要的索引建议

范例

请优化这条 SQL:
select * from pms_hotel_config where del_flag = 0 and hotel_name like '%国际%' order by create_time desc
说明为什么可能慢,并给出改造建议。


26. 代码评审 Prompt

模版

请从代码评审角度审查以下 Java 代码。

【代码】[粘贴代码]

请重点检查:

  1. 命名规范
  2. 空指针风险
  3. 异常处理
  4. 日志规范
  5. 性能问题
  6. 安全风险
  7. 可测试性

范例

请 review 这个 CheckInServiceImpl 方法,指出问题并给出修改建议,按严重级别排序。


27. 线上问题排查 Prompt

模版

我现在遇到线上问题,请你根据日志和代码协助排查。

【报错日志】
[粘贴堆栈]

【相关代码】
[粘贴代码]

要求:

  1. 推断根因
  2. 列出最可能的 3 个原因
  3. 说明如何验证
  4. 给出修复代码建议
  5. 给出防复发建议

范例

报错:
java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because getGuests() is null
请分析原因,给出修复代码,并补充日志和防御性判断。


28. 读取第三方接口文档并快速对接 Prompt

这个是你前面提到“西软 PMS 文档能不能直接读取、快速对接”的核心模板。

模版 A:先让 AI 学文档

你是一名 Java 第三方系统对接专家。
我将提供一份第三方接口文档,请先只做以下事情:

  1. 提取接口地址、认证方式、请求字段、返回字段、错误码
  2. 识别哪些字段是必填
  3. 总结接口调用流程
  4. 输出成结构化表格
  5. 暂时不要写代码

接口文档如下:
[粘贴 PDF 转文本后的内容/Markdown/接口截图文字]

模版 B:文档学习后生成代码

基于刚才已经整理好的第三方接口文档,请继续输出 Java 对接代码。

要求:

  1. 生成请求 DTO、响应 DTO
  2. 生成 HTTP 调用方法
  3. 生成签名工具类
  4. 生成 Converter
  5. 生成 Service 层调用逻辑
  6. 处理错误码映射
  7. 补充单元测试示例

模版 C:按项目风格生成

参考我项目中现有的 [参考 Controller/Service/DTO] 风格,按照相同结构生成“西软 PMS 查询客人信息”的完整代码。
统一使用:

  • Result<T> 返回
  • @Resource 注入
  • slf4j 日志
  • Java 8 语法
  • MyBatis 风格

输入文档如下:
[粘贴文档]

请输出:Controller、Service、DTO、Converter、异常处理建议。


四、给你一套“高效工作”的组合型 Prompt

这类 Prompt 最强,因为不是只让 AI 写一个点,而是一口气完成一条业务链路


组合 Prompt 1:从文档到代码

你是一名资深 Java 对接开发工程师。
请基于以下第三方 PMS 文档,帮我完成“查询在住客人信息”功能。

【第一步】先提取文档中的:接口地址、认证方式、请求字段、返回字段、错误码。
【第二步】再生成以下代码:

  1. 请求 DTO
  2. 响应 DTO
  3. HTTP 调用工具方法
  4. Service 接口和实现
  5. Converter,将第三方对象转为系统内部 CommonLiveGuestInVo
  6. 异常处理和日志方案
  7. 单元测试示例

【项目约束】

  • Spring Boot + MyBatis
  • Java 8
  • 使用 Lombok
  • 返回统一 Result<T>
  • 外部请求失败时抛出 BusinessException

文档内容如下:
[粘贴文档]


组合 Prompt 2:从屎山代码到重构+测试

你是一名 Java 重构专家。
请重构下面这段业务代码,并完成以下工作:

  1. 解释现有问题
  2. 重构代码
  3. 增加空值保护和异常处理
  4. 提取可复用方法
  5. 增加日志
  6. 为重构后的方法编写 JUnit5 单元测试

代码如下:
[粘贴代码]


组合 Prompt 3:从 SQL 到接口

你是一名 Java 全栈后端工程师。
请根据以下需求,输出从数据库到接口的完整实现:

  1. 设计查询 SQL
  2. 生成 Mapper 和 XML
  3. 生成 Service 查询方法
  4. 生成 Controller 接口
  5. 生成响应 DTO
  6. 生成单元测试示例

查询需求如下:
[粘贴需求]


五、再给你 10 条可直接复制的具体范例


范例 1:生成 Controller

请按照 Spring Boot 企业项目规范,生成一个 XiRuanPmsController
基础路径 /xiruan,新增接口 /queryOrderList,POST 请求,入参 XiRuanQueryOrderReq,返回 Result<List<XiRuanOrderResp>>
使用 @Api@ApiOperation@Valid@RequestBody,代码风格简洁规范。


范例 2:生成第三方请求封装

请帮我写一个调用西软 PMS 的 HTTP 方法:

  • URL: /api/order/query
  • 请求方式:POST JSON
  • Header:Content-Type=application/jsonX-Auth-Token
  • 超时时间:5 秒
  • 如果超时,抛 BusinessException("西软接口超时")
  • 打印 request/response 日志
  • 返回解析后的响应对象

范例 3:生成 Converter

请把 XiRuanOrderDetailDTO 转成系统统一对象 PmsCurrentRoomLiveOrderResp
要求:

  • 金额从分转元,使用 BigDecimal
  • 时间字符串转 Date
  • 客人姓名列表合并成逗号分隔字符串
  • 空字段安全处理
  • 使用 Java 8 写法

范例 4:生成 MyBatis XML

请为 PmsHotelTokenMapper.xml 生成一个 updateTokenByHotelId 的动态更新 SQL。
仅更新非 null 字段,自动更新 update_time = NOW(),条件是 hotel_id = #{hotelId}


范例 5:生成单元测试

XiRuanPmsServiceImpl.queryOrderList 写单元测试。
测试 3 个场景:

  1. 正常返回订单列表
  2. 酒店配置不存在
  3. 第三方接口超时
    使用 JUnit5 + Mockito。

范例 6:重构 if-else

请重构这段订单状态处理代码,消除嵌套 if-else,改成卫语句 + 枚举 + 私有方法拆分,不改变业务逻辑。
[粘贴代码]


范例 7:分析线上 NPE

请分析以下空指针异常:
java.lang.NullPointerException: getGuestList() is null
结合以下代码说明根因、触发场景、修复方案,并给出防御性代码。
[粘贴代码]


范例 8:设计幂等

请为“办理入住”接口设计幂等方案。
可能出现重复点击或重复回调。
请提供 Redis + 唯一索引 双重保障方案,并给出 Java 示例代码。


范例 9:设计缓存

请为“查询酒店配置”增加缓存设计。
key:pms:config:{hotelCode}
TTL:30 分钟
数据库查不到时缓存空值 5 分钟。
请给出 Spring Boot + RedisTemplate 示例代码。


范例 10:读取接口文档快速对接

你是一名 Java 第三方系统对接专家。
请先阅读下面的西软 PMS 文档内容,提取:请求地址、Header、签名算法、必填字段、返回码。
然后基于这些信息生成 Java 请求 DTO、响应 DTO、签名工具类、HTTP 调用代码和 Service 实现。
代码要求使用 Java 8、Spring Boot、Lombok、slf4j。
文档如下:
[粘贴文档]


六、Prompt 继续升级的方法

如果你希望 AI 输出更稳,不要只写“帮我写代码”,要加下面这些约束:

1)加“参考风格”

参考我项目中的 [某个已有类] 的代码风格实现

2)加“技术边界”

只使用 Java 8 语法,不要使用 record、switch expression、var

3)加“异常要求”

所有外部接口调用必须处理超时、空值、错误码

4)加“输出格式”

先输出设计思路,再输出完整代码,最后输出测试示例

5)加“禁止项”

不要省略 import,不要只给伪代码,不要只写核心片段


七、推荐你长期使用的 Prompt 公式

以后你自己写 Prompt,直接套这个公式:

你是谁 + 我项目是什么 + 我要做什么 + 输入材料是什么 + 必须遵守什么规范 + 输出格式是什么

展开版:

你是一名[角色]。
我正在开发[项目类型/技术栈]。
请帮我完成[具体任务]。

已知输入:
1. [接口文档/代码/表结构]
2. [业务规则]
3. [参考类]

必须遵守:
1. [Java版本]
2. [框架规范]
3. [返回结构]
4. [日志/异常/测试要求]

请按以下格式输出:
1. 设计思路
2. 完整代码
3. 风险点
4. 测试示例

八、最实用的最终版母 Prompt

这个你可以直接保存成常用模板。

你是一名资深 Java 后端架构师和企业级业务开发专家,擅长 Spring Boot、MyBatis、MySQL、Redis、MQ、第三方系统对接、性能优化、代码重构、单元测试。

我正在开发一个 Java 企业项目,请你严格基于生产级标准完成任务。

【项目背景】

  • 技术栈:Spring Boot + MyBatis + MySQL + Redis
  • Java 版本:Java 8
  • 编码规范:Lombok、slf4j、统一 Result<T> 返回、@Resource 注入、符合企业级可维护代码风格

【任务】
[在这里写你的任务]

【输入信息】

  • 需求/文档:[粘贴内容]
  • 参考类:[粘贴类名或代码]
  • 表结构/JSON/XML:[粘贴内容]

【强制要求】

  1. 先分析需求和设计思路
  2. 再输出完整代码,不能只给伪代码
  3. 必须考虑参数校验、异常处理、日志记录、空值保护、边界场景
  4. 如果涉及第三方接口,必须考虑超时、错误码、签名、重试或降级
  5. 如果涉及数据库,必须考虑索引、事务、动态 SQL、性能问题
  6. 如果涉及并发,必须考虑幂等、锁、线程池或异步编排
  7. 最后补充单元测试示例

【输出格式】

  1. 实现思路
  2. 完整代码
  3. 关键设计说明
  4. 风险点
  5. 测试示例


写在最后

如果你已经看到这里,说明你大概率真的在做 Java 后端开发,或者正在用 AI 提升编码效率。

这篇内容我会继续迭代,后面还会陆续补上:

  • 更细的 Java 业务 Prompt 模版
  • 第三方接口对接专题
  • 酒店 / PMS 行业 Prompt 合集
  • 线上排障和重构专题

如果觉得有帮助,点赞👍收藏📌关注➕,后续会持续分享NLP和AI工程的实战经验!

欢迎关注我的公众号:[架构源启],一起交流。

后台回复 Prompt,可以领取这篇文章配套资料。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐