委派任務
區分 GitHub Copilot CLI 的本地 autopilot 和 /delegate 到 cloud agent,並說明許可權、checkpoint 和 PR 邊界。
Copilot CLI 裡有兩種“讓它自己做”的方式:本地 autopilot(自動駕駛模式)和 /delegate 到 cloud agent(雲端代理)。它們不是同一個東西,風險面也不同。
官方頁面給出的分工很清楚:autopilot 在本機 CLI session 裡執行,你給 full permissions 後它本地工作;/delegate 把任務交給 GitHub 上的 Copilot cloud agent,遠端建立 branch 和 draft PR,後臺繼續執行。
閱讀目標:讀完本章,你應該能判斷任務該本地 autopilot,還是 /delegate 到 cloud agent。
1. 兩種委派方式
- Autopilot:本地執行,適合你想即時看進度、任務依賴本地環境、並且你能接受 full permissions 的場景。
/delegate:遠端執行,適合任務可以後臺跑、你希望關掉本機也繼續、並且結果透過 draft PR review。
flowchart TD
Task["要委派的任務"] --> Where{"在哪裡執行?"}
Where -->|本地| Auto["Autopilot"]
Where -->|遠端| Delegate["/delegate 或 &"]
Auto --> Local["本機檔案 / shell / tools"]
Delegate --> Checkpoint["提交 unstaged changes checkpoint"]
Checkpoint --> Branch["新 branch"]
Branch --> DraftPR["draft PR + agent session"]
Local --> Review["本地 diff / tests"]
DraftPR --> ReviewPR["PR review"]
style Auto fill:#fef3c7,stroke:#d97706,stroke-width:2px
style Delegate fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style ReviewPR fill:#dcfce7,stroke:#16a34a,stroke-width:2px
2. Autopilot 怎麼啟動
官方頁面列出兩種方式:
- 互動式:在 interactive session 裡按
Shift+Tab,直到 status bar 顯示 autopilot。 - 程式化:命令里加
--autopilot,並用許可權選項控制它能做什麼。
示例:
copilot --autopilot --yolo \
--max-autopilot-continues 10 \
-p "YOUR PROMPT HERE"這裡的 --yolo 代表放開許可權,實際專案預設不建議使用。更穩的做法是進入受限目錄、容器或 disposable branch,再限制繼續次數。
3. /delegate 怎麼啟動
在 interactive session 裡輸入:
/delegate 把 tests/api 下还没补全的集成测试补完也可以用 & 字首(等價寫法):
& 把 tests/api 下还没补全的集成测试补完官方文件說明,Copilot 會要求把 unstaged changes 作為 checkpoint commit 到新 branch。之後 cloud agent 會開啟 draft PR、後臺修改,並請求你 review。CLI 會給出 pull request 和 agent session 連結。
4. 選擇標準
用 autopilot:
- 任務必須訪問本地環境。
- 你要即時觀察執行。
- 你能接受本機 full permissions 風險。
- 任務在 disposable branch 或沙箱裡。
用 /delegate:
- 任務可以非同步跑。
- 需要 PR review。
- 不想佔用本機。
- 希望透過 agent session 和 draft PR 留痕。
兩者都不適合:
- 無邊界生產命令。
- 刪除、部署、雲資源修改。
- 含敏感日誌、token、客戶資料的任務。
- 沒有測試或 review 標準的模糊任務。
5. 委派 prompt 寫法
目标:
补齐 API integration tests
范围:
只改 tests/api
不要改:
production code
workflow files
验收:
运行 API test
在 PR 说明失败项不管本地還是遠端,委派任務都必須能透過 diff、test、PR 或 session log 覆盤。
深讀:為什麼 checkpoint 很重要
/delegate 前讓 Copilot checkpoint unstaged changes,是為了把當前上下文固定到一個可追蹤狀態。如果你把未審查的髒改動直接帶進 cloud agent,後面很難分清哪些是你已有改動,哪些是 agent 新增改動。
所以委派前先看 git status,再決定 checkpoint 是否合理。
本章自檢
完成本章後,用這 4 個問題檢查:
- 任務需要本地環境,還是可以遠端執行?
- 是否已經檢查
git status和當前分支? - Autopilot 是否在沙箱或受限 branch 中執行?
/delegate生成的 draft PR 是否能被 reviewer 直接審?
透過標準:委派之後仍然有清晰的 diff、測試、session 或 PR review 鏈路。
官方來源
- Delegating tasks to Copilot —— 官方 autopilot 和
/delegate頁面。 - About GitHub Copilot CLI —— 官方 CLI 概念頁。
- About GitHub Copilot cloud agent —— 官方 cloud agent 概念頁。