规划、构建、测试、修复 —— 一切只需一个提示。

  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 模式的更多相关文章

  1. 【译】Visual Studio 15 预览版更新说明

    序:恰逢Build2016大会召开,微软发布了VS2015的update2更新包和VS2016预览版.本人正在提升英文水平中,于是在这里对VS2016预览版的官方文档进行了部分翻译.因为VS有些功能使 ...

  2. visual studio 2015预览版系统需求

    visual studio 2015预览版的系统需求跟visual studio 2013的一样. 支持visual studio 2015 preview的操作系统:Windows 8.1(x86 ...

  3. 它来了!!!有史以来第一个64位Visual Studio(2022)预览版将在今夏发布!

    美国时间2021年4月19日,微软产品研发部一位负责人Amanda Silver在其博客上发布一则<Visual Studio 2022>的消息,表示将在今年(2021年)夏天发布Visu ...

  4. Visual Studio 2022 预览版3 最新功能解说

    我们很高兴地宣布Visual Studio 2022 的第三个预览版问世啦!预览版3 提供了更多关于个人和团队生产力.现代开发和持续创新等主题的新功能.在本文中,我们将重点介绍Visual Studi ...

  5. Visual Studio 2022 预览版下载来了(x64位)

    Visual Studio 2022 预览版下载:https://visualstudio.microsoft.com/zh-hans/vs/preview/vs2022/

  6. 关于在Visual Studio 2019预览版中的用户体验和界面的变化

    原文地址:https://blogs.msdn.microsoft.com/visualstudio/2018/11/12/a-preview-of-ux-and-ui-changes-in-visu ...

  7. Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)

    微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 L ...

  8. Visual Studio Code预览版Ver 0.3.0试用体验

    当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java ...

  9. 乘风破浪,遇见Visual Studio 2022预览版(Preview),宇宙最强开发者工具首次迎来64位版本

    简介 众所周知,我们从官方新闻来看,对Visual Studio 2022最大的期待莫过于:其是首个64位的Visual Studio,这个宇宙最强开发者工具一脚迈入了新的阶段. https://vi ...

  10. 【译】.NET 7 预览版 1 中的 ASP.NET Core 更新

    原文 | Daniel Roth 翻译 | 郑子铭 .NET 7 预览版 1 现已推出!这是 .NET 下一个主要版本的第一个预览版,其中将包括使用 ASP.NET Core 进行 Web 开发的下一 ...

随机推荐

  1. Deepin搭建git仓库服务gogs,debian也可用

    我尝试了gitlab.gitblit搭建均失败,deepin版本20.03 1. 步骤 访问gogs官网下载&安装页面 数据库(选择以下一项): MySQL:版本 >= 5.7. Pos ...

  2. 爱快路由-宽带刷下行流量docker版教程

    疑难解答加微信机器人,给它发:进群,会拉你进入八米交流群 机器人微信号:bamibot 简洁版教程访问:https://bbs.8miyun.cn 一天天看直播上行流量太高,给你下行加加速吧,让你下行 ...

  3. Scala面向对象之创建对象,重载构造方法,继承抽象类实现接口

    package com.wyh.day01 object ScalaClass { def main(args: Array[String]): Unit = { val student = new ...

  4. JS经纬度坐标转换

    var GPS = { PI : 3.14159265358979324, x_pi : 3.14159265358979324 * 3000.0 / 180.0, delta : function ...

  5. 音视频SDK对比|K歌App中的实时合唱功能如何进行技术选型

    摘要 在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理.实时音频传输和同步.音频压缩和解压缩.设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法. 前言 前面 ...

  6. js回忆录(4) -- 对象,构造函数

    1.对象 && 构造函数 js是一门基于对象的语言,里边所有的数据类型都可以当对象使唤(当然null和undefined除外),当我们在v8引擎里声明一个对象时会发现每个对象属性里边都 ...

  7. golang 使用goto进行多错误处理

    goto 语句介绍 在 Go 语言中,可以通过goto语句跳转到标签,进行代码间的无条件跳转.另外,goto语句在快速跳出循环.避免重复退出方面可以简化代码实现过程,但在结构化程序设计中一般不主张使用 ...

  8. C#实现自己的Json解析器(LALR(1)+miniDFA)

    C#实现自己的Json解析器(LALR(1)+miniDFA) Json是一个用处广泛.文法简单的数据格式.本文介绍如何用bitParser(拥有自己的解析器(C#实现LALR(1)语法解析器和min ...

  9. post数据到第三方,中文乱码

    1.项目中发现 测试环境 推送正文,数据正常 2.生产到腾讯云之后,中文推送过去乱码,但是post 接口的 时候,指定了 编码格式. 3.后查看日志,发现日志中记录的中文就是乱码 4.排查cs代码文件 ...

  10. 我对TamperMonkey的不满-更新中

    我认为我的电脑上的TamperMonkey插件的值得考虑的不足: 没有提供一个把脚本最小化的功能 不能编辑热键 脚本icon不能使用svg 没有提供一种很好的能够区分别人的脚本和自己的脚本的方式,自己 ...