系列导读:这是「AI 编程进化论」系列的第五篇,也是第一 part 的收官之作。前四篇我们聊了思维转变、工具选型、方法习惯和团队落地,写到这里,我越来越想把问题收回来:
知道 AI 能做什么很重要,但知道什么不该交给 AI,更重要。
一、真正的问题,已经不是“AI 能不能写代码”
第一篇我们聊 Vibe Coding,讲的是一种很强烈的感受:
当编程不再总靠“痛苦思考”,很多实现开始变得前所未有地快。
这当然是进步。
但写到这个系列的最后,我越来越觉得,真正重要的问题已经不是:
AI 能不能写代码?
而是:
什么事情,不能放心交给 AI?
因为“能写出来”和“能交付负责”,从来都不是一回事。
“能生成”也不等于“能理解”。
如果这个边界想不清楚,AI 越强,团队反而越容易翻车。
二、AI 的边界,不在“写不写得出”,而在“接不接得住”
今天的 AI,写个 CRUD、补测试、改组件、顺手写文档,已经不稀奇了。
真正的问题不在于它“能不能写”,而在于它能不能接住代码背后的东西。
我觉得至少有四样东西,是当前 AI 天然接不稳的。
1. 它能实现逻辑,但不能为设计决策负责
AI 可以把代码写出来,但它并不真正理解:
为什么是这个方案,而不是另一个方案。
你让它写一个密码校验函数,它能写。
但如果再追问:
为什么长度是 8,不是 6 或 12? 这套规则符合什么安全要求? 这个设计在真实用户场景里会不会太烦?
它能回答,但很多时候只是“像答案”,不是真正经过权衡后的判断。
所以 AI 可以实现逻辑,
但不能替你对设计决策负责。
2. 上下文窗口再大,也不是真正的记忆
很多人会被“长上下文”迷惑,以为窗口够大,就等于模型真的记住了整个项目。
其实不是。
现实里很常见的情况是:
前面说好的约定,后面忘了 早期设计思路,后面偏了 对话一长,模型开始自相矛盾 一旦换会话,很多东西又得重新解释
所以不要指望 AI 真正替你承担长期连续的项目记忆。
主动管理上下文,仍然是人的责任。
3. 它擅长局部优化,但不擅长系统级权衡
AI 很会解决局部问题。
比如你让它优化一个 API,它会建议你加缓存、改查询、换数据结构。
这些建议本身可能没错。
但系统真正难的地方,从来都不只是局部最优,而是全局权衡:
加缓存会不会带来一致性问题? 局部更快了,整体是不是更难维护? 这件事值不值得为了 10% 性能增加 50% 成本?
这类问题,不只是技术问题,而是技术、业务、组织、成本一起缠在里面的问题。
而这,恰恰是当前 AI 很难真正接住的部分。
4. 它可以产出结果,但不能承担责任
这是最核心的一条。
AI 可以写代码,但它不能:
在凌晨 3 点响应线上故障 替你做 go / no-go 决策 为安全事故承担责任 向老板解释为什么系统挂了
说到底,工程不只是“把代码写出来”。
工程还包括风险判断、上线责任、安全兜底和长期维护。
这些东西,AI 一个都接不走。
所以真正的边界,不是 AI 能不能写,
而是:它能不能对后果负责。
答案很明确:不能。
三、什么不该交给 AI?
如果把上面的边界再落地一点,我会把“AI 禁区”分成三类。
第一类:不能放手交给 AI 的
这些事情不是不能让 AI 参与,
而是不能把主导权交出去。
1. 涉及金钱的核心逻辑
比如支付、结算、对账、计费、退款。
这里一点点 bug,就可能直接变成经济损失。
2. 安全和认证相关代码
比如密码存储、权限校验、Token 验证、加解密。
AI 可以生成“能运行”的代码,但“能运行”和“安全”之间,差得很远。
3. 合规和审计相关功能
比如隐私数据处理、日志留存、数据访问控制。
这些地方不只是技术正确就够了,还涉及制度和法律责任。
4. 高风险领域的关键功能
比如医疗、航空、军工、自动驾驶、高危工业控制。
这类地方,AI 顶多做辅助,不应该成为主导。
第二类:可以用,但必须高度谨慎的
这类任务不是完全不能碰,
而是必须明确:AI 提供的是初稿,不是定稿。
比如:
核心业务算法 公共库和基础框架 性能敏感、长期维护的底层代码
这里真正决定质量的,不只是代码实现,而是业务逻辑、系统设计和长期维护成本。
第三类:可以放心多用一点的
这些场景,我觉得就很适合让 AI 多做一点:
样板代码 常规 CRUD 单元测试初稿 文档和注释 一次性脚本 查资料、比方案、做探索
关键不是一刀切地问“该不该用 AI”,
而是分清楚:
哪里可以大胆借力,哪里必须自己在场。
四、AI 越强,人越要守住什么?
如果说前面讲的是“什么不该交给 AI”,
那再往深一点,其实就是另一个问题:
AI 越强,人到底更该守住什么?
我现在越来越倾向于一个判断:
AI 不会把程序员的价值彻底拿走,
但会把程序员的价值来源重新改写。
以后真正值钱的,可能越来越不是:
记得多少语法 手写代码有多快 能不能机械地重复实现
而是这些东西:
1. Why:你能不能说清楚为什么要这样做
AI 很会回答 How,
也开始能部分回答 What。
但真正困难的问题一直是 Why。
为什么是这个方案,不是另一个?
为什么这个需求值得做,那个不值得?
为什么这里该追求性能,那里该优先可维护性?
这种 Why,不只是信息问题,而是判断问题。
2. 系统级思维:你能不能看到局部之外的东西
AI 很容易帮你把一个点做得更好,
但人必须负责看见:
这个点和整体系统的关系 局部优化会不会带来全局副作用 技术决策会不会伤到组织协作和长期演进
3. 责任感:你能不能为结果负责
未来程序员真正稀缺的,不只是“能写”,而是:
能判断 能兜底 能承担后果
AI 能生成很多结果,
但“最后谁来负责”这个问题,终究还是人的问题。
五、回到系列开头:Vibe Coding 之后是什么?
第一篇我们讲 Vibe Coding,讲的是一种从“如何实现”到“想要什么”的转变。
写到这里,我觉得还可以把它补完整:
Vibe Coding 之前:如何把想法变成代码?(How)
Vibe Coding 之中:我想要什么?(What)
Vibe Coding 之后:为什么是这个?(Why)
这也是我越来越相信的一件事:
AI 能回答 How,部分能回答 What,但永远不能替你回答 Why。
Why 的背后是什么?
对用户的理解 对业务的判断 对系统的整体认知 对后果的承担 对边界的敬畏
这些东西,恰恰是人最不能放掉的部分。
所以,AI 编程真正成熟的标志,不是把所有事都交给 AI, 而是:
知道哪里可以放心借力,哪里必须自己在场。
六、结语:真正成熟的 AI 使用,不是全交出去,而是看清边界
如果要用一句话总结这一篇,我会说:
AI 编程真正的边界,不在它能不能生成代码,而在它能不能理解、权衡、记住和负责。
而至少在今天,这些最关键的部分,仍然离不开人。
所以我并不觉得 AI 是程序员的敌人。 它更像是一面放大镜:
会放大你的效率 也会放大你的混乱 会放大你的判断力 也会放大你的侥幸心理
你越知道它的边界,越能把它用好。 你越幻想它无所不能,越容易在真实项目里吃亏。
这也是我想给第一 part 收官时留下的一句话:
真正成熟的 AI 使用,不是全交出去,而是看清边界。
互动话题:
你现在最不放心交给 AI 的任务是什么?为什么? 你觉得 AI 编程最容易让人忽视的风险是什么? 第二 part 继续写,你更想看“团队落地”,还是“真实案例复盘”?
夜雨聆风