実践ガイド

AIに読ませるドキュメント体系──L0〜L6と「正本ルール」

AIの出力がぶれる原因はモデルではなくコンテキストの不備です。AI駆動開発で整えるべきドキュメントをL0〜L6の7階層に整理し、最初に決めるべき「正本ルール」と、縦に1本通す進め方を解説します。

AI Agent CampAI Agent Camp 編集部··5 分で読了

AIに読ませるドキュメント体系──L0〜L6と「正本ルール」

AIエージェントの出力がぶれるとき、原因はモデルの能力ではなくコンテキストの不備であることが大半です。同じ指示でも、参照すべき仕様がどこにあるか分からなければ、エージェントは既存コードから推測します。推測は毎回違う結論になるので、出力が安定しません。

AI駆動開発では、この整備を3本柱のうちの1本として明示的に扱います。

目的主な中身
① ガードレールAI出力の精度を上げる多層品質ゲート(静的解析→テスト→judge→CI)
コンテキスト整備AI出力の安定性を上げる正本ドキュメント群(L0〜L6)、参照優先順位
③ リファクタ/リポ統合AIが直しやすい構造にする複数リポの統合、境界の明確化

本記事は②を扱います。


最初に決めるべき1枚は「正本ルール」

整備を始める前に決めることが1つあります。

どのドキュメントが真実か。矛盾したとき、どれを優先するか。

これを「正本ルール」と呼びます。地味ですが、全レビューの合否基準の前提になります。

正本が決まっていないと、こうなります。

正本ルールに書くべきことは3つです。

  1. 領域ごとの正本の所在(業務ルールはどこ、API仕様はどこ、画面仕様はどこ)
  2. 矛盾したときの優先順位
  3. 更新責任(誰が、どのタイミングで更新するか)

ドキュメントは3色に分けて管理する

作り方が根本的に違うので、種別を分けます。

種別作り方
既存から抽出ER図、テーブル定義書、API定義書(OpenAPI)AIに既存コードから生成させる
新規作成PRD、ユースケース、画面↔APIマッピング、受け入れ基準人+AIで作る
ツール自動生成依存グラフ、リポジトリ構造マップ決定論的スクリプトで生成

3番目を人やAIに書かせないでください。依存関係をAIに推測させると、それらしいが間違ったグラフが出ます。 これは「並列で何体エージェントを走らせられるか」を決める情報なので、不正確だと並列化そのものが壊れます。


L0〜L6 — 依存順に7階層で並べる

整備対象を依存順に階層化しておくと、抜け漏れと着手順が同時に分かります。上が基盤、下が運用寄りです。

内容
L0 コンテキスト基盤CLAUDE.md / AGENTS.md、リポジトリ構造マップ、ドメイン用語集
L1 既存資産の抽出物ER図、テーブル定義書、API定義書(OpenAPI)
L2 プロダクト/要件PRD、画面一覧・ユースケース(Mock起点)、ユーザーフロー
L3 設計デザイン仕様/トークン、フロント設計、シーケンス図、画面↔APIマッピング、拡張API仕様
L4 計画/実行実装計画(タスク分解)、スキル/エージェント割り当て
L5 品質/レビューテストケース、レビュー観点、受け入れ基準、Hooks設定、judgeルーブリック
L6 運用/CI-CDCI/CDチェック項目、デプロイ・運用手順

L0 に書くこと

エージェントが最初に読むファイルです。分量を増やしすぎないのが要点で、次の5つに絞ります。

L1 は「動く仕様書」

既存プロダクトの強みはここです。仕様書が古くても、コードは嘘をつきません。ER図・テーブル定義・API定義はコードから生成し、人が手書きしないのが原則です。手書きは初日から古くなります。

L2〜L3 は Mock を起点にする

新規に作る部分の要件は、Mockから逆算すると抜けが見えます。ユースケースを文章で書き切ってからMockを作ると、書き漏れが残るためです。詳しくは「Mock駆動開発のススメ」をご覧ください。

L3 の画面↔APIマッピング表は特に効きます。ユースケースとシーケンス図から必要なAPIを列挙し、既存API定義と突合して、不足が確定した分だけを拡張APIとして定義する。これをやらずに実装へ入ると、エージェントは存在しないAPIを前提にした実装を出してきます。


メタなドキュメントを1章分持つ

体系そのものに対する説明を別に持っておくと、運用が安定します。実案件では次の3本を独立した章にしています。

ドキュメント中身
AIに読ませる前提知識正本一覧、参照優先順位、ドメイン/機能/モジュールの対応表
AI実装ルール触らせない領域(DB・認可・課金)の指定、変更前に必ず確認させるファイル
AI生成コードのレビュー観点生成物特有のチェック項目(既存パターンからの逸脱、過剰な抽象化など)

これらは人間向けの開発ガイドとは別物です。読者がエージェントである文書として書きます。


進め方:全部揃えず「縦に1本」通す

最も多い失敗が、L0から順に全機能ぶんを揃えようとして力尽きるパターンです。正しくはこうです。

パイロット1機能について、L0 → L6 を縦に1本通す
    L0 コンテキスト基盤
     ↓
    L1 既存資産の抽出物
     ↓
    L2 要件・Mock
     ↓
    L3 設計
     ↓
    L4 計画/実行
     ↓
    L5 品質/レビュー
     ↓
    L6 運用/CI-CD
     ↓
  型が固まってから → 機能2・3・4… へ横展開
                     (以降はチケット単位の差分更新)

縦に1本通すと、体系の欠陥が実装で露出します。横に広げてから欠陥が見つかると、全機能ぶんを手直しすることになります。

そして横展開のフェーズでは、ドキュメントは「作る」ものから「更新される」ものに変わります。 チケットごとに影響範囲の差分を入れる運用に移行してください。この回し方は「チケットからマージまで」で扱います。


整備を高速化する「取得スキル」

機能ごとに毎回ゼロから調べていると、整備が実装に追い越されます。対象機能に関係するテーブル群・業務ルール・アルゴリズムを自動で集めてくる仕組み(スキルやサブエージェント)を先に作ると、以降の整備が高速かつ均質になります。

作り方は素朴で構いません。1機能ぶんを手で調べ、その手順をそのままスキルとして固定するだけです。均質になることのほうが、賢いことより価値があります。


よくある質問

Q. CLAUDE.md にはどれくらい書くべきですか? A. 短いほうが機能します。長大な規約集を置くと、エージェントが重要な行を見落とします。詳細は個別ドキュメントに置き、L0からは参照させてください。目安として、規約本体ではなく「どこを見ればよいかの地図」を書きます。

Q. ドキュメントが実装に追い越されて腐ります。 A. 更新をマージ条件にしてください。PRのチェック項目に「影響したドキュメントを更新したか」を入れる、というレベルの運用で十分に機能します。整備を別プロジェクトとして走らせると必ず腐ります。

Q. ER図やAPI定義は自動生成で十分ですか? A. 十分です。むしろ手書きより信頼できます。人間が読みやすい説明を足したい場合は、生成物とは別ファイルに置き、生成物を上書きしない構成にしてください。

Q. 用語集は本当に必要ですか? A. 業務システムでは最優先です。「常勤」「稼働」「有効」といった語の解釈がずれると、エージェントは一貫して間違った実装を出します。しかも間違いが動いてしまうので発見が遅れます。

Q. どの層から着手すべきですか? A. L0の正本ルールと用語集、次にL1の自動抽出です。この2つで「参照すべき真実」が確定し、以降の生成物の当たり率が大きく変わります。

関連サービス

LINE登録で Claude Code 特典キットを受け取る

スライド自動作成キット・スターターキットを無料プレゼント。友だち登録するだけで受け取れます。

最終確認日: 2026-07-25

関連記事

実践ガイド

既存リポジトリでAI駆動開発を始める順序──まず「変数を減らす」

既存プロダクトへのAI駆動開発の導入で最初に失敗するのは、同時に変えるものが多すぎることです。変数を減らす/分離するという原則と、Phase 0(コンテキスト抽出)・Phase 0.5(構造整理)の実務を解説します。

実践ガイド

プロンプトエンジニアリングとは?AIエージェント時代の実践入門2026

プロンプトエンジニアリングとは何かを実務視点で解説。役割・コンテキスト・タスク・出力形式の4要素テンプレート、Context Engineeringへの進化、Plan Mode・Meta-Prompting、エージェントへの指示設計と学び方をまとめます。

実践ガイド

Mockを「審判」にする──テスト資産がない既存プロダクトでAI駆動開発を回す方法

AI駆動開発の終了条件は「審判」です。テストが無い既存プロダクトで審判をどう作るか、正解の出所(現行実装・制度・Mock・主観)で場合分けして解説します。審判の検証方法まで含めた実践手順です。

実践ガイド

Mock駆動開発のススメ──AIに実装させる前に、Mockで「正解」を固定する

AIコーディングで最初に壊れるのは実装力ではなく受け入れ基準です。Mockを「絵」ではなく「審判」として使うMock駆動開発の考え方と、既存プロダクトへの入れ方を、実案件の型にもとづいて解説します。