エージェント モードを使用すると、エディターの AI アシスタントは、拡張機能の PostgreSQL ツールを単一のマルチステップ会話の一部として使用できます。 アシスタントは、質問にのみ答える代わりに、データベースへの接続、スキーマの検査、クエリの実行、スクリプトの開き、ワークフローのエンドツーエンドの移動に役立ちます。
エージェント モードは、Visual Studio Code (GitHub Copilot) と Cursor (組み込みの AI) の両方で実行されます。 この拡張機能は、両方のエディターで同じ PostgreSQL ツール サーフェスを公開します。開いたチャット パネルのみが異なります。
SQL の説明や下書きだけでなく、AI が構造化されたアクションを実行する場合は、エージェント モードを使用します。
前提条件
開始する前に、以下を用意してください。
- PostgreSQL 拡張機能がインストールされている。
- 拡張機能で有効になっているCopilot/AI 機能 (
pgsql.copilot.enableはtrue)。 - 拡張機能で構成されたデータベース接続が少なくとも 1 つ。
- エディターで使用可能な AI アシスタント:
- Visual Studio Code: GitHub CopilotまたはGitHub Copilot チャットがインストールされ、アクティブになります。
- カーソル: 追加インストールなし。組み込みの AI が自動的に使用されます。
エージェント モードの開始
- PostgreSQL 拡張機能でターゲット サーバーまたはデータベースに接続します。
- [接続] ツリーで、使用するデータベースを右クリックします。
- [ AI の接続] を選択します。
- 完了したいワークフローとともに開くチャットパネルで会話を続けてください。
- Visual Studio Codeでは、これはエージェント モードの GitHub Copilot Chat パネルです。
- Cursor では、これは Cursor のネイティブ AI パネルです。この拡張機能では、MCP 指向の簡単なプリアンブルが提供されるため、アシスタントは使用可能な PostgreSQL ツールについて認識します。
セッションの開始後、AI は、要求を通じて動作する PostgreSQL ツールをバックグラウンドで組み合わせることができます。
適切なアクセス モードを選択する
pgsql.copilot.accessMode設定では、データベース アクセス エージェント モードが受け取る量を制御します。 設定 ID は互換性のため、pgsql.copilot.*プレフィックスを保持します。ユーザーに表示されるラベルは、Visual Studio Code では Copilot access mode、Cursor では AI access mode です。
| モード | AI でできること | 推奨される使用方法 |
|---|---|---|
ro |
SELECT、SHOW、EXPLAIN、スキーマ検査、分析などの読み取り専用操作 |
変更を加えずに調査する運用システムまたは共有環境 |
rw |
読み取り操作に加えて、実行前に明示的な確認を行うデータ変更ステートメントと DDL | ローカル開発、破棄可能なサンドボックス、制御されたテスト環境 |
Caution
Agent モード経由で利用可能になるスキーマまたはデータの変更を意図的に望む場合を除き、本番データベースでは ro モードを使用してください。
ツール ファミリを理解する
エージェント モードでは、ワークフローに応じて複数のツール ファミリを使用できます。
| ツール ファミリ | それが何をするか | 使用する場合 |
|---|---|---|
| 接続ツール | プロファイルの一覧表示、接続、切断、データベースの一覧表示 | コンテキストの開始または切り替え |
| スキーマ コンテキスト ツール | オブジェクト定義を取得する、またはスキーマを可視化する | テーブル、ビュー、関数、インデックス、リレーションシップについて |
| クエリ ツール | 読み取りクエリの実行、クエリ プランの検査、スクリプトの開き方 | データの調査、アイデアの検証、生成された SQL の確認 |
| 変更ツール | 確認を使用して DDL または DML を実行する |
rw モードで制御されたスキーマまたはデータ変更を適用する |
| データ インポート ツール | CSV ファイルの説明と一括読み込み | CSV インポート ワークフローの計画と実行 |
Tip
Cursor では、同じツールも MCP サーバーの登録を通じて表示されます。 カーソルのネイティブ チャットでは、 Connect AI エントリ ポイントを使用せずに直接呼び出すことができます。 詳細については 、MCP サーバー を参照してください。
一般的なワークフローにエージェント モードを使用する
次の例は、新しいデータベースの探索からクエリの絞り込みまで、さまざまなタスクにエージェント モードを使用する方法を示しています。
未知のデータベースを探索する
AI にデータベースへの接続、キー オブジェクトの一覧表示、タスクに重要なスキーマ領域の要約を依頼します。
Example:
開発データベースに接続し、パブリック スキーマのテーブルを一覧表示し、顧客と注文に関連するテーブルを指定します。
クエリのパフォーマンスを調査する
スキーマ コンテキストとクエリの実行またはプランの検査を組み合わせることを AI に依頼します。
Example:
ステージング データベースに接続し、このクエリを読み取り専用モードで実行し、実行プランのどの部分がコストを削減するかを説明します。
データの読み込みまたは整形
ワークフローにスクリプトまたは CSV ベースの操作が含まれている場合は、エージェント モードを使用します。
Example:
この CSV ファイルを確認し、意味するスキーマを教えて、
sales.recordsテーブルの安全なインポート 計画を準備します。
下書きから手動レビューに移行する
実行前に人間によるレビュー チェックポイントが必要な場合は、生成された SQL をすぐに実行するのではなく、クエリ エディターで開くように AI に依頼します。
代わりにエージェント モードを使用するタイミングを把握する @pgsql
スキーマ対応の回答またはクエリの下書きが必要な場合は、 チャット参加者 @pgsql使用します。
@pgsql参加者はVisual Studio Codeでのみ利用できます。
AI で次の機能を使用する場合は、エージェント モード (Visual Studio Code と Cursor の両方で使用できます) を使用します。
- 適切なデータベースに接続します。
- 1つの会話で複数のツールを連携させる
- 次の手順の前に結果を検査する、または
- スクリプトまたは制御された変更ワークフローを準備します。
Note
カーソルでは、エージェント モードがプライマリ パスです。@pgsqlチャット参加者はそこで使用できないためです。 同じツール サーフェスも、MCP サーバーを介して Cursor のネイティブ チャットから到達できます。
エージェント モードのトラブルシューティング
エージェント モードが期待どおりに動作しない場合は、まずアクセス モードとツールの可用性を確認してください。
AI でデータベースを変更できない
pgsql.copilot.accessMode確認し、アクティブな接続がroに解決されていないことを確認します。
予想されるツールは使用できません
Copilot統合が有効になっており、有効な PostgreSQL 接続コンテキストを使用してデータベースから開始したことを確認します。
接続要求が失敗する
接続プロファイルがまだ存在し、資格情報が使用可能であり、拡張機能がエージェント モードの外部にある同じデータベースに接続できることを確認します。
より簡単なチャット優先ワークフローが必要です
Visual Studio Codeでは、ツール駆動型の自動化を使用せずに、説明、クエリの下書き、またはスキーマの質問が必要な場合は、@pgsqlチャット参加者を使用します。 Cursor で、ネイティブ チャットから同じ種類の質問をします。 拡張機能の MCP ツールは引き続き検出可能ですが、明示的なエージェント モードエントリなしでチャットはより会話的に動作します。