官方教程中文版上下文與定製
上下文與定製
按 GitHub 與 VS Code 官方文件梳理 Copilot instructions、prompt files、skills、hooks、plugins 和組織規則。
Copilot 的質量不只取決於模型,也取決於你給它什麼上下文。官方文件把定製能力分成幾類:自定義指令(custom instructions)、提示詞檔案(prompt files)、agent skills、custom agents、MCP、hooks 和外掛(plugins)。
這組頁面解決一個問題:哪些內容應該寫成長期規則,哪些應該寫成一次性 prompt,哪些應該做成可複用工作流或外掛。
閱讀目標:讀完本組索引,你應該能為專案設計一套不汙染上下文、不洩露敏感資訊、能長期維護的 Copilot 定製層。
1. 定製地圖
- Repository instructions:專案長期規則,寫架構、測試、風格、禁止事項。
- Personal / Organization instructions:個人偏好和組織治理,不應和儲存庫事實混用。
- Prompt files:重複任務的可複用 prompt,通常作為 slash command 呼叫。
- Skills / Hooks / Plugins:多步驟能力包、生命週期 shell 命令和可安裝分發包。
flowchart TD
Need["定製需求"] --> Stable{"長期穩定規則?"}
Stable -->|是| Instructions["Instructions"]
Stable -->|否| Repeat{"是否重複任務?"}
Repeat -->|是| Prompt["Prompt file"]
Repeat -->|否| One["普通 prompt"]
Prompt --> Workflow{"需要指令碼和資源?"}
Workflow -->|是| Skill["Agent skill"]
Workflow -->|否| Use["Slash command 使用"]
Skill --> Hook{"需要強制執行命令?"}
Hook -->|是| Hooks["Hooks"]
Skill -->|否| Plugin{"需要分發?"}
Hooks --> Plugin
Plugin -->|是| Pack["Agent plugin"]
Plugin -->|否| Repo["專案內維護"]
style Instructions fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style Hooks fill:#fef3c7,stroke:#d97706,stroke-width:2px
style Pack fill:#dcfce7,stroke:#16a34a,stroke-width:2px
2. 本組頁面
儲存庫自定義指令
用 .github/copilot-instructions.md、.github/instructions 和 AGENTS.md 寫專案規則。
個人和組織指令
區分 personal、repository、organization instructions 的職責和優先順序。
Prompt Files
把重複的 Chat 請求儲存成 .prompt.md 檔案,並用 slash command 呼叫。
Skills、Hooks、Plugins
理解多步驟工作流、強制生命週期命令和可安裝定製包。
3. 推薦建設順序
- 先寫最小儲存庫級 instructions。
- 再按目錄補 path-specific instructions。
- 重複 prompt 超過 3 次,再做 prompt file。
- 有指令碼、資源、檢查清單時,再做 skill。
- 需要強制執行 formatter、audit、logging 時,再加 hook。
- 需要跨團隊分發時,再包裝成 plugin。
不要反過來從 plugin 開始。沒有穩定規則和真實重複場景,擴充套件能力只會增加維護成本。
4. 上線前檢查
- Instructions 是否不含金鑰、內部 URL、客戶資料。
- Prompt file 是否有明確輸入、輸出和驗收。
- Skill 是否宣告使用場景和允許工具。
- Hook 是否可重複執行,失敗時是否安全。
- Plugin 是否來自可信 marketplace 或內部源。
- 定製檔案是否能被當前 IDE、CLI 或 GitHub.com 功能讀取。
深讀:為什麼定製層要少而準
所有定製都會改變模型看到的上下文。規則太多、衝突太多、過期太多時,Copilot 的回答會變得不穩定,團隊還很難發現問題來自哪裡。
商業級定製不是堆檔案,而是讓每一層都有 owner、適用範圍和刪除機制。
本組自檢
讀完整組後,用這 4 個問題檢查:
- 這條上下文是長期規則、重複任務、指令碼化能力、生命週期控制還是分發包?
- 它應該放在個人、儲存庫、組織,還是專案目錄下?
- 它是否會洩露敏感資訊或注入過期規則?
- 你是否能用真實任務驗證它被 Copilot 使用?
透過標準:每個定製檔案都有明確職責,不和其它層級互相覆蓋。
官方來源
- About customizing GitHub Copilot responses —— GitHub 官方響應定製概念頁。
- Customization —— VS Code 官方定製概念頁。
- Customize AI in Visual Studio Code —— VS Code 官方定製入口。
- GitHub Copilot CLI customization features —— 官方 CLI 定製能力對比。