VS Code 将 AI 代理纳入核心编辑体验,开发流程会怎么变
来源:17golang原创
时间:2026-10-08 19:29:01 478浏览 收藏
VS Code 正在把 AI 代理从“编辑器里的一个聊天功能”升级为核心工作方式:开发者可以在当前项目旁边与代理协作,也可以在独立的 Agents window 中管理跨项目会话;会话由 Agent Host 承载,再连接 Copilot、Claude、Codex 等不同 agent harness。真正的变化不是回答更长,而是任务、工具调用、文件改动、运行检查和差异审查开始进入同一个会话模型。
这不会让传统编辑、调试和代码审查消失。相反,开发流程会从“开发者逐行操作,AI 提供建议”转向“开发者定义目标与边界,代理完成一段可检查的工作,开发者审查并决定是否集成”。效率提升来自任务委派和上下文连续性,质量仍取决于权限、测试和人工判断。
官方功能总览:https://code.visualstudio.com/docs/agents/overview
Agent Host 官方说明:https://code.visualstudio.com/blogs/2026/08/26/agent-host-architecture
这次变化不只是多了一个聊天面板

官方文档将代理描述为“模型加工具和执行循环”的系统。模型负责推理并提出动作,agent harness 负责组装上下文、暴露工具、处理审批、执行工具调用并维护会话状态。也就是说,模型选择只决定了一部分体验;同一个模型放进不同 harness,能用的工具、权限模型、会话能力和项目集成方式都可能不同。
| 组件 | 主要职责 | 开发者最需要关注什么 |
|---|---|---|
| 语言模型 | 理解目标、推理、生成文本或工具请求 | 能力、速度、成本和错误倾向 |
| Agent harness | 连接模型、上下文、工具、权限和代理循环 | 可用工具、审批方式、定制能力 |
| Agent Host | 承载并维护代理会话,连接不同客户端和 harness | 会话运行位置、持续性、远程连接 |
| Chat view | 在当前项目旁边协作、查看编辑与运行信息 | 适合需要频繁编辑、调试和测试的任务 |
| Agents window | 集中分配、监控和审查多个项目的会话 | 适合委派长任务和管理并行工作 |
| Changes / diff | 展示代理实际修改的文件和差异 | 是否通过测试、是否符合项目约定、能否合并 |
Agent Host 的意义在于把会话从单个编辑器窗口中抽离。官方在 2026 年 8 月的架构说明中表示,会话状态、harness 适配器和基础工作区能力进入专用进程后,同一会话可以在编辑器和 Agents window 之间保持同步,也能连接远程主机。对本地会话而言,关闭项目文件夹后任务可以继续,但 VS Code 仍需保持运行,因为本地 Agent Host 由它管理。
开发流程会从“操作序列”变成“可验收任务”
过去使用代码补全时,开发者输入下一行,AI 预测下一段;使用聊天时,开发者提问,再把答案手工应用到项目。代理会话则接受一个结果目标,自行查找相关文件、修改实现、运行测试、观察失败并继续调整。开发者不再需要指定每一次搜索和编辑,但必须把任务边界说得更清楚。
一个好的代理任务不应只是“优化这个项目”,而应包含四类信息:
- 结果:要修复哪个现象,或交付哪个可见能力。
- 范围:允许修改哪些目录、接口和依赖,哪些部分不能动。
- 约束:兼容版本、性能、安全、代码风格和迁移要求。
- 验收:必须通过哪些测试,diff 中不应出现什么,最终由谁合并。
这会推动团队把隐含经验写成项目说明、测试命令、架构约束、skills 或 custom agents。以前口头传递的“这个目录不能引入新依赖”“数据库迁移必须可回滚”,现在需要成为代理能读取、开发者能审查的明确规则。规则越稳定,重复解释越少;但过期规则也会稳定地产生错误,因此维护项目上下文会成为新的工程工作。
Chat view 与 Agents window 对应两种工作节奏
Chat view 是代码优先的协作表面。它位于主编辑窗口旁边,适合开发者仍持续参与的任务,例如定位一个失败测试、重构当前模块或解释陌生代码。编辑器、调试器、测试、扩展和 notebooks 都在同一个项目上下文中,开发者可以边看变化边纠偏。
Agents window 更像任务控制台。官方文档将它定位为跨项目分配工作、查看会话状态和审查结果的独立窗口,包含 sessions、chat、changes 和 files 等区域。它适合把几个互不依赖的任务分给不同会话,再集中检查完成状态。不过并行会话不是免费吞吐:如果多个会话修改同一目录或共享外部环境,冲突和资源竞争仍要由团队解决。
选择工作面时可以用一个简单判断:需要频繁讨论和即时调试,就留在 Chat view;目标稳定、耗时较长或涉及多个项目,就使用独立会话和 Agents window。不要为了“更代理化”而把一个两分钟可完成的小修改包装成长任务。
团队采用时先改变任务切分方式

第一次试用不适合选择发布、基础设施变更或大规模迁移。更稳妥的任务是:范围小、现有测试完整、不会触发外部副作用,而且结果可以通过 diff 和测试判断。例如为一个纯函数补齐边界测试,修复一个已有失败用例,或给现有接口增加不改变公开契约的输入检查。
- 先选最小工作面:在当前项目使用 Chat view,选择合适的 session target、harness、模型和权限级别。
- 写清验收:要求代理说明修改范围,运行指定测试,不修改依赖锁文件和环境配置。
- 限制能力:只启用完成任务所需工具,对终端、网络、敏感文件和外部服务保留审批。
- 检查实际证据:打开 Changes 查看 diff,复核错误处理和边界条件,再独立运行测试。
- 记录返工原因:区分是提示不清、项目上下文缺失、工具限制,还是模型判断错误。
如果一个任务要跨多个文件、耗时较长,可以再升级为独立会话或 Git worktree。worktree 能把代码改动与当前工作区隔离,降低互相覆盖的风险,但它不是系统安全边界;代理执行的命令、网络请求和外部服务动作仍受当前权限与环境影响。
审查会成为代理工作流的主界面
当代理能够直接保存文件,开发者的核心动作会从“接受一段建议”转为“审查一组变更”。VS Code 官方建议通过 diff、源代码管理或 pull request 检查修改,再运行测试和调试。代理给出的测试通过声明不能替代人工确认,尤其是权限、数据完整性、支付、发布和安全相关逻辑。
团队可以把审查拆成三层:
- 意图一致:改动是否真正解决了任务,而不是通过修改测试绕过问题。
- 实现质量:错误路径、边界条件、兼容性、性能和可维护性是否合格。
- 副作用:是否改动环境配置、依赖、生成文件、权限或外部系统。
对于频繁使用代理的团队,diff 可读性会直接影响吞吐。任务过大时,即使代理一次完成,人工也很难有效审查。把大目标拆成几个可独立验证的会话,往往比追求“一次生成整个功能”更快。
权限和安全控制不能交给模型自觉
官方安全文档明确指出,代理能够读取文件、编辑代码、运行终端命令并调用外部服务。停止一次请求或恢复文件检查点,并不能撤销已经完成的命令、网络请求、部署或外部系统修改。因此,审批和隔离必须由产品控制与团队策略实现,不能只在提示词中写“请小心”。
- 不受信任的项目先使用 Workspace Trust 的受限模式。
- 只启用任务需要的工具,审批范围尽量限于当前会话。
- 为
.env、工作区配置和发布脚本设置敏感文件审批。 - 在支持的平台启用 agent sandboxing,并单独配置网络访问边界。
- 审查工作区中的 MCP 配置,确认服务器来源、工具权限和凭据范围。
- 对部署、删除、发消息、创建云资源等外部动作保留人工确认。
沙箱是额外保护层,不是完整虚拟机,也不能保护主动注入给代理的凭据。工作树隔离、终端沙箱、容器和远程主机解决的是不同问题,团队需要按代码冲突、文件系统访问、网络访问和凭据暴露分别配置。
和旧方案相比,真正新增的是会话连续性
| 方式 | 开发者输入 | AI 可执行范围 | 主要审查对象 |
|---|---|---|---|
| 行内补全 | 当前代码与下一步意图 | 生成局部文本 | 当前几行代码 |
| 问答聊天 | 问题与粘贴的上下文 | 解释或给出建议 | 答案和手工应用结果 |
| 代理会话 | 目标、范围、约束与验收 | 搜索、编辑、运行工具、反复调整 | 会话过程、diff、测试和副作用 |
Agent Host、共享会话表面和多 harness 支持,使代理工作不再只是某个模型的临时聊天记录。会话可以成为开发任务的容器,承载上下文、工具结果、文件变化和审查反馈。这也是 VS Code “核心编辑体验”变化最值得关注的部分:编辑器开始同时管理人正在编辑的代码和代理正在执行的工作。
是否值得采用,先看五个指标
不要只统计生成了多少代码。一个代理工作流是否有效,至少应同时观察:
- 任务完成时间:从分配到满足验收条件的总时间,而不是首次输出时间。
- 人工返工:开发者为纠正实现、补上下文和重跑测试投入多少时间。
- 测试与缺陷:现有测试通过率、补充测试质量和缺陷逃逸情况。
- 审查负担:diff 是否过大、是否容易理解、是否频繁出现无关修改。
- 权限事件:误触敏感文件、外部服务、网络和命令审批的次数。
VS Code 的方向已经很清楚:AI 代理正在从附加功能变成与编辑器、终端、测试、调试和版本控制并列的工作参与者。但开发流程不会因此变成“输入一句话就交付”。更现实的变化是,开发者把更多精力放在任务定义、约束配置、变更审查和结果验收上。先从低风险、可测试的任务建立习惯,再决定哪些工作适合长期委派,通常比直接追求全自动更可靠。
-
431 收藏
-
182 收藏
-
356 收藏
-
203 收藏
-
157 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习