CTO紧急叫停AI编程!不是技术倒退,而是...

哈喽,我是老刘

老刘用Flutter开发客户端也有六七年了,这两年在工作中使用AI的地方有很多。

有的地方很爽,有的地方很难受,但是总体感觉还是利大于弊的。

不过前两天看到这篇文章,也确实道出了AI编程中那些我们不得不面对的问题。

比如老刘聊过的一家 8 人的初创团队,使用 AI 编码,一周的PR 数量翻了三倍。

结果线上事故也翻了三倍。

原来两周一次迭代,最近三天一次合并,半天一次回滚。

项目管理工具一片绿,线上监控一片红。

这不是"AI 要让程序员失业"。

这是"AI 正在让团队失控"。

为什么会这样?

很简单:AI 写得快,但不会替你做工程治理。

它能自动补全,却不会自动复盘。

它能一秒生成代码,却不能替你建立边界、规范和兜底机制。

所以 CTO 们喊停,不是倒车。

是先把安全带系上,把车灯调亮,把路标竖好。

先把"能不能跑"换成"稳不稳跑,能不能收"。

接下来我们聊聊,AI开发在真正的企业开发中到底扮演了什么角色,以及如何有效的利用AI。

AI 编程的真相,提效是事实,翻车也是真事

先说好的一面。

AI 编程确实有三大利好,老刘亲测有效:

第一,提升效率。

标准化、重复性强的代码,AI "嗖嗖"就来。

写个 CRUD 接口,以前半小时,现在 5 分钟。

写个数据模型类,以前敲键盘敲到手酸,现在描述一下需求就行。

老刘团队统计过,纯编码环节效率提升了 60% 都不止。

第二,降低门槛。

新人上手更快,能看懂结构、补齐语法。

以前新人写个复杂的动画效果,需要查手册,自己调试,折腾很久。

现在 AI 直接给出标准写法,还带注释。

第三,重构利器。

对遗留系统做现代化改造有奇效。

比如老刘的项目时原生 + Flutter混合开发。

当一个需求对老页面或者老模块的修改高于50%的时候,我们就会用Flutter重写。

这种情况下AI将老页面转换为Flutter页面的效率奇高。

但是,硬币总有另一面。

AI 编程有三大致命坑,每个都能让你怀疑人生:

第一坑:架构缺位。

AI 不懂你的全局业务与约束,容易"就地拼贴"。

它只看到你当前的代码片段,不知道你的系统边界在哪里。

结果就是,单个模块看起来很完美,整体架构一团糟。

老刘见过一个场景,新增一个促销用的大模块,AI 生成的代码每个函数都很优雅。

但是这些代码拼在一起,就好像是找了一堆实习生写的代码,拼接到一起,就成了一个大的系统。

第二坑:隐形技术债。

Demo 看着顺眼,长线维护是"堆屎山"。

AI 为了快速实现功能,经常选择最直接的路径。

不考虑扩展性,不考虑维护性,不考虑性能优化。

3 个月后你再看这些代码,想改一个小功能,牵一发动全身。

第三坑:维护地狱。

"调试像考古",上下文与意图缺失。

AI 生成的代码往往缺少关键的业务逻辑注释。

你知道它做了什么,但不知道为什么这么做。

出了 bug,你得像考古学家一样,一层层挖掘代码的真实意图。

更要命的是生产环境的三座大山:

**性能问题:**小样本 OK,大流量崩。

AI 写的代码在测试环境跑得飞起,一上生产就趴窝。

**安全漏洞:**权限边界出血,数据泄露风险。

AI 不懂你的安全策略,有可能在权限控制上留后门,这里并不是说它是故意的,而是很多情况可能会考虑不到。

**可扩展性:**没考虑未来增长,架构僵化。

当用户量从 1000 涨到 10 万,系统很有可能会撑不住。

一句话总结:

AI 是"强力螺丝刀",不是"自动盖房机"。

它能帮你拧螺丝,但房子的设计图,还得你来画。

(1、至少现阶段是这样)

(2、Claude Code在这方面表现会好一点)

那么我们应该怎么办呢?是彻底抛弃AI回到原来?还是有切实可行的手段降服AI?

别跟风,给 AI 上"缰绳"的 5 步工作法

答案当然不是抛弃,而是给AI套上"缰绳"。

老刘结合这两年的实战经验,总结了一套"防失控"的 5 步工作法:

第一步:边界清单先行

别什么都交给 AI,先画清楚红线。

适合交给 AI 的:

  • 样板代码:比如 CRUD 接口、数据模型类
  • 单元测试:特别是边界值测试和异常处理测试
  • 文档生成:API 文档、代码注释自动补全
  • 重构建议:代码优化和性能提升建议

不适合交给 AI 的:

  • 核心业务逻辑:支付流程、用户权限控制
  • 安全关键代码:加密解密、身份验证
  • 复杂算法:推荐算法、计费逻辑

这个边界不是一成不变的,根据团队、项目和AI工具的不同而变化,但在团队内必须明确且统一的。

也就是说团队里每个人都要知道,哪些能碰,哪些不能碰。

第二步:设计先、落码后

这是最关键的一步。

不要上来就让 AI 写代码,先由人画清架构图、数据流、接口边界。

把整个系统的"骨架"搭好,再让 AI 按"空位"补代码。

就像装修房子,先把水电布局、承重墙确定好,再让 AI 帮你贴瓷砖刷油漆。

老刘的做法是:每个功能模块开发前,先用 30 分钟画个简单的架构图。

标清楚输入输出、依赖关系、边界约束。

然后把这个架构图贴给团队,大家 Review 通过了,再开始用 AI 写具体代码。

第三步:双层防线

Code Review 和自动化测试,一个都不能少。

Code Review 重点看什么?

  • 业务逻辑是否正确
  • 权限控制是否到位
  • 异常处理是否完善
  • 性能是否有问题

别只看代码风格和语法错误,那些 AI 比人做得好。

要看 AI 看不到的东西:业务上下文、安全边界、性能瓶颈。

自动化测试要覆盖核心链路。

特别是用户注册、登录、支付这些关键流程,测试用例必须跟上。(当然,如果能结合TDD其实更好)

第四步:可观测与压测

别拿"小样本正常"当真相。

AI 生成的代码在开发环境跑得好,不代表生产环境也 OK。

必须要有:

  • 性能基准数据
  • 压力测试验证
  • 完善的监控报警

老刘团队的做法是:每各版本都要跑压测。

模拟真实用户量,看看系统会不会崩。

监控指标也要跟上:响应时间、错误率、资源使用率。

第五步:迭代与回滚

小步快跑,灰度发布,预设回滚预案。

别搞"豪赌式上线",一次性把所有 AI 代码都推到生产。

先推 10% 流量,观察 24 小时。

没问题再推 50%,最后推 100%。

每个阶段都要有明确的回滚触发条件:

  • 客户端可以看崩溃率,用户投诉等指标。
  • 服务端要看响应时间,内存占用等指标。

还有三条红线,踩到任何一条都是找死:

  1. 不懂就上:对 AI 生成的代码不理解,就直接用
  2. 不审就上:跳过 Code Review,直接合并
  3. 无人负责:没有明确的责任人,出了问题找不到人

这些坑老刘都见过团队踩,甚至有些我们团队自己都踩过,每一个都是血的教训。

总结:与其追风,不如驭风

说到底,AI 是工具而非替代。

架构设计、业务判断、技术责任,还是要由人类技术负责人扛。

AI 可以让你的手速更快,但不能替你做决策。

它可以帮你生成代码,但不能替你承担后果。

记住这句话:别指望 AI 写出你的战略,它只会加速你的选择。

方向错得越早,坑就挖得越快。

所以,与其盲目追风,不如学会驭风。

让 AI 成为你手中的利器,而不是脱缰的野马。

最后问个问题:你的团队把哪些环节交给了 AI?又有哪些"生死线"你绝不交?

欢迎在评论区分享你的经验和踩坑故事。

如果看到这里的同学对客户端或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。 私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。 可以作为Flutter学习的知识地图。 ------ laoliu_dev

相关推荐
.NET修仙日记2 小时前
Visual Studio 2026 震撼发布!AI 智能编程时代正式来临
ide·微软·ai编程·开发工具·visual studio·编程革命
leazer4 小时前
Flutter TabBar 字体缩放动画抖动问题及优化方案
flutter
量子位4 小时前
DeepDiver-V2来了,华为最新开源原生多智能体系统,“团战”深度研究效果惊人
ai编程·deepseek
量子位4 小时前
姚顺雨离职OpenAI,开启下半场
openai·ai编程
yuanpan8 小时前
认识跨平台UI框架Flutter和MAUI区别,如何选。
flutter·ui·maui
无知的前端8 小时前
一文精通-Flutter 状态管理
flutter
阿笑带你学前端8 小时前
Drift数据库开发实战:类型安全的SQLite解决方案
前端·flutter
Bye丶L9 小时前
AI帮我写代码
前端·ai编程
技术阿力9 小时前
Jetbrains IDE 配置上Gem)ini Code 插件,让你的的编程高效起飞~
ai编程