Skip to content

動的コンテキスト注入:Contexts の使用

学習目標

動的コンテキスト注入を学習した後、以下のことができるようになります:

  • 現在のワークモードに応じてAIの行動戦略を切り替える(開発、レビュー、リサーチ)
  • Claudeが異なるシーンで異なる優先度とツールの好みに従うようにする
  • 同じセッション内での作業目標の混乱を防ぎ、集中力を向上させる
  • 異なるフェーズの作業効率を最適化する(迅速な実装 vs 深度のあるレビュー)

現在の課題

開発プロセスで以下の問題に遭遇したことはありませんか?

  • 迅速な開発が必要なとき、Claudeが常に過剰に分析し、過度な提案をして進捗を遅らせる
  • コードレビュー時、Claudeがコードを修正するのに急いで、丁寧に読んで問題を発見しない
  • 新しい問題を研究する時、Claudeがまだ理解していないのにすぐコードを書き始め、方向性を間違える
  • 同じセッション内で、開発とレビューを行き来し、Claudeの行動パターンが混乱する

これらの問題の根本原因は:Claudeに明確な「ワークモード」のシグナルがないことです。現在何を優先すべきかを知らないのです。

いつこの方法を使うか

  • 開発フェーズ:AIに機能実装を優先させ、詳細な議論は後で
  • コードレビュー:AIに先に十分に理解させ、その後に改善提案をさせる
  • 技術調査:AIに先に探索学習させ、その後に結論を出させる
  • ワークモード切り替え時:現在の目標を明確に伝える

コアコンセプト

動的コンテキスト注入の核心はAIを異なるワークモードで異なる行動戦略を持たせることです。

3つのワークモード

Everything Claude Codeは3つの定義済みコンテキストを提供します:

モードファイルフォーカス優先度使用シーン
devcontexts/dev.md機能実装、迅速な反復先に動かして、後に改善日常開発、新機能実装
reviewcontexts/review.mdコード品質、セキュリティ、保守性先に問題を発見し、後に修正を提案Code Review、PRレビュー
researchcontexts/research.md問題理解、ソリューションの探索先に理解し、後に着手技術調査、Bug分析、アーキテクチャ設計

なぜ動的コンテキストが必要か?

コンテキスト vs システムプロンプト

システムプロンプトはClaude Code起動時に読み込まれる固定の指示です(agents/rules/ディレクトリの内容など)。AIの基本的な振る舞いを定義します。

コンテキストは現在のワークモードに応じて動的に注入する一時的な指示です。システムプロンプトを上書きまたは補完し、特定のシーンでAIの振る舞いを変えます。

システムプロンプトは「グローバルデフォルト」、コンテキストは「シーンオーバーライド」です。

ワークモードの比較

同じタスクでも、異なるモードでのAIの挙動の違い:

markdown
### タスク:ログイン失敗を引き起こすBugを修正する

#### devモード(迅速な修正)
- 問題を素早く特定
- コードを直接修正
- テストを実行して検証
- 先に動かして、後に最適化

### reviewモード(深い分析)
- 関連コードを十分に読む
- 境界条件とエラーハンドリングをチェック
- 修正案の影響を評価
- 先に問題を発見し、後に修正を提案

### researchモード(徹底的な調査)
- 可能なすべての原因を探索
- ログとエラーメッセージを分析
- 仮説を検証
- 先に根因を理解し、後にソリューションを提示

🎒 事前準備

前提条件

このチュートリアルでは、以下のことを前提としています:

  • クイックスタート を完了している
  • ✅ Everything Claude Codeプラグインをインストール済み
  • ✅ 基本的なセッション管理の概念を理解している

実践:動的コンテキストを使用する

ステップ1:3つのコンテキストの動作を理解する

まず各コンテキストの定義を理解しましょう:

dev.md - 開発モード

目標:機能を迅速に実装し、先に動かしてから改善する

優先度

  1. Get it working(動作させる)
  2. Get it right(正しくする)
  3. Get it clean(きれいにする)

行動戦略

  • Write code first, explain after(先にコードを書き、後に説明する)
  • Prefer working solutions over perfect solutions(完璧なソリューションより動くソリューションを優先する)
  • Run tests after changes(変更後にテストを実行する)
  • Keep commits atomic(コミットをアトミックに保つ)

ツールの好み:Edit、Write(コード修正)、Bash(テスト/ビルド実行)、Grep/Glob(コード検索)


review.md - レビューモード

目標:コード品質の問題、セキュリティ脆弱性、保守性の問題を発見する

優先度:Critical(重要) > High(高) > Medium(中) > Low(低)

行動戦略

  • Read thoroughly before commenting(十分に読んでからコメントする)
  • Prioritize issues by severity(重大度順に問題を並べる)
  • Suggest fixes, don't just point out problems(修正案を提案し、単に問題を指摘するだけにしない)
  • Check for security vulnerabilities(セキュリティ脆弱性をチェックする)

チェックリスト

  • [ ] Logic errors(論理エラー)
  • [ ] Edge cases(境界条件)
  • [ ] Error handling(エラーハンドリング)
  • [ ] Security(injection, auth, secrets)(セキュリティ)
  • [ ] Performance(パフォーマンス)
  • [ ] Readability(可読性)
  • [ ] Test coverage(テストカバレッジ)

出力形式:ファイルごとにグループ化し、重大度順


research.md - リサーチモード

目標:問題を深く理解し、可能なソリューションを探索する

リサーチフロー

  1. Understand the question(問題を理解する)
  2. Explore relevant code/docs(関連コード/ドキュメントを探索する)
  3. Form hypothesis(仮説を立てる)
  4. Verify with evidence(証拠で検証する)
  5. Summarize findings(発見を要約する)

行動戦略

  • Read widely before concluding(結論を出す前に広く読む)
  • Ask clarifying questions(明確化の質問をする)
  • Document findings as you go(探索しながら発見を記録する)
  • Don't write code until understanding is clear(理解が明確になるまでコードを書かない)

ツールの好み:Read(コード理解)、Grep/Glob(パターン検索)、WebSearch/WebFetch(外部ドキュメント)、Task with Explore agent(コードベースの問題)

出力形式:先に発見し、後に提案


ステップ2:コンテキストを選択して適用する

現在のワークシーンに応じて、適切なコンテキストを選択します。

シーン1:新機能を実装する

適用コンテキストdev.md

適用方法

markdown
@contexts/dev.md

ユーザー認証機能を実装してください:
1. メールパスワードログインをサポート
2. JWT tokenを生成
3. ルートを保護するミドルウェアを実装

Claudeはどのように振る舞うか

  • コア機能を迅速に実装
  • 過度な設計をしない
  • 実装後にテストを実行して検証
  • コミットをアトミックに保つ(各コミットで小さな機能を完成)

あなたは以下を見るはずです

  • 実行可能なコードを迅速に取得
  • テストが通過
  • 機能が利用可能だが、まだエレガントではない可能性

シーン2:同僚のPRをレビューする

適用コンテキストreview.md

適用方法

markdown
@contexts/review.md

このPRをレビューしてください:https://github.com/your-repo/pull/123

重点的にチェック:
- セキュリティ(SQL注入、XSS、認証)
- エラーハンドリング
- パフォーマンスの問題

Claudeはどのように振る舞うか

  • まず関連するすべてのコードを十分に読む
  • 重大度順に問題を並べる
  • 各問題に対して修正案を提供
  • コードを直接修正せず、提案のみを行う

あなたは以下を見るはずです

  • 構造化されたレビューレポート(ファイル別、重大度別)
  • 各問題に具体的な位置と修正案がある
  • Criticalレベルの問題が優先的にマークされている

シーン3:新技術の統合ソリューションを調査する

適用コンテキストresearch.md

適用方法

markdown
@contexts/research.md

プロジェクトに分析データベースとしてClickHouseを統合したいので、調査を手伝ってください:

1. ClickHouseのメリットとデメリット
2. 既存のPostgreSQLアーキテクチャとの連携方法
3. 移行戦略とリスク
4. パフォーマンスベンチマークの結果

コードを書かずに、まずソリューションを明確に調査してください。

Claudeはどのように振る舞うか

  • まずClickHouseの公式ドキュメントとベストプラクティスを検索
  • 関連する移行事例を読む
  • 既存のアーキテクチャとの互換性を分析
  • 探索しながら発見を記録
  • 最後に包括的な提案をする

あなたは以下を見るはずです

  • 詳細な技術比較分析
  • リスク評価と移行提案
  • コードなし、ソリューションと結論のみ

ステップ3:同一セッションでコンテキストを切り替える

同一セッション内でコンテキストを動的に切り替え、異なる作業フェーズに適応できます。

例:開発 + レビューワークフロー

markdown
#### ステップ1:機能を実装(devモード)
@contexts/dev.md
ユーザーログイン機能を実装してください。メールパスワード認証をサポートします。
...
#### Claudeが機能を迅速に実装

#### ステップ2:自己レビュー(reviewモード)
@contexts/review.md
先ほど実装したログイン機能のコードをレビューしてください:
...
#### Claudeがレビューモードに切り替わり、コード品質を深く分析
#### 重大度順に問題と改善提案をリストアップ

#### ステップ3:レビュー結果に基づいて改善(devモード)
@contexts/dev.md
上記のレビュー意見に基づいて、CriticalとHighレベルの問題を修正してください。
...
#### Claudeが問題を迅速に修正

#### ステップ4:再度レビュー(reviewモード)
@contexts/review.md
修正後のコードを再度レビューしてください。
...
#### Claudeが問題が解決されたかを検証

あなたは以下を見るはずです

  • 異なるフェーズで明確なワークフォーカスがある
  • 開発フェーズで迅速な反復
  • レビューフェーズで深い分析
  • 同一モードでの行動の衝突を回避

ステップ4:カスタムコンテキストを作成する(オプション)

定義済みの3つのモードがニーズを満たさない場合、カスタムコンテキストを作成できます。

コンテキストファイルの形式

markdown
#### My Custom Context

Mode: [モード名]
Focus: [フォーカス]

## Behavior
- 行動ルール1
- 行動ルール2

## Priorities
1. 優先度1
2. 優先度2

## Tools to favor
- 推奨されるツール

例:debug.md - デバッグモード

markdown
#### Debug Context

Mode: Debugging and troubleshooting
Focus: Root cause analysis and fix

## Behavior
- Start by gathering evidence (logs, error messages, stack traces)
- Form hypothesis before proposing fixes
- Test fixes systematically (control variables)
- Document findings for future reference

## Debug Process
1. Reproduce the issue consistently
2. Gather diagnostic information
3. Narrow down potential causes
4. Test hypotheses
5. Verify the fix works

## Tools to favor
- Read for code inspection
- Bash for running tests and checking logs
- Grep for searching error patterns

カスタムコンテキストの使用

markdown
@contexts/debug.md

本番環境でこの問題に遭遇しています:
[エラーメッセージ]
[関連ログ]

デバッグを手伝ってください。

チェックポイント ✅

以上のステップを完了すると、以下のことができるはずです:

  • [ ] 3つの定義済みコンテキストの動作と使用シーンを理解する
  • [ ] ワークシーンに応じて適切なコンテキストを選択できる
  • [ ] セッション内でコンテキストを動的に切り替えることができる
  • [ ] カスタムコンテキストの作成方法を知っている
  • [ ] 異なるコンテキストでのAIの挙動の明らかな違いを体験する

よくある落とし穴

❌ 間違い1:コンテキストを切り替えず、AIの自動適応を期待する

問題:同一セッション内で、開発とレビューを行き来するが、現在の目標をAIに伝えていない。

挙動:Claudeの挙動が混乱し、時には過剰分析し、時には急いでコードを修正する。

正しい方法

  • コンテキストを明確に切り替える:@contexts/dev.md または @contexts/review.md
  • 各フェーズの開始時に現在の目標を宣言する
  • ## ステップ X:[目標] でフェーズを明確にする

❌ 間違い2:researchモードで迅速な開発を行う

問題:30分以内に機能を迅速に実装する必要があるのに、@contexts/research.md を使用した。

挙動:Claudeが大量の時間を調査、議論、分析に費やし、なかなかコードを書き始めない。

正しい方法

  • 迅速な開発はdevモード
  • 深い調査はresearchモード
  • 時間のプレッシャーとタスクの複雑さに応じてモードを選択する

❌ 間違い3:devモードで重要なコードをレビューする

問題:セキュリティ、金銭、プライバシーに関わる重要なコードをレビューするのに、@contexts/dev.md を使用した。

挙動:Claudeが素早く流し見し、深刻なセキュリティ脆弱性を見落とす可能性がある。

正しい方法

  • 重要なコードレビューは必ずreviewモード
  • 通常のPRレビューはreviewモード
  • 自己迅速反復の時のみdevモード

まとめ

動的コンテキスト注入は、現在のワークモードを明確にすることで、AIを異なるシーンで最適化された行動戦略にさせます:

3つの定義済みモード

  • dev:迅速な実装、先に動かしてから改善
  • review:深いレビュー、問題を発見し修正を提案
  • research:十分な調査、理解してから結論を出す

使用のポイント

  1. ワークフェーズに応じてコンテキストを切り替える
  2. @contexts/xxx.md でコンテキストを明確に読み込む
  3. 同一セッションで複数回切り替えが可能
  4. カスタムコンテキストを作成して特定のニーズを満たすことができる

コアバリュー:AIの振る舞いの混乱を回避し、異なるフェーズの集中度と効率を向上させる。


次回の予告

次回は**設定ファイル詳細:settings.json 完全リファレンス**を学習します。

学習できること:

  • settings.jsonの完全な設定オプション
  • Hooks設定のカスタマイズ方法
  • MCPサーバーの有効化と無効化の戦略
  • プロジェクトレベルとグローバルレベルの設定の優先度

付録:ソースコードリファレンス

クリックしてソースコードの場所を表示

更新日時:2026-01-25

機能ファイルパス行番号
devコンテキスト定義contexts/dev.md1-21
reviewコンテキスト定義contexts/review.md1-23
researchコンテキスト定義contexts/research.md1-27

主要なコンテキストファイル

  • dev.md:開発モードコンテキスト、機能実装を優先
  • review.md:レビューモードコンテキスト、コード品質問題の発見を優先
  • research.md:リサーチモードコンテキスト、問題の深い理解を優先