Agent Skills
了解 Agent Skills 如何打包可重用的指令、工具和脚本,为 AI 代理赋予专业专长、简化工作流程并支持计算机视觉任务。
Agent Skills 是可重用的指令、元数据、参考资料和可选脚本包,可为 AI agent 提供针对特定任务的专业专长。开发者无需将每个程序都塞进冗长的系统提示词中,而是可以打包一个聚焦的功能(例如检查产品、分析电子表格或遵循组织的部署检查清单),并让 agent 仅在相关时加载它。
Skills 帮助通用 AI agent 表现得更像领域专家,同时保持知识的模块化、可维护性和可移植性。“Claude Skills”是这一更广泛构想的一种产品实现;术语 Agent Skills 也可以指由开放 Agent Skills 概述所描述的可互操作格式。
Agent Skills 的工作原理#
根据 Agent Skills 规范,skill 通常是一个包含必需 SKILL.md 文件的目录。该文件以 YAML 元数据开头,包括名称和描述,用于解释 skill 的功能以及 agent 何时应激活它。其 Markdown 正文提供程序、示例、约束和边缘情况指导。可选目录可以包含可执行脚本、参考文档、架构或模板。
Skills 使用渐进式披露(progressive disclosure),这意味着信息分阶段进入 agent 的上下文窗口:
- Agent 最初会看到可用 skills 的简短名称和描述。
- 当请求与描述匹配时,它会加载相关的
SKILL.md。 - 它仅在需要时才读取支持资源或运行捆绑脚本。
这减少了不必要的 token 使用,并允许 agent 访问许多专用功能,而无需在启动时加载每条指令。Claude Agent Skills 文档和微软 Agent Skills 文档提供了 agent 平台中这种加载模式的示例。
Agent Skills 与相关概念的对比#
Agent Skills 组织了知识和程序,但它们不会取代 agent、其工具或协调其操作的系统。
-
**工具和函数调用:**工具执行单独的操作,例如查询 API 或运行推理。Skill 解释了何时以及如何一起使用一个或多个工具,包括验证规则和领域上下文。
-
**Agentic 工作流:**Skill 让 agent 能够自适应地解释指令。工作流定义了更显式的执行路径,使其更适合长时间运行的进程、检查点、审批以及必须按固定顺序发生的动作。
-
**模型上下文协议:**MCP 标准化了 agent 发现和调用外部资源及工具的方式。官方的 MCP 工具规范定义了工具接口,而 skill 则打包了可能指导 agent 使用这些接口的程序性专长。
提示词通常是为单次对话编写的。Skill 旨在跨兼容环境进行重用、版本控制、测试和共享。
计算机视觉中的应用#
当视觉感知必须与业务规则和后续操作相结合时,Agent Skills 尤其有用。
**制造检查:**质量控制 skill 可以指导 agent 捕获图像、运行对象检测、将检测结果与接收标准进行比较、保存证据并在置信度低时请求人工审核。视觉模型提供观察结果,而 skill 提供工厂特定的检查程序。这支持可重复的缺陷检测工作流,而无需将每项策略嵌入到 agent 的基础提示词中。
**零售库存审计:**货架审计 skill 可以指导 agent 处理商店图像、清点指定产品、将结果与库存记录进行比较并准备补货建议。团队可以使用 Ultralytics Platform 标注货架数据、训练自定义模型、将其部署并监控 skill 调用的视觉工具。
在这两种情况下,skills 将感知连接到操作知识。它们本身并不能提高底层模型的视觉准确性;它们只是让模型的输出更易于一致地应用。
Skill 的视觉脚本示例#
Skill 可以捆绑用于视觉检查的确定性脚本。以下记录的 Ultralytics YOLO 预测工作流可以存储在 skill 的 scripts/ 目录中:
from pathlib import Path
from ultralytics import YOLO
image_url = "https://ultralytics.com/images/bus.jpg"
output_path = Path("inspection_result.jpg")
# Run the skill's visual perception step
model = YOLO("yolo26n.pt")
results = model(image_url)
result = results[0]
result.save(filename=str(output_path))
print(output_path)在这里,YOLO26 提供视觉功能,而 SKILL.md 将解释何时运行脚本、如何解释其输出以及接下来应采取什么行动。
设计和安全考量#
高效的 skills 应该具有狭窄的职责、清晰的激活描述、简明的指令、切合实际的示例和记录在案的依赖项。官方的编写 skill 最佳实践建议将指令细节与任务风险相匹配:灵活的指导可以适应开放式分析,而脆弱的操作则需要精确的脚本和更严格的约束。
第三方 skills 应像已安装的软件一样对待。在授予访问权限之前,请检查每条指令、脚本、依赖项、网络调用和文件操作。针对重大操作,应用沙盒、最小权限原则、资源限制、日志记录和人工批准。这些控制措施有助于应对 OWASP 提示词注入指南和 OWASP 过度代理指南所描述的风险。团队还可以使用 NIST AI 风险管理框架手册将 skill 评估、监控和治理整合到更广泛的 AI 风险管理中。






