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

