GitHub Copilot 在 VS Code 中提供了四种内置 Agent:Agent、Plan、Ask、Edit。很多开发者容易混淆 Plan 模式和 Agent 模式的区别,认为都是让 AI 辅助写代码,但两者的交互逻辑和适用场景其实截然不同。
Plan 模式是什么?官方定义拆解
根据 GitHub 官方近期更新记录,Plan 模式的定位非常明确:"analyzes your codebase, generates detailed execution plans, and validates that requirements are covered before you start coding."(分析你的代码库,生成详细的执行计划,并在开始编码前验证需求是否已覆盖)。
翻译成人话就是:先分析代码库,生成详细计划,确认需求覆盖后再动手。
关键区别在于控制权:"Plan mode does not make any code changes until the plan is reviewed and approved by you."(在你审阅并确认之前,Plan 模式不会动你的代码)。
相比之下,Agent 模式的描述是:"When using an agent, chat autonomously determines what needs to be done and makes the necessary changes to your workspace."(使用 Agent 时,聊天自主决定需要做什么,并直接修改工作区)。
一句话总结差异:Plan = 先规划后动手,Agent = 边想边干。
Plan 模式的三个设计克制
克制 1:不改代码,直到你点「Start Implementation」
这是 Plan 模式最核心的设计。当你在 Plan 模式下输入任务描述后,Copilot 会生成一份分步计划,但它不会自动执行。你需要点击 "Start Implementation",它才会开始动手。
对比 Agent 模式:你输入需求,它直接开始改代码,甚至可能自动跑终端命令(比如安装依赖、执行构建脚本)。
打个比方:Plan 像装修前先出施工图给你审批;Agent 像工人拿着锤子边砸边想。哪个更让人心里踏实?这取决于任务的复杂度。简单任务,边干边看没问题。复杂任务,或者你在修改一个需谨慎动工的项目,你可能更想先看看它打算怎么改。
克制 2:生成分步计划,拆解任务清晰可见
Plan 模式会输出一份 "summary and steps breakdown"——任务摘要和分步拆解。你可以在规划阶段看到涉及哪些文件、每一步打算做什么以及执行顺序是什么。这给了你 "提前审阅" 的机会,而不是等 Agent 改完一大堆文件后,再去 diff 里找它到底动了什么。
结合 Debug 视图来看,这也是一个 multi-agent 的架构来执行任务,会通过 subagent 进行 websearch 与本地文件读取等操作。
克制 3:规划完可以交给 Agent 执行,也可以手动控制
审阅完规划后,你有两条路:
- Start Implementation:让 Agent 接手,按规划执行
- Open in Editor:把规划打开,你自己手动操作
官方的说法是:"supports seamless multi-step tasks, enabling accuracy and efficiency through every stage."(支持无缝的多步骤任务,通过每个阶段的准确性和效率来实现目标)。
所以,本质上 Plan 是 Agent 的 "前置规划层"。两者可以组合使用:Plan 负责想清楚,Agent 负责执行。
什么时候该用 Plan?什么时候直接 Agent?
推荐用 Plan 模式的场景
- 涉及多个文件、跨模块的重构任务——你需要先看清楚它打算改哪些地方
- 你对 AI 的实现路径不确定——想先看看它的思路对不对
- 需要在团队里留痕、可追溯的任务——规划阶段的输出可以当文档用
- "牵一发动全身"的架构调整——不能容忍改错后返工
推荐直接用 Agent 模式的场景
- 单文件、改动很小的快速修复——Plan 多一步反而慢
- 探索性任务——试错、加日志、调试,边干边调整更高效
- 你对任务目标和实现路径都很清楚——追求速度,不需要规划


