【译】Visual Studio 推出预览版 Agent 模式
规划、构建、测试、修复 —— 一切只需一个提示。
Visual Studio 17.14 版本已向所有用户公开预览版 Agent 模式。Visual Studio 中的 Agent 模式允许您使用自然语言定义任务,由 Copilot 自主规划、编辑代码库、调用工具并迭代解决问题。与 Copilot Chat 或 Edits 不同,Agent 模式不止于提供一个建议或进行一次文件编辑,而是通过迭代直至任务完成。
Agent 模式能做什么?
Agent 模式不仅帮助您编写代码,还能助您完成整个工作。这一切都是通过迭代完成的,这意味着 Copilot 会持续检查并基于其自身输出及输出结果执行您的任务,直至完成您的提示。这意味着 Agent 模式能够:
自主确定相关上下文和需要编辑的文件。
建议终端命令供您批准和运行。
迭代直至任务完成 —— 检查错误并运行构建/测试以验证结果。
通过 MCP 服务器调用可信工具 —— 包括开发环境中的代码检查器、测试运行器和静态分析器。
我们还通过将 Agent 模式设为应用代码更改的新默认方式来简化 Copilot 体验。您可以将 Agent 模式视为开发人员在 GitHub Copilot 聊天中备受青睐的 Edits 功能的下一个进化版本,且功能更强大!

如何启用
在此预览阶段,代理模式默认处于关闭状态。要启用它,请执行以下操作:
1.使用 Visual Studio Code 17.14 GA 或更高版本
2.转到 Feature Search(Ctrl + Q)
3.搜索:copilot-chat.agent
4.启用:Copilot Chat: Agent Enabled
5.在 Copilot 聊天窗口中切换到 “Agent” 并尝试输入高级提示。您可以从 IDE 右上角的 Copilot 徽章访问 Copilot 聊天窗口。
使用 Agent 模式
Agent 模式是一种功能强大的工具,可应用于多种场景。它可以从头创建应用程序、跨多个文件重构代码、编写和运行测试、生成文档、集成新库、执行终端密集型任务,以及解答有关复杂代码库的问题。它通过协调您的开发流程来提高生产力,同时让您保持控制。在确定 Agent 模式是否适合完成某项工作时,请考虑以下因素:
- 编辑范围:Agent 模式会自主搜索您的代码库并确定相关上下文和需要编辑的文件。
- 任务复杂性:对于超出简单代码编辑的复杂任务,模式表现出色。它可以处理工具调用和终端命令,非常适合复杂项目。
- 处理时长:Agent 模式非常细致,需要多个步骤来处理请求。由于它需要确定上下文、规划操作等,因此可能需要更长时间才能获得响应。
- 自我迭代:Agent 模式的显著功能之一是能够评估生成的编辑结果,并进行多次迭代以解决中间问题。
- 多个请求:根据任务的复杂性,Agent 模式可能会从单个提示生成对后端的多个请求。
一旦确定 Agent 模式是完成任务的合适工具,您只需给出一个良好的提示即可。以下是一些示例提示,让您了解可以要求代理执行的操作:
- “向此 API 添加处理”
- “将此项目转换为使用环境变量”
- “为这个类编写测试并修复所有失败的测试”
- “使用 Serilog 添加结构化日志记录”
- “将 HttpClient 替换为 IHttpClientFactory”
要让 Copilot 提供更好、更准确的响应,关键是向其提供有关您偏好的编码标准、团队偏好、库等的足够上下文。您可以使用自定义指令提供此上下文。自定义指令功能使您能够自动将预先指定的上下文详细信息添加到聊天问题中。要配置自定义指令,请按照文档说明进行操作(https://learn.microsoft.com/zh-cn/visualstudio/ide/copilot-chat-context?view=vs-2022#enable-custom-instructions)。
通过 MCP 服务器增强 Agent 模式功能
此版本通过支持模型上下文协议 (MCP) 服务器进一步扩展了Agent 模式的功能。MCP 服务器为 Copilot Agent 提供额外的上下文,并使其能够访问工具、数据和资源。MCP 网站将 MCP 描述为 AI 应用程序的通用适配器。就像通用适配器允许您将物理设备连接到配件一样,MCP 允许您将 AI 应用程序连接到其他数据和工具,而无需构建到每个数据源的自定义连接。例如,您可以直接连接到数据库并分析模式,提取 GitHub 存储库的信息(如问题和拉取请求),使用 Playwright 自动化端到端测试,甚至可以使用包括 C# 在内的多个 SDK 构建自己的工具!以下是使用 MCP 服务器可以执行的其他一些操作示例:
- 与云环境交互:例如,官方 Azure MCP 服务器允许访问、列出、查询 Azure Storage、Cosmos DB、Azure CLI 等服务和工具并与之交互。
- 查询和管理数据库:对 Cosmos DB 容器执行查询,获取 Azure 存储容器属性和元数据,以及管理 Blob 容器和 Blob。
- 搜索和管理版本控制平台:例如,GitHub API 允许批量创建问题或批量更新文件,搜索 GitHub 存储库中的代码和问题等。

Copilot 每月新版本发布计划
我们在不断发展,以便让开发人员始终能够及时获得 Copilot 功能。因此,我们很高兴地宣布,Visual Studio 将转向每月发布 Copilot 更新的计划。您可以通过持续将 Visual Studio 更新到最新版本来访问最新的 Copilot 更新。
快来看看全新的 Visual Studio Hub!
在一个地方即可了解 Visual Studio 的所有动态!访问 Visual Studio Hub,获取最新版本说明、YouTube 视频、社交动态和社区讨论。
感谢您的反馈
您的反馈能帮助我们改进 Visual Studio,使其成为更强大的开发者工具。我们非常感谢您的贡献,并期待您的持续支持。通过开发者社区分享您的想法、创意和遇到的任何问题,您将帮助我们塑造 Visual Studio 的未来。
原文链接:https://devblogs.microsoft.com/visualstudio/agent-mode-has-arrived-in-preview-for-visual-studio/

【译】Visual Studio 推出预览版 Agent 模式的更多相关文章
- 【译】Visual Studio 15 预览版更新说明
序:恰逢Build2016大会召开,微软发布了VS2015的update2更新包和VS2016预览版.本人正在提升英文水平中,于是在这里对VS2016预览版的官方文档进行了部分翻译.因为VS有些功能使 ...
- visual studio 2015预览版系统需求
visual studio 2015预览版的系统需求跟visual studio 2013的一样. 支持visual studio 2015 preview的操作系统:Windows 8.1(x86 ...
- 它来了!!!有史以来第一个64位Visual Studio(2022)预览版将在今夏发布!
美国时间2021年4月19日,微软产品研发部一位负责人Amanda Silver在其博客上发布一则<Visual Studio 2022>的消息,表示将在今年(2021年)夏天发布Visu ...
- Visual Studio 2022 预览版3 最新功能解说
我们很高兴地宣布Visual Studio 2022 的第三个预览版问世啦!预览版3 提供了更多关于个人和团队生产力.现代开发和持续创新等主题的新功能.在本文中,我们将重点介绍Visual Studi ...
- Visual Studio 2022 预览版下载来了(x64位)
Visual Studio 2022 预览版下载:https://visualstudio.microsoft.com/zh-hans/vs/preview/vs2022/
- 关于在Visual Studio 2019预览版中的用户体验和界面的变化
原文地址:https://blogs.msdn.microsoft.com/visualstudio/2018/11/12/a-preview-of-ux-and-ui-changes-in-visu ...
- Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)
微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 L ...
- Visual Studio Code预览版Ver 0.3.0试用体验
当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java ...
- 乘风破浪,遇见Visual Studio 2022预览版(Preview),宇宙最强开发者工具首次迎来64位版本
简介 众所周知,我们从官方新闻来看,对Visual Studio 2022最大的期待莫过于:其是首个64位的Visual Studio,这个宇宙最强开发者工具一脚迈入了新的阶段. https://vi ...
- 【译】.NET 7 预览版 1 中的 ASP.NET Core 更新
原文 | Daniel Roth 翻译 | 郑子铭 .NET 7 预览版 1 现已推出!这是 .NET 下一个主要版本的第一个预览版,其中将包括使用 ASP.NET Core 进行 Web 开发的下一 ...
随机推荐
- 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
前言 今天大姚给大家分享一套基于 Material Design 规范实现的.开源(MIT license)且免费的 Blazor 和 Razor 通用组件库:MatBlazor. Blazor介绍 ...
- windows使用Makefile时自动给可执行文件加上.exe后缀
APP := main 在使用makefile的时候,一般通过变量设置自己想要编译出来的可执行文件的名字 在windows平台编译出来的可执行文件是需要.exe后缀的 识别当前操作系统 通过识别当前的 ...
- nginx配置2个不同端口的应用
如何配置nginx,在同一台服务器上,部署2个不同端口的web应用? 1,利用Django框架搭建的web应用,默认端口是8000: 2,利用Flask框架搭建的web应用,默认端口是5000: 第一 ...
- python初学习一
#1.切片操作 左闭右开 s='Hello word' print(s[0:5]) #2.更新字符串 s1='hello word' s2='python' print(s1[0:6]+s2) #3. ...
- SpringBoot应用调用Linkis进行任务调度执行SQl;进行数据质量分析
基于Linkis的Rest-API调用任务 官网示例:"https://linkis.apache.org/zh-CN/docs/1.3.2/api/linkis-task-operator ...
- RabbitMQ集群部署(一)——单机模式部署
本文分享自天翼云开发者社区<RabbitMQ集群部署(一)--单机模式部署>,作者:芋泥麻薯 RabbitMQ是一种开源消息队列系统,是AMQP的标准实现,用erlang语言开发.Rabb ...
- 【Linux】5.7 Shell test命令
Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 1. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 - ...
- 【SpringMVC】数据转换 & 数据格式化
数据转换 & 数据格式化 & 数据校验 数据转换 数据绑定流程 Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinder ...
- Git 覆盖刚刚 commit 的 message
场景重现 通常噼里啪啦键盘一段猛搓后(写代码啊),然后会 git add . git commit -m "modify semo" # 注意上面 semo 应该是 some,发现 ...
- ESP32+Arduino入门(三):连接WIFI获取当前时间
ESP32内置了WIFI模块连接WIFI非常简单方便. 代码如下: #include <WiFi.h> const char* ssid = "WIFI名称"; con ...