1. コンテキストとは何ですか?なぜ重要ですか?
AIモデルは中身を「見る」ことしかできない コンテキストウィンドウ — リクエストごとに処理するテキストの量。十分なコンテキストを提供しない場合、AI は「推測」し、多くの場合、間違った推測をします。
Context window: [System prompt + Custom instructions + Your prompt + Attached files + History]
↑ tất cả phải fit trong giới hạn tokens của model
良いコンテキスト = 良いコード。 これが効果的な Vibe コーディングの原則 1 です。
2. Copilot のコンテキストの種類
2.1.暗黙的なコンテキスト (自動)
Copilot は以下を自動的に収集します。
- ファイルはアクティブです エディターで
- 選択 現在(ある場合)
- タブを開く
- ワークスペースの構造 (ファイル/フォルダーツリー)
- 診断 (エラー、警告)
- 端子出力 最寄りの
2.2.明示的なコンテキスト (あなたが提供)
積極的に添付するもの:
- #ファイル: 特定のファイルを添付します
- #選択: 選択されているコード
- #エディター: エディタ内の表示領域全体
- #コードベース: ワークスペースでの検索セマンティクス
- #terminalLastCommand: 実行したコマンドの出力
- ドラッグ&ドロップ ファイルをチャットに追加する
- 画像: スクリーンショットを添付 (2026 年 3 月の機能)
3. コンテキスト変数を使用する
3.1. #file — 特定のファイルを添付する
// Trong Chat view:
Look at #file:src/models/User.ts and #file:src/services/AuthService.ts
and create a password reset flow following the same patterns.
入力するとき #ファイル:, VS Code には、選択できるファイル ピッカーが表示されます。
3.2. #selection — コードが選択中です
// Select đoạn code trong editor, rồi trong Chat:
Explain #selection and suggest how to optimize it for performance.
3.3. #codebase — ワークスペースでの検索セマンティクス
// Copilot tự tìm files liên quan trong codebase:
#codebase How is authentication implemented in this project?
Show me the auth middleware and token verification logic.
3.4. #terminalLastCommand — 出力ターミナル
// Sau khi chạy test fail trong terminal:
#terminalLastCommand Fix the failing tests. Analyze the error output
and make the necessary code changes.
4. ワークスペースのインデックス作成
VS Code は、Copilot がコードベースを理解できるように、ワークスペースに自動的にインデックスを付けます。
- セマンティックインデックス: コードの意味を理解する (関数、クラス、関係)
- シンボルインデックス:関数名、変数、型
- ファイル構造: プロジェクトの構造を知る
エージェントを実行すると、次のようなツールを使用できます。 検索します。検索、 リストディレクトリ、 読む 提供されたコンテキストに基づいてだけでなく、コードベースを積極的に探索します。
5. 効果的なコンテキスト戦略
5.1.プロンプトが表示される前に正しいファイルを開きます
// Trước khi viết prompt "Create UserService":
// Mở các files liên quan trong editor tabs:
Tab 1: models/User.ts → Copilot biết User schema
Tab 2: services/AuthService.ts → Copilot biết coding pattern
Tab 3: routes/authRoutes.ts → Copilot biết route conventions
Tab 4: tests/auth.test.ts → Copilot biết testing pattern
5.2.既存のパターンを参照する
// Thay vì mô tả pattern từ đầu:
Create a ProductService following the exact same pattern as
#file:src/services/UserService.ts — same error handling,
same repository pattern, same validation approach.
5.3.明示的な制約を提供する
// Context about project conventions: Our project uses: - Prisma for database (schema at #file:prisma/schema.prisma) - Zod for validation (see pattern in #file:src/schemas/userSchema.ts) - Custom AppError class for errors (#file:src/utils/AppError.ts)
Now create the OrderService with CRUD operations.
6. 新しいセッションと継続セッションはいつですか?
| 状況 | アクション | 理由 |
|---|---|---|
| 同じ機能を継続する | 続ける | コンテキストと履歴を保持する |
| まったく新しい機能 | 新しいセッション | コンテキストがきれいでノイズがない |
| コンテキストが長すぎます | 新しいセッション + 概要 | コンテキストのオーバーフローを回避する |
| エージェントが間違った方向に進んでしまう | 新しいセッション +言い換え | 歴史の間違いをリセットする |
| デバッグ関連の問題 | 続ける | AIはまずそれを修正する方法を知る必要がある |
ヒント: 新しいセッションを作成するときの概要
// Khi context quá dài, tạo new session với summary: Context from previous session: - We're building a task management app with Next.js 15 + Prisma - Backend API is done (auth, CRUD for tasks, projects) - Database schema is finalized - Currently working on frontend
Continue from: Create the Task list page component with filtering and sorting capabilities.
7. コンテキストとしての画像 (2026 年の機能)
2026 年 3 月からは、 画像を添付する エージェントセッションに移動します。
- UIデザインのスクリーンショット→「このUIを構築する」
- エラーのスクリーンショット → 「このエラーを修正する」
- 図/ワイヤーフレーム → 「このアーキテクチャを実装する」
- Figma エクスポート → 「このデザインを React コンポーネントに変換」
8. アンチパターンは避けるべきです
- コードベース全体をダンプする: コンテキストが多すぎる = ノイズ、AI が混乱する
- コンテキストが提供されていません: AI はすべてを推測する必要があります
- 添付ファイルは関係ありません: コンテキストウィンドウを無駄にする
- 継続セッションが長すぎます: コンテキストの劣化、AI は最初の情報を「忘れる」
- フォーマットなしのコピー&ペーストエラー: AI に混乱を引き起こす
9. まとめ
コンテキスト管理はスキルです Vibe コーディングの品質を決定する:
- ✅ 正しいファイルを開く → 適切な暗黙的コンテキスト
- ✅ #file、#selection、#codebase → 明示的なコンテキストを正しく使用する
- ✅ 既存のパターンを参照 → 一貫した出力
- ✅ コンテキストが肥大化した場合の新しいセッション → 劣化を回避
- ✅ UI タスクの画像を添付 → ビジュアルコンテキスト
次の曲はカバーになります 高度なプロンプトパターン — スラッシュ コマンド、チャット参加者、および独自のプロンプト ライブラリを構築する方法。