自訂
AI 模型雖然擁有廣泛的通用知識,但並不了解您的程式碼庫或團隊開發習慣。請將 AI 視為一位技術嫻熟的新進團隊成員:他能寫出優秀的程式碼,但並不了解您的編碼規範、架構決策或偏好的函式庫。自訂功能正是讓您分享這些背景知識的管道,確保 AI 的回應能符合您的編碼標準、專案結構與工作流程。
本文將說明各種自訂選項及其適用時機。如需逐步設定指南,請參閱各章節連結的獨立說明文件。
自訂選項一覽
| 目標 | 用途 | 範例 | 啟動時機 |
|---|---|---|---|
| 將編碼標準套用至全域 | 常駐指令 (Always-on instructions) | 強制執行 ESLint 規則、要求 JSDoc 註解 | 自動包含在每個請求中 |
| 針對不同檔案類型設定不同規則 | 基於檔案的指令 (File-based instructions) | 針對 .tsx 檔案的 React 模式 |
當檔案符合特定模式或描述時 |
| 執行可重複使用的任務 | 提示詞檔案 | 建立 React 元件腳本 | 當您輸入斜線指令 (slash command) 時 |
| 透過腳本封裝多步驟工作流程 | 代理程式技能 (Agent skills) | 測試、Lint 檢查與部署管線 | 當任務符合技能描述時 |
| 具備工具限制的專門 AI 人格 | 自定義代理人 | 安全性審核員、資料庫管理員 | 當您選取該代理程式或由其他代理程式委派時 |
| 連線至外部 API 或資料庫 | MCP | 查詢 PostgreSQL 資料庫 | 當任務符合工具描述時 |
| 在代理程式生命週期點自動化任務 | 掛鉤 (Hooks) | 每次編輯檔案後執行格式化 | 當代理程式觸發對應的生命週期事件時 |
| 安裝預先封裝好的自訂項目 | 代理程式外掛 (Agent plugins) | 安裝社群測試外掛 | 當您安裝外掛時 |
從專案全域標準的自訂指令開始著手。當您有重複性任務時,請加入提示檔案 (Prompt files)。需要外部資料時,請使用 MCP。為專業領域建立自訂代理程式。隨著需求增長,您可以組合使用多種自訂類型。
自定義指令
自訂指令是 Markdown 檔案,用於定義編碼標準與專案背景資訊。AI 會在對話請求中自動包含這些檔案,因此您無需在每次提示詞中重複這些規則。自訂指令是最簡單的自訂方式,也是入門的最佳起點。
共有兩種類型
- 常駐指令 (Always-on instructions):在
.github/copilot-instructions.md中定義的專案全域規則,適用於每個請求。請將其用於團隊共同遵守的規範,例如程式碼風格、命名模式或偏好的函式庫。 - 基於檔案的指令 (File-based instructions):位於
.instructions.md檔案中的指引,會根據檔案路徑模式或任務描述來套用。當程式碼庫的不同部分需要不同規則時,請使用此方式,例如針對.tsx檔案的 React 模式,或是後端的 API 規範。
深入了解如何建立自訂指令。
提示詞檔案
提示檔案 (Prompt files) 是可重複使用的 Markdown 檔案,將特定任務編碼,並在對話中以斜線指令的形式顯示。當您發現自己反覆輸入相同的提示詞時,提示檔案可將其轉變為一鍵執行的指令。每個提示檔案都可以參考特定的檔案、工具與上下文,為 AI 提供執行該任務所需的一切。
提示檔案適用於諸如建立新元件架構、為模組產生測試案例或準備 Pull Request 描述等任務。
深入了解如何建立提示檔案。
代理程式技能 (Agent skills)
代理程式技能 (Agent skills) 將多步驟功能封裝為包含指令、腳本與資源的資料夾。與僅提供單一提示詞的提示檔案不同,技能為 AI 提供了一整套針對特定領域任務的工具箱,例如產生 API 文件、執行安全性稽核或執行資料庫移轉。
當任務符合技能描述時,系統會按需載入技能。它們基於開放標準建構,因此同一項技能可在不同的代理程式類型中運作。
深入了解如何建立代理程式技能。
自定義代理人
自訂代理程式 (Custom agents) 為 AI 賦予特定的人格,並限制其僅能使用特定角色所需的工具集。例如,安全性審核員代理程式僅能使用程式碼分析工具並遵循安全性相關指令,而資料庫管理員代理程式則透過 MCP 連線至資料庫,並遵循您的 Schema 慣例。
每個代理程式都在 .agent.md 檔案中定義,該檔案指定了代理程式的行為、可用工具以及對語言模型的偏好。代理程式也可以委派任務給其他代理程式,實現多步驟工作流程,讓不同的專家處理任務的不同部分。
深入了解如何建立自訂代理程式。
MCP
模型上下文協定 (Model Context Protocol, MCP) 是一項將 AI 連接至外部工具與資料來源的開放標準。若沒有 MCP,AI 只能處理程式碼與終端機指令。MCP 伺服器透過提供工具來擴展其能力,這些工具可用於查詢資料庫、呼叫 API、與雲端服務互動或存取任何其他外部系統。
MCP 伺服器可在本地或遠端執行,並且可以提供資源、提示詞與互動式應用程式。
深入了解如何新增與管理 MCP 伺服器。
掛鉤 (Hooks)
勾點 (Hooks) 允許在代理程式工作階段的特定時間點執行自訂 Shell 指令。指令與提示詞是用來引導 AI 的行為,而勾點則確保程式碼在定義的生命週期點確實執行。當您需要確定的執行結果時,例如每次編輯檔案後自動執行格式化、阻擋未通過 Lint 檢查的提交 (Commit),或是為每個工具呼叫建立稽核日誌,勾點就是正確的選擇。
深入了解如何設定勾點。
代理程式外掛 (Agent plugins)
代理程式外掛 (Agent plugins) 是預先打包好的自訂套件,您可以從外掛市場探索並安裝。與其親手建置所有內容,您可以安裝一個外掛,直接獲得結合了斜線指令、技能、自訂代理程式、勾點與 MCP 伺服器的完整解決方案。外掛對於採用社群最佳實踐或在團隊間共享內部工具非常實用。
代理程式外掛目前處於預覽階段。
深入了解代理程式外掛。