從一次性提示到工作流程:如何在GitHub Copilot CLI中使用自定義代理
GitHub Copilot CLI引入了自定義代理功能,允許開發者使用Markdown文件定義代理配置文件,將團隊上下文編碼為可重複、可審查的工作流程。本文詳細介紹了自定義代理的概念、如何創建和使用它們,並提供了三個實用的工作流示例:安全審計、基礎設施即代碼合規和發佈文檔生成。
GitHub Copilot CLI 現在支持自定義代理,這是一項新功能,允許開發者將團隊的標準和上下文編碼為可重複、可審查的工作流程,從而將終端從單純的命令執行工具轉變為理解團隊技術棧和開發流程的智能助手。
什麼是自定義代理?
自定義代理是一個可以通過 Markdown 文件定義的 Copilot 代理。與依賴通用行為不同,您可以描述代理應該如何操作、可以使用哪些工具、應遵循哪些標準以及應產生哪些輸出。結果:無論在哪裏運行,其行為都是一致的。
您創建的每個編碼代理都可以充當針對特定任務量身定製的專業代理。例如,通用編碼代理可能會建議如何清理代碼,但自定義代理可以在每次運行時應用您的格式化規則、工具、可訪問性標準、審查要求和安全要求。
自定義代理使用代理配置文件來定義,這些文件直接存在於您的倉庫中。使用 Markdown 編寫,這些代理配置文件允許您指定:代理的角色和專業知識領域、它可以訪問哪些工具、以及保持輸出安全和一致的護欄。
例如,一個“無障礙專家”代理的配置文件開頭如下:
--- description: 'Expert assistant for web accessibility (WCAG 2.1/2.2), inclusive UX, and a11y testing' name: 'Accessibility Expert' model: GPT-4.1 tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI']
因為代理配置文件位於倉庫中,您的團隊可以審查、版本化並共享它,從而使相同的期望從 CLI 到 IDE 再到 GitHub 上的拉取請求都能得到貫徹。
如何在 GitHub Copilot CLI 中使用自定義代理
GitHub Copilot CLI 非常適合代理驅動的工作,因為它已經可以運行腳本、調用 API 並直接與您的倉庫交互。在此處定義代理可以讓您進一步定製 Copilot CLI,將執行密集型工作流編碼一次,然後從終端調用它。代理將以相同的方式每次執行您的工作流。
要添加新的自定義代理,您需要:
- 從 Copilot CLI 調用代理。在終端中運行 Copilot CLI 並使用
/agent命令。選擇您想要使用的自定義代理。
- 在目標倉庫的
.github/agents目錄中創建代理配置文件。代理配置文件是一個帶有 YAML 前端內容的 Markdown 文件,定義了代理的角色、範圍、能力和護欄,使其在工作流中行為一致。代理配置文件的擴展名為.agent.md,例如accessibility.agent.md。
由於代理配置文件是倉庫中的一個文件,可以對其進行審查、更新和共享。
可以使用自定義代理自動化的常見工作流
自定義代理的最佳起點是團隊已經重複執行的任務,其中許多通常從終端開始,然後在 IDE 和 GitHub 上繼續進行。
以下是幾個實際場景:
- 安全審計代理:跨倉庫運行團隊的標準安全檢查,按嚴重性總結髮現,並輸出帶有所有者和下一步措施的拉取請求就緒清單。
- 基礎設施即代碼合規代理:對照組織的護欄和策略審查 Terraform 計劃和 Kubernetes 清單。突出顯示有風險的更改,並生成簡潔的審批就緒摘要。
- 發佈文檔代理:收集自上次發佈以來的合併拉取請求,進行分類,並以團隊風格起草發佈説明。更新倉庫的 CHANGELOG.md,幷包含一個簡短的發佈清單,包括測試、遷移和回滾説明。
自定義代理使團隊能夠將重複性任務標準化,減少上下文切換,提高效率。從簡單任務開始,逐步構建更復雜的自動化工作流。