feature image

2024年9月16日 | ブログ記事

生成 AI (codium-ai/PR-Agent) で集団開発をラクにしよう!

この記事は 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/

CodiumAI’s PR-Agent | CodiumAI
Introducing PR-Agent. The AI-assisted open-source tool for seamless pull request analysis and feedback.

できること

PR-Agent の使い方を、実際に導入している traPortfolio のリポジトリの PR を用いてご説明します

最初に私たちがすることは、PR を立てることだけ!
一応軽めの説明はつけて、あとはコードからは確認しづらい実際の見え方を画像にして貼り付けていますが、これだけで大丈夫です

結構画像がデカくて結構書いてるように見えますが、文量は少なめ

それをすれば、自動で以下のような説明文をつけてくれます

他にも、PR を見るときにどれくらいの労力が必要かも分析してくれたり、 PR での変更点においてさらに改善できそうな部分について教えてくれたりします

労力は (ラク) 1 - 5 (大変) の 5 段階、改善案については (重要度低) 1 - 10 (重要度高) の 10 段階で出してくれます

重要度を数字で出してくれるのが結構ありがたい

該当の PR の URL を以下に貼り付けておきます
見てみたい方はぜひ
https://github.com/traPtitech/traPortfolio-UI/pull/193

コンテストチームの複数表示に対応 by Pugma · Pull Request #193 · traPtitech/traPortfolio-UI
User description確認お願いします〜変更前 変更後のデザインは以下のとおりです close #192 PR TypeEnhancement Description コンテストチームの複数表示に対応し、各チームの名前と結果を表示するように変更コンテスト名を<h4>タグに変更し、視覚的な階層を明確化CSSスタイルを微調整し、リンクのマージンと詳細情報…

セットアップ方法

PR-Agent を実際の開発で使うために必要なことは、GitHub Actions の設定ファイルを書くこと だけです!
現に、先程挙げた traPortfolio のリポジトリでは以下のように設定を書いています
https://github.com/traPtitech/traPortfolio-UI/blob/master/.github/workflows/pr-agent.yaml

traPortfolio-UI/.github/workflows/pr-agent.yaml at master · traPtitech/traPortfolio-UI
Contribute to traPtitech/traPortfolio-UI development by creating an account on GitHub.

ここで環境変数として設定していることは、

などの項目です

残りの項目は通常のワークフローと変わらないので、公式サイトを見ていただければ割と簡単に設定できるんじゃないかなと思います

ただ、相手が生成 AI ですから、最初に設定したときは想定外の出力が返ってきたこともありました
想定外といっても全く関係のない内容とかではなく、本来なら日本語で返ってくるはずの出力が英語で返ってきたという感じですが、ちょっと最初は扱いが難しいかもしれません

さいごに

今回は生成 AI を GitHub での集団開発にこうやって活かせる、というお話でした
みなさんも興味があればぜひ使ってみてください!

明日は…

明日は @Synori くんと @Takeno_hito さんと @hijoushiki さんです!
お楽しみに!

Pugma icon
この記事を書いた人
Pugma

23B / 普段はWebアプリケーション全般を幅広く / 競技プログラミングもたまにつまみ食い

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2024年9月20日
2024年 1-Monthonを開催しました!!
Synori icon Synori
2024年9月17日
1か月でゲームを作った #BlueLINE
Komichi icon Komichi
2024年8月21日
【最新版 / 入門】JUCEを使ってVSTプラグインを作ろう!!!!【WebView UI】
kashiwade icon kashiwade
2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2022年9月26日
競プロしかシラン人間が web アプリ QK Judge を作った話
tqk icon tqk
2022年9月16日
5日でゲームを作った #tararira
Komichi icon Komichi
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記