为何 Go 是人工智能辅助软件工程的理想语言
2026 年 8 月 11 日,由 Go 产品组经理卡梅隆·巴拉汉和 Google Cloud 首席布道师理查德·塞罗特进行分享。一段时间以来,软件工程经历了深刻转变,过去大多手动编写代码,如今 AI 代码助手和代理能生成大量代码。不过,AI 需要人工监督,人类要阅读、清理并验证代码。而且,因 AI 对代码运行上下文了解有限,需人类定义系统架构等。在这种模式下,开发者工具中重要的东西也在变化。
从编写到审查
过去,开发者衡量编程语言生产力主要看编写的难易程度。但现在,代码代理能快速生成代码,人类编写速度不再重要,关键在于审查、验证和维护已编写好的代码。也就是说,AI 正成为团队成员,重要的是如何团队协作。
Go 服务于软件工程
二十多年前,罗布·派克、罗伯特·格里塞默和肯·汤普森在谷歌创建 Go 编程语言,是出于对团队驱动开发的考量。当其他语言添加功能拓展表达程序逻辑的方式时,Go 着眼于以语言设计服务于软件工程。软件工程不同于编程,编程是编写代码解决问题并运行,而软件工程是与他人协作设计并实现持久系统,编程只是软件工程的一部分。以软件工程为导向的语言设计需要端到端的平台,涵盖软件开发生命周期的工具,需要有主见的简洁性、强大的兼容性保证、强大的生态系统,还要融入安全考量和工具。这些要素构成可扩展、长期团队合作的基础,在 AI 加入团队后,这个基础更重要。
Go 是一个平台
Go 不仅是一种语言,更是一个平台。从一开始,Go 就配备强大的端到端工具链,贯穿软件开发的整个生命周期。它提供内置的代码格式化工具、测试框架、依赖管理和高级安全工具,可直接通过标准工具链访问。加上全面的标准库,消除对复杂外部框架的需求,提供了一致性基础。这些功能和工具最初为赋能人类构建,而 AI 和人类的需求相似。使用 Go,AI 模型可利用平台工具链,更快速、经济且可靠地处理代码,生成高质量代码。此外,集成工具带来生态系统的一致性,绝大多数 Go 开发者使用相同核心工具,社区能统一行动。Go 的标准库加强了统一方法,创造了更高的一致性,有助于人类团队维护大型代码库,也为大语言模型创建了标准化训练数据。
Go 具有可读性
Go 优先考虑可读性而非可写性。罗布、罗伯特和肯认识到开发者阅读代码时间多于编写时间。在只有人类参与的世界里,Go 体现崇尚简单而非巧妙的文化,拒绝语法技巧,代码风格统一。在 AI 驱动开发时代,这种注重阅读的理念成为推动力。过去开发者倾向使用简洁语法等加速原型开发,但代理易用性和人工验证环节要求可预测性、明确性和严格结构。如果语言表达逻辑方式多样,AI 会生成碎片化代码,增加人类审查难度。Go 通过一致性解决了这个问题,通过内置工具强制执行单一标准化格式,限制复杂抽象,确保所有代码风格一致。当语法可预测时,人类开发者能更快发现错误。而且,开源 Go 生态系统的标准化让模型能更好生成正确代码。最终,对人类清晰的语言对 AI 模型也清晰,Go 对可读性的坚持确保能扩展系统。
Go 具有可靠性
一种语言仅易读高效还不够,生成的应用程序需在负载下可靠、安全、可预测。Go 的静态类型系统是代理代码的自动安全网。大语言模型在结构边界和类型一致性方面易出错,在动态类型语言中这些错误可能在运行时才导致系统崩溃,而 Go 编译器会立即拒绝错误。加上 Go 编译速度快,代理可在自我修正循环中修复错误,交付语法正确的代码。此外,Go 的“一应俱全”理念解决了 AI 生成代码的安全风险,其全面的标准库引导 AI 使用安全官方包,减少供应链漏洞风险。当需要外部依赖项时,Go 的平台基础设施保证其完整性,校验和数据库和模块镜像防止中间人攻击,漏洞数据库和扫描工具提供可操作反馈。最后,Go 内置的测试框架和原生模糊测试工具为持续验证提供标准化、严格的沙盒环境,AI 可通过运行模糊测试强化自身逻辑,使软件开发生命周期更可靠。
Go 具有可维护性
软件系统的真正衡量标准在于长期可维护性。当自主 AI 代理参与时,代码库演进速度和架构漂移可能性增加。Go 应对这种变化的主要方法是其兼容性承诺,十五年前为 Go 1.0 编写的代码可在最新工具链上编译运行,且 Go 永远不会破坏向后兼容性。这种耐用性与操作可移植性结合效果更佳,Go 可编译成独立静态二进制文件,编译器可跨操作系统和架构交叉编译,方便 AI 代理构建二进制文件。为应对架构漂移,Go 提供内置、确定性工具,如官方语言服务器 gopls 和 go fix,现代化工具可更新旧代码模式,推动整个 Go 生态系统发展。而且,工具标准化让 AI 代理可安全重构代码。最后,Go 通过内置的可观测性和性能调优工具,确保可维护性延伸到生产环境,运行时提供性能分析和执行跟踪功能,编译器支持基于配置文件的优化,与 AI 编排的部署管道结合可创建闭环优化周期。
结论
随着开发者编写代码减少,编程语言的选择更重要。当代码生成交给 AI,软件工程的主要瓶颈转移到审查、验证和维护。历史上优先快速原型开发的语言难以处理碎片化的 AI 输出,而 Go 从一开始就解决大规模、长期协作的挑战,其以阅读为先的清晰性、生产就绪性和平台级的一致性,能吸收 AI 输出,同时保证可靠性、可维护性和系统完整性。最终,AI 是新的团队成员,使用 Go 开发可建立强大的、自我修正的平台,让人类和 AI 安全协作和迭代。
开始使用
准备好尝试,可按以下步骤开始:1. 下载最新版本的 Go。2. 若使用基于 Visual Studio Code 的 IDE,确保安装官方的 VS Code Go 扩展。3. 明确指示代理使用 Go 工具链,或通过预加载的技能。4. 让代理用 Go 编写新应用。
相关文章
包括弥合领域差距:使用 Antigravity 和 Gemini 构建的 AI 竞赛教练(2026 年 7 月 8 日)、代理插件打包你的技能、工具等(2026 年 8 月 6 日)、创新一年:庆祝 Google Cloud x NVIDIA 开发者社区达到 10 万成员(2026 年 5 月 19 日)、使用 LiteRT 和 Gemma 在树莓派上掌握边缘 AI(2026 年 8 月 11 日)等。
在 AI 时代,Go 是否真的能如文中所说成为人工智能辅助软件工程的理想语言,为开发者和 AI 的协作带来如此多的优势呢?这值得我们深入思考。