大家好,我是 Immerse
专注分享 AI 玩法、独立开发与AI 出海的 AGI 实践者
用 AI agent 写代码这个事,让人不安的,不是它写得太快,而是你开始没那么确定自己到底懂不懂这个系统了。
你让 agent 修一个 bug,它改完了,测试过了,diff 看着也顺。
你点了通过,心里还是会有点虚:这段为什么能这么改?它有没有顺手碰到别的边界?下次类似的问题再来一次,你还能不能自己判断?
我最近越来越觉得,AI agent 时代,程序员最值钱的东西不是“写代码的速度”,而是你脑子里那套对系统的理解。
Peter Naur 在 1985 年那篇 Programming as Theory Building 里讲过一个很重要的点:软件开发真正沉淀下来的,不只是代码,还有人对系统的内部模型。数据怎么流,哪些约束不能动,哪些脏东西虽然丑但现在还不能拆,这些东西才决定你改一段代码的时候,到底是在修问题,还是在埋问题。
接手一个新模块的时候,最花时间的往往不是敲代码,而是把它在脑子里跑通。
为什么这里要加锁,为什么这个字段不能删,为什么这段逻辑已经很难看了还是没人敢碰。你把这些关系理顺以后,后面的改动才会开始变快。快不是因为你打字更快了,是因为你知道哪里能动,哪里不能动。
所以团队里那个“最懂这块的人”,本质上不是写代码最快的人,而是系统模型最完整的人。
AI agent 确实很强。扫代码、补测试、改样板、试几种修法、跑一轮基础验证,这些它都能很快给你结果。
问题是,它省掉的是“写”,不是“判断”。
现在很多人的工作流已经慢慢变成这样了:先把任务丢给 agent,等它吐一版结果,再快速过一遍,看能不能收。
这表面上像是开发提速,实际上是程序员的工作重心往前挪了。你越来越不像那个亲手把每一行代码敲出来的人,越来越像那个负责判断“这段东西能不能进系统”的人。
这时候,真正拉开差距的就不是谁用工具更熟,而是谁对系统更清楚。
如果你自己对系统理解得不够深,review agent 的输出内容时就很容易退化成一种模糊判断:看起来像对的,测试也过了,先合进去再说。
可很多问题从来都不是“代码能不能跑”,而是“这段改动是不是符合系统原本的约束”。这个东西看不出来,agent 越强,你越危险。
agent 写错代码太正常了。猜偏逻辑、漏掉边界、修了一个点又碰坏另一个点,这些都不奇怪。
更危险的是,你开始慢慢失去判断这些错误的能力。
现在常见的几个信号,感觉自己也这样了:
这些状态不是不能接受,它在说明一件事:你对系统的理解在变薄。
以前你自己从头写一个功能,很多判断是躲不掉的。数据怎么走,状态放哪,失败怎么兜底,历史逻辑要兼容到什么程度,你都得自己过一遍。
现在 agent 把大段实现都铺好了,你很容易直接跳到验收那一步。时间久了,你会越来越熟练地验收结果,越来越不熟练地建立理解。
你得把系统模型建清楚。
不是停留在“这个接口返回什么”,而是知道哪些约束是业务决定的,哪些是历史包袱,哪些地方以后还会继续变,哪些地方最好别让 agent 随便碰。谁脑子里这套图更清楚,谁就更能用好 agent。
你也得把上下文和边界交代准确。
很多人以为差距在 prompt 写得花不花。真不是。真正拉开差距的,往往是你有没有把任务讲对。哪些文件能改,哪些行为不能变,验收标准是什么,哪里是历史坑,哪里只是表面脏但不能动。你给得越清楚,agent 越容易干出像样的活。
还有一件很关键的事,是审代码的时候看“方向”,不是只看“结果”。
以后 review 最关键的问题会越来越像这样:这段改动有没有绕开系统原本的边界,它修的是根因还是表象,它现在能跑,换个真实场景会不会漏,它会不会让未来继续迭代这块代码变得更贵。这类判断,agent 暂时还替不了你。
人写代码最强的一点,不是这次能不能把问题解决掉,而是你会留下理解。
一个模块你维护半年以后,你会知道哪些地方以前踩过坑,哪个边界条件是事故换来的,哪段奇怪逻辑背后其实有业务原因。这个理解会沉在你脑子里,下次再遇到类似问题,你的判断会快很多。
现在的 agent 不是这样。它当然能在一次任务里表现得像“懂了”,但这种理解很难稳定留下来。很多时候你这周刚解释过一次,下次换个对话,它还是可能再犯一遍。不是它故意犯蠢,是它的工作方式本来就更偏向“这次先把眼前的问题做完”。
所以 AI agent 越普及,越能看出来谁脑子里真的有东西。
一句话:维护、验证、传递对系统的理解。
代码当然还重要,但越来越多代码会变成一种中间产物。
真正稀缺的,是谁能看着 agent 产出的东西,快速判断它对不对,哪里不对,为什么不对,应该往哪个方向修。
你越懂系统,agent 对你越有用。
你越不懂系统,agent 越容易给你一种错觉:自己好像也在高速前进,其实只是更快地产出自己没完全理解的东西。
AGENTS.md、CLAUDE.mdAI agent 不是把程序员变得没价值了,它只是把值钱的地方照得更清楚了。