让 AI 改代码不翻车:三个习惯,一道护栏
周五晚上把 Claude Code 切到 Opus 4.6,让它通读我“太虚幻境”项目的代码。一个小时连翻三次车(对这个项目感兴趣的朋友可以加我私聊)。
复盘下来,核心结论:
AI 改代码最危险的,不是它技术错误,是它说错时那种笃定的语气。
要降低翻车率,三个习惯就够了:
1. 让它走用户流程——不要只让它看代码结构
2. 它说”改 X 为 Y”时,先问”为什么是 Y”——AI 在没有依据时也能给出”听起来合理”的判断
3. 用第二个 AI 做 second opinion——Claude 和 Cursor 的盲点不一样
再加一道护栏:
用第三方 API 中转时,特殊功能(图片 / 工具调用 / 流式)必须端到端单独测。
下面是每个习惯对应的真实场景和教训。
习惯一:让 AI 走用户流程,不要只让它看代码结构

核心论点:AI 检查代码时,会本能地偏向”看代码结构”——命名、重复代码、SQL 注入、安全漏洞。这些它都很擅长。但真正会让产品翻车的 bug,往往不在某一行代码错了,而在两个接口之间的”水管”接错了。这种问题 AI 看不出来,除非明确让它走一遍用户流程。
实际场景:Claude 第一次 review,挑出来的都是命名不统一、两个 LLM 类重复、路径遍历漏洞——它从代码结构能看到的问题,一气呵成全修了。
但图片识别 bug 它没看出来。事后排查,问题在两个接口的数据流断了:上传图 → /upload 解析进向量库 → 接着发文字”这是什么意思” → /chat 只收到文字,没把刚解析的图片摘要带过去。任何一个接口单看代码都干净得很,问题只在它们之间。
让 Claude 复盘,它的原话:
“我检查代码时偏重静态结构,没有沿着用户操作流走完整链路。”
给以后的我:让 AI review 代码时,prompt 里不能只说”检查代码”——要明确加一句”沿着用户的实际操作流程走一遍,看每一步的数据是否都完整传到了下一步”。这一句话能多 catch 一半的隐藏 bug。
习惯二:它说”改 X 为 Y”时,先问”为什么是 Y”

核心论点:AI 改代码最危险的瞬间,不是它写错——是它用一种”听起来很合理”的语气,给出一个没有依据的判断。如果不打断、不质疑,那行错代码就进 git 了,然后某个安静的下午,业务跑炸。
实际场景:定位 bug 时,Claude 瞄见 max_tokens: 204800 这个数字,直接判断”太大了,模型会拒绝”,改成 4096。
我打断:”那个是允许输入的最大值,因为有可能我发送的文件附件非常大。”
真相是:我俩都错了。max_tokens 控制的是模型输出的最大长度(不是输入),但 Claude 的”修改”也错——这个值不是图片识别失败的根因。关键不是谁对谁错,是这一句质疑让一行错代码没进 git。
给以后的我:当 AI 说”我把 X 改成 Y”,必问一句——
为什么是 Y?
习惯三:用第二个 AI 做 second opinion
核心论点:不同 AI 的盲点不一样。Claude 偏静态结构,Cursor 在某些数据流追踪上更细。让两个 AI 互相 review 一段复杂改动,几乎是免费的”质量保险”——10 次里能 catch 到 2-3 次有意义的问题。

实际场景:max_tokens 那个判断有问题被发现,靠的是 Cursor。
把同一段代码丢给 Cursor,它给出了比 Claude 更完整的诊断——指出 /upload 和 /chat 之间的数据流断层,还顺手指出 add_image() 的响应解析不健壮。把这份诊断贴回给 Claude,它一句话:”我应该一眼看出来。”
给以后的我:当 Claude 给出一段复杂修改之后,习惯性地把改动复制到 Cursor,问一句”这个修改有什么风险或遗漏吗?”。
不要把 AI 协作想象成”一个 AI 帮你做事”。它应该是 “两个 AI 互相 check”。
一道护栏:第三方 API 的特殊功能,必须端到端单独测
核心论点:用任何第三方 API 中转服务时,默认假设”特殊 feature 会被静默丢弃”——文本能用 ≠ 图片能用 ≠ 工具调用能用 ≠ 流式响应能用。每多一个 feature,都要写个 5 分钟的脚本端到端测一次。
实际场景:定位真凶花了半小时。Claude 写了一段诊断脚本,直接对裸 API 发一张图片 + 一句话,把请求和响应整个打印出来。
结果是:API 返回 200 OK,模型回复”I don’t see any image”,响应里 image_tokens: 0。图片数据被中转层悄悄扔掉了。整个调用链没有任何错误日志,所有代码看起来都对,只是图片没传到模型那里。
这种 bug 用看代码、看后端日志,永远看不出来。必须绕过自己的代码,直接对裸 API 发一个最小测试请求。
写在最后
所谓 vibe coding,到底是什么?
它不是”AI 代替我写代码”——AI 会犯三种翻车里展现的所有错误。也不是”AI 当我助手”——这个定位太被动,所有判断还是我做。
它更像是”AI 是我的实习生”——能干、有想法,但当它说出某个判断时,必须本能地问一句”为什么”。它说不出来,可能就是错的。
AI 改代码最危险的,不是错误本身,是它说错时的那种笃定的语气。
只需要问一句:
为什么。
关于我
鱼小稳(YUWENER.COM)
· 身份:前互联网产品总监,现快消品数字营销负责人 & 公司销冠
· 服务:一物一码营销底座+AI 销售场景落地+全链路项目交付
· 优势:擅长把”业务痛点”翻译成”系统语言”,主张”深入场景、真实闭环、数据驱动策略”。Taste 是方案的灵魂,闭环是业务的生命。
· 当下:深耕世界 500 强快消客户数字营销项目,狂热的 AI & Vibe Coding 实践者,致力于用 AI 重塑数字营销的生产力边界。
找我:
未来属于那些”决定了自己要什么,并且能清晰描绘出来”的人。如果你也在寻找一个能从底层逻辑拆解业务,并最终落地拿结果的合作伙伴,我们该聊聊:)
夜雨聆风