VS Code の AI 機能
Visual Studio Code に組み込まれた AI 機能は、GitHub Copilot と大規模言語モデル (LLM) によって提供されます。これらの機能は、入力中のインラインサジェストから、機能全体を実装する自律型エージェントまで、複数の領域にわたります。この記事では、AI 機能の概要とそれらがどのように連携しているかを説明します。実践的なチュートリアルについては、「クイックスタート」を参照してください。
AI 機能の概要
VS Code は、それぞれのタスクに適したさまざまな対話インターフェースを通じて AI を提供します
- エージェント: 完全なエージェントループに従う自律的なセッションです。ファイルの読み取り、複数ファイルにわたる調整された変更の実行、コマンドの実行、そしてタスクが完了するまでの反復作業を行います。エージェントは、機能の実装からアーキテクチャレベルのリファクタリング、フレームワークの移行に至るまで、マルチステップのタスクをエンドツーエンドで処理します。
- チャット: エージェントと対話したり、複数ターンの会話を行ったりするための主要なインターフェースです。チャットを使用して、タスクの割り当て、質問、アイデアの検討、説明の取得を行います。目的に応じて、エージェント(Agent)、質問(Ask)、プラン(Plan)、およびカスタムエージェントを切り替えます。
- インラインチャット: エディター内に直接開き、迅速かつ集中的な編集を行うための軽量なチャットインターフェースです。
- インラインサジェスト: 入力中にゴーストテキストとして表示されるコード提案です。これらは専用の補完モデルを使用しており、エージェントループやツールは使用しません。Next edit suggestions (NES) は、次の編集が「どこで」発生すべきかを予測することで、さらに一歩進んだ機能を提供します。
- スマートアクション: コミットメッセージの生成や診断エラーの修正など、ワークフローに統合されたワンクリックの AI アクションです。
概念
以下のコンセプトに関する記事では、これらの AI 機能を支えるアーキテクチャと構成要素について説明します
- 言語モデル: すべての機能の基盤となる AI モデル。選択方法や構成方法を含みます。
- コンテキスト: ファイルから会話履歴まで、VS Code がモデルのために情報をどのように収集するかについてです。
- ツール: エージェントが開発環境で動作し、外部サービスに接続するためのメカニズムです。
- エージェント: エージェントループ、エージェントの種類、サブエージェント、メモリ、およびプランニングについてです。
- カスタマイズ: 指示、プロンプトファイル、カスタムエージェント、スキル、フック、プラグインを使用して AI の動作を調整する方法です。
- 信頼性と安全性: 制御メカニズム、AI の制限事項、およびセキュリティに関する考慮事項です。