写代码总踩坑?也许你只是不会向AI提问
你有没有过这样的经历:看到同事用AI工具半小时搞定一个功能,自己折腾了半天,AI给的代码却怎么都不对?明明是同一个AI,怎么差距这么大?
我有个朋友叫阿强,技术扎实,代码写得漂亮。去年公司推AI辅助开发,他也开始用。可三个月后跟我说:这玩意儿没什么用,问什么都答不对。
我看了他和AI的对话记录,哭笑不得。他问的是“帮我写个订单计算方法”,AI给了代码,缺胳膊少腿,他又问“怎么加参数校验”,AI改了,还有问题,继续问……来回折腾了十几轮。
问题不在AI,在于提问方式。阿强把AI当搜索引擎用,搜出来的结果当然不完整。
同一个AI,为什么别人能用得那么顺
你可能也发现了,同样用ChatGPT或Claude,有人用它半小时搞定核心模块,有人折腾三天还在返工。差距不在模型版本,不在付费与否,在于怎么提问。
这里面有个底层逻辑:AI没有读心术。它不知道你在做什么项目,用什么框架,有什么特殊约束。你不给背景信息,它就只能猜,猜错了太正常。
好的提问应该包含四个要素,我把它叫做STAR法则:
- Situation——背景:我在做什么项目,用什么技术栈
- Task——任务:具体要实现什么功能
- Action——约束:必须用什么框架,遵循什么规范
- Result——输出:只要代码?还是要注释?返回什么格式?
听起来有点复杂?别担心,下面有现成的模板可以直接用。
真实案例:同样一个需求,不同问法的天壤之别
假设产品告诉你:“用户下单后30分钟没支付,要自动取消订单并释放库存。”
普通人会问:帮我写个自动取消订单的功能。
结果:AI给你一段代码,不知道用延时队列还是定时任务,不知道订单表要加什么字段,不知道并发超卖怎么处理。
会提问的人会这样问:
作为后端架构师,请帮我分析这个需求,输出一份技术方案大纲:用户下单后30分钟未支付,自动取消订单并释放库存
要求:
1.拆解成用户故事
2.列出涉及的实体和关系
3.给出API端点设计(RESTful风格)
4.指出潜在的技术风险
结果:AI输出了完整方案——用户故事卡片、订单实体设计、延时队列vs定时扫表对比、并发超卖风险分析、库存释放时机建议。这就是差距。
10个拿来就用的提示词模板
场景一:产品丢来一句话需求
直接让AI帮你拆解成技术方案,而不是自己憋。模板如下:
作为后端架构师,请帮我分析这个需求,输出一份技术方案大纲:{需求原文}
要求:
1.拆解成用户故事
2.列出涉及的实体和关系
3.给出API端点设计(RESTful风格)
4.指出潜在的技术风险
场景二:写单元测试太烦
有多少人讨厌写单测?让AI帮你批量生成。
为以下Java方法生成JUnit 5单元测试:{粘贴方法代码}
要求:
-覆盖正常场景、异常场景、边界场景
-使用Mockito模拟依赖
-每个测试方法命名清晰(should_xxx_when_xxx)
-断言使用assertEquals,并输出失败信息
场景三:接手老代码看不懂
让人头疼的祖传代码,丢给AI让它帮你翻译成“人话”。
解释下面这段代码的核心逻辑和设计意图:{代码片段}
请用通俗语言说明:
1.输入输出是什么
2.关键步骤(用编号列出)
3.使用了什么设计模式(若有)
4.可能的坑或改进点
场景四:祖传代码想重构不敢动
让AI先做审查,列出所有问题点和改进建议,心里有底了再动手。
请作为资深Java架构师,审查以下代码并给出重构建议:{代码片段}
重点关注:
-违反SOLID原则的地方
-重复代码
-可读性问题
-性能瓶颈
请提供逐条建议,并给出重构后的代码示例。
场景五:线上突然报错
日志一堆不知道从哪里看起,把堆栈信息丢给AI,让它帮你分析根因。
以下是应用抛出的异常堆栈,请分析可能的原因并给出排查思路:{粘贴堆栈}
已知:{补充业务上下文}
请输出:
-最可能的根本原因
-需要检查哪几个类(文件名+行号)
-建议的临时修复和长期方案
场景六:接口响应太慢
怀疑SQL有问题,或者循环里有什么坑?让AI帮你扫描一遍。
以下是一个Spring Boot接口的实现,请帮我分析性能瓶颈:{代码}
请特别关注:
-循环内的数据库查询(N+1)
-可并行化的地方
-缓存使用机会
-大对象/集合的创建
输出优化建议和示例代码。
场景七:设计数据库或优化SQL
写SQL前先问AI,让它帮你规划索引。
需求:{描述查询需求}表结构:
{CREATETABLE语句}
请:
1.写出符合需求的SQL
2.解释执行计划是否用到了索引
3.推荐创建哪些索引(B-tree/Hash/复合)
4.给出分页优化建议(若需要)
场景八:想让代码方便以后AI也能读
生成Markdown文档,方便自己和以后的AI理解项目。
根据以下需求/代码,生成一份Markdown格式的技术知识文档:{内容}
请包含:
-标题和简短介绍
-关键术语表
-流程图或时序图(Mermaid格式)
-示例请求和响应(若API)
-常见问题与避坑
场景九:设计方案想让别人review
找AI当“第三只眼”,帮你发现架构漏洞。
你是一位资深的系统架构师。请评审以下设计文档:{文档或描述}
从以下角度提出问题:
-可扩展性(未来新增需求会破坏现有设计吗?)
-高可用(单点故障?降级方案?)
-数据一致性(是否有并发写冲突?)
-运维复杂度(部署、监控、扩容)
输出:至少3个疑问点和改进建议。
场景十:想把其他语言代码转成Java
找到好的Python示例,想转成Java?让AI来翻译。
将以下{语言}代码转换成Java代码:{代码}
要求:
-使用Java17+特性(var、record、switch表达式等)
-保留原逻辑和变量命名风格
-补充必要的异常处理
-输出完整类定义
几个让AI更懂你的小技巧
给示例比描述更有效。想让AI输出特定格式的JSON,直接给一个例子,它会照着模仿。
用分隔符隔离代码。用“—我是代码—”这样的标记把代码和指令分开,AI识别更准确。
一次只问一件事。复合问题分开问,每一步的产出质量更稳定。
先让AI列出假设。让它先说明自己基于什么假设再写代码,可以减少瞎编的情况。
写在最后
AI编程时代,会提问比会写代码更稀缺。这不是危言耸听,是正在发生的事情。
阿强后来按照这套方法调整了提问方式,上个月跟我说,AI现在成了他最靠谱的帮手,每天至少帮他省两小时重复劳动。
你也可以。把这10个模板收藏起来,下次遇到具体任务直接套用,试试看效果。



