您的第一個 Agent 工作階段

代理程式在您的機器上執行的每一個動作(無論是執行指令、寫入檔案還是啟動伺服器)都是透過其工具來完成的。預設情況下,終端機指令在執行前需要明確核准。本指南將說明核准運作方式、如何為工作階段設定適當的自主層級,以及隨著工作累積如何監控上下文預算。

了解工具呼叫核准

當代理程式想要執行終端機指令時,它會顯示一個核准對話方塊,其中包含預計執行的確切指令。請審核該指令。如果看起來正確,請予核准。如果看起來有問題,請選擇略過 (Skip) 並傳送訊息來修正其方向。

範圍化核准

核准下拉式選單提供了對核准應用範圍的細緻控制。這包含兩個維度:

特定性 (Specificity) - 核准適用的寬廣程度

  • 指令前綴 - 核准任何以特定前綴開頭的指令。
  • 確切指令 - 僅核准該精確的指令行。
  • 所有指令 - 核准所有終端機指令。

範圍 (Scope) - 核准持續的時間

  • 本次工作階段 - 適用於目前對話的其餘部分。
  • 此工作區 - 適用於整個專案。
  • 永遠 - 適用於未來的各個工作階段。

例如,如果 Python uv 指令在專案中是受信任的,請使用涵蓋工作區中 uv 的核准設定。如果需要更嚴格的控制,請僅在目前的工作階段中允許執行確切的指令。

Expanded approvals menu showing approval specificity and scope options in VS Code chat.

您也可以在 VS Code 設定中透過設定自動核准 (Configure Auto Approve) 來管理這些規則。

權限層級

除了個別核准外,聊天輸入區中的權限選擇器可控制代理程式在該工作階段中的整體自主程度。

預設核准

這是預設模式。Copilot 會遵循設定的組態,並在需要時顯示確認對話方塊。當您正在了解代理程式的功能,或是在處理敏感事務時,這是正確的起始點。

略過核准

自動核准所有工具呼叫,並在遇到錯誤時自動重試。您將不再執行逐步監督,而是讓所有任務不中斷地執行。

在「略過核准」模式下,如果代理程式遇到需要決策的阻塞性問題,它仍然會停止並等待。雖然您移除了安全性提示,但對於需要判斷的決策,您仍然參與其中。

自動駕駛 (Autopilot)

自動駕駛的功能比「略過核准」更進一步。它會自動核准工具呼叫、在錯誤發生時自動重試,並自行解決阻塞性問題,直到它判定任務完成為止。

注意

當您首次啟用「略過核准」或「自動駕駛」時,VS Code 會顯示警告。這兩種模式都會跳過對可能修改檔案與執行指令之動作的手動確認。

Screenshot showing the approval picker in VS Code chat with Default approvals, Bypass approvals, and Autopilot options.

工具呼叫

代理程式採取的每個動作都會以「工具呼叫」的形式顯示在聊天面板中。工具呼叫即是代理程式使用其可用工具之一。

代理程式會根據您的提示與收集到的上下文決定使用哪些工具。您也可以在提示中使用 # 明確參照工具。

  • #fetch,擷取特定網頁。
  • #codebase,搜尋整個專案。
  • #file,附加特定檔案。

在聊天輸入欄位中輸入 #,即可查看目前工作階段中所有可用的上下文來源與工具清單。

上下文視窗

模型在同一時間能記憶的資訊有限。此限制即為「上下文視窗」,以 Token 計算。當上下文視窗填滿時,模型會開始遺失對話早期部分的追蹤。

選取聊天面板中的 Token 使用量指標,即可查看預算使用情況的即時明細。

Screenshot showing the context window indicator in VS Code chat with token usage and context breakdown details.

您的上下文預算包含什麼

明細分為兩組:

系統 (每個請求的固定開銷)

  • 系統指令 - 規範代理程式行為的內建規則
  • 工具定義 - 所有可用工具的描述

使用者上下文 (隨工作進行而增加)

  • 訊息 - 對話歷史紀錄:您的提示與代理程式的回應
  • 工具結果 - 工具呼叫的輸出,例如終端機輸出與檔案讀取內容

在簡短的工作階段中,系統開銷會佔用大部分預算。隨著工作階段增長,工具結果與訊息將開始佔據主導地位。

這就是為什麼審慎選擇工具與上下文至關重要。您新增的每一項內容都會影響預算。

管理已滿的上下文視窗

當上下文視窗填滿時,VS Code 會自動透過摘要先前的訊息來壓縮對話。這能讓您在不中斷工作階段的情況下繼續工作。

您也可以手動壓縮。

  • 在上下文視窗彈出視窗中選取壓縮對話 (Compact Conversation)
  • 在聊天輸入欄位中輸入 /compact
  • 加入指令,例如 /compact focus on the encoder implementation decisions (壓縮:聚焦於編碼器實作決策)。

如果您想要完全重設,請開始新的聊天工作階段。

子代理程式在此也有幫助,因為它們在各自的上下文視窗中執行獨立任務。該主題將在本系列的後續部分涵蓋。

接下來要做什麼

現在您已了解如何在代理程式工作時保持控制權,包括使用範圍化核准、選擇正確的自主層級,以及監控上下文預算。在下一篇指南中,您將學習如何審核代理程式所做的變更、在任何細粒度下接受或復原變更,並使用檢查點 (checkpoints) 與分支 (forks) 來探索不同方向而不會遺失工作進度。

深入了解

© . This site is unofficial and not affiliated with Microsoft.