AI 接管开发部的第 87 天,只有一个老 Java 还在看堆栈
真正危险的不是 AI 写得太快,而是团队越来越习惯把判断力一层层外包掉。
我不是反 AI。
但那次线上故障之后,我越来越确定一件事:未来先被淘汰的,未必是程序员,而是那些已经习惯把判断力一层层外包掉的人。
部门全面接入 AI 编码平台的第 87 天,线上出了一次故障。
事情发生在晚上 9 点多。群里先是有人贴了一张监控图,说订单服务 RT 从 200 毫秒飙到了 8 秒。五分钟后,报警电话开始连着响,网关超时、库存回滚失败、补偿任务堆积,像一串被点着的鞭炮。
第一个反应过来的,不是打开日志,而是打开 AI 对话框。
“把错误贴给模型看看。”
“问问它是不是数据库索引失效了。”
“顺便让它给个热修方案。”
这场面一点都不夸张。现在很多开发团队出问题时,第一反应已经不是自己排查,而是先问模型怎么想。大家不是不聪明,只是这种路径越来越省力。你描述问题,AI 给你猜测;你继续补充上下文,AI 再给你一版更像答案的答案。久了以后,人会误以为自己也在解决问题。
那天会议室里十几个人围着一块大屏,屏幕左边是监控曲线,右边是 AI 回答。有人开始复制建议,有人开始比对生成的 SQL,有人甚至已经在问“要不要先按这个回滚”。
真正去看堆栈的人,只有一个。
他四十来岁,工位最里面,平时话不多,去年从一家大厂出来,现在在这边做外包架构支持。组里年轻同事背后都叫他老 Java。不是因为他真的老,而是因为他还保留着一些这个时代看起来有点笨的习惯。
线上故障时,他先拉线程栈。
看完线程栈,他去翻最近一次上线记录。
再往下,他开始顺着调用链看异步任务和重试逻辑。
二十分钟后,他说了一句很不合群的话:
“别再问模型了,先把重试停掉。不是数据库先出的问题,是你们新加的 AI 生成补偿逻辑把线程池打满了。”
会议室安静了几秒。
有人不太服,问他怎么确定。
他说,订单服务里新上的那段补偿代码,把下游超时当成了可重试异常。AI 生成时顺手给你补了一层异步封装,又在外面套了一层默认重试。白天压测没出事,是因为压测只看了平均响应,没把异常流量和连接池争抢一起打进来。晚上活动流量一上来,线程池先被补偿任务占满,主请求拿不到执行资源,RT 就开始雪崩。数据库报错只是结果,不是起点。
说完这段,他把线程栈里那几行阻塞点贴到了群里。
这时候大家才发现,刚才 AI 给出的几个判断里,有两个方向完全跑偏了。它建议先查慢 SQL,建议扩大连接池,甚至建议临时增加实例。每条建议单看都像那么回事,但它没有真正理解你们这套系统此刻是怎么一起出问题的。
最后的处理办法也不复杂:
先停补偿重试。
再把异步线程池参数回退。
最后把那段默认生成的异常分类逻辑改掉。
半小时后,曲线慢慢下来了。
群里有人发了句玩笑:“这年头居然还有人真看堆栈。”
还有人接:“老东西还是有点用。”
会议室里跟着笑了两声,这事就算过去了。
但我那天一直记得那个画面。
一边是所有人围着 AI 找答案,一边是一个老 Java 坐在角落里翻线程栈。那一刻我突然意识到,AI 改变开发这件事,最危险的地方不在于它写得太快,而在于它太容易让人产生一种错觉:
你以为自己还掌握着系统,其实你只是越来越熟练地调用别人替你思考。
也是从那天起,我更确定自己想写这个系列。
我也是做了 10 年 Java 后端的人,经历过大厂裁员,现在在国企直管外包环境里继续干活。说实话,过去一年我对 AI 的情绪一直很复杂。
一方面我知道它很强,写 demo、搭接口、补脚手架、扫文档,效率确实比以前高太多了。很多以前要查半天资料、来回试错的事,现在一句提示词就能起步。
但另一方面,我也越来越频繁地感觉到一种不安。
不是怕 AI 把所有程序员都替代掉。
而是怕我们自己先把能力交出去,交到最后,连“问题到底出在哪”都不再愿意亲自确认。
这不是技术悲观主义。我不反 AI,我甚至觉得,未来不会用 AI 的程序员只会更被动。但问题是,如果一个团队最后只剩下“会描述需求的人”,却越来越少“能读懂系统、能定位故障、能在关键时刻兜底的人”,那这个团队的生产力看起来提升了,真实的脆弱性却也在同步上升。
很多能力,平时看起来笨,出了事才知道它值钱。
比如看日志。
比如读堆栈。
比如顺着调用链判断谁是因、谁是果。
比如知道线程池、连接池、重试、超时和补偿机制是怎么互相放大故障的。
这些东西平时不像一个漂亮的 AI Demo 那么容易发朋友圈,也不像一篇热点分析那样容易带来即时反馈,但它们决定了你到底是在“使用系统”,还是在“理解系统”。
我越来越觉得,未来先被淘汰的,未必是程序员。
更可能是那些已经习惯把判断力一层层外包掉的人。
因为 AI 可以替你生成代码,可以替你整理方案,可以替你给出看起来很合理的解释,但它替代不了你对具体业务、具体链路、具体故障现场的责任。真正要背锅、要救火、要判断该不该上线、该不该回滚的人,最后还是人。
而一个还保留底层理解能力的人,在未来不会变得没用,只会变得更稀缺。
这也是我想开始写这个系列的原因。
我不想再只是追着 AI 热点跑,也不想把公众号写成一个谁都能替代的资讯搬运号。我更想认真记录一件事:一个 10 年 Java 后端,在经历裁员、外包、技术变迁之后,怎么在 AI 时代重新找自己的位置。
这个位置可能是 AI 应用开发,可能是独立开发,可能是一人公司,也可能只是先把自己从“被动等着被定义的人”重新拉回到主动一点的位置。
我还没成功,所以这里不会有什么成功学。
但我会把我看到的变化、踩过的坑、做过的判断和那些不太体面的焦虑都写下来。
如果你也在经历类似的事,如果你也做了很多年后端,如果你也被裁过、降过薪、待过外包、想过转 AI、又不想把自己彻底活成一个只会追风口的人,那你大概率能看懂这个系列。
这是 古法程序员生存录 的第一篇。
后面我会继续写:
- 被大厂裁掉后,为什么去了国企外包,反而更焦虑了
- AI 时代真正危险的,不是不会写代码,而是不会思考
- 当所有人都开始依赖提示词,老程序员到底还剩下什么价值