返回

文章详情

为什么 Go 是人工智能辅助软件工程的理想语言

Hacker News2026年8月11日 16:57

2026 年 8 月 11 日,软件工程经历了一次深刻的根本性转变:我们曾经手动编写大部分代码的时代,现在我们请 AI 编码助手和代理为我们生成大量代码。但 AI 需要监督,因此我们人类必须阅读生成的代码,清理它,并验证其是否按照我们的意图运行。由于 AI 对生成代码所需操作的更大上下文了解有限,所以我们定义系统架构,设计服务之间的边界,并确保我们的生产环境的整体安全性和可靠性。在这种范式中,我们开发工具中最重要的东西也在变化。从编写到审查,历史上,开发人员主要通过编写代码的难易程度来衡量编程语言的生产力。但当一个编码代理可以在几秒钟内生成数百行语法正确的代码时,人类编写代码的速度不再那么重要。现在重要的是在代码编写完毕后进行审查、验证和维护。换句话说,AI 正日益成为你的队友——一个有点特立独行的队友,但毕竟是队友。最重要的是我们如何作为一个团队协同工作。Go 是软件工程的语言。恰巧,围绕团队驱动开发的考虑促使 Rob Pike、Robert Griesemer 和 Ken Thompson 在二十多年前在谷歌创建了 Go 编程语言。当其他语言迅速添加新特性并寻求扩展表达程序逻辑的方式时,Go 专注于一个更大的愿景:为软件工程服务的语言设计。软件工程并不等同于编程。编程是通过编写代码解决问题并运行它,而软件工程则是与他人协作设计和实施一个随着时间推移而演变的耐用系统。编程是软件工程的一部分,但仅是一部分。为软件工程服务的语言设计不仅需要一种语言,还需要一个包含整个软件开发生命周期工具的端到端平台。它需要有主见的简单性,以便整个团队以相同的方式构建、格式化和测试代码。它需要强大的兼容性保障,以确保你今天编写的代码在十年后仍然有效,而且在十年后仍然是优质代码。它需要强大的生态系统,具备全球依赖管理系统,能够与团队一起扩展。它要求在整个过程中都考虑合理的、强健的安全性。所有这些要素共同构成了可扩展、长期团队合作的基础,使我们能够构建在原作者离开多年后仍可维护的系统。现在 AI 成为团队的一员,这一基础比以往任何时候都更为重要。Go 是一个平台。其中最显著的特点之一是 Go 不仅仅是一种语言,它还是一个平台。从一开始,Go 就提供了一个强大、端到端的工具链,横跨软件开发生命周期的各个环节。出厂时,Go 平台提供了内置格式化工具、测试框架、依赖管理和高级安全工具——所有这些都可以直接从标准工具链访问。这个平台结合了一个全面的标准库,消除了对复杂外部框架的需求,提供了无与伦比的一致性基准。Go 是一个在整个软件开发生命周期中具有开发者触点的平台。这些功能和工具最初是为了赋能人类而构建的,但事实证明,AI 和人类有着惊人相似的需求。当要求 AI 代理不经过外部验证进行迭代重构代码时,其性能会迅速下降——这与人类手动重构相似。第一次尝试可能有 95% 的正确性,但后续尝试会累积错误率并污染上下文窗口,降低准确性并增加代币成本。但借助 Go,AI 模型可以利用平台的端到端工具链更快、更便宜、更可靠地处理 Go 代码,生成更高质量、更安全和更正确的代码。这种集成的工具还具有一个第二个、较不明显的好处:生态系统的整体一致性。因为绝大多数 Go 开发人员使用相同的核心工具,整个社区统一向前推进,实现主要语言增强在多个运行时、IDE 和包生态系统之间的无缝采用。这种统一的方法受到 Go 标准库的增强,标准库通过减少程序逻辑的差异和促进开发人员与 AI 更快理解的重复、可预测的生成式语法,进一步提高了项目之间的一致性。这种结构上的一致性不仅帮助人类团队维护大型代码库,还创造了更干净、更标准化的训练数据。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡