GitHub Copilot Agent 模式概述
GitHub Copilot Agent 模式是 Visual Studio 中一种高级协作方式。与传统 Copilot 仅提供代码建议不同,它更像是一个智能自动化助手,能够理解自然语言提示,自动拆解任务并规划执行步骤,甚至修改代码、运行命令和调用工具。它会持续监控执行效果,自动迭代直至满足目标。
工作原理:自动执行与迭代
当你输入自然语言提示时,Copilot 会根据任务复杂度决定行为。如果是单步请求,直接生成代码建议;如果涉及多个步骤,则进入规划模式(Planning Mode),分解任务并建立执行计划。
计划创建
Agent 会维持两种计划:Markdown 计划用于人类阅读,展示任务结构、步骤和进度;JSON 计划则是机器可读的,用于内部状态跟踪和步骤协调。
逐步执行与反馈
Agent 按计划分步骤执行,其核心在于实时在编辑器显示建议代码、在需要时运行终端命令或调用工具、检测运行结果(如编译失败、测试未通过等)。基于新上下文调整后续计划的反馈循环,使得 Copilot 能在执行中自我修正。
内部工具体系
Agent 模式使用以下关键内部工具,当规划开启时会自动激活:
| 工具 | 作用 |
|---|---|
| plan | 生成执行计划 |
| adapt_plan | 动态调整计划 |
| update_plan_progress | 更新步骤完成状态 |
| record_observation | 捕获运行结果反馈 |
| finish_plan | 标记计划执行完成 |
这些工具会在聊天窗口工具列表中显示,你可以选择启用或禁用。
安全与权限控制
为了安全和控制,Copilot 在执行终端命令或外部工具前会请求确认。你可以选择仅本会话允许、本解决方案允许或所有未来都允许。在 Tools > Options > GitHub > Copilot > Tools 中可以重置这些授权设置。注意终端命令权限与 Visual Studio 进程一致,请在执行前仔细审核。
文件访问方面,Agent 模式只能访问当前解决方案中的本地文件,位于解决方案根目录及其子目录下。被排除的文件或文件夹不能访问或修改。
Ask 模式与 Agent 模式对比
Ask 模式生成建议但不自动应用代码,适合审慎修改;Agent 模式可自动执行、规划和修复复杂任务,适合流程化自动化。MCP 工具仅在 Agent 模式下可用。如果只想查看建议而不希望自动更改,请使用 Ask 模式。
规划工具启用与管理
如何启用规划?打开 Tools > Options,进入 All Settings > GitHub > Copilot > Copilot Chat,勾选 Enable Planning。启用后,规划相关工具会出现在 Tools 面板。
值得注意的是,规划文件是临时的,会话结束后删除(除非手动保存)。存在轻微延迟开销用于状态追踪。目前某些专用 Agent 可能尚不支持规划功能,Visual Studio 自动化权限需谨慎授权。
实际示例
假设 Prompt 为:'为我的项目添加一个 REST API 端点 GET /products,支持分页、返回 JSON 格式,并添加单元测试。如果失败,尝试处理错误并返回 500。'
Agent 可能的执行流程如下:
- 解析需求,生成计划
- 创建新控制器和路由
- 添加分页逻辑
- 写返回 JSON 的逻辑
- 添加测试
- 运行测试
- 检测错误并调整修复逻辑
- 最终完成并提交更改
这个过程会持续监控构建结果与单元测试,能动态修复失败项直到达成目标。
管理员视角
作为管理员,可以在 GitHub Copilot 控制台中关闭 Editor Preview Features,这样用户将无法使用 Agent 模式。
总结
Visual Studio 2026 中的 GitHub Copilot Agent 模式支持多步、自动执行,可调用终端、使用工具,内置规划与执行监控,拥有可视化计划与 JSON 追踪。它比传统 Ask 模式更强大,不仅是代码生成工具,更是智能自动化助手。

