Claude Code 公式ベストプラクティス:5つのレイヤーで構築する最強のAIパートナーのサムネイル

はじめに

AIへの指示が、いつの間にか「巨大な壁」になっていませんか?

一つのファイルにルールを詰め込み、AIの記憶容量(コンテキスト)を圧迫し、レスポンスが極端に遅くなる。
場当たり的な指示の追加は、AIの判断を鈍らせ、結果として人間がすべてのコードをチェックし直すという、本末転倒な事態を招きます。

この記事をお勧めしない人

  • AIを「便利なコピペツール」としてしか見ておらず、自律的なパートナーに育てたくない人。
  • システムの全体構造を設計することより、目の前の1行を修正することだけに執着する人。
  • 複数のツールを使い分ける手間を惜しみ、単一のプロンプトですべてを解決したい人。

重すぎる「脳」が引き起こす停滞

  • すべての知識を常にAIに持たせると、推論の精度が分散し、単純なミスが多発するようになる。
  • AIの「注意力」が枯渇し、重要なアーキテクチャの制約を無視した「動くだけのコード」が量産される。
  • 開発が進むほどにコンテキストが重くなり、プロジェクトは「AIにはもう手に負えない」巨大な負債の塊へと変貌する。

5つのレイヤーによる「脳の最適化」

  • この記事を読めば、AIの認知リソースを5つの層に分散し、常にクリアな思考で開発を加速させる明るい未来があります。
  • 具体的には、CLAUDE.md、Rules、Skills、Subagents、MCPを正しく使い分け、AIの自律性を最大化する設計図を手に入れられます。
  • この方法は、複雑な3層分離アーキテクチャを採用する本プロジェクトにおいて、高い品質を維持し続けるための基盤となっています。
  • この情報は、AIを「単なる道具」から「自律したエンジニア」へと昇華させるための、究極のコンテキスト工学です。

このブログもそうでした

筆者も最初はすべてのルールを CLAUDE.md に書いていましたが、AIがパンクし、開発が止まってしまう恐怖を味わいました。
この記事で、AIの「脳」を整理し、10年後も共に歩めるパートナーを構築するための、実践的なレイヤー設計のTipsをまとめました。
最強のAI開発環境を構築したい方は、各レイヤーの詳細を確認できます。

開発の進捗

  • Before: 肥大化した CLAUDE.md によりAIのレスポンスが低下し、指示の競合や無視が頻発していた。
  • Current: 5つのレイヤー(CLAUDE.md/Rules/Skills/Subagents/MCP)への役割分散が完了し、AIの認知負荷を大幅に削減。
  • Next: 各レイヤー間の連携を自動化し、人間が介入せずとも高品質なコードが生成され続ける自律システムを目指す。

具体的なタスク

  • Before: ルール、手順、外部連携の定義が一箇所に混在し、情報の再利用性が低かった。
  • Current: パスベースのRules適用と、Skillによる定型ワークフローの抽出を完了。
  • Next: MCPを通じた本番環境データとの動的同期を強化し、AIが常に最新のプロジェクト状態を把握できるようにする。

5つのレイヤーの全体構造(関わり合いの俯瞰)

Claude Codeのカスタマイズは、AIの「脳(内部レイヤー)」と「手(外部レイヤー)」を分離して設計することで、AIの認知リソース(スタミナ)を最適化し、精度の高い出力を維持する Context Engineering(コンテキスト工学) の営みです。

| レイヤー | 分類 | 役割 (Role) | 関わり合いの性質 |
| : | : | : | : |
| CLAUDE.md | 内部 | マスター設定 | 全てのレイヤーへのリンクを持つ「ハブ」 |
| Rules | 内部 | ドメイン知識 | 特定の作業時のみ呼び出される「専門知識」 |
| Skills | 内部 | 作業手順 | 人とAIが協調する「ワークフロー」 |
| Subagents | 内部 | 自律実行 | メインコンテキストを汚さない「隔離作業員」 |
| MCPs | 外部 | 外部接続 | コードベース外から情報を供給する「手」 |

2. 各レイヤーの詳細な関わり合い

① CLAUDE.md:全レイヤーの「インデックス」

CLAUDE.mdはセッション開始時に必ず読み込まれる唯一のファイルです。

  • ハブ機能 : 300行以内で「WHAT/WHY/HOW」を記述し、詳細はRulesやSkillsへポインタ(参照)を飛ばす役割を担います。
  • 相互作用 : Claudeが最初にCLAUDE.mdを読むことで、「このプロジェクトにはどんなRulesがあり、どのSubagentを使うべきか」という全体戦略を立てられるようになります。

② Rules:コンテキストの「動的フィルタ」

.claude/rules/ に配置され、パスベース(YAMLフロントマター)で発動します。

  • 相互作用の最適化 : 例えば「DBの命名規則」というRulesは、SQLファイルを触る時だけ読み込まれます。
  • 利点 : 無関係な知識(CSSの知識など)が混ざるのを防ぎ、AIの注意力を「今やるべきこと」に集中させます。

③ Skills:対話型「ワークフロー」

ユーザーが / コマンドで起動する、反復可能なマルチステップの手順です。

  • 人との関わり : アーキテクチャの決定など、実行途中で「ユーザーの承認や判断」が必要な場合に最適です。
  • Rulesとの連携 : Skillの実行プロセスの中で、特定のRulesを参照して品質を担保させることができます。

④ Subagents:コンテキストの「隔離・節約」

Claudeが自動で、あるいは指示により起動する独立した専門アシスタントです。

  • 相互作用の隔離 : 大規模な検索やリファクタリングなど、大量のログが出る作業を「別ウィンドウ(コンテキスト)」で実行させます。
  • 利点 : 作業完了後に「結果だけ」をメインセッションに持ち帰るため、メインエージェントの記憶(コンテキスト)が汚れるのを防ぎます。

⑤ MCPs:外部情報の「供給源」

GitHub、Slack、データベースなどの外部ツールへの接続口です。

  • 情報の橋渡し : MCPを通じて取得した外部データ(例:Sentryのエラーログ)を元に、Rulesに従ってSubagentsが修正を行う、という高度な連携が可能です。

3. 「防衛拠点」構築のための決定フロー

どのレイヤーに定義すべきか迷った際は、以下の問いに沿って配置を決定します。

  1. 「常に守るべき共通の地図か?」
    CLAUDE.md (プロジェクト概要、コアファイル構成)
  2. 「特定のファイルに関わる深い専門知識か?」
    Rules (デザインシステム、セキュリティ要件、DBパターン)
  3. 「人がトリガーする繰り返し作業か?」
    Skills (新規ページ作成、デプロイチェック)
  4. 「自動で任せたい重い自律タスクか?」
    Subagents (セキュリティ監査、大規模リファクタリング)
  5. 「コードベース外(GitHub/Slack等)に触れるか?」
    MCPs (Issue管理、監視データ取得、通知)

4. 段階的な構築アプローチ (Strategy)

いきなり全てを作るのではなく、以下の順で「製造ライン」を整備します。

  1. Step 1: CLAUDE.md で地図を作り、AIに「今どこにいるか」を教える。
  2. Step 2: 重要なドメイン知識(優作さんの延命術など)を Rules に分離し、AIの脳を整理する。
  3. Step 3: 週に数回やるルーチンを Skills にしてスラッシュコマンド化する。
  4. Step 4: 重い作業が発生したら Subagents に切り出し、メインのコンテキストを清潔に保つ。

5 📘 Claude Code 5つのレイヤー活用ガイド

  • Project Master (CLAUDE.md)
    役割:プロジェクトの地図と思想
    セッション開始時に必ず読み込まれる「脳」の基盤。WHY(なぜやるか)を定義し、AIの判断軸を固定します。

  • Domain Rules (.claude/rules)
    役割:専門知識の動的フィルタリング
    特定のディレクトリやファイル操作時のみ発動する「法律」。無関係な知識でコンテキストを汚さず、精度を最大化します。

  • Agent Skills (.claude/skills)
    役割:対話型ワークフロー
    人間がトリガーして開始する「反復手順」。アーキテクチャの決定など、人とAIが対話しながら進める共同作業を定式化します。

  • Sub-agents (Autonomous Task)
    役割:自律型の隔離作業員
    メインの会話(コンテキスト)から切り離された「別動隊」。重いリファクタリングや調査を任せ、AIのスタミナ切れを防ぎます。

  • MCP Connections (External Tools)
    役割:外部世界への拡張(手)
    GitHubやDB、Slackなど、コードベースの外側にある情報を供給。他のレイヤーと連携し、真の自律稼働を実現します。

これらの5レイヤーが実際の開発でどう機能したかは、ClaudeMixの記録で確認できます。StripeエージェントがSSoT違反コードを実装し、Claude Codeが監査で検出した事件は「Subagentと主担当AIの役割分担」の実例です。CLAUDE.mdを公式ベストプラクティスで全面リファクタリングした記録は「CLAUDE.mdレイヤーの最適化」の実例です。また、E2EテストのwaitForTimeout禁止をRulesで設計した記録は「Rulesレイヤーで行動を制御する」の具体例です。

参照元 :