VS Code でチャットセッションを操作する

Visual Studio Code でチャットを使用して、会話ベースの AI インラクションを行います。チャットセッションは、あなたと AI の間のプロンプトと応答のシーケンス、およびコードやファイルからの関連コンテキストで構成されます。この記事では、チャットセッションの作成と管理、セッション一覧の使用方法、およびセッションの整理方法について説明します。これらの機能は、チャットビューエージェントウィンドウの両方で動作します。

新しいチャットセッションを開始する

新しいチャットセッションを開始すると、AI との新しい会話が始まります。各セッションには独自のコンテキストウィンドウがあり、異なるエージェントタイプで実行できます。それぞれ異なるタスクやトピックに焦点を当てた複数のセッションを並行して実行できます。セッション一覧を使用して、さまざまなセッションの監視や切り替えを行います。

ヒント

AI がより関連性の高い応答を提供しやすくするために、トピックを変更したい場合は、新しいチャットセッションを開始してください。

好みの作業方法や達成したいタスクに応じて、VS Code のさまざまなチャットエクスペリエンスから選択できます。各エクスペリエンスは異なるワークフローに最適化されていますが、基盤となるセッションは共通しているため、いつでも切り替えることができます。

エージェントウィンドウは、1つの場所から複数のプロジェクトにわたるエージェントをオーケストレートするための専用ウィンドウです。チャットは、エージェントに高レベルのタスクを割り当てるための主要なインターフェイスです。エージェントウィンドウは、エージェントファーストのワークフローに最適化されています。

Screenshot of the Agents window showing the sessions list, workspace picker, and chat input.

エージェントウィンドウで新しいチャットセッションを開始するには

  1. VS Code のタイトルバーにある [Open in Agents] ボタンを選択して、エージェントウィンドウを開きます。

  2. サイドバーで [New] を選択して、新しいセッションを作成します。

  3. エージェントウィンドウは任意のプロジェクトをターゲットにできるため、セッションのワークスペースまたはリポジトリを選択します。

  4. エージェントセッションがどこで実行され、どのように動作するかを示すために、ドロップダウンからエージェントタイプを選択します。

    ローカル、Copilot、クラウド、またはサードパーティから選択できます。エージェントタイプの詳細については、こちらをご覧ください。

  5. 必要に応じて、セッションの追加の設定オプションを選択します。

    • Agent(エージェント): Agent、Plan、Ask など、AI の役割やペルソナを決定します。エージェントの選択の詳細については、こちらをご覧ください。

    • Permission level(権限レベル): ツールの承認に関してエージェントが持つ自律性の度合いを制御します。権限レベルの詳細については、こちらをご覧ください。

    • Language model(言語モデル): 会話を駆動する AI モデルを決定します。VS Code の言語モデルの詳細については、こちらをご覧ください。

    エージェントウィンドウで別の新しいセッションを作成するとき、ピッカーは前回選択した Agent および Permission level の値を記憶し、それらをデフォルトとして使用します。

  6. プロンプトを入力し、Enter キーを押して送信します。エージェントの応答がチャット領域に表示され、エージェントはファイルの編集、コマンドの実行、フォローアップの質問などのアクションを実行する場合があります。

セッション一覧

セッション一覧は、どこで開始されたか、どこで実行されているかに関係なく、すべてのチャットセッションを管理するための中央ハブです。セッション一覧には、セッションのステータス、タイプ、およびファイル変更に関する情報とともにセッションが表示されます。

Screenshot of the sessions list showing multiple sessions with different statuses, types, and file change stats.

セッションにマウスオーバーすると、ピン留めまたはアーカイブするためのアクションが表示されます。一覧内のセッションを右クリックすると、削除やセッションの状態変更などの追加のアクションが表示されます。一部のアクションは、セッションのエージェントタイプと状態に固有のものがあります。たとえば、クラウドエージェントセッションのプルリクエストをチェックアウトするなどです。

ピン留めアクションを使用すると、重要なセッションをリストの最上部に簡単にアクセスできる状態に保つことができます。ピン留めされたセッションは、アクティビティや状態に関係なくリストの最上部に留まるため、素早く見つけて戻ることができます。

エージェントウィンドウでは、セッション一覧は左側のサイドバーにあります。すべてのワークスペースからのセッションが表示されるため、1つの場所から複数のプロジェクトにわたる作業を監視できます。各セッションアイテムには、セッション名、ワークスペース、エージェントタイプ、ファイル変更の統計などの重要な情報が表示されます。

Screenshot of the sessions list in the Agents window, showing multiple sessions with different agent types and file change stats.

デフォルトでは、リストはアクティブなセッションのみを表示するようにフィルター処理されます。完了やアーカイブなど、異なる状態のセッションを表示するようにフィルターを変更できます。

セッションはデフォルトでワークスペースごとにグループ化されており、代わりに時間枠ごとに整理するようにグループ化を切り替えることができます。エージェントウィンドウでは、関連するセッションをまとめておくためのカスタムグループを作成することもできます。セッション一覧を縮小したい場合は、グループヘッダーを折りたたみます。

エージェントウィンドウでセッション一覧を整理するには

  1. セッション一覧のコントロールからカスタムグループを作成します。

  2. 1つまたは複数のセッションをグループにドラッグします。挿入線によって、セッションが配置される位置が表示されます。

  3. グループヘッダーにマウスオーバーして、そのグループで新しいセッションを開始するか、グループ内のすべてのセッションを完了としてマークします。

また、セッションを上下にドラッグして並べ替えたり、グループおよびワークスペースのヘッダーをドラッグしてセクションを再配置したり、セッションを [Pinned] セクションにドロップしてピン留めしたりすることもできます。複数のセッションを選択してまとめて移動することも可能です。

エージェントウィンドウの左上隅にある [Toggle Sidebar] ボタンを選択するか、⌘B (Windows, Linux Ctrl+B) キーボードショートカットを使用して、左側のサイドバーを非表示にすることができます。

セッションをアーカイブする

セッション一覧を整理された状態に保つため、セッションが完了したときや不要になったときは、アーカイブするか完了としてマークします。セッションをアーカイブしても削除されません。いつでもセッションのアーカイブを解除して、アクティブなセッション一覧に復元できます。

セッションをアーカイブ(または完了としてマーク)すると、ステータスが変わり、アクティブなセッション一覧から移動します。Copilot セッションのようにセッションがワークツリーを使用している場合、作業ツリーがクリーンであれば、ワークツリーはファイルシステムから削除されます。ブランチとすべてのコミットは保持されるため、セッションを復元するとそのブランチからワークツリーが再作成され、作業が失われることはありません。

セッションをアーカイブするには、セッション一覧でセッションにマウスオーバーし、[Archive](チャットビュー)または [Mark as Done](エージェントウィンドウ)オプションを選択します。

Screenshot of archiving an agent session in the sessions view.

アーカイブされたセッションを表示するには、セッション一覧のフィルターオプションを使用し、[Archived](チャットビュー)または [Done](エージェントウィンドウ)フィルターを選択します。

セッションを削除する

セッションを完全に削除するには、セッション一覧でセッションを右クリックし、[Delete] を選択します。セッションを削除すると完全に削除され、元に戻すことはできません。Copilot セッションの場合、セッションを削除すると、そのセッションのために作成された関連するワークツリーもすべて削除されます。

セッションをフォークした後など、複数の Copilot セッションが同じワークツリーを共有している場合、別のセッションがまだ使用している間は、1つのセッションを削除しても共有ワークツリーは削除されません。ワークツリーは、最後にリンクされたセッションが削除またはアーカイブされた後にのみ削除されます。

注意

セッションの削除は元に戻せません。セッションを非表示にしたいだけの場合は、代わりにアーカイブすることを検討してください。

チャットセッションをフォークする

チャットセッションのフォークは、元のセッションから会話履歴を継承する会話のブランチを作成します。シングルチャットセッションやエージェントホストを使用しないセッションでは、フォークは新しい独立したセッションとして開きます。フォークされたセッションは元とは完全に切り離されているため、一方のセッションでの変更がもう一方に影響することはありません。識別しやすくするために、新しいセッションタイトルの先頭には "Forked:" というプレフィックスが付けられます。

エージェントウィンドウでのマルチチャット Copilot セッションの場合、フォークは同じセッション内のピアチャットとして開きます。ピアチャットには自動生成されたタイトルが付けられ、シブリングチャットとは独立して実行されます。

ワークツリー分離を使用する Copilot セッションの場合、フォークは元のセッションと同じワークツリーを引き続き使用します。

フォークは、代替アプローチを検討したい場合、ちょっとした質問をしたい場合、または元のコンテキストを失うことなく長い会話を別の方向に分岐させたい場合に便利です。

チャットセッションをフォークするには2つの方法があります。

  • セッション全体をフォークする: チャット入力ボックスに /fork と入力し、Enter キーを押します。現在のセッションからコピーされた完全な会話履歴とともにフォークが開きます。

  • チェックポイントからフォークする: 会話内のチャットリクエストにマウスオーバーし、[Fork Conversation] ボタンを選択します。フォークには、そのチェックポイントまでの(チェックポイントを含む)リクエストのみが含まれます。

    Screenshot of the Fork Conversation button in the checkpoint toolbar in the Chat view.

ヒント

フォークされたセッションは元の会話履歴を継承するため、プロンプトキャッシュが保持され、次のリクエストのコストが削減されます。キャッシュエクスプローラーを使用して、セッション間のキャッシュヒット率を比較できます。

エージェントホストセッションからセッションをオーケストレートする

Copilot、Claude、Codexなどのエージェントホストセッションでは、エージェントは組み込みのセッション管理ツールを使用して、複数のセッションやチャットにわたる作業を調整できます。

これらのツールを使用することで、エージェントは次のことができます。

  • セッションを一覧表示し、ステータス、ワークスペース、ファイル変更などのメタデータを調査する。
  • サブタスク用の新しいセッションを作成するか、既存のセッションに新しいチャットを作成する。
  • 作業を続行する前に、別のセッションから最近の会話コンテキストを読み取る。
  • フォローアップタスクを開始または誘導するために、別のセッションやチャットにメッセージを送信する。

ツールがセッションを作成またはターゲットにすると、VS Code はチャットに [Open Session] ピルを表示し、そこに直接ジャンプできるようにします。

このワークフローを安全かつ予測可能に保つために、以下の制限があります。

  • 別のセッションへのメッセージ送信には、常にあなたの確認が必要です。
  • エージェントは、現在実行中の同じチャットにメッセージを送信することはできません。
  • 無制限のファンアウトを防ぐため、バースト送信には上限が設けられています。
  • 明示的に要求されない限り、アーカイブされたセッションは一覧から除外されます。

チャットセッションの保存とエクスポート

チャットセッションを保存して、重要な会話を保持したり、同様のタスクのために後で再利用したりできます。

チャットセッションを JSON ファイルとしてエクスポートする

チャットセッションをエクスポートして、後で参照できるように保存したり、他の人と共有したりできます。チャットセッションをエクスポートすると、セッションからのすべてのプロンプトと応答を含む JSON ファイルが作成されます。

チャットセッションをエクスポートするには

  1. チャットビューでエクスポートするチャットセッションを開きます。

  2. コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) から [Chat: Export Chat...] コマンドを実行します。

  3. JSONファイルを保存する場所を選択します。

チャットメッセージを Markdown としてコピーする

チャットビューでは、メッセージやチャットの背景を右クリックしたときのコンテキストメニューから利用できる、チャットメッセージを Markdown としてクリップボードにコピーするためのさまざまなオプションがサポートされています。

  • Copy(コピー): 個々のプロンプトまたは応答をクリップボードにコピーします。Markdown には、応答テキスト、思考ステップ、ツール呼び出しが含まれます。

  • Copy All(すべてコピー): すべてのプロンプト、応答、思考ステップ、ツール呼び出しを含め、チャットセッション全体を Markdown 形式でコピーします。

  • Copy Final Response(最終応答のコピー): 最後のツール呼び出し以降のエージェントの応答の最終 Markdown セクションのみをコピーします。これは、中間のステップを含めずに最終出力を共有または再利用する場合に便利です。

セッションステータスインジケーター(実験的)

セッションステータスインジケーターを使用すると、タイトルバーのコマンドセンターから直接セッションに素早くアクセスできます。インジケーターには、未読メッセージや進行中のセッションの視覚的なバッジが表示されるため、ビューを切り替えることなく AI のアクティビティを常に把握できます。

Screenshot showing the session status indicator in the command center with unread and in-progress badges.

インジケーターには以下が表示されます。

  • 未読セッションバッジ: 新しいメッセージがあるチャットセッションの数を示します。バッジを選択すると、セッション一覧が未読セッションのみを表示するようにフィルターされます。
  • 進行中セッションバッジ: エージェントが実行中のセッションの数を示します。バッジを選択すると、セッション一覧が進行中のセッションのみを表示するようにフィルターされます。
  • スパークルのアイコン: チャットおよびセッション管理オプションへのクイックアクセスを提供します。

ステータスインジケーターの表示/非表示は、 chat.agentsControl.enabled Open in VS Code Open in VS Code Insiders 設定を使用して構成できます。

VS Code のウェルカムページでセッションを表示する

VS Code のウェルカムページを、チャットセッションを操作するための起動エクスペリエンスとして機能させることができます。最近のチャットセッションへのクイックアクセス、新しいタスクを開始するための埋め込みチャットウィジェット、および一般的なタスクのクイックアクションを提供します。

VS Code のウェルカムページを起動エクスペリエンスとして構成するには、 workbench.startupEditor Open in VS Code Open in VS Code Insiders agentSessionsWelcomePage に設定します。

© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.