同样用 Codex、Claude Code,为什么写出来的代码差距这么大?

AI 编程有一个很违反直觉的现象:工具越强大,使用者之间的水平差异反而越突出。
在真正复杂的工程项目中你会意识到,AI 抹平的仅仅是敲键盘的效率,而构建一个高质量软件系统所需要的能力,它并没有帮你补齐。
大家应该都见过类似的场景:让 AI 重构某个模块,它唰唰改了十来个文件,命名统一,架构清晰,第一眼看上去相当专业。
但真正运行起来就出事了——原有逻辑被它"顺手"重写了,几处边界判断消失了,权限校验也被省略了,还额外抽出了一个谁都不敢动的抽象层。
问题就在于,AI 确实完成了工作,而且太过"积极主动"了。
那些真正用得好的人,究竟多做了哪一步?
让 AI 能自己验证自己的工作
我仔细研读了 Claude Code 和 Codex 的官方文档,发现它们反复提到一个朴素至极的理念:让 AI 拥有自我验证的能力。
Anthropic 的表述非常直白——给 AI 提供一个能自我核验的机制。一套测试用例、一个对照基准、一句明确的"完成标准",这就是投入产出比最高的事情。
如果你不给这个,AI 只会产出一个"看着像对的、跑起来有问题"的结果,而你就变成了它唯一的质检员,每个 bug 都得亲自兜底。
所以真正会用的人,不会把一团含混不清的需求直接扔给 AI。他会事先阐明:当前的行为表现是怎样的、预期目标是什么、核心调用链路在哪里、哪些文件可以修改、哪些层级不能碰、做到什么程度算结束。
这听起来像是 prompt 技巧,实际操作起来全是工程基本功——把一个模糊的想法,压缩成一个可执行、可验收的小型任务。
信任与验证的鸿沟

Anthropic 还特别指出了一个陷阱,叫做「信任与验证的鸿沟」:AI 交出来一份看上去很现代化的实现方案,但鉴权逻辑、异常处理、并发控制、数据兼容全都缺失了,偏偏你第一眼还看不出来。最危险的代码,往往就是这副模样。
人掌舵,AI 执行

OpenAI 在介绍 Codex 时用了一个比喻我很认同:人负责掌舵(steering),agent 负责执行(execution),方向盘永远握在人的手里。
AI 可以替你猛踩油门,但它分辨不了前方是坦途还是悬崖。
纠正两次不对就重开
还有一个细节特别务实。
官方建议,如果你已经纠正了 AI 两次它仍然不对,就不要继续硬掰了——清空上下文,重新来一轮。因为此时对话中已经堆满了失败的尝试记录,AI 只会在错误的方向上越跑越远。
你看,这些道理没有任何玄学成分。
善于使用 AI 的人,只不过是踏踏实实地把「判断」这个责任扛在了自己身上:哪些该做、哪些不该动、变更范围如何收敛、完成后用什么来验收。
AI 是一面放大镜

AI 归根结底是一面放大镜。
你给它清晰的问题定义、干净的上下文信息、严格的反馈标准,它就放大你的工程实力;你给它模糊的需求和松散的标准,它同样会毫不客气地,把这些问题一并放大。
所以即便用着同样的 AI 编程工具,代码质量依然会拉开差距。
真正制造差距的,始终是坐在屏幕前做决策的那个人。