はじめに
みなさん、開発に上手くAIを活用できていますか?
仕様駆動開発にも挑戦していますが、なかなか既存のコードを適切に理解させて進めるのは難しく、試行錯誤しています。
そんな中、まずはAIをまだ上手く取り入れられていないメンバーにも、「AIを使うとこんなに便利なんだ」ということを実感してもらうために行った、リファクタ×AI×モブプロ の取り組みを紹介します。
なぜモブプロ×AIなのか?
AIを使ったリファクタリングの課題
AIとリファクタは相性が良いです。
しかし、AIのスピード感に任せてリファクタすると、以下のような問題が発生します:
- PRが巨大化してレビューが大変になる
- 変更の意図が共有されない
- チーム内での合意形成が後手に回る
- レビュアーがうんざりするようなPRになってしまう
解決策:モブプロの活用
そこで、モブプロで会話をしながら作業を進めることにしました。
リアルタイムでの議論と合意形成により、より質の高いリファクタリングを実現できます。
やりかた
- 既存コードを理解する
- リファクタのあたりをつける
- どういうコードが理想か議論する
- AIにリファクタさせる
- 出力されたコードをレビューする
実際の会話例
下記のように、コードを読んで仕様を理解した上で、どのようなコードにしたいかを議論してから指示を出しました。
👩💻「この関数ちょっと長すぎない?」
👨💻「こことここは分割できそう」
👩💻「よし、どうなるか見てみよう」
👨💻「じゃぁこの関数リファクタしてみて」
🤖「了解、リファクタリングします」
👨💻「お、想定通りに関数が3つ作られた」
👩💻「あれ、ここはが修正必要だね」
👨💻「他にも同じような処理あったから、次は共通化させてみよう」
ポイント
小さなサイクルで行うこと
PRが巨大化しないように、1時間と決めてその中でPRを仕上げました。
気になる箇所があっても、そこにはコメントを残して次回に回します。
また、AIのアウトプットのレビューが大変になるので、リファクタさせるのも極力小さい範囲でサイクルを繰り返すようにしました。
リファクタ予想を立ててから行う
リファクタは1日にしてならずです。
「なぜそうするのか?」を理解しないと、また同じようなコードを生んでしまうので、予想と答え合わせをセットで行うような形にしました。
よかったこと
レビューの精度が上がった
モブプロにしたので当然ですが、どういう意図で行った変更か理解しているので、レビュー時には変更点に集中することができました。
また仕様についてもリファクタの時点で理解しているため、実装のミスにも気づきやすくなりました。
リファクタに対するチームの共通認識が持てた
コードをどう書くかは好みの問題もあるので、レビュー時に細かく突っ込みにくいこともあります。
しかし、AIは「こうするのがいいです」とはっきり言ってくれるので、「確かに一般的にはこうするのが良いよね」と言いやすくなります。
また、以下のようなコミュニケーションが増えて、だんだんと良いコードの認識が合っていきます:
- 「ここは定石じゃないけど、わかりやすいから敢えてこうしたいね」
- 「どうしてこうするのが良いんですか?」
- 「このパターンは他の箇所でも使えそう」
まとめ
AIを使ったリファクタリングは強力ですが、チーム開発では「速さ」だけでなく「共通理解」が重要です。
モブプロ×AI×リファクタリングの組み合わせによって:
- ✅ 適切なサイズのPRが作れる
- ✅ チーム全体のコード品質への意識が向上
- ✅ AIの提案を通じて、ベストプラクティスを学習できる
- ✅ 属人化を防ぎ、知識の共有が進む
AIはあくまでツールです。
それを使って「チームでより良いコードを書く」という目的を忘れずに、上手く活用していきましょう。