# GitHub Copilot agent 模式：在 VS Code 里做，再交给云端

> 使用 GitHub Copilot 的 agent 模式，先在 VS Code 里登录 Copilot，打开一个项目文件夹。在 Chat 视图里新开一个聊天，把 Agent 控件设为 Agent，然后描述你想做的东西。它询问的每个操作都由你批准，每处修改由你保留或撤销。到了 GitHub 上，把一个 issue 指派给 Copilot，拿回来的则是一个拉取请求。

Mindket 编辑部 · 发布于 2026-11-05 · 更新于 2026-11-05 · https://mindket.com/cn/learn/vibe-coding/github-copilot-agent-mode

## 要点

- 从最严格的审批设置开始，只在你熟悉的项目里才放宽。
- shell 步骤动过的东西要亲手查一遍，因为待审列表里看不到。
- 在 Copilot 接手之前，把整件事和它的边界都写进 issue。
- 让自动任务在智能体的分支上运行之前，先读一遍工作流文件的改动。
- 免费账号要盯着用量表，一次请求可能花掉好几次的额度。

## 在 VS Code 里设置 Copilot

VS Code 是微软的代码编辑器，GitHub Copilot 是 GitHub 内置进去的 AI 助手。

Copilot 的智能体在 2025 年 2 月刚进入 VS Code 时，名字叫“agent 模式”。现在的 VS Code 文档把它说成一个 Agent 控件设为 **Agent** 的会话。叫法不同，做的事一样：规划任务、修改文件、运行命令、检查结果。

你需要 VS Code 和一个 [GitHub](https://github.com) 账号。账号没有 Copilot 套餐的话，登录时符合条件的账号会加入 Copilot Free，每月有一份 AI 额度。每次智能体请求都会从中扣。窗口底部的状态栏能打开 Copilot 状态面板，上面显示这个月已经用掉的比例。

1. **安装 VS Code。**从 [code.visualstudio.com](https://code.visualstudio.com/download) 下载并安装。
2. **登录 Copilot。**把鼠标移到状态栏里的 Copilot 图标上，选 **Use AI Features**，挑一种登录方式，按提示走。已经有 Copilot 套餐的账号会继续用原来的套餐。
3. **建文件夹。**为这次练习新建一个空文件夹，按 VS Code 指南的叫法命名为 agent-quickstart。
4. **打开它。**选 **File** > **Open Folder**，挑 agent-quickstart。VS Code 问你是否信任这个文件夹时，在通知里选 **Manage**，再选 **Trust**。
5. **开始聊天。**打开 Chat 视图，选 **+** 新开一个聊天。之前的聊天会留在会话列表里。
6. **设置会话。**把 **Session Target** 设为 **Copilot**，**Agent** 设为 **Agent**，**Language model** 设为 **Auto**，**Permissions** 设为 **Manual permissions**。其余保持默认。

> 在 Copilot Free 上，遥测是开着的，也就是 VS Code 回传的使用数据。可以在 VS Code 里用 telemetry.telemetryLevel 设置关掉，也可以在 [GitHub 上的 Copilot 设置](https://github.com/settings/copilot)里调整。

## 一条提示词做出一个小应用

VS Code 的快速入门做的是一个任务清单，下面第一条提示词就是指南里的原样示例。里面提到的 local storage，是浏览器里供网页存数据的地方，刷新之后数据还在。把提示词贴进聊天，按 Enter。

智能体会新建 index.html，边做边保存。每当它想做一件你的设置还没放行的事，聊天里就会出现一个审批提示。接受之前，先看清它要做什么。聊天输入框里的 **Stop** 按钮能叫停这次运行，发一条新提示词则能把它引到别的方向。

智能体可能会请求在集成浏览器里打开 index.html，集成浏览器就是 VS Code 内置的浏览器。选 **Allow in this Session**，应用就出现在代码旁边，可以直接点。然后发第二条提示词，同样出自指南。它让智能体自己走完添加、完成、删除和刷新这一整轮，哪里坏了就修哪里。

````text
Create a task list web app in a single index.html file with embedded CSS and JavaScript. Let me add, complete, and delete tasks. Save the tasks in local storage so they persist after a page reload. Use no external libraries.

Open index.html in the integrated browser and validate the app.
Add a task, mark it complete, and delete it. Then add another task,
reload the page, and verify that the task persists. If any step fails,
fix the issue and repeat the complete flow.
````

- **添加一个任务并标为完成。**它应该显示为已完成。
- **刷新页面。**任务和它的完成状态都应该还在。
- **删除任务，再刷新一次。**它应该不再出现。
- **说出你看到的。**哪一步没通过，就在聊天里描述结果，请智能体修好再测一遍。智能体的验证报告有帮助，但真正算数的还是你自己检查的这一遍。

## 保留、撤销或恢复智能体的改动

在 Copilot 会话里，每处修改都会先进入工作集，也就是聊天输入框上方一份待审的改动列表。从列表里打开一个文件，改动会高亮显示，然后在每处旁边选 **Keep** 或 **Undo**，也可以一次处理整个文件或全部文件。Undo 会撤回修改，但不会倒回对话。

待审的修改其实已经存到磁盘上，所以你还没决定，运行应用用的就已经是改过的文件。Keep 不会把任何东西提交到 Git，Git 是记录项目每次保存状态的版本控制工具。审查修改完全不需要 Git。

工作集只列出智能体通过自己的编辑工具做的修改。因为运行了终端命令或脚本而变化的文件，不会出现在这里。文件夹用了 Git 的话，Source Control 视图会显示所有改过的文件和未跟踪的文件，所以只要用过终端，就去那里看一眼。

想把一整次请求退回去，就把鼠标移到聊天里的那条请求上，选 **Restore Checkpoint**。VS Code 会把受影响的文件和聊天记录恢复到那一刻。它无法撤销终端命令、网络请求、部署，也无法撤销对外部服务的改动。请求还在运行时，**Send** 下拉菜单里有 **Steer with Message** 和 **Stop and Send**。停下来不会撤销已经完成的部分。

## 决定智能体可以不问你做多少事

聊天输入框里的权限下拉菜单，决定一个会话怎么处理审批，随时都能改。默认是 Manual permissions，凡是你的设置还没放行的操作，它都会问你。

**Autopilot** 在模式选择里，不在权限列表里。它是一种模式，会放行所有工具，出错后重试，遇到会卡住的问题自己回答，直到它认为任务完成。沙盒跟这些都无关：它限制终端命令能碰到哪些文件和网络地址，即使你已经批准了那条命令。

较大的改动可以交给内置的 Plan 智能体。它会先研究代码、问清你的需求，在任何代码变动之前提出一份计划。准备期间它只用只读工具，你批准计划后，再交给负责动手的智能体。

VS Code 的审批页面对风险较高的设置说得很直接。Allow all 和 Autopilot 会跳过对文件修改、终端命令和外部工具调用的确认，所以只适合你信任的工作区。第一次选其中任何一个，都会弹出警告对话框让你确认。

> Keep in mind that because Copilot agent mode may send multiple requests per prompt, it won't be as fast as regular edits mode and can quickly use up your free Copilot quota.
>
> Isidor Nikolic, [VS Code 博客，2025 年 2 月 24 日](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) (2026-11-05 查阅)

| 权限级别 | 会发生什么 |
| --- | --- |
| Manual permissions（默认） | 按你的工具、网址和终端审批设置执行，没放行的操作先问你 |
| Assisted permissions | 由一个 AI 评判逐条评估工具调用，它不批准的调用会先问你 |
| Allow all | 所有工具调用都不经确认直接运行 |

## 把 issue 交给 Copilot 云端智能体

第二个智能体在 GitHub 那边工作，不在你的电脑上。仓库是项目在 GitHub 上的文件夹。issue 是仓库里一条描述 bug 或任务的记录。拉取请求是一组提议的改动，有人审过之后才会合并进主代码。这个智能体在 2025 年 5 月开放时，GitHub 叫它 coding agent，现在叫 Copilot cloud agent。

把 issue 指派给 Copilot 这项功能还在公开预览中。Copilot 会读 issue 的标题、描述、已有的评论，以及你在对话框里补充的内容。之后再加到 issue 上的评论，它看不到。新信息要写在它提交的拉取请求的评论里，在拉取请求评论里写 @copilot，就能请它修改。

一个能往你仓库推代码的智能体是有风险的，所以 GitHub 给它设了围栏。只有对仓库有写权限的人才能让它开工，其他人的评论根本到不了它那里。GitHub 还会在把输入交给 Copilot 之前，去掉隐藏文字，比如 issue 里的 HTML 注释。

分支是仓库里一条独立的改动线。云端智能体会拿到一个以 copilot/ 开头的新分支，只能往那里推。它不能把自己的草稿拉取请求标为可审查，也不能批准或合并它。审查和合并由人来做，而且提出这次改动的人不能当批准的那个人。

收尾之前，智能体会先检查自己的活。默认情况下，它用 GitHub 的代码分析工具 CodeQL 扫描新代码，再用密钥扫描找出密钥和令牌。依赖项，也就是项目要用到的外部软件包，会拿去和 GitHub Advisory Database 比对。之后它会尝试修好这些检查发现的问题。它的提交以 Copilot 为作者、你为共同作者，每条提交信息里都附有会话日志的链接。

GitHub Actions 是仓库在每次改动时运行的自动任务，它们也要等。只有在有写权限的人审过代码、点了 **Approve and run workflows** 之后，它们才会启动。这些任务能接触到仓库的密钥，所以要先仔细看 .github/workflows/ 文件夹里的任何改动。

1. **打开 issue。**在 [GitHub](https://github.com) 上进入仓库，点 **Issues**，打开你想让它完成的那一条。
2. **指派。**在右侧菜单里点 **Assignees**，再选 **Copilot**。
3. **补充说明。**在 **Optional prompt** 里写下 Copilot 需要的背景、限制和要求。下拉菜单可以改它工作的仓库和起始分支，默认是 issue 所在的仓库和默认分支。
4. **等它请你审查。**Copilot 在后台工作，提交一个拉取请求，做完后请你审查。

**从 agent 模式到云端智能体**

1. **2025年2月24日** agent 模式开始预览。VS Code 团队推出预览版的 Copilot agent 模式。
2. **2025年5月19日** coding agent 公开预览。GitHub 向 Copilot Pro+ 和 Copilot Enterprise 订阅用户开放 Copilot coding agent。
3. **2026年10月28日** Copilot in the cloud。新的 Copilot in the cloud 体验面向付费 Copilot 套餐用户开放。

来源：[VS Code 博客](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) (2026-11-05 查阅)；[GitHub 更新日志](https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview/) (2026-11-05 查阅)；[GitHub 文档](https://docs.github.com/en/copilot/concepts/copilot-surfaces/copilot-on-github) (2026-11-05 查阅)

## 两位微软工程师怎样用 Copilot 的智能体干活

按 X 简介，Dan Wahlin 在微软做智能体方向的 AI。2025 年 4 月 16 日，agent 模式才推出两个月，他 [在 X 上](https://x.com/DanWahlin/status/1912308119721664749)讲了自己最喜欢的用法：让智能体当代码审查员，删掉或简化代码。他的提示词点明要过一遍哪些文件，还加了一道保险：保留应用原有的功能，拿不准的改动就别动。他原以为要花一天多的清理，大约一小时就做完了。

这个思路放到今天的智能体上照样适用。任务清单通过检查之后，请它对 index.html 做一次同样的审查。然后把工作集里的每处修改都读一遍，因为一行“简化”过的代码，可能悄悄去掉了一个功能。最后把添加、完成、删除、刷新这一轮检查再走一遍。

Gerald Versluis 是微软的软件工程师，做 .NET MAUI 和 GitHub Copilot。2025 年 7 月 23 日，他 [在 X 上](https://x.com/jfversluis/status/1948112628343337110)分享过一个窍门：把构建和测试命令加进智能体可以不经询问直接运行的命令清单，它就能自己多干一会儿。

在现在的 VS Code 里，在终端命令的审批提示上选 **Always Allow**，命令就会写进 chat.tools.terminal.autoApprove 设置。只放行做检查的命令，比如你的测试命令，凡是会删除或部署的命令，都留着审批。下面这段 VS Code 官方视频讲的是工具、权限和沙盒。

> 我需要保留现有的功能，所以如果你对某处改动没有把握，就保持现在的样子不动。
>
> Dan Wahlin, 在微软做智能体方向的 AI，引文为译文, [X](https://x.com/DanWahlin/status/1912308119721664749) (2026-11-05 查阅)

[![Dan Wahlin（@DanWahlin）2025 年 4 月 16 日在 X 上发帖：VS Code 的 agent 模式让他大开眼界，他最喜欢让它当代码审查员，删掉或简化代码](https://mindket.com/blog/shots/x-danwahlin-code-reviewer.webp?v=ac3376bf5edd)](https://x.com/DanWahlin/status/1912308119721664749)

Dan Wahlin 在 X 上，2025 年 4 月 16 日

[![Gerald Versluis（@jfversluis）2025 年 7 月 23 日在 X 上分享 VS Code 里 GitHub Copilot 的窍门：把 dotnet build 和 test 加进它不用询问就能运行的命令清单](https://mindket.com/blog/shots/x-jfversluis-allow-list.webp?v=3de00fad1284)](https://x.com/jfversluis/status/1948112628343337110)

Gerald Versluis 在 X 上，2025 年 7 月 23 日

[Using Tools with Agents in VS Code](https://www.youtube.com/watch?v=wZrQ0TAfpFg)

Visual Studio Code 在 YouTube 上的视频，2026 年 5 月发布：智能体怎样使用工具和工具集，权限和沙盒又怎样限制它能运行什么。

> X 官方嵌入卡片的截图，拍摄于 2026-11-05，时间为协调世界时（UTC）。X 用“Show more”截断了 Dan Wahlin 帖子后面的内容。点击截图可到 X 上打开原帖。

## 下一步：Claude Code

离开 VS Code 之前，把任务清单的快速入门做完，再提一个你自己的功能，比如截止日期。保留一半修改，撤销另一半，再恢复到这次请求之前的检查点。这样一来，这一课讲的每种退回办法你都用过了。

第一课讲了三类工具，这门课已经带你用过应用生成器和两个编辑器，还剩终端智能体。[安装 Claude Code](https://mindket.com/cn/learn/claude-code/install-claude-code) 是 Claude Code 课程的开头，那里的智能体在终端窗口里工作，而不是在编辑器里。描述、运行、检查这个循环在那里也不变。

## 自测一下

1. 智能体运行的一条终端命令改了一个文件。去哪里找这处改动？

   A. 工作集列表
   B. Copilot 状态面板
   C. Optional prompt 输入框
   D. Source Control 视图

   答案：D。 工作集只列出智能体编辑工具做的修改，终端带来的改动要在 Source Control 里看。

2. Restore Checkpoint 会让什么保持原样？

   A. 你文件夹里的文件
   B. 终端命令或部署已经做完的事
   C. 聊天记录

   答案：B。 它恢复文件和聊天记录，但撤销不了命令、网络请求、部署和外部服务的改动。

3. 新的 Copilot 会话默认用哪个权限级别？

   A. Manual permissions
   B. Assisted permissions
   C. Allow all
   D. Autopilot

   答案：A。 默认是 Manual permissions，你的设置没放行的操作都要等你批准。

4. Copilot 已经在处理你的 issue，新的要求该写在哪里？

   A. issue 下的一条新评论
   B. issue 标题
   C. Copilot 提交的拉取请求下的评论

   答案：C。 Copilot 只在指派时读一次 issue，之后的改动要写在它的拉取请求里。

## 常见问题

### 在 VS Code 里怎么打开 agent 模式？

没有单独的开关。在新的 Copilot 聊天里，从智能体选择器里选 Agent。找不到这个选项，先确认你已经登录，另外组织的策略也可能限制智能体、模型或工具。

### GitHub Copilot 的 agent 模式免费吗？

可以免费试。Copilot Free 每月有一份额度，快速入门里的智能体请求就从里面扣。额度用完了，要么等重置，要么换成付费套餐。

### agent 模式和 Copilot 云端智能体有什么区别？

区别在地点和时间。agent 模式在你电脑上的 VS Code 里运行，你看着、你批准。云端智能体在 GitHub 后台运行，之后交回一个拉取请求给你审。

### 哪些 Copilot 套餐包含云端智能体？

GitHub 的套餐页面列出，Copilot Student、Pro、Pro+ 和 Max 都包含 Copilot in the cloud。Copilot Free 不包含，不过它的用户仍能在 GitHub.com 和 GitHub Mobile 上用 Copilot Chat。组织和企业的策略仍可能把它关掉。

## 资料来源

- [VS Code docs: Set up GitHub Copilot in VS Code](https://code.visualstudio.com/docs/setup/copilot) (2026-11-05 查阅)
- [VS Code docs: Quickstart, complete your first task with an agent](https://code.visualstudio.com/docs/agents/quickstart) (2026-11-05 查阅)
- [VS Code docs: Review and revert agent changes](https://code.visualstudio.com/docs/agents/run/review-code-edits) (2026-11-05 查阅)
- [VS Code docs: Manage approvals and permissions](https://code.visualstudio.com/docs/agents/run/approvals) (2026-11-05 查阅)
- [VS Code docs: Agents concepts](https://code.visualstudio.com/docs/agents/concepts/agents) (2026-11-05 查阅)
- [VS Code blog: Introducing GitHub Copilot agent mode (preview)](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) (2026-11-05 查阅)
- [GitHub docs: Using Copilot in the cloud on GitHub](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-on-github) (2026-11-05 查阅)
- [GitHub docs: Risks and mitigations for GitHub Copilot cloud agent](https://docs.github.com/en/copilot/concepts/security-governance-and-network-settings/risks-and-mitigations) (2026-11-05 查阅)
- [GitHub docs: Plans for GitHub Copilot](https://docs.github.com/en/copilot/get-started/plans) (2026-11-05 查阅)
- [GitHub docs: GitHub Copilot on GitHub.com and GitHub Mobile](https://docs.github.com/en/copilot/concepts/copilot-surfaces/copilot-on-github) (2026-11-05 查阅)
- [GitHub changelog: GitHub Copilot coding agent in public preview](https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview/) (2026-11-05 查阅)
- [Dan Wahlin on X, April 16, 2025](https://x.com/DanWahlin/status/1912308119721664749) (2026-11-05 查阅)
- [Gerald Versluis on X, July 23, 2025](https://x.com/jfversluis/status/1948112628343337110) (2026-11-05 查阅)
- [Visual Studio Code on YouTube: Using Tools with Agents in VS Code](https://www.youtube.com/watch?v=wZrQ0TAfpFg) (2026-11-05 查阅)

[浏览智能体](https://mindket.com/cn/agents)
