技术指南

Ai生成:5分钟,人工修复:5小时,程序员都反应比原来更忙了,Ai目前是超级实习生

2026-06-26 技术指南 14次阅读

AI写代码的核心矛盾:它不理解“你为什么要做”,更不理解“哪些不能做”

一句话点明本质:

AI不是不理解需求,而是不理解“需求的上下文”;不是不理解边界,而是不理解“约束的严肃性”。




下面拆开说。


一、AI不理解需求的“隐含前提”

你给AI的需求描述,永远是冰山一角。

比如你说:“写一个用户登录功能。”AI会生成一套完整的用户名密码验证逻辑。但你没说出来的部分,才是真正的工程需求:

  • 密码必须哈希存储,不能明文;
  • 必须防止暴力破解,要加登录限流;
  • 必须兼容已有的用户表结构,不能自己发明字段;
  • 必须接入公司的统一认证中间件,不能另起炉灶;
  • 日志要打,但要脱敏,不能记录密码原文。

这些都是你没写进prompt的“已知共识”。在一个真实项目中,这些共识由技术规范、团队约定、安全评审共同构成,天然存在于人的认知中。

AI没有参与过你的评审会、没读过你的代码规范、不知道你们踩过的坑。它默认你所说的就是全部,剩下的全靠猜。

所以核心不是AI不理解你说的话,而是AI不知道你没说但必须遵守的那些事。



二、AI不理解“边界”的严肃性

更致命的问题在这里。

对于人类工程师,“边界”是不可逾越的红线:

  • 这个接口只能内网调用,不能暴露到公网;
  • 这个方法不能超过200ms,否则链路超时;
  • 这个字段是PII(个人隐私信息),不能打印到日志;
  • 这个第三方服务的QPS上限是100,不能无限制调用。

这些边界是写不进prompt的“架构契约”,违背任意一条都可能是生产事故。

但AI没有“后果意识”。它的大脑里没有“数据库挂了要赔钱”“用户数据泄露要坐牢”这些概念。它只是在概率上选择一个“看起来合适”的实现。

所以它生成的代码,可能:

  • 在循环里无限制调用第三方API,完全不考虑限流;
  • 把敏感字段写进日志,因为“这样调试方便”;
  • 开了一个公网端口,因为训练数据里很多demo都这么写。

AI不是在故意越界,而是它根本不知道“边界”的存在有什么意义。





三、幻觉不是bug,是它的工作方式

程序员最怕的,是AI凭空捏造一个不存在的库或函数,比如from magical_cache import MagicLock,语法正确,运行报错。

这不是偶然失误,而是它的底层原理:大语言模型做的是“下一个token最可能的预测”,不是“基于事实的检索”。当它遇到自己不确定的实现细节时,它会“编造一个看起来合理”的token序列。

幻觉不是缺陷,是统计预测的必然产出。

而人类工程师的职责,就是分辨哪些是“正确的逻辑”,哪些是“统计意义上的胡话”。这就是为什么修复时间远超生成时间——你不是在改bug,你是在做事实核查





四、所以核心问题到底是什么

不是AI不理解需求,而是:

  1. 需求从来不只是“说出来的那部分”——AI不知道你没说的工程上下文、系统约束、团队约定;
  2. 代码从来不只是“能跑就行”——AI不知道边界的严肃性,因为它没有后果意识;
  3. 生成从来不是“写完即用”——AI的统计本质决定了它必然掺入幻觉,你必须做事实核查。


这三点的叠加,让AI生成的代码变成了一种特殊的东西:

看起来完整,实则充满未知风险。

你花的那5小时,不是在修bug,而是在给一个没有工程常识的“超级实习生”擦屁股——它的代码写得飞快,但每一行你都得重新审查,因为你不知道哪一行是“编的”。

这才是程序员更忙的根源。

客服热线
173-3019-6230
132-3098-1129
工作时间:9:00-18:00
在线咨询
点击咨询客服