この記事は 2024年 夏のブログリレー 29日目のものです
他の記事を見たい方は こちら↑ のリンクをクリック!
こんにちは、23B のぷぐまです
みなさんは、生成 AI についてどう感じていらっしゃるでしょうか?
目覚ましい性能の進化と、それに伴う議論とが積極的に行われているのが結構印象的です
特に、直近の 9/13 には OpenAI o1 のプレビュー版がリリースされました
9/13 は traP は合宿の最終日でしたが、帰りのバスの中で o1 についての話も結構盛り上がってました
これまでの Chat GPT を遥かに凌駕する性能ということでかなり SNS とかでも話が回ってきました
今回はそんな生成 AI を、GitHub を用いた集団開発で活用する方法について取り上げます
開発における生成 AI
アプリケーション開発をしている方にとって、生成 AI といえば、 GitHub Copilot や Tabnine を思い浮かべる方が多いんじゃないでしょうか
僕はまだまだプログラミングを学習中なのであまりこの部分で AI に頼ることはしない派なのですが、周りの人々は結構 AI を使っている人が多い印象を受けます
ただ、それ以外にも AI を集団開発で活かす方法があります
PR-Agent を使う
これは、GitHub での PR (Pull Request) の中身を検証し、我々にフィードバックを返してくれるものです
GitHub Actions におけるアクションの一種です
詳細は以下のページからどうぞ! ↓
https://www.codium.ai/products/git-plugin/
できること
PR-Agent の使い方を、実際に導入している traPortfolio のリポジトリの PR を用いてご説明します
最初に私たちがすることは、PR を立てることだけ!
一応軽めの説明はつけて、あとはコードからは確認しづらい実際の見え方を画像にして貼り付けていますが、これだけで大丈夫です
それをすれば、自動で以下のような説明文をつけてくれます
他にも、PR を見るときにどれくらいの労力が必要かも分析してくれたり、 PR での変更点においてさらに改善できそうな部分について教えてくれたりします
労力は (ラク) 1 - 5 (大変) の 5 段階、改善案については (重要度低) 1 - 10 (重要度高) の 10 段階で出してくれます
該当の PR の URL を以下に貼り付けておきます
見てみたい方はぜひ
https://github.com/traPtitech/traPortfolio-UI/pull/193
セットアップ方法
PR-Agent を実際の開発で使うために必要なことは、GitHub Actions の設定ファイルを書くこと だけです!
現に、先程挙げた traPortfolio のリポジトリでは以下のように設定を書いています
https://github.com/traPtitech/traPortfolio-UI/blob/master/.github/workflows/pr-agent.yaml
ここで環境変数として設定していることは、
- Chat GPT の API キー
- PR の説明文を自動的に出力させるか
- PR の改善案を自動的に出力させるか
- PR の説明文を書くときに、PR を立てたときの元の説明文を保持するか
- AI からの出力を英語ではなく日本語にすること
などの項目です
残りの項目は通常のワークフローと変わらないので、公式サイトを見ていただければ割と簡単に設定できるんじゃないかなと思います
ただ、相手が生成 AI ですから、最初に設定したときは想定外の出力が返ってきたこともありました
想定外といっても全く関係のない内容とかではなく、本来なら日本語で返ってくるはずの出力が英語で返ってきたという感じですが、ちょっと最初は扱いが難しいかもしれません
さいごに
今回は生成 AI を GitHub での集団開発にこうやって活かせる、というお話でした
みなさんも興味があればぜひ使ってみてください!
明日は…
明日は @Synori くんと @Takeno_hito さんと @hijoushiki さんです!
お楽しみに!