Go 发布 AI 机器人 Oscar,解决开源项目的维护痛点!

AlwaysBeta

共 2781字,需浏览 6分钟

 ·

2024-07-23 08:00

大家好,我是煎鱼。

前段时间我给大家介绍了 Go 核心团队负责人 rsc 开发的新 AI 轮子 @gabyhelp,目的是对各种 GitHub 日常的 Go 社区管理事项进行自动化管理。

他的 GitHub 账户长这个样子:

当我以为这个事就这样了。没想到 rsc 又搞了一发更大的,给出了更高的产品愿景。

Oscar:开源贡献者代理架构

实际上 rsc 表示 Gabyhelp 只是为开源维护的一个实验原型。

本次新的升级产品叫:Oscar。Oscar 是一个旨在通过为开源软件维护、创建、自动帮助,或 “代理” 来改进开源软件开发的项目。

Oscar 的官方草案

rsc 相信有很多机会可以减少大大小小开源项目的维护工作量。可以将 Oscar 用在整个开源项目的生态中。

具体目标

简单来讲,Oscar 希望能够解决各大开源项目中的维护者的工作量,目的是让维护者的工作能够自动化。

使更多人成为高效的维护人员。

至少包含以下三个目标:

  • 减少项目维护者解决问题的工作量
  • 减少项目维护者处理变更列表 (CL) 或拉取请求 (PR) 的工作量
  • 减少项目维护者处理社区问题的繁杂工作量

会实现的特性

开源项目的维护者的辛苦和重复工作并不是 Go 社区的项目所独有的。

因此目标是:建立一个任何软件项目都可以重复使用和扩展的架构。大家也可以根据自己项目的需要随时建立自己的代理。这就是 Oscar。

已经确定实现的特性有如下三个:

  1. 在贡献者互动期间索引和呈现相关项目背景。
  2. 使用自然语言控制确定性工具。
  3. 分析 issues 和 CL/PR,帮助在提交期间或提交后实时改进它们,并适当地标记和路由它们。

具体案例

向贡献者和维护者提示上下文索引:

1、面向贡献者:

在 Go 项目中,有社区贡献者在 issues 中反馈了新的问题和提案。

Oscar 的前身 @gabyhelp,直接反手甩给他一个关联 issues:

“贡献者” 表示:“好机器人 :)。根据这个问题的讨论,我明白可能无法按照这里建议的方式去做。”

@ianlancetaylor 出现后就直接移除这个 issues 的提案了。从这个例子上来讲,大大地提高了社区项目维护者的工作效率,贡献者直接自通了。

2、面向维护者:

当一个项目大了后,不可能有所有人可能记得住任何 issues 和历史。顶多就是记得探讨过,可能要花很多的时间去寻找。

更不用说有些是涉及人员离职等信息丢失的场景。这种更加的麻烦。

在 go/issues/67938 和 go/issues/67938 中,rsc 提了一些相关的问题(缺陷)。结果被 @gabyhelp 发现之前早已有类似的问题和答复。

如下图:

最终 rsc 对提出的问题缺陷有了更多的认知和思路。

3、与问题提出者快速交流:

由于是 AI 机器人,所以可以 24 小时全年无休与此刻提出问题的人做很多事情。

例如:进行添加详细信息以澄清建议,关闭报告作为重复,根据过去的报告提高错误优先级,或确定修复方案。

AI 机器人可以做到时效性在几分钟内就回答。而平时靠人的话,可能需要数天、数月。那么久后,可能问题提出者也不感兴趣了。

分析 issues 和 CL/PR

发布相关的 issues 是一种有限的分析形式,但 Oscar 计划添加其他类型的语义分析。例如:确定某个问题主要与性能有关,并应添加 “性能” 标签。

简单来讲,就是根据语义做一些事情,自动打标签,分发等事项。还有之前提到的,为 CL/PR 的不标准,进行链接补全等。

一些争议

有社区同学反馈类似的工具在 AI 大行其道之前几年就已经存在了。

他认为根本问题在于 GitHub 的搜索功能并不完善、易用性也有待改善。综合导致用户没法很好的搜索到问题。

其最担心的是,除了问题中的老机器人(指的是 gopherbot[1] 外,可能很快还需要与新的 AI 机器人 Oscar 碰撞,并会在此过程中产生大量不相关的评论。

总结

本次 Go 核心团队对于 Gabyhelp 做了新的产品升级,新的产品名字为:Oscar。项目地址:golang/oscar[2],愿景是解决各大开源项目的繁杂工作和实施自动化。

这作为大佬们的创新项目,希望也能在这次浪潮中创出一片新的空间。也确实解决了一些维护的痛点。

Oscar 目前还在实验阶段,还无法确定最终会做成什么样,走到哪里去。大家可以持续关注一下!

推荐阅读

参考资料
[1]

gopherbot: golang.org/x/build/cmd/gopherbot

[2]

golang/oscar: https://github.com/golang/oscar


关注和加煎鱼微信,

一手消息和知识,拉你进技术交流群👇



你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路

日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!


原创不易 点赞支持

浏览 57
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报