什么是 GitHub Copilot Agent 模式?
GitHub Copilot Agent 模式是 Visual Studio 中引入的一种高级协作方式。与传统 Copilot 仅生成单次代码建议不同,Agent 模式更像是一个智能自动化助手。它能理解自然语言提示,自动拆解任务并规划执行步骤,支持修改代码、运行命令及调用工具,并能持续监控执行效果,自动迭代直至满足目标。
工作原理:自动执行与迭代
Agent 模式的核心在于其能够处理多步骤的复杂任务。当你提交一个自然语言提示时,系统会进行判断:
- 如果任务是单步请求,则直接生成代码建议;
- 如果任务涉及多个步骤,Copilot 会进入 规划模式(Planning Mode),分解任务并建立一个详细的执行计划。
这种机制使得 AI 不再是一次性响应,而是具备自我修正能力的循环过程。
执行流程详解
计划创建与结构
Agent 在后台维持两种形式的计划,以兼顾人类可读性与机器可执行性:
| 计划类型 | 作用 |
|---|---|
| Markdown 计划 | 可视化展示任务结构、步骤和进度,方便开发者审阅 |
| JSON 计划 | 机器可读,用于内部状态跟踪和步骤协调 |
逐步执行与反馈
Agent 按计划分步骤执行,关键特点包括:
- 实时在编辑器显示建议代码。
- 在需要时运行终端命令或调用工具。
- 检测运行结果(如编译失败、测试未通过等)。
- 基于新上下文调整后续计划。
这种反馈循环使得 Copilot 能在执行中动态调整策略,而不是像传统模式那样只输出一次建议。
内部工具体系
Agent 模式依赖以下关键内部工具来完成任务。当规划开启时,这些工具会自动激活,并在聊天窗口工具列表中显示,你可以按需启用或禁用:
| 工具 | 作用 |
|---|---|
| plan | 生成执行计划 |
| adapt_plan | 动态调整计划 |
| update_plan_progress | 更新步骤完成状态 |
| record_observation | 捕获运行结果反馈 |
| finish_plan | 标记计划执行完成 |
安全与权限控制
为了保障开发环境的安全,Copilot 在执行敏感操作前会有严格的确认机制:
- 终端命令或外部工具:执行前会请求确认。你可以选择仅本会话允许、本解决方案允许或所有未来都允许。
- 文件访问权限:Agent 模式只能访问当前解决方案中的本地文件,即位于解决方案根目录及其子目录下的文件。被排除的文件或文件夹无法访问或修改。
🔔 提示:终端命令权限与 Visual Studio 进程一致,请在执行前仔细审核授权设置。如需重置,可在 Tools > Options > GitHub > Copilot > Tools 中操作。
Ask 模式与 Agent 模式对比
| 模式 | 特点 | 适用场景 |
|---|---|---|
| Ask 模式 | 生成建议,不自动应用代码 |

