AI News HubLIVE
站内改写2 分鐘閱讀

從一次性提示到工作流程:如何在GitHub Copilot CLI中使用自定義代理

GitHub Copilot CLI引入了自定義代理功能,允許開發者使用Markdown檔案定義代理配置檔案,將團隊上下文編碼為可重複、可審查的工作流程。本文詳細介紹了自定義代理的概念、如何建立和使用它們,並提供了三個實用的工作流示例:安全審計、基礎設施即程式碼合規和釋出文件生成。

來源GitHub AI & ML作者: Natalie Guevara

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,將執行密集型工作流編碼一次,然後從終端呼叫它。代理將以相同的方式每次執行您的工作流。

要新增新的自定義代理,您需要:

  1. 從 Copilot CLI 呼叫代理。在終端中執行 Copilot CLI 並使用 /agent 命令。選擇您想要使用的自定義代理。
  1. 在目標倉庫的 .github/agents 目錄中建立代理配置檔案。代理配置檔案是一個帶有 YAML 前端內容的 Markdown 檔案,定義了代理的角色、範圍、能力和護欄,使其在工作流中行為一致。代理配置檔案的副檔名為 .agent.md,例如 accessibility.agent.md

由於代理配置檔案是倉庫中的一個檔案,可以對其進行審查、更新和共享。

可以使用自定義代理自動化的常見工作流

自定義代理的最佳起點是團隊已經重複執行的任務,其中許多通常從終端開始,然後在 IDE 和 GitHub 上繼續進行。

以下是幾個實際場景:

  1. 安全審計代理:跨倉庫執行團隊的標準安全檢查,按嚴重性總結髮現,並輸出帶有所有者和下一步措施的拉取請求就緒清單。
  1. 基礎設施即程式碼合規代理:對照組織的護欄和策略審查 Terraform 計劃和 Kubernetes 清單。突出顯示有風險的更改,並生成簡潔的審批就緒摘要。
  1. 釋出文件代理:收集自上次釋出以來的合併拉取請求,進行分類,並以團隊風格起草釋出說明。更新倉庫的 CHANGELOG.md,幷包含一個簡短的釋出清單,包括測試、遷移和回滾說明。

自定義代理使團隊能夠將重複性任務標準化,減少上下文切換,提高效率。從簡單任務開始,逐步構建更復雜的自動化工作流。