Google、オープンソースのメンテナの負担をAIなどで軽減する「Project Oscar」を発表
今回は「Google、オープンソースのメンテナの負担をAIなどで軽減する「Project Oscar」を発表」についてご紹介します。
関連ワード (現時点、要求、過去等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Googleは、オープンソースのプロジェクトにおいてメンテナが行っているさまざまな作業を、生成AIなどによる支援で軽減する「Project Oscar」を、インドのバンガロールで行われたイベント「Google I/O Connect Bengaluru 2024」で発表しました。
オープンソースプロジェクトには、Issueやプルリクエストやフォーラムでの質問などコントリビュータから寄せられるため、メンテナはこれらに目を通して、不足している情報があれば指摘し、関連する情報があれば補足し、質問に返答するなど、コードを書く以外のさまざまな作業をしなくてはなりません。
プロジェクトが大きくなればなるほど、こうした作業の負荷は大きくなっていきます。
これらの作業を軽減し、コードを書くという最も楽しい作業に多くの時間をメンテナが割けるように支援するのが「Project Oscar」です。
すでにGoogleがオープンソースで開発しているGo言語のプロジェクトで試験的に採用され、開発が進められています。
Project OscarのプロトタイプがGoプロジェクトで稼働中
Project Oscarは、投稿されたIssueに対してプロジェクトの過去のIssueやドキュメントなどから関連性の高い情報へのリンクをリプライとして投稿します(関連する情報が見つからなければリプライしません)。
これにより、すでに解決済みだったり似たようなIssueがあるかどうかなどがすぐに分かるため、投稿者もメンテナもIssueをより深く理解できて、より迅速かつ正確にIssueを解決することにつながります。
こうした作業は必要に応じてメンテナによって人力で行われてきましたが、Project Oscarによりメンテナの負荷が軽減されるだけでなく、Project OscarによるリプライはIssueが投稿されてから数分で行われるため、質問者はリプライに対してすぐに反応でき、より詳しい情報を追加したり、あるいは過去のIssueと重複しているのであれば統合するなどの作業に結びつけやすくなります。
すでにProject OscarのプロトタイプがAIボットの「@gabyhelp」(GabyはGo AI botの略)としてGoプロジェクトのIssueで稼働しており、例えば「runtime/pprof: better generic type information in pprof stack traces · Issue #68196 · golang/go」のリプライを返し、建設的な議論に貢献しています。
また、Issueがソフトウェアのパフォーマンスに関するものであれば「Performance」ラベルを付けることや、担当のメンテナをアサインすること、再現用にプレイグラウンドへのリンクを要求するなど、AIの自然言語の分析能力を用いてプロジェクトで用意されているツールを適切に用いるための支援も行えるようにするとしています。
オープンソースで公開予定
Project Oscarは現在アーリープレビューで、今後オープンソースで公開される予定です。説明によると現時点でAIボットの@gabyhelpは、GoogleのGeminiとキーバリューストレージのPebble、インメモリのベクトルデータベースを用いており、ローカルマシン上で実行しているとのことです。
今後は、例えば生成AIにOllama、キーバリューストレージとベクトルデータベースにはGoogle Cloud Firestoreなどのオプションを選択できるようにし、さまざまな環境で実行できるようにするとしています。