このドキュメントでは、統合開発環境(IDE)で Gemini Code Assist エージェント モードをペア プログラマーとして構成して使用する方法について説明します。
エージェント モードは VS Code IDE で使用できます。
エージェント モードでは、次の操作などを行うことができます。
- コードに関する質問をします。
- コンテキストと組み込みツールを使用して、生成されたコンテンツを改善します。
- エージェントの機能を拡張するように MCP サーバーを構成します。
- 複数のステップを含む複雑なタスクのソリューションを入手します。
- 設計書、問題、
TODO
コメントからコードを生成します。 - 実行中にプランとツールの使用にコメントを付ける、編集する、承認することで、エージェントの動作を制御します。
制限事項
エージェント モードを使用する場合は、次の制限事項が適用されます。
- エージェントは Gemini Code Assist ツールを呼び出すことができません。これらのツールを使用するには、エージェント モードを終了する必要があります。
- エージェントはコードのカスタマイズを使用できません。コード カスタマイズを使用するには、エージェント モードを終了する必要があります。
- エージェント モードでは、複数のルートを持つプロジェクトはサポートされていません。複数のルート ディレクトリがあるプロジェクトでエージェント モードを使用すると、エージェントは最初に見つかったルート ディレクトリにのみアクセスできます。
- エージェント モードでは、Gemini for Google Cloud ログはサポートされていません。
始める前に
- IDE で使用する Gemini Code Assist のエディションを設定します。
- Gemini Code Assist のリリース チャンネルを Insiders ビルドに設定します。
- コマンド パレット(
Cmd
+Shift
+P
)を開き、[ユーザー設定の JSON を開く] を選択します。 - ユーザー設定の JSON に次の行を追加します。
"geminicodeassist.updateChannel": "Insiders",
- コマンド パレット(
エージェント モードを使用する
エージェント モードでは、Gemini に上位の目標や複雑なタスクの完了を依頼できます。
エージェント モードを最大限に活用するには、プロンプトのベスト プラクティスに沿って、できるだけ詳細な情報を入力してください。
エージェント モードに切り替えるには:
VS Code
- Gemini Code Assist チャットを開くには、IDE のアクティビティ バーで spark [Gemini Code Assist] をクリックします。
- [エージェント] 切り替えをクリックして、エージェント モードに切り替えます。エージェント モードに切り替えると切り替えボタンがハイライト表示され、通常のチャットではグレー表示になります。
- Gemini Code Assist チャットにプロンプトを入力します。
Gemini がプロンプトにレスポンスするか、ツールの使用許可をリクエストします。
エージェントを停止するには、[
停止] をクリックします。標準の Gemini Code Assist チャットを使用するには、[
新しいチャット] をクリックして新しいチャットを作成します。Gemini Code Assist エージェント モードは、Gemini CLI によって動作します。
IntelliJ
この機能は、IntelliJ やそのほかの JetBrains IDE の Gemini Code Assist ではサポートされていません。
エージェント モードのツールを構成する
ツールは、エージェントがプロンプトに対するレスポンスのコンテキストとアクションに使用できる幅広いカテゴリのサービスです。ツールの例としては、grep やファイルの読み取り / 書き込みなどの組み込みツール、ローカルまたはリモートの Model Context Protocol(MCP)サーバーとその実行可能関数、カスタム サービス実装などがあります。
MCP サーバーを構成する
エージェント モードで使用できるサーバーを制御するには、サーバーのドキュメントに従って、Gemini 設定の JSON にサーバーを追加します。
VS Code
- MCP サーバーに必要な依存関係をインストールします。
~/.gemini/settings.json
にある Gemini 設定 JSON を開きます。ここで、~
はホーム ディレクトリです。サーバーの手順に沿って、ローカルまたはリモートの MCP サーバーを Gemini 設定の JSON に追加します。
次の例では、リモート Cloudflare MCP サーバーを追加し、ローカルマシンに GitHub サーバーと GitLab サーバーをインストールします。
{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-gitlab" ] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
コマンド パレットを開き、[デベロッパー: ウィンドウの再読み込み] を選択します。
構成した MCP サーバーは、エージェント モードでエージェントが使用できます。
IntelliJ
この機能は、IntelliJ やそのほかの JetBrains IDE の Gemini Code Assist ではサポートされていません。
MCP サーバー認証
認証が必要な MCP サーバーは、Gemini 設定の JSON に追加できます。
次の例では、GitHub の個人アクセス トークンを追加します。
{
//other settings...
"github": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
},
// other settings...
}
ここで、ACCESS_TOKEN
はユーザーのアクセス トークンです。
コンテキスト ファイルを作成する
コンテキストを使用すると、エージェントは特定のプロンプトに対してより適切な回答を生成できます。コンテキストは、IDE のファイル、ローカル システム フォルダのファイル、ツールのレスポンス、プロンプトの詳細から取得できます。詳細については、エージェント モードのコンテキストをご覧ください。
VS Code
コンテキストを適用するスコープと一致するロケーションに、
GEMINI.md
という名前のファイルを作成します。次のテーブルに、さまざまなスコープのコンテキスト ファイルのロケーションの詳細を示します。範囲 場所 すべてのプロジェクト ~/.gemini/GEMINI.md
特定のプロジェクト 作業ディレクトリ、またはプロジェクト ルート( .git
フォルダで識別)またはホーム ディレクトリまでの親ディレクトリ。プロジェクトの特定のコンポーネント、モジュール、サブセクション 作業ディレクトリのサブディレクトリ。 エージェントのメモリシステムは、複数のロケーションからコンテキスト ファイルを読み込むことで作成されます。特定のコンポーネントやモジュール用のファイルなど、より具体的なファイルからのコンテキストは、
~/.gemini/GEMINI.md
のグローバル コンテキスト ファイルなど、より一般的なコンテキスト ファイルのコンテンツをオーバーライドまたは補完します。エージェントに使用させたいルール、スタイルガイド情報、コンテキストを Markdown で記述し、ファイルを保存します。詳細については、GitHub のコンテキスト ファイルの例をご覧ください。
IntelliJ
この機能は、IntelliJ やそのほかの JetBrains IDE の Gemini Code Assist ではサポートされていません。
コマンドを使用する
スラッシュ /
コマンドを使用すると、ターミナル ウィンドウのコマンドと同様のコマンドをすばやく実行できます。
エージェント モードでは、次の Gemini CLI コマンドを使用できます。
/tools
: エージェント モード セッションで使用可能なツールのリストを表示します。サブコマンドには次のものがあります。desc
またはdescriptions
: 各ツールの詳細な説明が表示されます。nodesc
またはnodescriptions
: ツールの説明を非表示にして、ツール名のみを表示します。
/memory
:GEMINI.md
ファイルから読み込まれたエージェントの指示コンテキストを管理します。サブコマンドには次のものがあります。show
: 使用可能なすべてのGEMINI.md
ファイルから読み込まれた現在のメモリの完全な連結されたコンテンツを表示します。refresh
: 使用可能なロケーションにあるすべてのGEMINI.md
ファイルからメモリを再読み込みします。GEMINI.md
ファイルがエージェントの階層型メモリにどのように貢献するかについては、Gemini CLI 構成のドキュメントをご覧ください。
/mcp
: 構成済みの Model Context Protocol(MCP)サーバー、接続ステータス、サーバーの詳細、使用可能なツールを一覧表示します。サブコマンドには次のものがあります。desc
またはdescriptions
: MCP サーバーとツールの詳細な説明を表示します。nodesc
またはnodescriptions
: MCP サーバーの説明を非表示にして、MCP サーバー名のみを表示します。schema
: MCP サーバーの構成済みパラメータの完全な JSON スキーマを表示します。
/stats
: エージェント モードのセッションの統計情報と期間の詳細が表示されます。
Gemini CLI コマンドの詳細については、Gemini CLI コマンドをご覧ください。Gemini CLI コマンドの一部はエージェント モードでは使用できません。
エージェントのアクションを常に許可する
すべてのエージェント アクションを自動的に許可できます。
エージェントのアクションをすべて自動的に許可するには:
VS Code のユーザー設定の JSON ファイルを開きます。
- コマンド パレット(
ctrl
/command
+Shift
+P
)を開きます。 - [設定: ユーザー設定を開く(JSON)] を選択します。
- コマンド パレット(
VS Code のユーザー設定の JSON ファイルに以下を追加します。
//other settings... "geminicodeassist.agentYoloMode": "true", //other settings...
コマンド パレットを開き、[デベロッパー: ウィンドウの再読み込み] を選択します。
エージェント モードは yolo モードを使用します。プロンプトを送信すると、アクションを実行する前に権限を求めることはありません。
Gemini CLI 拡張機能を作成する
Gemini CLI 拡張機能を使用して、Gemini Code Assist エージェント モードの機能を構成および拡張できます。
エージェントは、次の 2 つのロケーションで拡張機能を検索します。
WORKSPACE/.gemini/extensions
(WORKSPACE
は現在のワークスペース)。~/.gemini/extensions
(~
はホーム ディレクトリ)。
エージェントは両方のロケーションからすべての拡張機能を読み込みますが、同じ名前の拡張機能が両方に存在する場合は、ワークスペース ディレクトリにあるものが優先されます。各拡張機能は、gemini-extension.json
ファイルを含むディレクトリです。このファイルには、拡張機能の構成が含まれています。
詳細については、Gemini CLI 拡張機能をご覧ください。
その他のプロンプト
以下のプロンプトをご自身の情報で試してみてください。
- 「このリポジトリの機能は何ですか?アーキテクチャについて教えてください。」
- 「この [クラス/関数] は何をするものですか?」
- 「このコードベースに機能を追加します -「[link-or-path-to-codebase]」。」
- 「共通メソッド [C] を使用するように関数 [A] と [B] をリファクタリングします。」
- 「GitHub の問題 [link-to-github-issue] を修正します。」
- 「ユーザーが [環境] で [タスク] を実行できる UI を備えた [目標] を達成するアプリケーションを構築してください。」
- 「このリポジトリのライブラリ バージョンを [X] から [Y] に移行します。」
- 「この Go コードのパフォーマンスを最適化して、より高速に実行できるようにしてください。」
- 「[name-of-API] を使用してこの機能を構築します。」
- 「[x]、[Y]、[Z] を行うアルゴリズムを実装します。」