AIがコードベースの40%を共同執筆した:4ヶ月155コミットの振り返り
- URL: https://dev.classmethod.jp/articles/ai-co-authored-40-percent-codebase-155-commits-retrospective
- 日付: 2026-06-26
- Tier: Tier 2
- 要旨: 4ヶ月・155コミットにわたる問い合わせ対応 RAG システム(Next.js + FastAPI + Amazon Bedrock Knowledge Bases)の開発記録。そのうち 62 件(40%)が Claude Code との共同執筆で、最初の1週間は Opus 4.6、その後は Sonnet 4.6 を使用した。フルスタック実装・デバッグ・リファクタリング・ドキュメント生成の各フェーズで AI が機能した一方、社内固有のドメイン知識・インフラ起因トラブルシューティング・微細な UI 調整は人間が担う役割として残った。.plans/ ディレクトリに 39 件の設計ドキュメントを蓄積し、AI との対話を意思決定ログとして残す運用も特徴的。
詳細
プロジェクト概要: 問い合わせ対応向け RAG システム(Next.js + FastAPI + Amazon Bedrock Knowledge Bases)をほぼ一人で開発。2026年3月12日〜6月18日(約14週間)、総コミット155件のうち 62件(40%)が Claude Code との共同執筆、76件(49%)が人間のみ、17件(11%)が Dependabot 自動更新。Python ソースコード約4,500行、TypeScript/TSX 約3,000行。設計ドキュメント 39ファイルを .plans/ に蓄積。
モデル変遷: 最初の1週間(2026-03-12〜03-18)は Claude Opus 4.6 で13コミット、以降は Claude Sonnet 4.6 で49コミット。Co-Authored-By トレーラーのモデル名で後から移行タイミングを追跡できた。~/.claude/settings.json の attribution.commit を空文字列に設定するとトレーラーを無効化できる。
AI が特に有効だった場面:
- フルスタック機能の初期実装(FastAPI エンドポイント・Pydantic モデル・React コンポーネント・SSE イベント・OpenAPI 仕様を1セッションで実装)
- 複合バグのデバッグ(SSE ストリーミング問題など一見1つに見えるバグが4つの独立した原因の複合だったケースで構造的分析が有効)
- boto3 → anthropic SDK 移行や Docker 基盤整備など「壊さずに置き換える」リファクタリング
- ドキュメント・設定ファイルの整備
AI が苦手だった場面:
- 社内固有のドメイン知識(カテゴリ ID ルールなど言語化して教える必要がある)
- VPN 経由 SOCKS プロキシ・EC2 インスタンスロール権限・nginx バッファリングなどインフラ起因のトラブルシューティング
- 感覚的な UI の微細調整(言語化コストが自分で直すより高い)
CLAUDE.md での AI スコープ制約例: 「明示的に要求されていない機能のコードを生成しない」「Pydantic モデルへのフィールド追加はルートとフロントエンド両方で参照されるものだけ」「実装後に呼び出し元がない関数はコミット前に削除する」といったルールを記述し、AI が「よかれと思って」余計な機能を追加する傾向を抑制した。
月別コミット分布: 3月24件(プロトタイプ・データパイプライン基盤)、4月55件(UI 刷新・SSE ストリーミング)、5月60件(構造化出力・SDK 移行・OpenAPI 整備)、6月16件(OpenSearch NextGen 移行・API Gateway 連携)。4月・5月の急増は AI 共同開発のテンポが掴めてきた時期と一致すると著者は述べている。