エージェント モード

このドキュメントでは、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)サーバーとその実行可能関数、カスタム サービス実装などがあります。

次のステップ