你们都如何 review AI 生成的大量代码,保障功能质量

发布于

VeryZero:

用 codex 这么久,从刚开始的屎山横飞慢慢调教到现在 99%的代码都由 AI 生成,并且上线质量比我自己写的还高,我以为我自己练成了。

直到我最近接了一个新模块的需求,灾难发生了。

这个模块因为比较老,从代码风格到项目规范都与我一直在维护的模块差异很大,并且由于我从来没碰过这块业务的细节,导致 codex 也没有这个模块的记忆。

为了补业务细节,从阅读需求开始我就让 AI 全程参与,并且让$Grill with Docs 一致拷问我,讨论并设计完后生成了一堆 ticket ,AI 照着 ticket 一个个执行并验收。

到了 review 代码的时候我人傻了,完全就是屎山,流程模糊、结构混乱、坏味道一堆,看完血压都能飙升,根本看不明白。

这两天我一边擦屁股一边在思考,到底问题出在哪,如何去解决。目前总结出来的主要是下面这些,抛砖引玉吧,希望大家踊跃讨论,一起提高驾驭技术。

## 长上下文导致失忆

我虽然知道长下文会导致失忆,但是这次体感特别明显。我在 [AGENTS.MD](http://agents.md/) 里积累了一些项目规范,以前都遵循的挺好,但这次代码中出现大量与 [AGENTS.MD](http://agents.md/) 约定不一致的情况,似乎 gpt 失忆了。
我猜测是不是跟$Grill with Docs 这个 skill 有关,因为之前的项目我只用$Grill Me ,不会让他输出成文件。当上下文中被填充了大量的约束,智商可能就会下降。之前在某篇文章中看到过,给 AI 的提示词尽量给正向引导,而不是大量的禁止约束。

## 自己总结代码风格而不要让 AI 总结

我们都知道,AI 会参考项目中原有代码,如果原代码是好的,就会学好,反之就会学坏。
我之前负责的模块之所以 AI 驱动运行良好,是因为经过这么多年的持续优化,已经形成了我个人的编码偏好,写新的代码时候 TA 照着抄就可以了。但是到了新模块并没有我的风格,并且原代码的风格又很差,就导致 AI 有样学样跑偏了。
后来我让 AI [总结我负责模块的编码偏好并整理成.md](http://xn--0xq34ogxbr7hvocs0dca450exvl41ynigw0en11a60a035m3ba.md) ,让 AI [基于这个.md](http://xn--ciq5il2xxk2d.md) 的偏好对这坨屎山进行重构。效果还不错,但是因为这个偏好文件是总结性的,比较宽泛抽象,很多细节偏好需要我手动补进去。

## 技能并不是银弹,反而可能是洪水猛兽

gpt5.6 出来后很多人说跟 superpower 有冲突,我因为很早就卸载 superpower 了,所以没感觉。但是经过这个项目,我感觉不仅仅 superpower 的问题,$Grill Me 那一套可能也有问题。这个项目之初我是装了$Grill Me 全家桶,现在删了只剩$Grill Me 了,因为目前来看效果并不好,并且会导致每一次对话都非常慢,严重降低了反馈效率。即使$Grill Me 我也用的有点力竭,昨天重构时他拷问了我 2 个小时才开始执行,整整 2 个小时!我就在那一直确认,人也不敢离开,结果执行重构也就花了半个小时。现在感觉还是 codex 的 plan 模式舒服,只问重点,并且更容易知道我要什么。

先写这么多,我要继续擦屎去了,毕竟留给我的时间不多了。。

---

原文链接:[点击查看](https://www.v2ex.com/t/1233025)

评论(2)

楼主经过这一波折腾,觉得现在这波 AI 热潮的泡沫什么时候才会破?

· 0 个赞

其实就跟团队协作是一样的规矩:除了前端那种不太好写自动化测试的地方,其他业务必须做到全分支单测覆盖。每次提交代码 CI 里强制跑一遍全部单测,AI 写的代码也照样得乖乖过测。

· 0 个赞

0.057799s