初めてのエージェントセッション
エージェントがコマンドの実行、ファイルの書き込み、サーバーの起動など、あなたのマシン上で行うすべてのアクションは、ツールを通じて実行されます。デフォルトでは、ターミナルコマンドを実行する前に明示的な承認が必要です。このガイドでは、承認の仕組み、セッションに適した自律レベルの設定方法、そして作業が進むにつれてコンテキストの予算を監視する方法について説明します。
ツール呼び出しの承認について
エージェントがターミナルコマンドを実行しようとすると、実行予定の正確なコマンドが表示された承認ダイアログが表示されます。内容を確認し、正しければ承認してください。もし何か不審な点があれば、スキップを選択し、指示を修正するためのメッセージを送ってください。
スコープ指定された承認
承認のドロップダウンでは、承認をどの範囲まで適用するかを細かく制御できます。これには2つの側面があります。
具体性 - 承認がどの程度広く適用されるか
- コマンドプレフィックス - 特定のプレフィックスで始まるすべてのコマンドを承認します。
- 完全一致コマンド - その正確なコマンドラインのみを承認します。
- すべてのコマンド - すべてのターミナルコマンドを承認します。
スコープ - 承認がどの期間有効か
- このセッション - 現在の会話の残りの期間適用されます。
- このワークスペース - プロジェクト全体で保持されます。
- 常に - 将来のすべてのセッションに適用されます。
例えば、プロジェクト内でPythonのuvコマンドを信頼している場合は、ワークスペース内でuvを対象とする承認を使用します。より厳密な制御が必要な場合は、現在のセッションにおいて特定のコマンドのみを許可してください。

これらのルールは、VS Codeの設定のConfigure Auto Approveから管理することもできます。
権限レベル
個別の承認以外にも、チャット入力エリアにある権限ピッカーを使用して、そのセッションにおけるエージェントの全体的な自律レベルを制御できます。
デフォルトの承認
デフォルトのモードです。Copilotは構成された設定に従い、必要な場合には確認ダイアログを表示します。エージェントの動作を学ぶ際や、機密性の高い作業を行う際の出発点として適しています。
承認のバイパス
すべてのツール呼び出しを自動承認し、エラーが発生した場合は自動的に再試行します。ステップバイステップの監視から一歩下がり、すべてを中断なしに実行させます。
「承認のバイパス」モードであっても、判断が必要なブロック的な質問がある場合、エージェントは停止して待機します。セキュリティのプロンプトは削除されていますが、判断が必要な場面では引き続き人間が介入する仕組みになっています。
オートパイロット
オートパイロットは「バイパス」よりもさらに進んでいます。ツール呼び出しの自動承認やエラー時の自動再試行に加え、タスクが完了したと判断するまで、ブロック的な質問も自ら解決します。
「承認のバイパス」または「オートパイロット」を初めて有効にする際、VS Codeは警告を表示します。どちらのモードも、ファイルの変更やコマンドの実行を伴うアクションに対する手動確認をスキップします。

ツール呼び出し
エージェントが行うすべてのアクションは、チャットパネルにツール呼び出しとして表示されます。ツール呼び出しとは、単にエージェントが利用可能なツールのいずれかを使用している状態を指します。
エージェントは、あなたのプロンプトと収集されたコンテキストに基づいて、どのツールを使用するかを決定します。また、プロンプト内で#を使って明示的にツールを参照することもできます。
#fetch: 特定のWebページを取得します。#codebase: プロジェクト全体を検索します。#file: 特定のファイルを添付します。
チャット入力で#と入力すると、現在のセッションで使用可能なコンテキストソースとツールの全リストが表示されます。
コンテキストウィンドウ
モデルが一度に保持できる情報量には限りがあります。この制限はコンテキストウィンドウと呼ばれ、トークン単位で測定されます。コンテキストウィンドウがいっぱいになると、モデルは会話の初期部分の内容を忘れ始めます。
チャットパネルのトークン使用量インジケーターを選択すると、予算がどのように使用されているかの詳細がリアルタイムで確認できます。

コンテキスト予算の内訳
内訳は2つのグループに分けられます。
システム(リクエストごとの固定オーバーヘッド)
- システム指示 - エージェントの挙動を形作る組み込みルール
- ツール定義 - 利用可能なすべてのツールの説明
ユーザーコンテキスト(作業に応じて増加)
- メッセージ - 会話履歴(あなたのプロンプトとエージェントの応答)
- ツール結果 - ターミナルの出力やファイルの読み込みなど、ツール呼び出しによる出力
短いセッションではシステムオーバーヘッドが予算の大半を占めますが、セッションが長くなるにつれて、ツール結果とメッセージが支配的になります。
そのため、ツールやコンテキストを厳選することが重要です。追加するものすべてが予算を消費するためです。
コンテキストウィンドウがいっぱいになった場合の管理
コンテキストウィンドウがいっぱいになると、VS Codeは初期のメッセージを要約することで自動的に会話を圧縮します。これにより、セッションを中断することなく作業を続けることができます。
手動で圧縮することも可能です。
- コンテキストウィンドウのポップアップでCompact Conversationを選択します。
- チャット入力で
/compactと入力します。 /compact focus on the encoder implementation decisionsのように、指示を追加します。
完全にリセットしたい場合は、新しいチャットセッションを開始してください。
サブエージェントもこの点に役立ちます。サブエージェントはそれぞれ独立したコンテキストウィンドウでタスクを実行するためです。このトピックについては、シリーズの後半で解説します。
次のステップ
これで、スコープ指定された承認の使用、適切な自律レベルの選択、コンテキスト予算の管理を通じて、エージェントの作業を制御する方法を理解できました。次のガイドでは、エージェントが行った変更のレビュー、細かな単位での受け入れや取り消し、そしてチェックポイントやフォークを使用して作業を失うことなく異なる方向性を探る方法について学びます。