VS Code Agent Mode
按 VS Code 与 GitHub 官方文档梳理本地 agent、Plan、工具权限和代码修改审查。
VS Code Agent Mode 的核心不是“让 Copilot 多写一点代码”,而是把 Copilot 放进一个本地工程循环:理解任务、选择 agent、调用工具、改文件、运行命令、审查 pending edits(待提交的改动)。
VS Code 官方文档把 agent 定义为能自主完成编程任务的 AI 助手。它可以把高层目标拆成步骤,跨文件编辑,运行命令,并在失败时自我修正——能力越强,越需要明确权限、边界和审查这条配套链。
阅读目标:读完本组索引,你应该能判断什么时候用 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 接入。
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. 本组页面
Agent Mode 总览
理解本地、CLI、Cloud、第三方 agent 的差异,以及 Ask / Plan / Agent 的内部分工。
计划模式
用 Plan agent 在写代码前研究任务、生成步骤、追问开放问题并保存计划。
Agent 工具
理解 built-in tools、MCP tools、extension tools、tool approval 和权限级别。
审查代码修改
用 pending edits、inline diff、Keep / Undo 和 Source Control 审查 AI 改动。
3. 推荐使用顺序
第一次引入 VS Code Agent Mode,建议这样推进:
- 先用 Ask 解释代码,确认 references 和上下文。
- 再用 Plan 生成方案,不让它直接改文件。
- 再用 Agent 处理一个小范围 bug 或测试补齐。
- 每次工具调用都看目的和副作用。
- 最后用 pending edits 审查每个文件,跑测试,再提交。
不要一开始就给 agent “重构整个项目”或“修所有问题”。Agent 能做多步,不代表应该一开始就拿最大权限。
4. 上线前规则
团队文档至少写清:
- 哪些任务必须先 Plan。
- 哪些目录禁止 agent 自动改。
- 哪些 terminal commands 需要人工确认。
- 是否允许 Bypass Approvals 或 Autopilot。
- Pending edits 接受前必须跑哪些验证。
- 什么时候把本地 session hand off 到 CLI 或 cloud agent。
深读:Agent Mode 为什么比普通 Chat 更需要边界
普通 Chat 的输出通常停留在文字里;Agent Mode 会把输出落到文件、命令和工具调用上。它能节省时间,也能更快制造错误 diff。
商业级用法不是降低审查,而是把审查前移:先规划、再限制工具、再看 pending edits、再跑测试。
本组自检
读完整组后,用这 4 个问题检查:
- 当前任务应该用 Ask、Plan、Agent、CLI 还是 Cloud agent?
- Agent 能使用哪些工具,哪些工具需要人工批准?
- 文件被改后,你是否逐个审查了 pending edits?
- 完成标准是自然语言总结,还是测试、diff、PR review 和回滚路径?
通过标准:你能把 VS Code Agent Mode 当作受控工程循环,而不是一次性自动改代码按钮。
官方来源
- Using agents in Visual Studio Code —— VS Code 官方 agents 总览,覆盖 agent 类型、Ask / Plan / Agent、权限级别和 handoff。
- Planning with agents in VS Code —— VS Code 官方 Plan agent 文档。
- Tools —— VS Code 官方工具机制文档。
- Review AI-generated code edits —— VS Code 官方 pending edits 审查文档。