Agent Mode 总览
说明 VS Code agents 的类型、Ask Plan Agent 分工、权限级别、handoff 和团队使用边界。
VS Code 官方文档把 agent 定义为能自主完成编程任务的 AI 助手。你给高层目标,它会拆步骤、跨文件编辑、运行命令,并在失败时自我修正。
这和普通 Chat 的差异很大:普通 Chat 主要回答;Agent Mode 会行动。因此第一课不是“怎么让它更聪明”,而是“把行动权限交给谁、交多少、怎么验收”。
阅读目标:读完本章,你应该能区分 local agent、Copilot CLI、Cloud agent、third-party agent,并知道 Ask、Plan、Agent 的边界。
1. Agent 类型
VS Code 官方总览把 agent 类型按运行位置和交互方式分开:
- Local agent:在 VS Code agent loop 中交互运行,访问本地 workspace、tools 和 models。
- Copilot CLI:在本机后台运行,可用于后台任务和隔离实验。
- Cloud agent:在 GitHub 远程环境运行,适合 PR 协作和团队 review。
- Third-party agent:通过 Anthropic、OpenAI 等 provider 的 harness 或 SDK 运行。
flowchart TD
Task["任务"] --> Where{"需要哪里运行?"}
Where -->|本地编辑器上下文| Local["Local agent"]
Where -->|本机后台 / CLI| CLI["Copilot CLI"]
Where -->|PR / GitHub 协作| Cloud["Cloud agent"]
Where -->|特定 provider| Third["Third-party agent"]
Local --> Review["VS Code pending edits"]
CLI --> Diff["VS Code diff / terminal session"]
Cloud --> PR["Pull request review"]
Third --> Policy["团队自定义策略"]
style Local fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style Cloud fill:#dcfce7,stroke:#16a34a,stroke-width:2px
style Policy fill:#fef3c7,stroke:#d97706,stroke-width:2px
2. Ask、Plan、Agent 怎么选
VS Code 有三个 built-in agents:
- Ask:回答代码概念、代码库问题或 VS Code 使用问题,不做文件修改。
- Plan:在写代码前生成结构化实施计划,计划合适后交给 implementation agent。
- Agent:自主计划并实施,跨文件编辑、运行 terminal commands、调用工具。
选择规则:
- 理解问题、查代码、解释错误:先用 Ask。
- 需求不清、涉及架构、影响多模块:先用 Plan。
- 范围清楚、需要真实改文件和跑测试:用 Agent。
- 需要后台执行或 PR:考虑 CLI 或 Cloud agent。
3. 权限级别
VS Code 官方总览说明,agent 可以不同程度自主调用工具和终端命令。权限 picker 可以从“每次批准”到“完全自动”之间调整。
常见层级:
- Default Approvals:按 VS Code 设置执行;默认只有只读和安全工具不需要显式批准。
- Bypass Approvals:自动批准工具调用,但 agent 仍可能问澄清问题。
- Autopilot Preview:自动批准工具调用、自动回答问题,并持续执行直到任务完成。
商业项目默认不应直接给 Bypass 或 Autopilot。先让团队熟悉工具、diff 和回滚,再逐步放开。
4. Handoff 不是失败
VS Code 官方提到可以把 session hand off 到其他 agent。典型流程:
- Local agent 先 Plan。
- Copilot CLI 做后台 proof of concept。
- Cloud agent 生成 PR。
- 团队在 GitHub 上 review。
这不是换工具失败,而是把任务交给最合适的执行面。
5. 适合和不适合
适合 Local Agent:
- 需要当前编辑器上下文。
- 要看实时 diagnostics、terminal output 或本地浏览器。
- 你希望逐步批准工具调用。
适合 Cloud agent:
- 任务清晰,能通过 PR review 验收。
- 你希望它在后台执行。
- 需要团队协作、分支和 reviewer。
暂时不适合:
- 生产部署、删除数据、云资源修改。
- 需求不清却直接让 agent 写代码。
- 没有测试入口、没有回滚路径的高风险任务。
深读:为什么 agent 类型要按验收面选择
本地 agent 的验收面是 VS Code 的 pending edits、terminal 和本地测试;Cloud agent 的验收面是 branch、session log 和 PR。入口不同,上下文和回滚方式也不同。
所以不要只问“哪个 agent 更强”。应该问:这个任务最后在哪里 review,失败时在哪里回退。
本章自检
完成本章后,用这 4 个问题检查:
- 当前任务需要本地上下文、后台执行、PR 协作,还是特定 provider?
- 当前应该用 Ask、Plan 还是 Agent?
- 权限级别是否匹配任务风险?
- 结果应该回到 pending edits、terminal output、PR 还是 session log 验收?
通过标准:你能先选 agent 类型和权限,再启动任务。
官方来源
- Using agents in Visual Studio Code —— VS Code 官方 agents 总览。
- Asking GitHub Copilot questions in your IDE —— GitHub 官方 IDE Chat 文档,覆盖 Plan mode 和 Agent mode。
- Managing cloud agents —— GitHub 官方 cloud agent session 管理文档。