你真的了解Agent Skills吗?一文讲清它的“发现-激活-执行”

Agent开发困境与转变

传统的Agent在使用时需要海量的的提示词,内容模式则是依赖于工具的API、文档、规则将所有的内容都塞进单个Prompt,并形成一个较长的上下文。但是这样会带来几个核心的问题:

  • Token爆炸增加成本高 :每次请求都携带完整上下文,API的调用费用呈指数上升
  • 模型幻觉风险加剧 :因提供的上下文超长,信息Agent的信息量过载导致模型的注意力过于分散,输出质量下降
  • 维护困难 :经常会为Agent提供上千行代码已满足需求,不但版本不好控制,而且面对多人协作时会频繁产生冲突

然而随着近些年Agent的不断发展,Agent Skills模块化的方法逐渐进入到大家的视野,Agent Skills是由AI研究公司Anthropic在2025年初推出的概念,旨在将专业知识打包为标准化程序,让通用智能体(Agent)具备真实世界的专业能力。该模式通常被定义为原子化的单一能力封装,用于让Agent能够与外部工具和数据交互,属于一种开放的标准化协议。

Agent Skills的方案提出后在整体开发上出了解决上述问题:

  • 上下文纯净Agent只需要加载必要的技能信息,在整体Token消耗上有明显的降低
  • 降低幻觉 :由于上下文的降低,Agent可以更精准的匹配技能,对输出的准确性有显著提升
  • 支持协作Git具有友好的版本控制,多人协作开发无冲突

Skill剖析

Skill使用的是文件夹即系统的架构思想,通过标准化的文件组织形式推展Agent的专业能力,在开发或使用Skill时,我们需要给Agent准备技能锦囊,让Agent可以更好的当前Skill的能力。

一个标准的Skill需要包含如下的目录结果,每个目录都有其对应的职责:

  • Skill :技能开发的根目录
    • SKILL.md :为markdown编写的技能说明书,里面包含了对当前skill的描述,以及所需要使用的参数,和对应的使用场景
    • scripts/ :存放python代码、脚本代码或工具函数,Agent在执行阶段可通过命令直接调用。
    • references/ :存放SKILL.md中无需立即加载的详细文档(如API规范、公司政策、完整指南),帮助控制初始加载的Token量。Agent在执行阶段,会主动按需读取这些文件的内容
    • assets/ :存放不加载到上下文中的静态文件(如图标、PPT/代码模板),Agent不会主动阅读它们,而是直接复制其内容作为最终输出的一部分

我们对Skill的包含的基础目录结构有了一定了解后,通过一个案例了解一下Agent运行时Skill的协作过程:

假设存在一个用于处理PDFSkill,其执行流程如下:

  • 第1步:发现阶段。系统启动,只加载SKILL.md元数据,Agent知道有一个PDF编辑器可用。
  • 第2步:激活阶段。当用户请求旋转PDFAgent根据匹配的描述激活该Skill,加载完整的SKILL.md指令。
  • 第3步:执行阶段。Agent依据SKILL.md指令逐步操作:
    • 根据指令,运行scripts/rotate_pdf.py来处理文件。
    • 运行脚本时,若遇到复杂设置,会主动读取references/pdf_api.md查阅指南。
    • 最终,它将assets/目录里的模板文件report_template.html与处理结果结合,生成最终报告。

说了这么多只是了解Skill的基本原理,对于Skill是通过什么机制防止Skill自身变成与prompt一样,避免占用大模型海量上下文以及产生严重的幻觉的呢?Agent Skills是如何解决这一系列的问题的?我们带着这些问题一起往下看。

Skill的三层渐进式策略

Skills通过把信息进行了三次分层,分别是元数据层、指令主体层和扩展资源层。为了直观的理解Skills分层机制,可以把这三层分别理解为发现、激活与执行 ,通过这种按需加载的机制,让Agent避免了传统Prompt带来的信息过载问题。

动态上下文加载

发现(Discovery) - 元数据层

在上举例时细心的话可以发现,示例中提到了元数据 ,每个Skill都会有一份元数据,元数据是写在SKILL.md中第一行中的内容,元数据中包含了Skill如下信息:

  • 名称:Skill的名字
  • 描述:描述Skill的使用场景
  • 标签:协助Agent辅助检索与路由,进一步提升按需加载的效率和准确性

因为元数据的内容是非常少的,所以对于Token的消耗是很低的。

激活(Activation) - 指令主体层

当用户发出指令后,与元数据中的技能描述相匹配后,此时Agent才会动态的将完整的技能说明书(即:SKILL.md)和提到的相关参数一并交给Agent进行对应具体对话交互,获取用户更加具体的意图。

执行(Execution) - 扩展资源层

经过第二步获知用户最终意图后,通过文字的方式无法达成用户最终想要的结果,扩展资源层则是根据需要调用脚本(scripts/ )或检索参考资料(references/),来完成具体的执行任务。

扩展资源层机制

在对**scripts/**进行介绍时,其中包含了python代码、脚本代码如过代码中已经形成了较大的体积,不可能直接将代码交给Agent本身。

其实Agent在运行过程中,Agent并不会去理解和推理代码中的含义,而是交到一个运行时环境中去执行(即:沙箱),Agent只负责在恰当的时机触发、执行并接收对应的结果输出。

  • Agent :更像是一个调度员,根据用户的指令,选择正确的Skill,并在需要时调用Skill中指定的脚本
  • 代码执行 :作为一个黑箱工具。脚本在受控的沙箱环境中独立运行,其行为由代码本身和输入参数决定,具有完全确定性

写在最后

Agent Skills通过三层渐进式策略,结合脚本执行时的封闭环境就可以做到,对Agent的节省大量Token的占用也可以为Agent提供非常强大和可控的能力。

三层渐进式策略(元数据层→指令主体层→扩展资源层)的设计,让Agent摆脱了"塞满提示词"的传统模式。这套机制的本质,是将Agent从"记忆所有指令"转变为"按需调用工具"。

相关推荐
风吹花动叶随雪落2 小时前
怎么下载venv,安装python环境
人工智能
侠客工坊2 小时前
大模型落地移动端:解析侠客工坊端侧 Agent 的零拷贝(Zero-Copy)屏幕感知与空间映射
android·人工智能
yuan199972 小时前
OpenCV ViBe 运动检测算法实现
人工智能·opencv·算法
mooyuan天天2 小时前
AI大模型辅助Web渗透测试-TRAE智能体自动化解CTF题(命令执行 powershell)
人工智能·web安全·渗透测试·ctf·ai辅助渗透测试
AAIshangyanxiu2 小时前
基于R语言机器学习方法在生态经济学领域中的实践应用
人工智能·机器学习·r语言·生态经济学·经济学
半页码书2 小时前
半结构化面试是什么?跟结构化面试有什么区别?
人工智能·面试·职场和发展·求职招聘·职场发展·远程工作
人工智能AI技术2 小时前
自动驾驶 Agent:环境感知→路径规划→车辆控制
人工智能
AI先驱体验官2 小时前
臻灵:数字人形象驱动新突破,NVIDIA开源PersonaPlex带来的技术变局
大数据·人工智能·深度学习·重构·开源·aigc
郝学胜-神的一滴2 小时前
激活函数:神经网络的「非线性灵魂」,让模型从“直线”走向“万能”
人工智能·pytorch·python·深度学习·神经网络·程序人生·机器学习