《在习惯 AI 编程之后反思什么是真正的技术能力》 最近用 AI 写了不少 Rust 代码。说实话,它写得挺快,语法正确,逻辑清晰,甚至能指出我的一些低级错误。 但每次要把这些代码提交到生产库时,我还是会犹豫——不是不信任 AI,而是突然意识到,它并不真的"懂"这些代码。 AI 写的是代码,不是解决方案 让 AI 写个搜索算法?没问题。让它实现一个 REST API ?也行。但当你问它:"这个服务挂了会影响多少用户?"或者"这个改动会不会让明天的数据迁移失败?"它就沉默了。 AI 看到的是代码模式——它知道 unwrap() 在Rust里可能panic,知道该用 Result 处理错误。 但它不知道这个服务是公司营收的关键路径,不知道这个数据库连接池的配置是经过多少次生产事故才调优出来的。 这就是问题所在:代码只是冰山一角,水下的才是真正的技术工作。 调 Bug 时你就知道差距了 前几天遇到一个诡异的内存泄漏。AI 看了代码说:"看起来没问题。"确实,从代码层面看,所有该释放的都释放了。 但问题不在代码里。是某个第三方库会保持连接不释放。这种问题,你得翻 issue,看源码,甚至用 strace 跟踪系统调用才能发现。 调试不是读代码,是侦探工作。你得有直觉——"这个地方感觉不对劲",得有经验——"上次类似的问题是因为...",还得有耐心 —— 一行行打日志,一步步缩小范围。 AI 没有这种"第六感",也不会因为被 bug 折磨三天而记住这个坑。 写代码是最简单的部分 真正难的是什么? 是听产品经理说了半小时需求后,意识到他真正想要的和他说的完全是两回事。 是在架构评审时,预见到三个月后这个"小功能"会变成性能瓶颈。 是在凌晨三点收到报警时,能在五分钟内定位问题并回滚,而不是改代码。 是知道什么时候该重构,什么时候该将就——因为下个季度要大改,现在重构就是浪费。 技术能力不是会写多少种排序算法,而是知道什么时候根本不需要排序。 责任感是AI学不会的 当你的代码影响到真实用户时,那种责任感是 AI 永远体会不到的。 半夜被叫起来修生产 bug,看着监控上飙升的错误率,你会真切地感受到——每一行代码都有重量。这种重量会让你在写下一行代码时更谨慎,会让你主动去思考边界情况,会让你在 code review 时多问一句:"这样真的没问题吗?" AI 可以生成完美的 try-catch,它不会因为忘记处理异常而被骂,但也不会因为系统稳定运行而有成就感。 所以,技术能力到底是什么? 是判断力——知道什么重要,什么不重要。 是洞察力——能看到代码背后的业务逻辑和系统脉络。 是创造力——不是创造新算法,而是在约束中找到最优解。 是同理心——理解用户的痛点,理解同事的难处,理解系统的局限。 最重要的,是担当 —— 敢说"这是我写的",无论是跑得很稳的服务,还是半夜崩溃的 bug。 AI 是个好工具,它让我们从重复劳动中解放出来。但当我们不再需要记住语法细节时,反而更需要思考:我们为什么要写这段代码?它解决了什么真正的问题? 技术的本质从来不是代码本身,而是用代码改变世界的能力——哪怕只是让某个用户的体验好了那么一点点。 这才是 AI 暂时还学不会,而我们真正该专注的东西。