エージェント モード

このドキュメントでは、Gemini Code Assist のエージェント モードについて説明します。

エージェント モードは、VS Code 統合開発環境(IDE)で使用できます。エージェント モードの使用を開始するには、エージェント チャットをペア プログラマーとして使用するをご覧ください。

VS Code のエージェント モードは Gemini CLI を利用しています。

エージェント モードでは、次のような操作を行うことができます。

  • コードに関する質問をします。
  • コンテキストと組み込みツールを使用して、生成されたコンテンツを改善します。
  • エージェントの機能を拡張するように MCP サーバーを構成します。
  • 複数のステップを含む複雑なタスクのソリューションを入手します。
  • 設計書、問題、TODO コメントからコードを生成します。
  • 実行中にプランとツールの使用にコメントを付けたり、編集や承認を行うことで、エージェントの動作を制御します。

エージェント モードの仕組み

エージェント モードでは、プロンプトは使用可能なツールのリストとともに Gemini API に送信されます。Gemini API がプロンプトを処理し、レスポンスを返します。レスポンスは、直接的な回答の場合もあれば、利用可能なツールを使用するよう求めるリクエストの場合もあります。

ツールがリクエストされると、エージェントはツールを使用する準備を行い、明示的な権限あり、またはなしでツールを使用できるかどうかを確認します。

  • ファイル システムを変更するツール リクエストや、リソースに対して変更オペレーションを実行するツール リクエストの場合、Gemini は、ツールを常に許可するように Gemini を構成していない限り、オペレーションを許可するよう求めます。
  • 読み取り専用のツール リクエストでは、タスクを完了する前に権限を求められない場合があります。

ツールの使用を許可するかどうかを尋ねられたら、オペレーションを許可するか拒否するかを選択できます。エージェントから、ツールやサーバーを常に許可するオプションや、同様のオペレーションを許可するオプションが提示されることもあります。詳細については、エージェント アクションを常に許可するをご覧ください。

ツールの使用権限が付与されると(あるいは自身で取得すると)、エージェントはツールを使用して必要なアクションを完了し、そのアクションの結果が Gemini API に返送されます。Gemini はツール アクションの結果を処理し、別のレスポンスを生成します。このアクションと評価のサイクルは、タスクが完了するまで続きます。

複雑なタスクの場合、Gemini は大まかなプランを提示し、ユーザーに承認を求めることがあります。プロセスを開始する前に、プランの微調整や、チャットでの質問ができます。プランに問題がなければ承認します。プランを承認すると、エージェントは最初のタスクを開始します。プランの実行中は、必要に応じて説明や権限を求めます。

エージェント モードのコンテキスト

コンテキストを使用すると、エージェントは特定のプロンプトに対してより適切な回答を生成できます。コンテキストは、IDE のファイル、ローカル システム フォルダのファイル、ツールのレスポンス、プロンプトの詳細から取得できます。

IDE と設定によっては、エージェントが利用できるコンテキストが異なる場合があります。

次のタブでは、それぞれの IDE でコンテキストが収集される方法について説明します。

VS Code

エージェント モードの Gemini Code Assist は通常、次の方法でコンテキストを取得します。

  • IDE ワークスペース内の情報。
  • grep、ターミナル、ファイル読み取り、ファイル書き込みなどの組み込みツールからのレスポンス。
  • Google 検索のレスポンス。
  • プロンプトまたはツールで指定された URL のコンテンツ。
  • Markdown で作成するコンテキスト ファイル。

エージェントのメモリ

VS Code の Gemini Code Assist エージェント モードは、Gemini CLI メモリ検出サービスを利用して、エージェントのコンテキストを提供する GEMINI.md ファイルを検索して読み込みます。メモリ検出サービスは、現在の作業ディレクトリからプロジェクトのルート、ホーム ディレクトリへと階層的に移動し、ファイルを検索します。サブディレクトリも検索します。

グローバル、プロジェクト レベル、コンポーネント レベルのコンテキスト ファイルを作成できます。これらのファイルはすべて結合され、モデルに最も関連性の高い情報が提供されます。

/memory show コマンドを使用すると、読み込まれたすべての GEMINI.md ファイルのコンテンツを組み合わせて表示できます。また、/memory refresh コマンドを使用すると、それらを再読み込みできます。

Gemini CLI 拡張機能

Gemini CLI 拡張機能を使用して、Gemini Code Assist エージェント モードの機能を構成および拡張できます。

エージェントは、次の 2 つの場所で拡張機能を検索します。

  • WORKSPACE/.gemini/extensionsWORKSPACE は現在のワークスペース)。
  • ~/.gemini/extensions~ はホーム ディレクトリ)。

エージェントは両方のロケーションからすべての拡張機能を読み込みますが、同じ名前の拡張機能が両方に存在する場合は、ワークスペース ディレクトリにあるものが優先されます。各拡張機能は、gemini-extension.json ファイルを含むディレクトリです。このファイルには、拡張機能の構成が含まれています。

詳細については、Gemini CLI 拡張機能をご覧ください。

IntelliJ

この機能は、IntelliJ やそのほかの JetBrains IDE の Gemini Code Assist ではサポートされていません。

ツール

ツールは、エージェントがプロンプトに対するレスポンスのコンテキストとアクションに使用できる幅広いカテゴリのサービスです。ツールの例としては、grep やファイルの読み取り / 書き込みなどの組み込みツール、ローカルまたはリモートの Model Context Protocol(MCP)サーバーとその実行可能関数、カスタム サービス実装などがあります。

次のステップ