最近接手了一个自己并不熟悉的老项目,我发现自己使用 Codex 的方式也开始发生变化。

以前会觉得,既然 Codex 能扫描整个项目,那把需求告诉它,让它一次把功能做完不是更省事吗?

但现在我反而越来越不敢让它一次改太多代码。

一次改太多,自己反而看不懂了

问题不一定是 Codex 写错了。

很多时候功能确实能正常运行,编译也没有问题,但它一次修改的文件和代码太多,我自己又本来就不熟悉这个项目,看diff 的时候很容易出现一种感觉:

这些地方为什么要改?

尤其是老项目,本身就有不少历史逻辑。如果 Codex 一次修改十几个地方,又增加一些新的方法和封装,我很难马上判断哪些改动是完成需求必须的,哪些只是它自己认为应该顺手处理的。

最后看起来 AI 很快把需求做完了,但我还得重新花时间理解它到底做了什么。

AI 改得快,不代表一次改得越多越好

用 Codex 时,如果它一次改得太快、太多,我就有点跟不上。

如果一次只改一个比较明确的范围,我还能认真检查这次修改,确认业务逻辑没有问题,再继续下一步。

但如果一个需求直接让它从头做到尾,等它一次生成大量修改以后,审查成本也会跟着上升。

尤其是在自己不熟悉的项目里,这种感觉更加明显。

因为我连原来的业务都还没有完全搞清楚,如果再让 AI 一次改变太多东西,最后可能出现功能已经完成了,但我自己却说不清整个修改过程。

我现在更愿意把任务拆小一点

所以现在遇到这种项目,我更倾向于先让 Codex 找到业务入口和调用关系,自己先看一遍。

确认大致流程以后,再让它修改一个相对明确的范围。

改完以后先看 diff,确认这一步我能理解,再继续后面的修改。

这样可能没有“一句话让 AI 完成整个需求”看起来那么爽,但至少整个修改过程还在自己的掌控范围内。

我更在意自己能不能掌控这次修改

如果是自己非常熟悉的项目,或者任务边界本身就很清楚,让它一次完成更多工作当然可以提高效率。

但对于刚接手、自己都还没完全理解的老项目,我现在会更谨慎一些。

功能做出来以后,我还得知道它改了哪些地方、为什么要这样改。

如果这些都说不清,我就得回头重新看代码,前面省下来的时间也就花回去了。