AI编程提示词工程:STAR法则与十大实战模板深度解析
2024年初,我接手一个电商订单系统重构项目。团队里有个年轻同事每天加班到十点,而他用的AI工具和别人并无差别。问题出在哪里?提示词。
同样的Claude或ChatGPT,有人用它半小时搞定核心模块,有人折腾三天还在返工。差距不在模型版本,而在提问方式。
为什么你的提示词总“差点意思”
多数人习惯这样的问法:
写一个计算订单金额的Java方法AI会返回一段代码。但大概率是:用double做精度计算、没有参数校验、异常处理缺失。这不是AI不行,是它不知道你的代码风格和业务边界。
优秀的提示词遵循STAR原则:
- Situation——背景:项目类型、技术栈、约束条件
- Task——任务:具体要实现什么功能
- Action——约束:用什么框架、遵循什么规范
- Result——输出格式:只要代码?还是要注释?返回JSON还是Markdown?
这个框架我验证了三年,覆盖需求分析、代码生成、重构优化、测试编写、文档输出、性能调优、异常排查全流程。
十大实战模板精讲
1.需求澄清:从模糊需求到落地文档
适用场景:产品丢来一句话需求,需要转成技术方案。
作为后端架构师,请帮我分析这个需求,输出一份技术方案大纲:{需求原文}
要求:
1.拆解成用户故事
2.列出涉及的实体和关系
3.给出API端点设计(RESTful风格)
4.指出潜在的技术风险
实战案例:输入“用户下单后30分钟未支付,自动取消订单并释放库存”。AI输出包含:用户故事拆解→订单实体增加status和expire_time字段→延时队列与定时扫表方案对比→并发超卖风险分析。
2.单测生成:覆盖正常/异常/边界
适用场景:单元测试费时费力,让AI按最佳实践批量生成。
为以下Java方法生成JUnit 5单元测试:{粘贴方法代码}
要求:
-覆盖正常场景、异常场景、边界场景
-使用Mockito模拟依赖
-每个测试方法命名清晰(should_xxx_when_xxx)
-断言使用assertEquals,并输出失败信息
3.代码解释:快速理解复杂逻辑
适用场景:接手遗留代码,或分析开源项目某个方法。
解释下面这段代码的核心逻辑和设计意图:{代码片段}
请用通俗语言说明:
1.输入输出是什么
2.关键步骤(用编号列出)
3.使用了什么设计模式(若有)
4.可能的坑或改进点
4.重构建议:提升代码质量
适用场景:祖传代码看着难受,又不敢乱动。
请作为资深Java架构师,审查以下代码并给出重构建议:{代码片段}
重点关注:
-违反SOLID原则的地方
-重复代码
-可读性问题
-性能瓶颈
请提供逐条建议,并给出重构后的代码示例。
5.异常排查:根据堆栈定位问题
适用场景:线上报错,日志一堆,不知道哪里下手。
以下是应用抛出的异常堆栈,请分析可能的原因并给出排查思路:{粘贴堆栈}
已知:{补充业务上下文}
请输出:
-最可能的根本原因
-需要检查哪几个类(文件名+行号)
-建议的临时修复和长期方案
6.性能优化:分析慢接口
适用场景:接口响应慢,怀疑SQL或算法有问题。
以下是一个Spring Boot接口的实现,请帮我分析性能瓶颈:{代码}
请特别关注:
-循环内的数据库查询(N+1)
-可并行化的地方
-缓存使用机会
-大对象/集合的创建
输出优化建议和示例代码。
7.SQL与索引建议
适用场景:设计表结构或优化慢SQL。
需求:{描述查询需求}表结构:
{CREATETABLE语句}
请:
1.写出符合需求的SQL
2.解释执行计划是否用到了索引
3.推荐创建哪些索引(B-tree/Hash/复合)
4.给出分页优化建议(若需要)
8.结构化知识文档(RAG友好)
适用场景:生成Markdown格式的接口文档,方便后续AI检索。
根据以下需求/代码,生成一份Markdown格式的技术知识文档:{内容}
请包含:
-标题和简短介绍
-关键术语表
-流程图或时序图(Mermaid格式)
-示例请求和响应(若API)
-常见问题与避坑
9.设计评审:找架构漏洞
适用场景:设计方案想让AI扮演技术评审角色。
你是一位资深的系统架构师。请评审以下设计文档:{文档或描述}
从以下角度提出问题:
-可扩展性(未来新增需求会破坏现有设计吗?)
-高可用(单点故障?降级方案?)
-数据一致性(是否有并发写冲突?)
-运维复杂度(部署、监控、扩容)
输出:至少3个疑问点和改进建议。
10.跨语言翻译:Python转Java
适用场景:找到优秀Python示例,想转成Java实现。
将以下{语言}代码转换成Java代码:{代码}
要求:
-使用Java17+特性(var、record、switch表达式等)
-保留原逻辑和变量命名风格
-补充必要的异常处理
-输出完整类定义
核心使用技巧
给示例胜过给描述。想输出特定格式JSON,直接给样例最有效。
用分隔符隔离上下文。例如用“—我是代码—”标记代码块,避免跟指令混在一起。
一次只问一件事。复合问题分开问,产出质量和速度更稳。
把纠错成本前移。先让AI列出假设再写代码,有效降低幻觉风险。
总结
AI编程时代,“会提问”比“会写代码”更稀缺。这10个模板覆盖日常工作核心场景,建议收藏直接套用。AI不是魔法,它是你用得越顺手越强的工具。把提示词打磨好,把时间花在更有价值的架构设计上。
