微软.NET团队实验将AI代理技能封装进NuGet套件,提供版本对应指引
微软展示在NuGet中分发SKILL.md文件的实验,使AI编码代理能获取特定库版本的API使用指引,但需手动导入且对模型效果影响不一。
微软.NET团队公布了一项实验成果,展示如何将AI代理技能(Agent Skills)封装进NuGet软件包中。这一做法旨在让函数库开发者在发布新版本时,能够一并附带针对该版本的使用指引,从而帮助AI编程代理更准确地掌握新版API的调用方式,减少因依赖模型过时的训练数据而产生的错误。
Agent Skills是一种通过SKILL.md文件向AI代理提供操作指令的机制,文件中记载了适用场景、执行步骤及相关知识。过去,这些技能主要通过Git仓库或专门的技能市场进行分发。微软此次尝试利用NuGet作为载体,使得不同版本的函数库能够自带各自适用的文档。当.NET项目执行dotnet restore命令时,NuGet会将依赖包下载至本地缓存,其中包含的SKILL.md文件也随之被获取。
然而,下载软件包并不意味着AI代理会自动使用其中的技能。代理仍需自行发现并读取这些文件,或者通过配套工具进行查找和导入。微软展示了两个辅助工具:dotnet-inspect用于检查NuGet包或项目依赖中包含的技能,列出名称、位置及说明;dotnet-package-skills则扫描项目使用的包,将技能复制到.agents/skills目录,以便开发团队将其纳入版本控制。
微软以Markout函数库为例进行了演示,该库包含了五个涵盖输出格式和内容组合等场景的技能。测试结果显示,技能对不同能力水平的AI模型影响各异:对于原本就能完成多数开发任务的强大模型,加入技能后的表现改善有限;而对于较弱的模型,它们可能无法稳定遵循技能指引。此外,若技能内容设计不当,反而可能增加词元消耗,因此维护者需要评估实际效益。
目前,NuGet MCP尚未整合技能支持,微软计划后续添加相关功能。由于AI代理可能依据SKILL.md的内容采取行动,微软也提醒开发者注意软件包来源,防止恶意指令成为新的供应链攻击途径。