---
title: "VS Code Agent Mode"
description: "按 VS Code 与 GitHub 官方文档梳理本地 agent、Plan、工具权限和代码修改审查。"
verifiedAt: "2026-05-06"
---

VS Code Agent Mode 的核心不是“让 Copilot 多写一点代码”，而是把 Copilot 放进一个本地工程循环：理解任务、选择 agent、调用工具、改文件、运行命令、审查 pending edits（待提交的改动）。

VS Code 官方文档把 agent 定义为能自主完成编程任务的 AI 助手。它可以把高层目标拆成步骤，跨文件编辑，运行命令，并在失败时自我修正——能力越强，越需要明确权限、边界和审查这条配套链。

> [!TIP]
> **阅读目标**：读完本组索引，你应该能判断什么时候用 Ask、Plan、Agent，本地 agent、CLI agent 或 Cloud agent，以及如何审查它们的输出。

## 1. Agent 工作流地图

- **Ask**：回答代码库、概念或 VS Code 问题，不改文件。
- **Plan**：先生成结构化实施计划，不直接写代码；适合复杂任务和商业项目。
- **Agent**：自主计划并实施，能跨文件修改、运行命令和调用工具。
- **Copilot CLI / Cloud agent**：适合后台任务、变体探索或 PR 协作。
- **Third-party agent**：通过 Anthropic、OpenAI 等 provider 的 agent harness 或 SDK 接入。

```mermaid
flowchart TD
    Task["开发任务"] --> Mode{"需要改文件吗?"}
    Mode -->|否| Ask["Ask"]
    Mode -->|是| Scope{"需求是否清楚?"}
    Scope -->|不清楚| Plan["Plan agent"]
    Scope -->|清楚| Agent["Agent"]
    Plan --> ReviewPlan["审计划 / 问开放问题"]
    ReviewPlan --> Agent
    Agent --> Tools["工具调用 / 文件编辑 / 终端命令"]
    Tools --> Edits["Pending edits"]
    Edits --> Review["Keep / Undo / test / commit"]

    style Plan fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Tools fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style Review fill:#dcfce7,stroke:#16a34a,stroke-width:2px
```

## 2. 本组页面

<Cards>
  <Card title="Agent Mode 总览" description="理解本地、CLI、Cloud、第三方 agent 的差异，以及 Ask / Plan / Agent 的内部分工。" href="/docs/github-copilot/official/03-vscode-agent-mode/agents-overview" />
  <Card title="计划模式" description="用 Plan agent 在写代码前研究任务、生成步骤、追问开放问题并保存计划。" href="/docs/github-copilot/official/03-vscode-agent-mode/planning" />
  <Card title="Agent 工具" description="理解 built-in tools、MCP tools、extension tools、tool approval 和权限级别。" href="/docs/github-copilot/official/03-vscode-agent-mode/agent-tools" />
  <Card title="审查代码修改" description="用 pending edits、inline diff、Keep / Undo 和 Source Control 审查 AI 改动。" href="/docs/github-copilot/official/03-vscode-agent-mode/review-code-edits" />
</Cards>

## 3. 推荐使用顺序

第一次引入 VS Code Agent Mode，建议这样推进：

1. 先用 Ask 解释代码，确认 references 和上下文。
2. 再用 Plan 生成方案，不让它直接改文件。
3. 再用 Agent 处理一个小范围 bug 或测试补齐。
4. 每次工具调用都看目的和副作用。
5. 最后用 pending edits 审查每个文件，跑测试，再提交。

不要一开始就给 agent “重构整个项目”或“修所有问题”。Agent 能做多步，不代表应该一开始就拿最大权限。

## 4. 上线前规则

团队文档至少写清：

- 哪些任务必须先 Plan。
- 哪些目录禁止 agent 自动改。
- 哪些 terminal commands 需要人工确认。
- 是否允许 Bypass Approvals 或 Autopilot。
- Pending edits 接受前必须跑哪些验证。
- 什么时候把本地 session hand off 到 CLI 或 cloud agent。

<details>
<summary>深读：Agent Mode 为什么比普通 Chat 更需要边界</summary>

普通 Chat 的输出通常停留在文字里；Agent Mode 会把输出落到文件、命令和工具调用上。它能节省时间，也能更快制造错误 diff。

商业级用法不是降低审查，而是把审查前移：先规划、再限制工具、再看 pending edits、再跑测试。
</details>

## 本组自检

读完整组后，用这 4 个问题检查：

1. 当前任务应该用 Ask、Plan、Agent、CLI 还是 Cloud agent？
2. Agent 能使用哪些工具，哪些工具需要人工批准？
3. 文件被改后，你是否逐个审查了 pending edits？
4. 完成标准是自然语言总结，还是测试、diff、PR review 和回滚路径？

通过标准：你能把 VS Code Agent Mode 当作受控工程循环，而不是一次性自动改代码按钮。

## 官方来源

- [Using agents in Visual Studio Code](https://code.visualstudio.com/docs/copilot/agents/overview) —— VS Code 官方 agents 总览，覆盖 agent 类型、Ask / Plan / Agent、权限级别和 handoff。
- [Planning with agents in VS Code](https://code.visualstudio.com/docs/copilot/agents/planning) —— VS Code 官方 Plan agent 文档。
- [Tools](https://code.visualstudio.com/docs/copilot/concepts/tools) —— VS Code 官方工具机制文档。
- [Review AI-generated code edits](https://code.visualstudio.com/docs/copilot/chat/review-code-edits) —— VS Code 官方 pending edits 审查文档。

## 接下来去哪

<Cards>
  <Card title="Agent Mode 总览" description="先把本地 agent、CLI、Cloud agent 和权限级别分清。" href="/docs/github-copilot/official/03-vscode-agent-mode/agents-overview" />
  <Card title="计划模式" description="复杂任务先从 Plan agent 开始。" href="/docs/github-copilot/official/03-vscode-agent-mode/planning" />
</Cards>
