
はじめに
こんにちは。ユーザーレビューグループ(URG)の松井です。
私たちは、DMMで投稿されるレビューを処理するシステムを開発しています。
レビューを支える基盤では、常に品質と速度の両立が求められています。
2025年は、DMM全体でAIエージェント導入が急速に進んだ年でした。
AIエージェントによるコード生成が増え、コードレビューの負荷も一気に高まっていました。
そこで「AIで支援できないか」と考え、コードレビューの自動化に挑戦しました。
その過程で見えてきたのは、AIでは代替できない 人の価値でした。
AI導入と課題
この背景には、PF開発本部で進めている AX(AI Transformation)戦略があります。 私たちのグループでも、AIを活用した生産性向上を推進しており、週次AI分析会やFindy Team+などを活用して、AI活用の文化を根づかせてきました。
一方で、先日PF開発本部 副本部長・石垣さんの記事
「AIエージェントで生産性は上がっていますか?」(2025年10月)では、
AI導入が必ずしも生産性向上に直結しない現実が指摘されています。
私たちも同じ壁を感じ、「コードレビューの自動化」からその要因を見直しました。
自動化の成功例
まず、コードレビューの自動化に取り組む前に、私たちはすでに AIによる完全自動化の成功体験 をしていました。それが自動承認システム(コンテンツモデレーション) です。
これはAIが投稿されたレビューを解析し、禁止語やルール違反を高精度に判定。
結果、全レビューのうち6割以上を人を介さず自動承認されるようになりました。
承認までの時間も、1〜3日から約10分へと大幅に短縮しています。
この成功体験をもとに、次の取り組みが始まりました。
コードレビュー自動化の挑戦
2025年7月、次の取り組みとして私たちはClaude Code Actionを用いてプルリクエストをAIが自動承認する仕組みを構築しました。
生成AIがコードをスコアリングし、一定の基準を満たせば自動承認する仕組みです。
精度は悪くなく、プロンプト調整によって安定した動作も実現できていました。
しかし、私たちのチームには定着しなかった のです。
この違和感の理由こそ、今回の核心でした。
プロンプト例
AIレビューアには以下の4軸でPRを採点させ、自動承認可否を判定させました。
- pr_clarity_score:AI判断の明快さ
- code_quality_score:コード品質
- test_quality_score:テスト品質
- security_quality_score:セキュリティ
基準を満たす場合のみ auto_approval = "Y" として自動承認する仕組みです。
出力例:
{ "auto_approval": "Y", "pr_clarity_score": 0.88, "code_quality_score": 0.87, "test_quality_score": 0.80, "security_quality_score": 0.78, "pr_summary": "ゼロ値問題を修正..", "reason": "定型的な修正であり承認可能" }
意図を共有する
浸透しない理由を探るうちに気づいたのは、
コードレビューとは「品質チェック」だけではなく、「意図を共有する対話」
そのものだったということです。
前述のモデレーションでは、背景や意図の共有は不要ですが、 コードレビューではこの点が決定的に異なっていました。
この気づきが、私たちのAI活用の考え方を大きく変えました。
次の2つのケースを見てみましょう。
ケース1:判断の背景を共有する
「なんでこの実装にしたの?」
「リリースが急ぎだったので、安全側に寄せました」
「なるほど、そういう意図だったのか」
ここで交わされている議論はコードの良否ではなく、判断の背景 です。
この共有こそが、チームの信頼を築きます。
ケース2:未来を見据えた意図共有
次にある人がPRを見て、こう感じたとします。
「Aの機能が作られているなら、次のB機能はAをベースに拡張できそうだ」
「Cをオブジェクトで定義したなら、Dを作るにはCを継承した方がいいな」
これは コードレベルの意図共有 です。
レビューとは実装を評価するだけでなく、次の設計への橋渡し でもあります。
この対話があるからこそ、チームのコードベースは「生きた知識」として成長します。
この部分を削減してしまうと重大なプロセスが失われてしまいます。
信頼は対話の中で生まれ、ここにAIが踏み込めない"人の領域"がありました。
生成AIの気づき
意図共有の重要性を実感した一方で、生成AIとの協働が進む中で、 その欠如がどんな影響を生むかも見えてきました。
AIが生成したコードは整っており、テストも通ります。しかし「なぜそうしたのか」という文脈までは共有されません。
AIでも理由を生成できますが、迷い・比較・判断の揺らぎ まではうまく表現できません。そのため、AIが生成したPRはただしく動くが、信頼できるとは限らない のです。
この「信頼の層」こそ、人が担うべき領域です。
良いチームとは、コードを通じて多くの意見を交わし、設計を磨き合えることです。 逆に「AIができるから」と思考を止めてしまえば、変化に弱いチームになります。
私たちの学び
一方で純粋なコードの品質チェックはAIに任せることが可能です。
しかし、意図を共有し、理解を深める時間こそ、人が担うべき工程 です。
「意図共有を省略しないこと。」
それは理解と信頼の基盤であり、AIでは置き換えられない人の役割です。
AIがPRの整理や論点抽出を支援することは有効ですが、 結果をどう受け止め、次につなげるかは人同士の対話の中で生まれます。
また整理すると、コードレビューは2つのLayerで構成されることがわかります。
| Layer1:コード品質 | AI(得意) |
|---|---|
| Layer2:意図・判断 | 人(得意) |
これから
コードが大量生成される時代だからこそ
「なぜそうしたのか」を語り合う意図共有の価値が高まっています。
AIによる自動化だけを進めると短期的に速いが、変化に弱いチームになる。
意図共有を重ねれば、時間はかかるが、変化に強いチームになる。
このバランス設計こそ、AI時代の開発の要だと私たちは考えます。
そして今、次の設計図を描くのは、私たち自身です。
― あなたのチームなら、このバランスをどう設計しますか?