概要
https://engineering.dena.com/blog/2025/11/fy25-eng-b-dev-with-ai/
詳細内容
## 新卒エンジニアチームが陥ったAI活用のバッドパターン
https://engineering.dena.com/blog/2025/11/fy25-eng-b-dev-with-ai/
DeNAの新卒エンジニアチームは研修でAI活用における失敗を経験し、人間主体の開発とAIツールの適切な使い分けの重要性を具体的に示した。
**Content Type**: ⚙️ Tools
**Language**: ja
**Scores**: Signal:5/5 | Depth:4/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:5/5
**Main Journal**: 91/100 | **Annex Potential**: 90/100 | **Overall**: 92/100
**Topics**: [[AI駆動型開発, チーム開発, 生成AIツール, コードレビュー, アーキテクチャ設計]]
DeNAの新卒エンジニアチームは、研修で「Gemini」や「Cursor」のCoding Agent機能(以下、Agent)を積極的に活用し、AI時代の開発スタイルを模索する中で「バッドパターン」に直面した。本稿では、AI駆動型開発で陥った具体的な課題とそこから得られた教訓を詳述している。
開発初期段階で「スプリントレビューで触れる成果物を出す」ことに固執し、技術的なキャッチアップを疎かにしたことが、中長期的な効率低下を招いた。Agentにコード生成を任せきった結果、以下のような問題が顕在化した。
1. **キャッチアップ不足による効率の低下**: 技術理解が浅いまま開発を進めたため、一時的に「動くもの」はできたものの、後に設計議論やコード認識合わせに膨大な時間を要した。
2. **すべてのツケをレビューで支払う状態**: PR作成者がAI生成コードの意図を説明できず、レビュワーはコード品質や正当性を一から確認せざるを得なくなり、レビュープロセスが形骸化し、ボトルネックとなった。
3. **設計思想やアーキテクチャの遵守の難しさ**: クリーンアーキテクチャ採用にもかかわらず、設計思想のドキュメント化と共有が不足していたため、Agentに与えるコンテキストが曖昧になり、アーキテクチャの一貫性が損なわれた。これにより、後から修正するコストが肥大化した。
これらの失敗から、チームは以下の三つの教訓を得た。
1. **キャッチアップ時間の確保**: 特にチーム内の経験差が大きい場合、初期段階で技術的な共通認識を築くための学習時間を「必要な投資」と捉え、モブプログラミングやペアプログラミングを活用することが極めて重要である。
2. **人間が担う役割を意識する**: AIがコードを生成する時代だからこそ、人間が最終的な責任を持ち、生成物の評価・修正能力を持つべきだ。また、プロジェクトの大局的な設計思想を策定し、言語化してチームに浸透させる役割はAIには担えない。言語、ライブラリ、フレームワーク、アーキテクチャの基礎知識が不可欠となる。
3. **生成AIやツールの強みと弱みを認識し、使い分ける**: AIは明確なバグ特定と修正、小規模モジュールのビジネスロジック実装、定型的なコード生成や既存コードの改善提案に強みを発揮する。しかし、プロジェクトの設計、そして生成されたコードの最終検証と品質保証は人間が担うべき領域である。タスクの種類や規模、自身の技術レベルとAIの能力を総合的に判断し、「指示を考える時間 + 生成AIの応答待ち時間」と「手書きでの実装時間」を比較して最適な方法を選択することが、AI時代のチーム開発を成功させる鍵となる。
著者は、AIは強力な相棒となりうる一方で、その使い方を誤れば非効率を生み、チームの負担を増大させると結論付けている。エンジニアは「あくまでも人間が主体となってツールを活用する姿勢」と「最終的なオーナーシップを自分が持つという覚悟」を持つことが、今後ますます重要になるだろうと述べている。