Anthropic Skills延伸思考,有哪些可以拓展?

摘要:本文将深入解构 SKILLS 的三层分层加载架构,探讨它如何解决传统 Agent 上下文膨胀、领域任务成功率低的核心痛点。我们将通过一个完整流程展示 SKILLS 如何工作,并延伸思考它对现有 MCP、工作流和多智能体范式带来的冲击与重构可
💡 文章摘要 Anthropic SKILLS 看着只是一堆提示词和脚本,但其精妙在于“大道至简”。本文将深入解构 SKILLS 的三层分层加载架构,探讨它如何解决传统 Agent 上下文膨胀、领域任务成功率低的核心痛点。我们将通过一个完整流程展示 SKILLS 如何工作,并延伸思考它对现有 MCP、工作流和多智能体范式带来的冲击与重构可能。同时,我们也会探讨 SKILLS 在工程实践中面临的挑战,如性能、安全和评估。 🎯SKILL是什么?三层拆解看本质 从表面看,一个Skill非常简单:它就是一个文件夹。 这个文件夹里通常包含: SKILL.md(必备):一个Markdown文件。这是Skill的“说明书”或“SOP”。它用自然语言告诉Claude“如何一步步完成某个特定任务”。 SKILL中包含元数据,告诉模型这个说明书是完成什么任务用的,如下--- name: pdf-processing description: 提取PDF文本和表格,填写表单...当用户提到PDF时使用。 --- 弹药库(可选): 脚本(scripts/):例如fill_form.py,是可执行代码,用于处理LLM不擅长或无法完成的确定性任务。 其他文档(.md, .txt):例如API_REFERENCE.md或BRAND_GUIDELINES.md。这些是更深入的“参考资料”,支持模型按需读取。 模板(templates/):例如company_report.pptx、viewer.html是模型完成特定任务的模版。 从技术本质来看,SKILLS 的核心创新在于其分层加载机制 ┌─────────────────────────────────────────┐ │ Level 1: 元数据(启动时加载) │ │ name + description (~100 tokens) │ │ ✓ 轻量级发现机制 │ └─────────────────────────────────────────┘ ↓ 触发时才读取 ┌─────────────────────────────────────────┐ │ Level 2: 主指令(SKILL.md body) │ │ 工作流、最佳实践 (<5k tokens) │ │ ✓ 按需加载到上下文 │ └─────────────────────────────────────────┘ ↓ 引用时才访问 ┌─────────────────────────────────────────┐ │ Level 3: 资源与脚本 │ │ • 额外 markdown(指令) │ │ • Python脚本(可执行直接执行) │ │ • 参考资料(schema、模板) │ │ ✓ 无限量存储,零上下文开销,固定执行效果 │ └─────────────────────────────────────────┘ 🔧SKILLS 解决了哪些痛点? 理解了 SKILLS 的分层设计,它所针对的传统 Agent 框架痛点就非常清晰了。SKILLS 主要解决了传统 Agent 框架的以下痛点: 智能体上下文无限膨胀: 让我们以金融数据查询智能体为例,它的上下文主要来自几个方面 核心指令:如何查宏观数据、个股基本面、技术面... 海量资料:超级多的表描述和字段描述。 后续操作:如何建模、如何可视化... 在原始的智能体框架下,还没开始任务,上下文就可能“几万字”了。 而在SKILL的加持下,我们可以把每一类数据查询逻辑封装成一个SKILLS,例如宏观数据查询.md。这样在最初的system prompt,我们主需要加载有哪些SKILLS的元数据。当用户提问涉及到宏观数据时,再把对应SKILL.md加载到上下文中。当需要具体查询货币政的时候再进一步读取细分参考材料reference/monetary_policy.md 。 脚本化的本质是将确定性任务从 LLM 推理中剥离。 这一点在处理数据时尤其明显。如果 Agent 要把上一步返回的 CPI 时间序列数据可视化,传统做法是把冗长的数据 作为文本 传递给下一个绘图工具(例如 Echart),这个“Copy”过程会消耗海量 Token。
阅读全文