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の制限事項、およびセキュリティ上の考慮事項について説明します。