コンテキスト管理
AIに適切な情報を与える技術
コンテキストとは
コンテキストとは、AIが回答を生成するために参照する「背景情報」のことです。 適切なコンテキストを与えることで、より正確で的を射た回答が得られます。
重要: AIは与えられた情報しか知りません。 「このファイルを見て」と言わなければ、そのファイルの内容は考慮されません。
コンテキストの種類
プロジェクト情報
- • 技術スタック(言語、フレームワーク)
- • ディレクトリ構造
- • 命名規則・コーディング規約
- • 依存関係(package.json等)
関連コード
- • 編集対象のファイル
- • 関連するコンポーネント/モジュール
- • 型定義ファイル
- • テストファイル
ドキュメント
- • API仕様書
- • README
- • 外部ライブラリのドキュメント
エラー情報
- • エラーメッセージ全文
- • スタックトレース
- • ログ出力
ツール別のコンテキスト指定
🤖 Claude Code
# ファイルを指定して読み込み
"src/lib/auth.tsを読んで、このパターンに合わせてsrc/lib/user.tsを作成して"
Claude Codeは自動的にファイルを読み取り、コンテキストに追加します。
📝 Cursor
# @でファイルを参照
@src/lib/auth.ts このパターンに合わせて @src/lib/user.ts を修正して
@ファイル名、@フォルダ名、@Docsでコンテキストを追加。
🐙 GitHub Copilot
# 関連ファイルを開いておく
// 編集中のファイルと、開いているタブのファイルが自動的にコンテキストに
参照させたいファイルは事前にタブで開いておく。
コンテキストの最適化
✓ 必要な情報だけを与える
関係ないファイルを大量に渡すと、AIが混乱する可能性があります。 タスクに直接関係するファイルに絞りましょう。
✓ 型定義を含める
TypeScriptプロジェクトでは、型定義ファイルを含めると精度が大幅に向上します。
✓ 既存パターンを示す
「この既存ファイルと同じパターンで」と指定すると、一貫性のあるコードが生成されます。
✗ 避けるべきこと
• コードベース全体を丸投げ(コンテキスト長の無駄遣い)
• 機密情報を含むファイル(.env、credentials等)
• 古いコメントや無関係な履歴
セッション管理のコツ
- • 長い会話は分割: 話題が変わったら新しいセッションを開始
- • まとめを依頼: "今までの変更内容をまとめて"
- • コンテキストリセット: 混乱したら /clear で最初から
- • 重要情報は繰り返す: 長い会話では前提条件を再度伝える