如何长期维护依赖AI生成的项目？

目前我们已经经过实证，引入AI生产的项目，开发效率可以获得了数十倍，数百倍的提升。

但这也会带来一个问题，代码的功能堆积，在非常短的时间内，就做到了正常开发迭代数代许久的屎山。

**AI 把软件工程里原本缓慢积累的复杂度，压缩到了极短时间内爆发。**

数千行代码堆积在一个文件之中，又因为不是自己开发的，看代码的逻辑又像是看前人遗留下的代码，是一个很疼苦的事情。

功能越来越多，代码越来越乱，短期效率极高，长期维护极差。而代码一旦没人愿意继续维护，其实倒推回来，开发也是完全没有必要的。

---

最近差不多完全掌握了，3月看到的，动辄一天上百次提交的实现方案。

代码完全不经过任何我的的审查，由AI自己审查自己，无误后直接提交代码，无需经过我。

任务设置得当，一天提交的代码会非常的多。

问题也很明显。代码开始失控了。这和业务无关。

尤其是上个版本我要求他对全项目的多语言进行变更之后。涉及的范围和影响太大。

多了很多我未曾见过的代码。

虽然我要的功能都实现了。但代码开始变的非常乱。

AI 时代最大的伪工程化，是用结构复杂度掩盖业务简单性。

----

这套代码在设计之初，我是参考标准结构进行设计的。每个模块都设计了接口，然后把接口实现和使用的逻辑分离出来。像是菜单项，配置项，日志，主题这些。

虽然很多的模块在使用AI不断的迭代之中，腐朽了，但骨架是不变，更新的逻辑的代码不管修改了多少就还在那个位置。

插件化的开发模式，让即使某个模块完全由AI来写，也不会破坏整体的接口。

局部功能不影响整体的结构设计。

----

虽然代码结构，我在最开始的时候就做好了约束。项目的结构设计完全使用接口来进行拼装组合。

AI很不喜欢优化代码。

或者是可以这么理解。AI的能力看我们的代码就像是看小孩子一样，不管逻辑如何复杂，对于他而言是一样的。

但对于我而言不一样，逻辑要尽量贴合阶乘。要分层。每层的逻辑要尽量简单。要不我很难处理巨型项目。

复杂度应该按人类理解能力分解，而不是按 AI 的生成便利性堆叠。

我不知道他是如何做到的，每次任务都是增量添加。

---

最近一个月一直在忙着一个插件的开发。功能上几乎都是AI在做。我的任务就是检查AI的输出是否符合我的理解。而我的理解需要和用户进行沟通。

我相当于是一个人肉AI，还是效率很差的那种，每次的反馈迭代的周期是一天。白天确认需求，晚上指挥Agent干活，校对。第二天重复这个过程。

功能的进展很顺利。问题也很顺利，就是他写的代码我逐渐跟不上了。

当我要求他重构的时候，他的代码越写越多。每次重构，功能不变，代码多出了一堆。结构多了好几层。每个函数都有异常处理。每个函数都没几个调用，拆的非常细碎，但逻辑上，显然已经超出了我这个上下文不足的人的理解。

当我意识到这个问题之后。我就不在要求他帮我重构，而是开始指挥他对逻辑进行删减。效果是有的。

但非常差，他非常不情愿的删除一些代码。需要我手动指出这里的代码好像没有任何意义，可以直接删除之后，他才承认的确如此并且执行。

这种情况在尤其是测试驱动开发的代码下更为明显。他写了一堆的测试。但不愿意重构就是收到了测试的影响。

我不得不完全删除测试代码。然后告诉他git可以还原，让他完全忽略现有的逻辑，只从功能的角度开审视代码的实现。

----

现在这个代码也成为我层级批判的代码。核心逻辑几百行就解决了。然后工程化之后，整出来几万行代码。

而且还是在我审视了一遍之后。

多语言，多主题。多入口，多导出，还有增加的一些功能。最后让代码膨胀的很彻底。





