Agent 優先開發模式簡介

編寫程式碼的方式正在發生變化。你當然可以繼續親自編寫每一行程式碼,這在特定用例中可能是合適的。但業內正出現一種新的模式,即在程式設計中使用代理,通常稱為“代理程式設計”(agentic programming)或“代理優先開發”(agent-first development)。

你不再需要編寫每一行程式碼,而是透過引導 AI 編碼代理來閱讀你的程式碼庫、進行編輯、執行命令、修復自身的錯誤並完成工作。這些代理在一個迴圈中執行:你提供指令,代理執行,你進行糾正,如此往復,直到達到目標。

本指南涵蓋了使用 VS Code 和 GitHub Copilot 啟動首次代理會話所需的一切知識。

開始之前,請安裝 VS Code設定好 GitHub Copilot

實現卓越代理(Agent)成果的五大支柱

代理並非魔法。卓越的成果源於五個要素的協同工作。

  1. 底座 (Harness) - 將模型連線到你的工具和工作區的軟體層。
  2. 模型 (Model) - 進行推理並生成程式碼的 AI。
  3. 上下文 (Context) - 幫助代理理解你專案的相關檔案、指令和細節。
  4. 工具 (Tools) - 代理可以執行的操作,例如讀取檔案、執行命令和搜尋。
  5. 提示詞 (Prompt) - 你給代理的指令。

這五個要素缺一不可,全部用好,代理的效率將大幅提升。遺漏其中任何一個,結果都會偏離重點。

底座 (The harness)

在 VS Code 中,GitHub Copilot Chat 面板就是你的“底座”。底座是包裹在模型周圍的軟體層,除了思考過程外,它負責處理其餘的一切事務。

你可以將底座想象成汽車的線束。發動機仍然負責動力輸出,但線束將其連線到儀表盤、控制器和感測器,從而使動力變得可控。

底座為代理提供了:

  • 洞察工作區的“眼睛”,以便它能夠閱讀和理解你的檔案。
  • 一個終端,以便它可以執行命令並執行程式碼。
  • 編輯能力,以便它可以直接對你的程式碼庫進行更改。

代理模式

底座還透過三種模式來控制代理的自主程度。

模式 行為
詢問 (Ask) 來回對話。沒有編輯,也沒有命令執行。
規劃 (Plan) 概述它打算做什麼,但在採取行動前會等待批准。
代理 完全自主。它進行規劃、執行並不斷迭代,直到任務完成。

Agent mode picker in VS Code chat showing the Ask, Plan, and Agent options.

如果你是初學者,“詢問”或“計劃”是很好的入門點。當你準備好實施更改時,請切換到“代理”模式。

模型 (The model)

GitHub Copilot 透過模型選擇器為你提供多種模型選擇。模型是負責推理並生成程式碼的 AI。

你可以透過“思考深度”來控制模型的思考程度。

  • 低 (Low),推理較少,響應更快。最適合格式化、模板程式碼和簡單修復。
  • 中 (Medium),平衡了推理和速度。適用於重構、程式碼審查和標準實現。
  • 高 (High),最大程度的推理深度。最適合架構決策、多檔案重構和困難的除錯任務。

還有一個 自動 (Auto) 選項,它會根據容量和效能選擇最佳模型,從而減少速率限制、延遲和錯誤。

Model picker in VS Code chat showing available AI models and thinking effort options.

將思考深度與任務相匹配。簡單工作選“低”,標準編碼選“中”,難題選“高”。

提示詞 (The prompt)

提示詞是你傳送給代理的訊息,包含你的指令、目標和要求。這是你控制輸出質量的最有力槓桿。

以下是一個入門的基本提示詞。

在繼續之前,請確保已安裝 Python 3.13 或更高版本 以及 uv。代理會使用這兩者來設定和執行專案。

Using Python 3.13 and uv, implement a base62 encoder/decoder.

Prompt example in VS Code chat showing a request to implement a base62 encoder/decoder with Python 3.13 and uv.

這能讓代理執行起來,但你越具體,結果就越好。引用現有檔案,指定要遵循的模式,並明確界定範圍。我們將在後續指南中深入探討提示詞策略。

上下文

上下文是代理用於理解你的程式碼庫、檔案、對話歷史、指令和搜尋結果的一切資訊。模型是在通用資訊上進行訓練的,但它們需要關於你的程式碼庫的上下文才能執行有用的工作。

代理可以透過搜尋你的工作區和讀取檔案來自動收集上下文。你也可以主動提供這些資訊。

  • 點選聊天輸入框中的 + 圖示來新增特定檔案或資料夾。
  • 輸入 # 來引用特定的上下文來源,例如 #codebase(程式碼庫)、#file(檔案)或 #fetch(獲取)。

上下文管理是一種平衡藝術。資訊太多會迷惑代理,資訊太少則缺乏必要的細節。有一篇專門的指南更深入地涵蓋了 上下文策略

工具

工具是代理可以執行的操作。你看到的代理所採取的每一個動作(讀取檔案、編寫程式碼或執行命令)都是一次工具呼叫。你可以透過點選聊天輸入框中的工具圖示檢視所有可用工具。

Screenshot showing Configure Tools option in the Chat input.

內建工具包括:

工具 功能作用:
read 讀取工作區中的檔案。
edit 編輯工作區中的檔案。
execute 在你的機器上執行命令並執行程式碼。
search 在整個工作區中搜索檔案和符號。
browser 開啟並與網頁互動。
web 從網路獲取資訊和文件。
agent 將任務委託給子代理。
vscode 使用 VS Code 的功能和命令。
todo 管理和跟蹤待辦事項以進行任務規劃。

Tools picker in VS Code chat showing available agent tools that can be enabled for a session.

每個工具都有一個複選框,因此你可以按會話啟用或停用它。更多的工具意味著更強的能力,但過多的工具可能會讓代理在選擇使用哪個時感到困惑。根據手頭的任務來選擇性地配置工具集。

你可以透過 MCP 伺服器和 VS Code 擴充套件來擴充套件這個集合,我們將在後續指南中介紹。

批准機制 (Approvals)

當代理第一次想要執行終端命令時,它會暫停並請求許可。未經你的首先同意,代理不會在你的機器上執行任何命令。

Approval prompt in VS Code chat asking permission before running a terminal command.

檢查命令,如果看起來沒問題,請選擇 允許 (Allow)。如果看起來不對勁,請選擇 跳過 (Skip) 並糾正指令。

接下來是什麼

現在你已經掌握了驅動卓越代理成果的核心心智模型:底座、模型、上下文、工具和提示詞。代理已經具備了構建真實事物的能力——現在關鍵在於學習如何有效地引導它。

下一篇指南 中,我們將深入探討批准系統,瞭解如何控制代理的自主性,並理解如何在會話過程中監控你的上下文預算。

瞭解更多

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