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

