04 · 从补全到 Agent Mode
解释 Copilot 如何从 inline suggestion 演进到 Chat、Agent Mode、Cloud Agent 和 PR 自动化。
Copilot 的能力不是一次跳到“自动写完整项目”。它先从内联建议(inline suggestions)减少敲代码,再通过 Chat 解释和生成局部方案,随后进入 IDE 里的 Agent Mode、Copilot CLI、Cloud Agent 和 code review。越往后,Copilot 的行动能力越强,验收要求也越高——这就是把"补全 → 代理"放在一条演进线上看的意义。
本章目标:你会把 Copilot 的补全、Chat、Agent mode、CLI、Cloud Agent 和 PR 自动化放在同一条演进线上,并知道每一层应该如何验收。
1. 先看演进线
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. 选择规则
快速判断:
- 只补一小段代码:用 inline suggestions。
- 先理解或讨论:用 Chat。
- 本地跨文件修改:用 IDE Agent mode。
- 终端里的明确任务:用 Copilot CLI。
- 异步 issue 实现:用 Cloud Agent。
- PR 风险审查:用 Copilot code review 加人工 review。
风险越高,越要把 Copilot 的动作拆成计划、diff、测试、review 和回滚路径。
本章自检
读完后你应该能回答:
- 当前任务是建议、讨论、本地执行、终端执行,还是云端分支执行?
- Copilot 在这个入口能看到哪些上下文?
- 它是否会写文件、跑命令、开分支或创建 PR?
- 验收证据是 diff、test、terminal output、checks 还是 PR review?
通过标准:你能按任务风险选择 Copilot 层级,而不是所有问题都丢给 Agent mode。
官方来源
- GitHub Copilot features:官方 assistive、agentic、customization、administrator 功能分类。
- GitHub Copilot code suggestions in your IDE:官方代码建议概念页。
- Using agents in Visual Studio Code:VS Code 官方 Agent Mode、agent 类型和权限说明。
- What is GitHub Copilot?:官方 Copilot 定义、入口和产品范围。