VS Codeのエージェントモードを拡張するには、を試してください!

VS Code の AI 拡張性

この記事では、Visual Studio Code での AI 拡張オプションの概要を説明し、拡張機能に最適なアプローチを選択するのに役立ちます。

VS Code には、コーディング体験を向上させる強力な AI 機能が含まれています。

  • コード補完: 入力中にインラインのコード候補を提供します
  • エージェント モード: AI が専門ツールを使用して開発タスクを自律的に計画および実行できるようにします
  • チャット: 開発者が自然言語を使用して、チャット インターフェイスを通じてコードベースで質問したり編集したりできるようにします
  • スマート アクション: AI 強化アクションをエディター全体に統合し、一般的な開発タスクに使用します

これらの組み込み機能をそれぞれ拡張およびカスタマイズして、ユーザーの特定のニーズを満たすように調整された AI 体験を作成できます。

VS Code で AI を拡張する理由

拡張機能に AI 機能を追加すると、ユーザーにいくつかのメリットがもたらされます。

  • エージェント モードでのドメイン固有の知識: エージェント モードで会社のデータ ソースとサービスにアクセスできるようにします
  • 強化されたユーザー エクスペリエンス: 拡張機能のドメインに合わせて調整されたインテリジェントな支援を提供します
  • ドメイン特化: プログラミング言語、フレームワーク、またはドメインに特化した AI 機能を作成します
  • チャット機能の拡張: より強力なインタラクションのために、チャット インターフェイスに特殊なツールやアシスタントを追加します
  • 開発者の生産性向上: デバッグ、コード レビュー、テストなどの一般的な開発者タスクを AI 機能で強化します

チャット体験の拡張

言語モデル ツール

言語モデル ツールを使用すると、VS Code のエージェント モードをドメイン固有の機能で拡張できます。エージェント モードでは、これらのツールはユーザーのチャット プロンプトに基づいて自動的に呼び出され、特殊なタスクを実行したり、データ ソースやサービスから情報を取得したりします。ユーザーは、チャット プロンプトでツールを #メンションすることで、これらのツールを明示的に参照することもできます。

言語モデル ツールを実装するには、VS Code 拡張機能内で言語モデル ツール API を使用します。言語モデル ツールはすべての VS Code 拡張機能 API にアクセスでき、エディターとの深い統合を提供します。

主なメリット:

  • 自律的なコーディング ワークフローの一部としてのドメイン固有の機能
  • ツール実装は拡張ホスト プロセスで実行されるため、VS Code API を使用できます
  • Visual Studio Marketplace を介した簡単な配布とデプロイ

主な考慮事項:

  • リモート デプロイでは、拡張機能がクライアント-サーバー通信を実装する必要があります
  • 異なるツール間での再利用には、モジュール化された設計と実装が必要です

MCP ツール

Model Context Protocol (MCP) ツールは、標準化されたプロトコルを使用して外部サービスと言語モデルを統合する方法を提供します。エージェント モードでは、これらのツールはユーザーのチャット プロンプトに基づいて自動的に呼び出され、特殊なタスクを実行したり、外部データ ソースから情報を取得したりします。

MCP ツールは、ユーザーのマシン上でローカルに、またはリモート サービスとして VS Code の外部で実行されます。ユーザーは JSON 構成を通じて MCP ツールを追加でき、VS Code 拡張機能はそれらをプログラムで構成できます。さまざまな言語 SDK とデプロイ オプションを通じて MCP ツールを実装できます。

MCP ツールは VS Code の外部で実行されるため、VS Code 拡張機能 API にアクセスできません。

主なメリット:

  • 自律的なコーディング ワークフローの一部としてドメイン固有の機能を追加
  • ローカルおよびリモート デプロイ オプション
  • 他の MCP クライアントでの MCP サーバーの再利用

主な考慮事項:

  • VS Code 拡張機能 API へのアクセスなし
  • 配布とデプロイには、ユーザーが MCP サーバーをセットアップする必要があります

チャット参加者

チャット参加者は、ユーザーがドメイン固有の専門家で質問モードを拡張できるようにする特殊なアシスタントです。チャットでは、ユーザーはチャット参加者を @メンションし、特定のトピックまたはドメインに関する自然言語プロンプトを渡すことで、チャット参加者を呼び出すことができます。チャット参加者は、チャットの対話全体を処理する責任があります。

チャット参加者を実装するには、VS Code 拡張機能内でチャット API を使用します。チャット参加者はすべての VS Code 拡張機能 API にアクセスでき、エディターとの深い統合を提供します。

主なメリット:

  • エンドツーエンドのインタラクション フローを制御
  • 拡張ホスト プロセスで実行すると、VS Code 拡張機能 API にアクセスできます
  • Visual Studio Marketplace を介した簡単な配布とデプロイ

主な考慮事項:

  • リモート デプロイでは、拡張機能がクライアント-サーバー通信を実装する必要があります
  • 異なるツール間での再利用には、モジュール化された設計と実装が必要です

独自の AI 搭載機能の構築

VS Code では、拡張機能でカスタムの AI 搭載機能を作成するために、AI モデルへの直接プログラム アクセスが提供されます。このアプローチにより、チャット インターフェイスに依存することなく、AI 機能を使用するエディター固有のインタラクションを構築できます。

言語モデルを直接使用するには、VS Code 拡張機能内で言語モデル API を使用します。これらの AI 機能は、コード アクション、ホバー プロバイダー、カスタム ビューなど、任意の拡張機能機能に組み込むことができます。

主なメリット:

  • AI 機能を既存の拡張機能に統合するか、新しい拡張機能を構築する
  • 拡張ホスト プロセスで実行すると、VS Code 拡張機能 API にアクセスできます
  • Visual Studio Marketplace を介した簡単な配布とデプロイ

主な考慮事項:

  • 異なるエクスペリエンス間での再利用には、モジュール化された設計と実装が必要です

使用するオプションの決定

VS Code 拡張機能で AI を拡張するための適切なアプローチを選択する際は、次のガイドラインを考慮してください。

  1. 次の場合は言語モデル ツールを選択してください:

    • VS Code のチャットを特殊な機能で拡張したい場合
    • エージェント モードでユーザーの意図に基づいて自動呼び出しを行いたい場合
    • VS Code で深い統合のために VS Code API にアクセスしたい場合
    • VS Code Marketplace を通じてツールを配布したい場合
  2. 次の場合は MCP ツールを選択してください:

    • VS Code のチャットを特殊な機能で拡張したい場合
    • エージェント モードでユーザーの意図に基づいて自動呼び出しを行いたい場合
    • VS Code API と統合する必要がない場合
    • ツールが異なる環境(VS Code だけでなく)で機能する必要がある場合
    • ツールをリモートまたはローカルで実行する必要がある場合
  3. 次の場合はチャット参加者を選択してください:

    • ドメインの専門知識を持つ特殊なアシスタントで質問モードを拡張したい場合
    • 対話フローと応答動作全体をカスタマイズする必要がある場合
    • VS Code で深い統合のために VS Code API にアクセスしたい場合
    • VS Code Marketplace を通じてツールを配布したい場合
  4. 次の場合は言語モデル API を選択してください:

    • AI 機能を既存の拡張機能に統合したい場合
    • チャット インターフェイス外で UI エクスペリエンスを構築している場合
    • AI モデル リクエストを直接プログラムで制御する必要がある場合

次のステップ

拡張機能の目標に最も適したアプローチを選択してください

サンプル プロジェクト