---
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="/docs/github-copilot/official/05-copilot-cli/rollback-pr" />
  <Card title="Cloud Agent" description="如果使用 /delegate，继续学习 cloud agent 的 PR 审查链路。" href="/docs/github-copilot/official/04-cloud-agent" />
</Cards>
