详细内容或原文请订阅后点击阅览
黑匣子问题:为什么人工智能生成的代码不再可维护
相同的通知系统,两种架构。非结构化生成将所有内容耦合到一个模块中。结构化生成分解为具有显式单向依赖性的独立组件。图片由作者提供 文章《黑匣子问题:为什么人工智能生成的代码不再可维护》首先出现在《走向数据科学》上。
来源:走向数据科学跨团队的模式
去年组建了采用人工智能编码工具的工程团队。第一个月是欣快的。速度加倍,功能交付更快,利益相关者感到兴奋。到了第三个月,一个不同的指标开始攀升:安全地更改生成的任何内容所需的时间。
代码本身不断变得更好。改进的模型,更正确,更完整,更大的背景。然而,生成最多代码的团队越来越多地要求重写。
除非您查看结构,否则它就没有意义。
开发人员打开在单个 AI 会话中生成的模块。可能是 200 行,也可能是 600 行,长度并不重要。他们意识到唯一理解此代码中关系的是生成它的上下文窗口。函数签名没有记录他们的假设。三个服务以特定的顺序相互调用,但代码库中不存在该顺序的原因。每一次的改变都需要充分的理解和深刻的审视。这就是黑匣子问题。
是什么让人工智能生成的代码成为黑匣子
人工智能生成的代码并不是坏代码。但它有很快就会成为问题的倾向:
具体示例
考虑人工智能生成用户通知系统的两种方式:
