Russ Cox 引退以及他的新项目 Oscar


Go 第一代技术领导人 Rob Pike, 近两年已经隐居澳大利亚。

Go 第二代技术领导人 Russ Cox 2024 年 8 月 2 日宣布卸任,转战 AI 项目,聚焦 Oscar 项目。

Go 第三代技术领导人 Austin Clements,同样和 Russ Cox 一样毕业于美国的一个计算机技术比较出名的一个学院,算是 Russ Cox 的师弟,Austin是Go语言运行时系统和垃圾收集器的主要贡献者之一,在运行时和内存管理等底层系统方面有深入的专长

Russ Cox 他在网上的 ID 是 rsc,他是麻省理工学院 MIT 2008 届的博士毕业生,他本科和研究生都是在哈佛大学就读的,Go team 里的又一个学神。他所在的项目组是隶属于 MIT 计算机科学与人工智能实验室的并行与分布式操作系统组,据网上的资料 Austin Clements 也是在这个实验室这个组。

Russ 在哈佛大学就读期间就在 Bell Labs 贝尔实验室里实习(Russ 出生成长的家就在贝尔实验室附近,所以他从高中时期就一直在贝尔实验室的计算机科学部门泡着,所以大佬们是不是关注一下学区房,自己做不到也要为下一代考虑下 :)),那时候他和 Rob Pike 一起开发贝尔实验室的分布式操作系统 Plan 9 (上世纪 80 年代末由贝尔实验室的 Ken Thompson 和 Rob Pike 等人发起并领导的项目),后来他去 MIT 攻读博士学位期间顺便去了 Google 实习,就在他博士快毕业的时候,Rob Pike 和 Ken Thompson 一起和他介绍了他们正在设计的一门新语言 Go,并大概是这么对他说的:“嘿,我们正试图把我们以前在 Plan 9 开发软件时非常喜欢的所有东西用在那些我们想在 Google 里写的软件里,你想过来帮忙一起搞吗?”,然后 Russ 就这样被这两位传奇程序员拉拢进来,事实上 Russ 一直都认为他能在博士毕业以后直接加入 Go 团队是发生在他人生中最幸运的事之一,他说仿佛自己过去十年所学的一切东西就是为了这一刻而准备的。

他加入团队之后就接手了编译器和 Runtime 这两大核心模块,并协助一起开发了标准库,之后依靠这些先前的经验,他和其他人一起完成了标准库后续的所有重构和优化,这就是为什么当你去看 Go 语言的源码的时候会发现 Russ 的名字几乎无处不在,到处都是他的 commits。

在整个 Go 代码仓库中,Russ Cox 提交的代码量是最多的。(请注意,下图中的人物都是大佬,三代领导人都在里面,包括两巨头和 Ian)

考虑到Russ Cox在Go项目中的资历和地位以及大学的经历,他可能在某些方面扮演了Austin Clements的导师角色,但这只是推测。我同样推测 Russ Cox 和 Rob Pike 之间也有类似的师承关系。只不过国外可能没有咱们中国这种拜师的礼仪,没有磕头敬过酒。

从 Russ Cox 的信中,可以看到实际他领导 Go 项目已经 12 年,从曾经充满理想、热情澎湃的有志青年,已经进入到经历沧桑的中年,他也在思考自己的职业规划。

尤其最近几位知名 Gopher 大佬对他的批评,不知道是否导致他引退的导火索呢?或许大佬内心受伤了,心灰意冷了。

作为一个绝顶聪明,学历和资历都是金字塔的技术大牛,正处于正当打的年纪,你猜 Ross Cox 下一步会做些什么?

当然是结合当前炙热的 AI 技术,再结合 Go 的经验,做一点有意义的事情,说不定又会发展为一个明星的项目。

这个项目叫 Oscar (奥斯卡),一个开源的贡献者 Agent架构。事实上前几天 Russ Cox 已经透露了它的第一个原型:gabyhelp

Oscar 旨在通过创建用于开源维护的 自动化帮助 或 Agent 来改进开源软件开发。我们相信有很多机会可以减少维护大型和小型开源项目所涉及的辛苦。

这句话已经完全说明这个项目的远景了。

大型语言模型(LLMs)能够对自然语言(如问题报告或维护者指令)进行语义分析,并在自然语言指令和程序代码之间进行转换,这为代理与人更顺畅地交互创造了新的机会。LLMs可能最终只是整个图景中小小的(但关键的!)一部分; Agent的大部分行为将是执行标准的、确定性的代码。

Oscar与许多以开发为中心的LLMs使用方式不同,它完全不试图增强或取代编码过程。毕竟,编写代码是开发软件中最有趣的部分。相反,这个想法是专注于那些不那么有趣的部分,比如处理新提交的问题、将问题与现有文档匹配等。

奥斯卡在很大程度上是一个实验。其实 Russ Cox 目前也还不知道它最终会去哪里。即便如此,他们的第一个原型,即 @gabyhelp 机器人,已经在 Go 问题跟踪器中进行了许多成功的交互。这也许是让 Russ Cox 兴奋准备大干一场的动力吧。

目前,Oscar 是在 Go 项目的主持下开发的。在未来的某个时候,它可能会(也可能不会)被分拆成一个单独的项目。

Oscar项目的具体目标是:

  • 减少维护人员解决问题的工作量 [请注意,解决并不总是意味着修复]
  • 减少维护人员解决更改列表 (CL) 或拉取请求 (PR) 的工作量 [请注意,解决并不总是意味着提交/合并]
  • 减少维护者解决论坛问题的工作量
  • 让更多人成为高效的维护者

和 Copilot 等工具不同,自动化编码不是 Oscar目标。相反,我们专注于自动化维护人员的工作

维护者的辛苦并不是 Go 项目所独有的,因此 Oscar的目标是构建一个任何软件项目都可以重用和扩展的架构,构建他们自己的 Agent,根据项目的需求进行定制。因此 Oscar 是:开源贡献者代理架构。等他们完成额差不多,国内的头部互联网也就会推出类似的产品了。

到目前为止, Russ Cox 已经确定了三项能力,它们将成为奥斯卡的重要组成部分:

  1. 在贡献者交互期间索引和显示相关的项目上下文
  2. 使用自然语言来控制确定性工具
  3. 分析问题报告和 CL/PR,以帮助在提交期间或提交后不久实时改进它们,并适当地标记和路由它们

具体的方法 Russ Cox 也在下面这篇文档中描述清楚了,大家可以进一步的了解。

  • Oscar,一个开源的贡献者代理架构

参考资料:

  • https://mp.weixin.qq.com/s/YF6WGHpY3LYOamG6KmasFg
  • https://golang.design/history/cn.html
  • https://strikefreedom.top/archives/my-trip-to-san-diego-for-go-contributor-summit-2023
  • https://groups.google.com/g/golang-dev/c/0OqBkS2RzWw
  • https://go.googlesource.com/oscar/+/refs/heads/master/README.md  

稿源:https://colobu.com/2024/08/02/Russ-Cox-and-his-Oscar/


相關推薦

2024-08-03

位新领导给予了高度评价,称赞他们具备卓越的判断力,以及对 Go 语言和其运行系统有广泛而深入的理解。 rsc 强调这是一个深思熟虑的选择。他认为,尽管长期稳定的领导对大型项目很重要,但领导层的变动也能为项目带来

2022-11-12

版本相对平静:它专注于完善和改进 Go 1.18 引入的功能,以及内部稳定性改进和优化,较为重要的: 在 Go 文档注释中增加了对链接、列表和标题的支持。 为垃圾收集器添加了软内存限制 ,这在容器工作负载中特别有用。

2022-11-02

略的安全修复,包括对os/exec和syscall软件包的安全修复,以及对运行时的错误修复。 syscall, os/exec:环境变量中存在 unsanitized NUL 在 Windows 上,syscall.StartProcess 和 os/exec.Cmd 没有正确检查无效的环境变量值,导致恶意环境

2022-02-18

Go 开发团队技术 leader Russ Cox (rsc) 发文介绍了关于 Go 的版本控制历史。起因是每隔一段时间,总有人用下面这段代码表示 Go 的首次 commit 是在 1972 年: % git log --reverse --stat commit 7d7c6a97f815e9279d08cfaea7d5efb5e90695a8 Author: Brian Kernig

2023-05-06

司 Modular AI 最近发布的编程语言,它结合了 Python 的语法以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。 根据介绍,Mojo 不仅兼容 Python,还比它快 35000 倍。详情查看:AI 开发有了新编程语言, 比 Pyth

2024-07-19

ar Oscar 包地址:https://pkg.go.dev/golang.org/x/oscar 通过 Oscar 项目,开发者可以创建在整个软件开发生命周期中发挥作用的 AI 智能体。这些智能体可以是开发者智能体、规划智能机、运行时智能体或支持智能体。 智能体可以通过自

2023-08-16

x 程序兼容性的 "Go 2"。 昨天,Go 开发团队技术 leader Russ Cox (rsc) 发表博客详细介绍了针对 Go 向后兼容性的改进,并回答了上面的问题。 rsc 回应称,答案是永远不会。如果所谓“破坏”是指不与旧版本兼容、不支持编

2022-09-28

奖」: 载誉前行,Alluxio将继续加大对开源技术的投入以及对商业化落地的推动,与行业同仁一起共同促进开源生态的发展。

2023-09-22

项特性发布为正式功能。 根据 Go 开发团队技术 leader Russ Cox (rsc) 的介绍,Go 开发者经常会犯的错误是在循环迭代结束后,保留​​对循环变量的引用,此时它会采用预期之外的新值。 例如下面的程序: func main() { done := make(

2023-06-14

挥之不去的问题,特别是使用过时的生成器、低效的算法以及与 crypto/rand.Read 相关的不稳定冲突。 此外还可以为标准库中的其他 v2 版本包树立标杆。因为创建 math/rand/v2 能够在一个相对较少使用的包中解决工具问题(在 gopls、g

2022-02-25

版本,右边为 Rust 实现的版本。 Go 开发团队 leader Russ Cox (rsc) 认为 AWS 在这里的比较对 Go 存在严重的误导。他认为,AWS 的文章将两者进行对比时,将 Go 版本的数据与在使用新的数据结构和更多内存后的 Rust 版本数据放在

2024-04-04

建了这些文件。” 2024-03-09:Jia Tan标记并构建了 v5.6.1,以及发布了包含了新后门的 xz 5.6.1 发行版。到目前为止,我还没有看到对新旧后门有何不同之处有任何分析。 2024-03-25:Hans Jansen 回来了(!),提交 Debian bug以将 xz-utils

2023-03-09

架构、Laser计算引擎、DADI缓存、ADB 7.0的架构演进历程,以及PolarDB-PG的计算存储分离架构的存储层、Buffer层、日志层、事务层、HTAP等架构设计思路及核心代码实现。 (图3/于巍分享)  

2022-07-12

。他们还分享了一个显示超过 3,818 个 PyPI 项目的 dashboard 以及 8,218 个被他们认定为“关键”并且可能会被要求采用 2FA 的 PyPI 用户帐户。 此举得到了社区很多人员的支持,目前已有超过 28,000 个 PyPI 用户账户(包括那些与"关键"