好久没写文章了。心里想写,却总觉得缺点由头。直到最近经历了几件事,彻底碘伏了我对 AI 编程的认知,骨鲠在喉,不吐不快。
想聊聊那个被很多人忽略的真相:AI 确实拉低了"写代码"的门槛,但它并没有降低"软件开发"的复杂度。
售前朋友给我的惊喜
曾经开源过一个项目——platform-sms。这是一个基于 SpringBoot 开发的信息网关服务,提供客户端 SDK,支持阿里云、腾讯云、亿美、合一等主流信息渠道,非常适合中小型公司。

这个项目最核心的设计亮点,在于参考了阿里知名开源项目 Canal 后,精心设计的一套适配器 SPI 机制。很多技术朋友看到这种实现方式,都评价说设计得挺巧妙。

令我始料未及的是,一位做售前岗位的朋友对这个项目产生了浓厚的兴趣。他想给项目新增一个适配器,用来对接其他第三方的信息渠道。
想法很好,但现实很骨感——他的 Ja va 基础极其薄弱。之前沟通过很多次,也尝试过手把手教他,但受限于时间,进展相对较慢。
直到有一天,随口提了一句:"要不,你试试用 Claude Code?"
当场给他演示了一遍使用习惯,朋友还真听进去了。
结果几天后,他给了我一个巨大的惊喜:他竟然真的靠着 Claude Code 配合 DeepSeek,把那个适配器给硬生生开发出来了!

讲真,这完全出乎意料。看着他微信里发来的消息,字里行间都洋溢着跨界成功的兴奋与成就感。
那一刻,真切地感受到了时代的洪流:AI 彻底撕碎了"写代码"的门槛,它让原本相对处于技术外围的产品经理、售前人员,一夜之间拥有了将想法变成代码的能力。
SimpleDateFormat 引起的事故
AI 编程确实让人惊喜,但背后也隐藏着风险。讲讲身边的真实案例。
几个月前,一位做外包的朋友向我咨询问题。他正在用 AI 辅助重构一个历史系统的报表模块,上线没几天就遭遇了偶发性的账期数据错乱事故。
排查了一圈,最后发现核心问题竟然出在一段简单的代码里——多线程并发的环境下,定义并复用了一个全局的 SimpleDateFormat。
熟悉 Ja va 的人都知道,SimpleDateFormat 是线程不安全的。在并发场景下,内部的 Calendar 状态会被多个线程同时修改,导致格式化出来的时间错乱,甚至直接抛出异常。
觉得奇怪,问他为什么不用 Apache 的日期工具类,而非得定义一个全局变量。他回答说:"这是 AI 帮我写的,我看它写得又快又工整,注释也全,就直接放进去了……"
这件事勾起了回忆。2024 年,曾帮助西南一家航空公司优化用户中心系统,当时系统分库分表经常路由失败,排查后发现也是因为共用了一个 SimpleDateFormat。排查了很久,打印了不少 DEBUG 日志,才找到这个隐藏的 BUG。
因此,对 SimpleDateFormat 有着天然的敏感度。但就在前几天,当准备为项目中的双向认证模式写一个示例时,通过 Claude Code GLM(MINIMAX)编写代码,赫然发现 SimpleDateFormat 又被定义成了静态变量——在多线程场景下,依然存在 BUG。
那么,我们能相信 AI 编写的代码吗?
不能完全相信。
依然需要做大量的测试、大量的 Code Review,以及适度的微重构。
下图是编写一个翻译软件的 RUST 项目:

AI 编写的代码经常会随性而至,虽然能实现功能,但可读性以及可维护性值得商榷,当然可能也和个人的使用习惯有关系,需要经常进行微重构,将模块组件化,才有可能将系统的可维护性维持在一个相对较高的水平。
软件工程的复杂度并没有消失
经历了这两件事,更加确信那个结论:AI 降低了"写代码"的门槛,但是没有降低"软件开发"的复杂度。
对于非专业或初级开发者:
AI 给了他们一辆跑车,让他们能迅速在直道上飙车(比如快速实现一个独立的适配器);但如果没有驾照(基础知识),到了复杂的弯道(多线程、高并发、高可用),翻车只是时间问题。
对于资深开发者:
价值不再是"打字员",而是"架构师"与"守门员"。需要用更高的眼界去指导 AI,用更严苛的标准去 Code Review。
写下这些感想,并非想要否定 AI 编程的巨大价值——恰恰相反,自己就是一个 AI 的重度拥抱者和受益者。
只是觉得,在全民惊叹于 AI "无所不能"的浪潮中,作为真正的技术从业者,更应该保持一份难得的清醒。
除非有一天,真像马斯克所预言的那样:AI 能够跨越所有中间态,直接为人类生成百分之百完美的二进制程序。
可真到了那一天,人类也将彻底失去阅读、审计和 Debug 的能力。当系统再次发生偶发性的系统异常时,面对那串冰冷的、由 0 和 1 构成的终极黑盒,连去哪里打印一条 DEBUG 日志都无从知晓。
那种被未知支配的恐惧,恐怕不是我们想要的未来。
所以,在那个科幻的终点线到来之前,必须承认:工具再锋利,也只是延伸了手臂;而决定工程质量上限与底线的,始终是屏幕后面的那个大脑。
