---
title: "委派任務"
description: "區分 GitHub Copilot CLI 的本地 autopilot 和 /delegate 到 cloud agent，並說明許可權、checkpoint 和 PR 邊界。"
verifiedAt: "2026-05-06"
---

Copilot CLI 裡有兩種“讓它自己做”的方式：本地 autopilot（自動駕駛模式）和 `/delegate` 到 cloud agent（雲端代理）。它們不是同一個東西，風險面也不同。

官方頁面給出的分工很清楚：autopilot 在本機 CLI session 裡執行，你給 full permissions 後它本地工作；`/delegate` 把任務交給 GitHub 上的 Copilot cloud agent，遠端建立 branch 和 draft PR，後臺繼續執行。

> [!TIP]
> **閱讀目標**：讀完本章，你應該能判斷任務該本地 autopilot，還是 `/delegate` 到 cloud agent。

## 1. 兩種委派方式

- **Autopilot**：本地執行，適合你想即時看進度、任務依賴本地環境、並且你能接受 full permissions 的場景。
- **`/delegate`**：遠端執行，適合任務可以後臺跑、你希望關掉本機也繼續、並且結果透過 draft PR review。

```mermaid
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`，並用許可權選項控制它能做什麼。

示例：

```bash
copilot --autopilot --yolo \
  --max-autopilot-continues 10 \
  -p "YOUR PROMPT HERE"
```

這裡的 `--yolo` 代表放開許可權，實際專案預設不建議使用。更穩的做法是進入受限目錄、容器或 disposable branch，再限制繼續次數。

## 3. `/delegate` 怎麼啟動

在 interactive session 裡輸入：

```text
/delegate 把 tests/api 下还没补全的集成测试补完
```

也可以用 `&` 字首（等價寫法）：

```text
& 把 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 寫法

```text
目标：
补齐 API integration tests

范围：
只改 tests/api

不要改：
production code
workflow files

验收：
运行 API test
在 PR 说明失败项
```

不管本地還是遠端，委派任務都必須能透過 diff、test、PR 或 session log 覆盤。

<details>
<summary>深讀：為什麼 checkpoint 很重要</summary>

`/delegate` 前讓 Copilot checkpoint unstaged changes，是為了把當前上下文固定到一個可追蹤狀態。如果你把未審查的髒改動直接帶進 cloud agent，後面很難分清哪些是你已有改動，哪些是 agent 新增改動。

所以委派前先看 `git status`，再決定 checkpoint 是否合理。
</details>

## 本章自檢

完成本章後，用這 4 個問題檢查：

1. 任務需要本地環境，還是可以遠端執行？
2. 是否已經檢查 `git status` 和當前分支？
3. Autopilot 是否在沙箱或受限 branch 中執行？
4. `/delegate` 生成的 draft PR 是否能被 reviewer 直接審？

透過標準：委派之後仍然有清晰的 diff、測試、session 或 PR review 鏈路。

## 官方來源

- [Delegating tasks to Copilot](https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/delegate-tasks-to-cca) —— 官方 autopilot 和 `/delegate` 頁面。
- [About GitHub Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli) —— 官方 CLI 概念頁。
- [About GitHub Copilot cloud agent](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent) —— 官方 cloud agent 概念頁。

## 接下來去哪

<Cards>
  <Card title="回復和 PR 管理" description="委派任務前後都要掌握 rollback 和 review。" href="/zh-Hant/docs/github-copilot/official/05-copilot-cli/rollback-pr" />
  <Card title="Cloud Agent" description="如果使用 /delegate，繼續學習 cloud agent 的 PR 審查鏈路。" href="/zh-Hant/docs/github-copilot/official/04-cloud-agent" />
</Cards>
