---
title: "04 · 从补全到 Agent Mode"
description: "解释 Copilot 如何从 inline suggestion 演进到 Chat、Agent Mode、Cloud Agent 和 PR 自动化。"
verifiedAt: "2026-05-06"
---

Copilot 的能力不是一次跳到“自动写完整项目”。它先从内联建议（inline suggestions）减少敲代码，再通过 Chat 解释和生成局部方案，随后进入 IDE 里的 Agent Mode、Copilot CLI、Cloud Agent 和 code review。越往后，Copilot 的行动能力越强，验收要求也越高——这就是把"补全 → 代理"放在一条演进线上看的意义。

> [!NOTE]
> **本章目标**：你会把 Copilot 的补全、Chat、Agent mode、CLI、Cloud Agent 和 PR 自动化放在同一条演进线上，并知道每一层应该如何验收。

## 1. 先看演进线

```mermaid
flowchart TD
  Suggest["Inline suggestions"] --> Chat["Copilot Chat"]
  Chat --> IDEAgent["IDE Agent mode"]
  IDEAgent --> CLI["Copilot CLI"]
  CLI --> Cloud["Cloud Agent"]
  Cloud --> PR["Pull request / Code review"]
  Suggest --> Small["局部补全"]
  Chat --> Explain["解释 / 方案 / 小段生成"]
  IDEAgent --> LocalDiff["本地跨文件 diff"]
  CLI --> TerminalTask["终端任务 / 分支 / PR"]
  Cloud --> AsyncBranch["云端分支 / session / checks"]
  PR --> Review["人工 review / CI / merge gate"]
```

这条线有一个稳定规律：**从建议到执行，从局部上下文到协作上下文，从个人确认到团队审查**。

如果你只把 Copilot 当自动补全，就会低估它在 PR、review、CLI 和 Cloud Agent 里的作用；如果你一上来就让 Cloud Agent 改大仓库，又会跳过最关键的 diff、checks 和 review。

## 2. Inline suggestions：最小行动

代码建议是最低风险入口。GitHub 官方把 VS Code 里的建议分成两类：ghost text suggestions（灰字内联建议，跟着光标自动浮现）和 next edit suggestions（下一编辑预测，提示你最可能要改的下一处）。它们适合补局部实现、测试样板、重复 API 调用和当前文件里的固定模式。

这一层的关键词是 **候选代码**。Copilot 给的是建议，不是结论。

使用边界：

- 只接受你看懂的建议。
- 大段建议用 partial accept 拆开。
- 接受后立刻看相邻代码、类型、测试和 lint。
- 公开代码匹配出现时，看来源和许可证。

不适合让补全解决架构设计、跨模块重构、权限策略、生产脚本或不清楚需求的任务。

## 3. Chat：从写代码到讨论代码

Chat 适合解释、生成小段方案、定位错误、写测试思路、总结文件或 PR。和补全相比，Chat 更适合先问清“为什么”和“怎么改”。

适合 Chat 的问题：

- “这段代码的入口在哪里？”
- “这个 failing test 可能说明什么？”
- “按现有风格补一个测试方案。”
- “这个 PR 的风险点是什么？”

Chat 的风险是回答看起来完整，但不一定符合仓库事实。要主动给它文件、选区、issue、PR 或错误输出，并把结论回到源码和测试里验证。

## 4. Agent Mode：本地执行

VS Code 官方文档把 agent 描述为：能接收高层目标、自己拆步骤、编辑文件、运行命令并在出错时自我修正的 AI 助手。Agent Mode 的关键变化是：它不只是回答，而是开始改工作区。

适合 Agent Mode：

- 范围清楚的跨文件修复。
- 本地 bug reproduction 已经明确。
- 需要读文件、改代码、跑测试。
- 结果能在 pending edits、terminal output 和 diff 中审查。

不适合直接交给 Agent Mode：

- 需求还没定义。
- 生产环境命令。
- 数据删除、权限迁移、密钥处理。
- 没有测试、没有回滚路径的大改。

Agent Mode 的验收要看三样东西：它改了哪些文件、运行了哪些命令、命令输出是否支持结论。

## 5. CLI 和 Cloud Agent：从本地到异步

Copilot CLI 更贴近终端任务。官方功能页把它放在 agentic features（代理类能力）里，适合在终端里委派"加功能 / 修 bug / 顺手创建 PR"这一类任务。

Cloud Agent 则把执行放到远端分支。官方功能页说它能完成"研究仓库 → 制定实现计划 → 在分支里改代码"这条链路，然后让你 review diff、来回迭代，最后再把改动合成 pull request。

这两层的验收面不同：

| 能力 | 更适合 | 验收位置 |
| --- | --- | --- |
| Copilot CLI | 本地终端任务、后台修复、小分支 | git diff、terminal output、PR |
| Cloud Agent | issue 驱动的异步实现、团队 review | plan、branch、commits、checks、PR |
| Code review | PR 风险发现、review suggestions | review comments、作者确认、CI |

只要任务进入分支和 PR，就不要用“AI 已完成”做验收。真正验收的是 diff、checks、review 和责任人确认。

## 6. 选择规则

快速判断：

1. 只补一小段代码：用 inline suggestions。
2. 先理解或讨论：用 Chat。
3. 本地跨文件修改：用 IDE Agent mode。
4. 终端里的明确任务：用 Copilot CLI。
5. 异步 issue 实现：用 Cloud Agent。
6. PR 风险审查：用 Copilot code review 加人工 review。

风险越高，越要把 Copilot 的动作拆成计划、diff、测试、review 和回滚路径。

## 本章自检

读完后你应该能回答：

- 当前任务是建议、讨论、本地执行、终端执行，还是云端分支执行？
- Copilot 在这个入口能看到哪些上下文？
- 它是否会写文件、跑命令、开分支或创建 PR？
- 验收证据是 diff、test、terminal output、checks 还是 PR review？

通过标准：你能按任务风险选择 Copilot 层级，而不是所有问题都丢给 Agent mode。

## 官方来源

- [GitHub Copilot features](https://docs.github.com/en/copilot/get-started/features)：官方 assistive、agentic、customization、administrator 功能分类。
- [GitHub Copilot code suggestions in your IDE](https://docs.github.com/en/copilot/concepts/completions/code-suggestions)：官方代码建议概念页。
- [Using agents in Visual Studio Code](https://code.visualstudio.com/docs/copilot/agents/overview)：VS Code 官方 Agent Mode、agent 类型和权限说明。
- [What is GitHub Copilot?](https://docs.github.com/en/copilot/get-started/what-is-github-copilot)：官方 Copilot 定义、入口和产品范围。

## 接下来去哪

<Cards>
  <Card title="上一篇" description="先确认 Copilot 的入口地图和上下文边界。" href="/docs/github-copilot/understanding/03-copilot-surfaces-map" />
  <Card title="下一篇" description="继续学习如何用 instructions、Spaces、MCP 和上下文工程提升输出质量。" href="/docs/github-copilot/understanding/05-context-engineering-for-copilot" />
  <Card title="代码建议" description="回到官方重组页深读 ghost text、next edit suggestions 和公开代码匹配。" href="/docs/github-copilot/official/02-code-suggestions-and-chat/code-suggestions" />
</Cards>
