微软与GitHub通过推出首批专为.NET开发者设计的GitHub Copilot定制代理,进一步扩展了Copilot生态系统。这些定制代理旨在提升C#及Windows Forms开发者的工作效率并提升代码质量。作为Copilot定制代理推广计划的一部分,此次发布的两个定制代理分别是“C#专家代理”和“WinForms专家代理”,它们以Markdown格式的代理配置文件形式提供使用说明。

“C#专家代理”旨在引导开发者遵循现代C#的最佳实践。该代理会遵守项目规范,减少不必要的代码冗余(如未使用的接口或参数),并强调异步/await编程模式以及正确的异常处理机制。同时,它还支持基于行为驱动的测试流程,帮助开发者编写更简洁、更易于维护的代码。

“WinForms专家代理”则专注于使用Windows Forms进行传统的桌面用户界面开发。该代理具备MVVM、MVP等常见UI设计模式的开发经验,能协助开发者处理复杂的事件绑定和状态管理问题,并会采取相应措施防止Copilot无意中修改`.Designer.cs`文件,从而避免破坏Visual Studio的设计工具功能。对于那些使用生成式开发工具的开发者来说,这种保护机制无疑具有重要的实际意义。

要想使用这些定制代理,开发者需要从GitHub的“awesome-copilot”仓库下载`CSharpExpert(agent.md`和`WinFormsExpert.agent.md`文件,并将它们放置在项目中的`.github/agents`文件夹中。一旦这些配置文件被添加到项目中,通过GitHub将问题分配给Copilot时,或者在使用Visual Studio Code Insiders或实验版的Visual Studio时通过下拉菜单进行选择时,Copilot就能根据这些配置文件提供相应的智能建议。未来,微软还计划为Copilot的命令行界面添加对`/agent`命令的支持。

微软目前将这些定制代理视为实验性功能,正在收集用户对于这些代理在接收到详细指令后如何运行的反馈。自11月以来,Visual Studio 2022 Insiders 17.14.21版本已经具备了自动为项目关联相应定制代理的功能——只要开发者启用允许项目特定配置的选项,系统就会自动为该项目分配合适的定制代理,从而提供针对Windows Forms开发等场景的个性化指导。

早期的社交媒体评论,尤其是在LinkedIn上,普遍反映出了人们对这些定制代理发布的热情与专业兴趣。有评论者指出了通过减少未使用的代码生成来“降低AI带来的技术负担”这一措施的重要性;还有人认为,“WinForms专家代理”在保护`.Designer.cs`文件方面的功能对于维护和现代化旧版用户界面系统来说具有极大的实际价值。相比之下,Copilot的自定义代理代表了一种更为结构化、也更持久的人工智能辅助方式,相比早期的Copilot聊天模式或无上下文提示系统而言,这种机制要更加高效。虽然传统的聊天模式能够提供按需帮助,但自定义代理则是基于与代码库相关的预定义专业知识及行为规则来运行的。这样一来,Copilot就更符合那种新兴的“基于代理的开发体验”模式——在这种模式下,工具会扮演具备特定领域专业知识的协作伙伴的角色,而不仅仅是通用的辅助工具。

目前,这些自定义代理主要适用于.NET开发中一些特定但影响较大的场景。由于它们仍处于实验阶段,而且相关工具的支持也在不断完善中,这说明微软在扩大其应用范围或实现更广泛范围内的工作流程标准化之前,正在密切关注开发者的反馈意见。

Comments are closed.