大家好,我是煎鱼。
本文继续承接 @Sameer Ajmani 的回忆录《Go 和 Google、Cloud 融合的那么深,绝非偶然》,他现在作为 Google 工程总监 ,负责领导 Go 编程语言团队。
本次也给出了 Go 这两年大的关键变动说明,更重要的是提及了 Go 计划在生成式 AI 方面的发力方向。
今天由煎鱼结合分享一下,看看未来会发生什么变化。
最近几年做了什么
马后炮一下,在过去的几年(2022-2024 年),Go 这门编程语言及其生态系统在不断地变得成熟。
Go 官方团队认为,Go 作为可扩展云应用的首选语言,Go 将会继续保持强劲的增长势头。大业务环境下,云计算市场的复合年增长率 (CAGR) 超过 15%,因此 Go 生态系统的前景非常光明。
近年来功能特性的关键更新,TOP7 如下:
未来 Go + AI 发展方向
毫无疑问,生成式 AI,尤其是 ChatGPT 等是今年最热门的话题。也有很多读者问过 Go 这块 AI 有没有打算干什么。这块回忆录上也给出了答复。
Go 团队相信大多数程序员都会使用 AI 辅助工具,当前优先考虑为 Go 开发人员提供 AI 辅助工具。
正在研究如下几个方向:
- 如何提高模型生成的 Go 代码的质量?
- 我们能否区分 "好代码 "和 "坏代码",从而让模型学会如何区分?
- 识别 “好代码” 和 修复 “坏代码” 的工具本身对程序员很有用,非常有价值。
- 如果模型在现有的开放源码上进行训练,那么它们如何学会生成使用新引入的 Go 特性和库的代码?
-
我们能否利用重构工具对训练数据进行 "现代化" 处理,使模型学会使用最新的语言特性?
-
Go IDE 应该如何提示模型生成良好的 Go 代码?
-
提示中需要包含哪些内容?IDE 是否需要了解 Go 工作区布局,以便在提示中提供正确的上下文?
-
IDE 是否需要通过 RAG 获取依赖代码并将其包含在提示中?
Go 团队主要是和 VSCode Go plugin 相关的负责人和同学在共同研究这一块 AI 的建设,因为都是 Google 的同事,也都在美国纽约。有明确的先发优势。
如果后面有更大的 AI 辅助工具突破,相信必然是在 VSCode IDE 先出现。(GoLand 有点惨的感觉?)
总结
Go 团队目前的获取信息来源的趋势和考虑内容的方式,还是比较明确的。一块是来自 Go 社区每年都做的开发者调查,所有把泛型的漏洞给堵上了。
另外一块是和业内的大客户们,尤其是 Google 内的 Kubernetes 项目等系统的成员有比较高密度的联系,为他们排忧解难。再反哺到 Go 社区本身,兼容性增强和安全性提高就是由此而生。
这有利也有弊,见仁见智了。不过对于我们用户而言,在 AI 方面,Go 后续能有新的动作,对我们是极好的。