规划、构建、测试、修复 ------ 一切只需一个提示。
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/
