AI写代码老翻车?3招+5坑,照着改能落地
开篇:凌晨一点的“AI 自信”
凌晨一点半,你让 AI 改订单状态机。它回得很快,代码挺顺,解释也像那么回事。你复制进项目,编译通过,接口一测,退款单从“退款中”跳到“已退款”,中间少了一段风控校验。再翻 diff,它顺手把你原来的异常处理删了。
第二天,你不敢让它碰核心链路。
这不是工具不行,是用法有问题。很多人对 AI 编程有两个误区:一,把 AI 当搜索框,丢一句“帮我写个支付回调”就等结果;二,把 AI 当外包,生成完不审直接 merge。前者拿不到能落地的代码,后者迟早改坏工程。
下面这些方法,都是在一线项目里踩出来的。你不需要换工具,先把用法改掉。
一、高效实战技巧:3 个能直接照搬的动作
1. 先喂“项目地图”,再让它动手
你让 AI 写代码,它最大的问题是没有你的项目记忆。它不知道你们订单表叫 orders 还是 order_info,不知道状态枚举是 PAYING 还是 PAID,更不知道哪些公共模块不能碰。
操作步骤:
- 在项目根目录建
ai-context.md,写清技术栈、目录树、关键类、表结构、禁改模块、常用命令。 - 提示词按“角色 + 目标 + 约束 + 验收 + 输出格式”写。
- 每次只让它动 1 到 2 个文件,小步提交。
真实案例:支付回调幂等。之前我让 AI 直接写“防止重复回调”,它生成了一段 Redis 锁,但 key 只用 orderId,没带回调流水号。结果同一订单不同回调还是可能重复。后来我把回调入口、订单表、退款流水表、状态枚举、最近一次日志全贴给它


