管理聊天會話
Visual Studio Code 中的聊天功能提供與 AI 進行基於聊天的互動。在探索不同主題或任務時,可以建立多個聊天會話,並將每個會話限定在特定上下文中。VS Code 提供了多種建立和管理聊天會話的方式:在聊天檢視中、作為編輯器選項卡,或在單獨的視窗中。
本文介紹如何建立和管理聊天會話,以及如何使用聊天會話歷史記錄繼續之前的對話。
建立新的聊天會話
聊天會話是指在一次對話中與 AI 互動的歷史記錄,包括該對話中使用的所有提示、響應和上下文。此歷史記錄為後續提示提供了上下文,允許您提出後續問題或細化您的請求。
根據您的工作流程,選擇在聊天檢視、編輯器選項卡或單獨的視窗中建立新的聊天會話。
建立新聊天會話時,會清除對話歷史記錄和上下文。當您想更改主題或避免沿用先前請求的上下文時,請開始新的聊天會話。例如,在從除錯特定問題切換到詢問有關技術概念的通用問題時,開始一個新的會話。
您可以透過聊天會話歷史記錄隨時返回到之前的聊天會話。
在聊天檢視中開啟聊天會話
預設情況下,聊天檢視位於 VS Code 的輔助側邊欄中。當您希望在側邊保留聊天體驗,同時仍然可以使用主側邊欄進行其他檢視(如資源管理器或原始碼管理)時,這非常有用。
開始新的聊天會話並清除對話歷史記錄
-
開啟聊天檢視,然後選擇 新建聊天 (
+) 或按 ⌘N (Windows、Linux Ctrl+N) -
使用命令面板中的 Chat: New Chat 命令
在編輯器選項卡中開啟聊天
您可以將聊天會話作為編輯器選項卡開啟,以便在程式碼檔案旁邊擁有聊天體驗。當您想同時開啟多個聊天會話,或者想將聊天會話與程式碼檔案並排放置時,這非常有用。
直接在編輯器選項卡中開啟新的聊天會話
-
開啟聊天檢視,然後選擇 新建聊天 (
+) > 新建聊天編輯器 -
使用命令面板中的 Chat: New Chat Editor 命令
在編輯器選項卡中開啟現有的聊天會話
-
選擇聊天檢視右上角的
...圖示,然後選擇 在編輯器中開啟聊天 -
使用命令面板中的 Chat: Open Chat in Editor 命令
在單獨的視窗中開啟聊天
您可以將聊天會話開啟到一個單獨的、浮動視窗中。這對於多顯示器設定很有用,或者當您想在主視窗中處理程式碼時保持聊天會話可見。要使聊天檢視保持在其他視窗之上,請啟用“始終置頂”模式。
您可以從聊天檢視中在新視窗中開啟現有的聊天會話,或者直接在新視窗中建立新的聊天會話。
直接在新視窗中開啟新的聊天會話
-
開啟聊天檢視,然後選擇 新建聊天 (
+) > 新建聊天視窗 -
使用命令面板中的 Chat: New Chat Window 命令
在單獨的視窗中開啟現有的聊天會話
-
選擇聊天檢視右上角的
...圖示,然後選擇 在新視窗中開啟聊天 -
使用命令面板中的 Chat: Open Chat in New Window 命令
聊天會話歷史記錄
建立新聊天會話時,將清除之前的對話歷史記錄。但是,所有聊天會話都會儲存在會話歷史記錄中,讓您可以返回到之前的對話並繼續上次的進度。當您想檢視過去的互動、引用之前的響應或恢復早期會話的對話時,這非常有用。
預設情況下,當您開始新的聊天會話時,聊天檢視會顯示您最近的會話,無論是本地執行的、在後臺執行的還是在雲端執行的。選擇 顯示所有會話 以檢視完整的會話歷史記錄,允許您搜尋和篩選列表。列表範圍限於您當前的工作區。如果您沒有開啟工作區,列表將顯示所有工作區中的所有會話。
將聊天檢視變寬以自動切換到並排模式,或使用聊天檢視右上角的切換按鈕。

當您從列表中選擇一個會話以開啟之前的聊天會話時,該會話中的所有提示、響應和上下文都會在聊天檢視中恢復。
詳細瞭解代理和檢視和管理代理會話。
儲存和匯出聊天會話
您可以儲存聊天會話以保留重要的對話,或稍後重複使用它們來完成相似的任務。
將聊天會話匯出為 JSON 檔案
您可以匯出聊天會話以供以後參考或與他人共享。匯出聊天會話會建立一個包含會話中所有提示和響應的 JSON 檔案。
匯出聊天會話
-
在聊天檢視中開啟您想匯出的聊天會話。
-
從命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))執行 Chat: Export Chat... 命令。
-
選擇一個位置儲存 JSON 檔案。
或者,您可以透過右鍵單擊訊息並選擇 複製 來將單個提示或響應複製到剪貼簿。要以 Markdown 格式複製整個聊天會話,請右鍵單擊聊天檢視並選擇 全部複製。
將聊天會話儲存為可重用提示
您可以將聊天會話儲存為可重用提示,以供相似的任務重複使用。
將聊天會話儲存為可重用提示
-
在聊天檢視中開啟您想儲存的聊天會話。
-
在聊天輸入框中鍵入
/savePrompt並按Enter。該命令會建立一個
.prompt.md檔案,將您當前的聊天對話概括為可重用提示。提示檔案會在適當的地方包含佔位符。 -
根據需要審閱和編輯生成的提示檔案,然後將其儲存到您的工作區。
上下文隔離的子代理
子代理使您能夠在聊天會話中將任務委派給一個隔離的、自主的代理。子代理獨立於主聊天會話執行,並擁有自己的上下文視窗。這對於最佳化複雜的多步任務(如研究或分析)的上下文管理非常有用。
子代理不會非同步或在後臺執行,但是,它們會自主執行,無需使用者反饋。當子代理完成其任務時,它只會將最終結果返回給主聊天會話,從而使主上下文視窗專注於主要對話。
子代理使用相同的代理,並可以訪問主聊天會話可用的相同工具,但不能建立其他子代理。它們還使用與主聊天會話相同的 AI 模型。
呼叫子代理
在提示中呼叫子代理
-
在工具選擇器中啟用
runSubagent工具如果您使用自定義提示檔案或自定義代理,請確保在
toolsfrontmatter 屬性中指定runSubagent。 -
在聊天提示中,要求使用子代理執行任務。
以下示例說明了如何呼叫子代理
使用子代理研究 Web 應用程式的最佳身份驗證方法。總結髮現。執行 #runSubagent 使用只讀工具全面研究使用者的任務。當您有 80% 的信心獲得足夠的上下文來起草計劃時,停止研究。返回此上下文。
使用自定義代理和子代理(實驗性)
預設情況下,子代理繼承主聊天會話的代理。您可以將子代理配置為使用不同的內建或自定義代理。例如,如果您想作為開發任務的一部分執行研究任務,您可以在使用研究代理的子代理中啟動該研究任務。
使用特定代理執行子代理
-
透過 chat.customAgentInSubagent.enabled 設定啟用對子代理中自定義代理的支援
-
確保自定義代理的
infer屬性未設定為false,因為這會阻止代理在子代理中使用。 -
提示 AI 有哪些可作為子代理使用的代理。您的自定義代理應列出。
Which subagents can you use? -
提示 AI 使用自定義或內建代理作為子代理。例如
使用研究代理作為子代理,研究此專案的最佳身份驗證方法。在子代理中使用計劃代理為我的功能建立一個實現計劃。然後將計劃儲存在 plans/myfeature.plan.md 中
要阻止自定義代理被用作子代理,請在 *.agent.md 檔案中將元資料屬性 infer 設定為 false。
代理會話
代理會話檢視目前處於預覽狀態。
代理使您能夠非同步地在後臺執行 AI 編碼任務。這允許您在代理處理您的請求時繼續在 VS Code 中工作。這些代理與 VS Code 中的聊天會話不同,因為代理在後臺工作,而聊天會話是互動式的,需要您的即時輸入。代理還可以在不同的環境中執行,例如在本地計算機上或遠端在雲端。
OpenAI Codex 代理允許您使用您的 Copilot Pro+ 訂閱進行身份驗證和訪問 Codex,而無需額外設定。在 GitHub 文件中獲取有關GitHub Copilot 計費和高階請求的更多資訊。
代理會話檢視
代理會話檢視提供了一個集中的位置來管理您的活動聊天會話,包括 VS Code 中的本地會話以及其他環境中後臺代理建立的會話,例如 Copilot 編碼代理、GitHub Copilot CLI 或 OpenAI Codex。使用 chat.agentSessionsViewLocation 設定啟用代理會話檢視。
代理會話檢視目前支援以下編碼代理整合:GitHub Copilot 編碼代理、GitHub Copilot CLI 和 OpenAI Codex。我們正在努力在未來擴充套件對更多編碼代理的支援。
代理會話檢視按源組織列出了所有活動聊天會話。該檢視分為 VS Code 中的本地聊天會話和編碼代理會話部分。

您可以直接從代理會話檢視為特定代理開始一個新的聊天會話,方法是選擇相應部分中的 + 控制元件。
選擇一個聊天會話將其作為聊天編輯器選項卡開啟並監視其進度。右鍵單擊會話可選擇在新視窗或聊天檢視中開啟它。
代理可能提供標準聊天會話之外的附加功能,例如取消正在進行的任務、檢出或關閉相關的拉取請求,或將它們的更改直接應用於您的工作區。右鍵單擊代理會話檢視中的代理會話,即可檢視可用選項。
擴充套件程式開發人員可以透過提議的 API chatSessionsProvider 瞭解如何與代理會話檢視整合。該 API 目前處於提議狀態,可能會發生更改。
將任務委派給代理
要將任務委派給代理,您可以直接從代理會話檢視開始一個會話。如果您已經開始了一個本地聊天會話,您也可以在該會話中將任務委派給 Copilot 編碼代理。委派給代理可以使您將複雜或耗時的任務解除安裝給代理,同時您可以繼續工作。
將任務從本地聊天會話委派給 Copilot 編碼代理
-
開啟聊天檢視或聊天編輯器選項卡。
-
在聊天輸入框中鍵入提示或開啟現有的聊天會話。
-
選擇 委派給代理 將提示傳送到編碼代理。如果您啟用了多個代理,請從列表中選擇代理。

將建立編碼代理會話,並提供本地聊天會話的上下文。
-
在代理會話檢視中監視編碼代理會話的進度。
在編輯器中,您還可以透過選擇 TODO 註釋上方的相關程式碼透鏡來委派任務。然後,您可以在代理會話檢視中跟蹤委派任務的進度。

管理聊天會話的技巧
考慮以下提示,以幫助您有效使用聊天會話
-
為不同主題開始新會話:開始新的聊天會話以避免沿用不相關對話的上下文。這有助於您獲得更相關的響應。
-
為並排比較使用編輯器選項卡:將多個聊天會話作為編輯器選項卡開啟,以並排比較不同的方法或解決方案。
-
為多顯示器設定使用單獨的視窗:在第二個顯示器上將聊天開啟到單獨的視窗,以便在主視窗中處理程式碼時保持可見。
-
使用遠端代理進行後臺任務:使用遠端編碼代理在後臺執行 AI 任務,同時您可以在 VS Code 中繼續工作。
-
互動式代理會話:使用本地代理會話執行需要即時輸入和反饋的互動式任務。