好奇一个问题,用 ai 生成的代码,会不会自己复盘?

查看 21|回复 2
作者:knight0zh   
我估计,很多人应该和我一样。刚开始用 ai 生成代码的时候,出于对 ai 的不信任和对 ai 当时实力的不了解,一定会把 ai 在项目中生成的代码都看一遍复盘一下逻辑等等。
但是如今 AI 已经越来越强,强到它可以完成绝大多数问题,甚至连你不知道的技术盲区他都能为你完成。
渐渐的我会放下戒备,以及技术好奇,主动让 AI 接管任务,我经常只是告诉 AI 应该怎么做,自己不再参与过程而且只验证结果。
随着功能和代码量的不断迭代,这个庞然大物迟早会不可控。今天加个功能 A ,明天加功能 B 。不可能每次加个小功能都让 AI 通盘理解整个项目,因为这样意义不大,还会浪费大量的 token 。
又或者修复 BUG 时,会让 AI 修复 AI 生成的 BUG 。因为对 AI 生成的代码不够熟悉。我会验证这个 BUG 是不是已经修复,以及大体流程是否泡通。但是我也无法 100%保证,因为这次修复而产生新的小问题。
我认为 AI 生成的代码存在几个问题,
1. 缺少完整上下文,每次注意力放在我们所关心的部分,无法对整个项目完整理解,导致项目更像缝补拼凑出来的。
2. 代码缺少工程化,虽然 AI 生成的代码看起来很工整,但还是由无数小碎片拼凑出来更像是一个缝合体,这样的代码一定不够健壮。
3. 随机性,即即便同一个 AI 在同样上下文的情况下,每次生成的结果都会有很多的不同。这很难可控。
我觉得当使用了一段时间 AI 后,项目一定会变得越来越不可控。这就像细胞分裂,次数多了,总会出现错误的可能。很好奇你们是怎么做的,有没有一个比较好的方案来解决我的顾虑?

AI, 代码, 不可控

ration   
重要生产业务会复盘,其他业务单元测试通过了,一般也不会细看。你说的上下文问题,现有的也有很多软件工程相关的工具可用,比如 openspec ,知识图谱 graphify
knight0zh
OP
  
@ration 知识图谱对于编程来说作用不大只会让 AI 断章取义,对工程来说不可取。另外几项,我有空学习研究一下,是否需要消耗大量 token 为代价呢
您需要登录后才可以回帖 登录 | 立即注册

返回顶部