AI 写代码能提速但不能替开发者承担理解、测试、审查和生产责任。原文链接AI 小老六不能理解的代码不该提交AI 写代码最快的地方也是最危险的地方它能在你还没想清楚边界条件之前先给出一大段看起来完整的实现。变量名像真的结构像真的注释也像真的。运行一下可能还能过几个简单用例。问题通常藏在下一层异常路径、状态同步、权限边界、并发时序、历史数据兼容、框架版本差异。等这些问题冒出来最初省下的十几分钟会被一点点收回去。工程师最后还是要面对那个老问题这段代码为什么能工作如果答不上来就不该合进去。图AI 生成代码进入主干前仍需要人类理解与审查。库函数和 AI 生成代码不是一类东西开发者每天都在信任抽象。调用排序函数时不会去读排序算法的每一行实现使用数据库驱动时也不会每次检查网络协议细节。现代软件工程正是建立在这种信任之上。但这种信任不是凭空来的。一个成熟库通常有维护者、版本历史、测试套件、真实用户、issue 记录和发布流程。它出过错也修过错。它的边界被很多人踩过文档里往往写着哪些情况能用、哪些情况别用。LLM 生成代码没有这些沉淀。它更像是一个临时写出的候选补丁。也许质量很好也许刚好错在最不容易发现的地方。它没有被生产流量锤过没有被不同环境折腾过也没有天然继承某个库的信誉。把 LLM 输出当成熟抽象来信任是类别错误。图成熟抽象来自长期验证生成式代码只是候选补丁。速度收益会被理解成本吃掉AI 编程效率常被包装成“十倍提升”。实际体验经常更复杂。它能很快生成第一版这没问题。真正花时间的是后面的确认环节人类仍然要做的事需求理解判断实现是否解决了真实问题边界条件补齐异常输入、空值、权限和失败路径架构一致性确认代码没有绕开现有约定测试验证写用例、跑回归、看日志维护判断判断半年后别人是否还能看懂如果这些工作本来就要做AI 省下的只是打字时间。而打字在软件开发里从来不是最贵的部分。更麻烦的是AI 生成的代码会制造一种错觉东西已经完成了。人脑看到完整结构后很容易降低警惕。审查一段“看起来能跑”的陌生代码比从头写一段自己理解的代码更累因为你要先拆掉它营造出来的确定感。最差的情况是让 AI 修 AI当生成的代码出错时很多人会做一个自然动作把错误再丢给模型让它修。有时它能修好。有时它只是换一种方式错。于是问题从一个变成两个原来的 bug 还没完全理解新的补丁又引入了新的假设。这不是模型不能用而是工作流有问题。让同一个不稳定来源不断修改自己生成的结果很容易把调试变成猜谜。每一轮输出都增加了表面积却不一定增加理解。更稳的做法是把LLM 编程工具当成辅助工具而不是责任主体。它可以提出思路可以生成测试草稿可以解释报错可以列出可能原因可以帮你写机械重复的样板代码。但最终补丁必须回到人的理解里为什么这样改覆盖了哪些路径没覆盖哪些路径失败时会怎样AI 代码进入生产前需要过人类的门团队使用 AI 编程最好先把规则说清楚。生成代码和手写代码一样接受审查。不能因为它来自工具就跳过设计讨论、测试和 code review。提交者必须能解释每个关键分支。解释不了就继续读或者删掉重写。AI 更适合低风险、高约束的任务。比如迁移格式、补测试、改 API 调用、生成样板、写脚本。测试要比以前更重要。AI 生成代码最大的麻烦不是一定会错而是错得很像对。高风险核心逻辑可以用 AI 辅助分析但不要把最终判断交出去。没有测试审查者只能靠阅读和直觉有测试至少能把一部分信任落到可重复的证据上。图AI 代码进入生产前需要经过审查、测试和责任确认。真正的问题不是会不会用 AI而是愿不愿意负责AI 编程不会消失。它已经足够好能在很多场景里节省时间也足够危险能在很多场景里制造返工。成熟的态度不是拒绝也不是盲信。更像是把它放回工程系统里有输入约束有审查有测试有回滚有责任人。代码不是因为生成速度快才值得提交。代码值得提交是因为负责它的人理解它、验证它并愿意在它出问题时修它。这条线不能让给任何工具。推荐阅读LLM 写代码的新风险不是写错而是差一点就好AI 生成 PR 正在刷爆开源项目GitHub 贡献信号为什么失灵了AI Skill 市场的安全账为什么说 Skill Registry 本质上是新的供应链入口LLM 编程提速之后为什么你反而更难想清楚问题AI 编程争论变味了为什么反 AI 情绪开始走向怀旧化
LLM 写代码为什么不能盲信:AI 编程进入生产前,必须过人类的门
发布时间:2026/6/15 12:11:58
AI 写代码能提速但不能替开发者承担理解、测试、审查和生产责任。原文链接AI 小老六不能理解的代码不该提交AI 写代码最快的地方也是最危险的地方它能在你还没想清楚边界条件之前先给出一大段看起来完整的实现。变量名像真的结构像真的注释也像真的。运行一下可能还能过几个简单用例。问题通常藏在下一层异常路径、状态同步、权限边界、并发时序、历史数据兼容、框架版本差异。等这些问题冒出来最初省下的十几分钟会被一点点收回去。工程师最后还是要面对那个老问题这段代码为什么能工作如果答不上来就不该合进去。图AI 生成代码进入主干前仍需要人类理解与审查。库函数和 AI 生成代码不是一类东西开发者每天都在信任抽象。调用排序函数时不会去读排序算法的每一行实现使用数据库驱动时也不会每次检查网络协议细节。现代软件工程正是建立在这种信任之上。但这种信任不是凭空来的。一个成熟库通常有维护者、版本历史、测试套件、真实用户、issue 记录和发布流程。它出过错也修过错。它的边界被很多人踩过文档里往往写着哪些情况能用、哪些情况别用。LLM 生成代码没有这些沉淀。它更像是一个临时写出的候选补丁。也许质量很好也许刚好错在最不容易发现的地方。它没有被生产流量锤过没有被不同环境折腾过也没有天然继承某个库的信誉。把 LLM 输出当成熟抽象来信任是类别错误。图成熟抽象来自长期验证生成式代码只是候选补丁。速度收益会被理解成本吃掉AI 编程效率常被包装成“十倍提升”。实际体验经常更复杂。它能很快生成第一版这没问题。真正花时间的是后面的确认环节人类仍然要做的事需求理解判断实现是否解决了真实问题边界条件补齐异常输入、空值、权限和失败路径架构一致性确认代码没有绕开现有约定测试验证写用例、跑回归、看日志维护判断判断半年后别人是否还能看懂如果这些工作本来就要做AI 省下的只是打字时间。而打字在软件开发里从来不是最贵的部分。更麻烦的是AI 生成的代码会制造一种错觉东西已经完成了。人脑看到完整结构后很容易降低警惕。审查一段“看起来能跑”的陌生代码比从头写一段自己理解的代码更累因为你要先拆掉它营造出来的确定感。最差的情况是让 AI 修 AI当生成的代码出错时很多人会做一个自然动作把错误再丢给模型让它修。有时它能修好。有时它只是换一种方式错。于是问题从一个变成两个原来的 bug 还没完全理解新的补丁又引入了新的假设。这不是模型不能用而是工作流有问题。让同一个不稳定来源不断修改自己生成的结果很容易把调试变成猜谜。每一轮输出都增加了表面积却不一定增加理解。更稳的做法是把LLM 编程工具当成辅助工具而不是责任主体。它可以提出思路可以生成测试草稿可以解释报错可以列出可能原因可以帮你写机械重复的样板代码。但最终补丁必须回到人的理解里为什么这样改覆盖了哪些路径没覆盖哪些路径失败时会怎样AI 代码进入生产前需要过人类的门团队使用 AI 编程最好先把规则说清楚。生成代码和手写代码一样接受审查。不能因为它来自工具就跳过设计讨论、测试和 code review。提交者必须能解释每个关键分支。解释不了就继续读或者删掉重写。AI 更适合低风险、高约束的任务。比如迁移格式、补测试、改 API 调用、生成样板、写脚本。测试要比以前更重要。AI 生成代码最大的麻烦不是一定会错而是错得很像对。高风险核心逻辑可以用 AI 辅助分析但不要把最终判断交出去。没有测试审查者只能靠阅读和直觉有测试至少能把一部分信任落到可重复的证据上。图AI 代码进入生产前需要经过审查、测试和责任确认。真正的问题不是会不会用 AI而是愿不愿意负责AI 编程不会消失。它已经足够好能在很多场景里节省时间也足够危险能在很多场景里制造返工。成熟的态度不是拒绝也不是盲信。更像是把它放回工程系统里有输入约束有审查有测试有回滚有责任人。代码不是因为生成速度快才值得提交。代码值得提交是因为负责它的人理解它、验证它并愿意在它出问题时修它。这条线不能让给任何工具。推荐阅读LLM 写代码的新风险不是写错而是差一点就好AI 生成 PR 正在刷爆开源项目GitHub 贡献信号为什么失灵了AI Skill 市场的安全账为什么说 Skill Registry 本质上是新的供应链入口LLM 编程提速之后为什么你反而更难想清楚问题AI 编程争论变味了为什么反 AI 情绪开始走向怀旧化