当AI代码生成工具真正了解你的代码库时,Go语言中的AI代码生成效果会显著提升

Reddit r/ArtificialInteligence 新闻

摘要

本文认为,当AI代码生成工具了解组织内部的代码库和约定时,Go语言的代码生成会更有效,从而提高接受率并减少所需编辑次数。

吐槽AI代码生成在Go中表现不佳已有两年,我想我终于明白了真正的问题所在。问题不在于这些工具不懂Go,而在于它们只懂得通用的Go,完全不知道你的组织是如何编写Go代码的。我们的代码库几乎为所有东西都建立了内部库:自定义错误类型、内部HTTP客户端、遥测包装器、内部测试工具。通用的AI代码生成根本不知道它们的存在。它会生成教科书般正确的Go代码,处处直接使用标准库,完全忽略了我们的内部抽象。然后有人需要审查并重构建议,使其符合实际,这消除了大部分生产力提升。让AI代码生成变得有用的改变是换用一种能够索引我们仓库并持久理解我们模式的工具。几周后,它开始正确建议我们的内部类型,不再在存在我们的httpclient包装器时推荐原始的net/http,学会了我们的小接口约定。接受率从大约20%提升到35%。更重要的是,无需编辑的接受从几乎为零变成了占大多数。并发对这些工具来说仍然困难。复杂的goroutine模式以及任何涉及内部工作池抽象的内容仍然需要人工编写。这是一个模型推理的局限性,组织上下文无法解决。
查看原文

相似文章

AI生成代码的质量

Reddit r/AI_Agents

这篇文章讨论了一个担忧:随着AI工具生成越来越多的代码,未来基于这些合成代码训练的模型可能会质量下降、原创性降低,并询问像OpenAI、Anthropic和GitHub这样的主要AI实验室计划如何应对这个问题。