LLM - Agent Skills 智能体新范式

在这里插入图片描述

概述

过去两年,Agent 成了生成式 AI 场景里的头号热门词:从自动写代码、跑流水线,到帮你看文档、写邮件,几乎所有团队都在造各式各样的 Agent。
但现实很骨感:Demo 惊艳,上线翻车;单个场景勉强可用,换个任务就「智商在线、业务不行」。越来越多人发现,问题不在于「Agent 不够聪明」,而在于它们缺少可以沉淀和复用的「技能」

2025 年,Anthropic 把这种直觉正式产品化:Agent Skills——一个以「文件夹」为基本单位的技能系统,并公开喊话:“不要再到处造新的 Agent,而是给一个通用 Agent 装上可组合的 Skills。”

在这里插入图片描述

接下来我们就从工程视角拆开这个新范式:它到底解决了什么问题,具体怎么工作,和 MCP / 工具调用 / RAG 有什么不同,开发者在实践中该如何落地。


1. 当下的 Agent,究竟卡在哪里?

从开发体验看,今天主流的 Agent 搭建方式大致有三类路线:

  • Prompt 工程 + 一些工具调用
    通过长 System Prompt + 指令模板,把模型「调教」成一个 Agent,再给它挂上若干工具(搜索、数据库、脚本执行等)。
  • 工作流编排 / Orchestration
    例如用各种 Agent 框架,把复杂任务拆成多节点、多 Agent 的有向图,节点间传递中间结果。
  • 针对场景微调 / RAG
    用特定领域数据做检索增强,或者定制微调,使 Agent 在某个垂直领域更专业。

这些方案看似不同,本质却有共性的问题:

  1. 知识与流程都「糊」在 Prompt / 代码里,难以复用与版本管理。
    一个好用的 Agent,往往是 Prompt、工具选择、调用策略和业务约束的混合体,很难拆成独立、可移植的组件。

  2. 上下文是一次性、易遗忘的。
    模型再「聪明」,没有结构化的程序性记忆,依然像一个刚入职、啥都得现问的实习生:每次任务都要重新讲一遍 SOP。

  3. 缺乏统一抽象,生态难以形成。
    不同团队、不同框架的 Agent 互不兼容,很难像 App 一样被分享、组合和「安装」。

Anthropic 的判断是:继续堆更复杂的 Agent 结构,很难治本;真正缺的是一种能被模型理解、被工程体系管理、又能跨项目复用的「技能载体」。


2. 什么是 Agent Skills?

在这里插入图片描述

Anthropic 给出的定义高度务实:

一个 Skill,本质上就是一个文件夹(目录),里面装着让 Agent 完成某类任务所需的所有「操作说明 + 工具脚本 + 资源」。

典型的 Skill 目录结构大致如下:

my-skill/
  SKILL.md        # 必选:技能说明与元数据
  scripts/        # 可选:可执行脚本(bash / python / …)
  templates/      # 可选:各类模板(文档、代码片段等)
  resources/      # 可选:参考文件(示例、规范、数据字典等)

其中:

  • SKILL.md 是大脑入口:
    里面以结构化 Markdown 写明技能的用途、适用场景、关键步骤、输入输出格式、注意事项等,同时包含模型用来检索与触发该技能的元数据(name、description、tags 等)
  • scripts 提供「可执行动作」:
    比如 PDF 解析、Excel 操作、批量重命名、调用内部 API 的封装脚本等。模型不需要记住细节,只要知道「调用哪个脚本完成这一步」。
  • 其他资源作为补充记忆:
    模板、规约、案例,用来保证输出风格与公司标准一致。

换句话说:Skill 是一种“人类可读 + 机器可执行”的工作说明书,既不是纯 Prompt,也不是黑箱 API,而是介于两者之间的一种「程序化知识包」。


3. 核心机制:渐进式披露(Progressive Disclosure)

如果把大量业务流程都写进 Skill,显然会遇到一个经典问题:上下文爆炸
Anthropic 的解决方案是「分层加载」——渐进式披露:

可以粗略理解为三个层次:

  1. Level 1:元数据常驻(Metadata)

    • 每个 Skill 的名称、简短描述、标签会被放进 Agent 的系统提示或一个轻量索引中。
    • Agent 在接到任务时,先在这层做「哪几个技能可能相关?」的快速筛选。
  2. Level 2:说明按需加载(Instructions)

    • 当 Agent 判断某个 Skill 适配当前任务,就通过类似 bash / 文件访问接口读取对应的 SKILL.md 具体内容。
    • 此时,详细步骤、边界条件、格式要求才被带入上下文。
  3. Level 3:资源与脚本再按需调用(Resources & Code)

    • 若说明里引用了脚本或资源,Agent 会在需要时再去执行脚本或读取文件,而不是一次性塞进上下文。
    • 代码在模型外执行,结果以结构化输出回传,更稳定也更省 Token。

这种设计有两个直接好处:

  • 上下文成本可控、可扩展
    可以挂很多 Skill,但大部分时间只占用极少上下文空间。
  • 技能可以变得很「长」,而不会拖垮性能
    复杂流程也可以详细写清楚,反而提高执行稳定性和可解释性。

从工程视角看,这更像是把「Prompt 工程」拆成了一个个可独立存储、按需加载的文件,而不是永远堆在系统提示里。


4. Skills 与工具调用、RAG、MCP 有何不同?

很多工程师第一反应是:「这不就是条件化加载的长 Prompt + 工具脚本吗?」
差别在于:Anthropic 把这套实践上升成了一个统一抽象与生态接口

可以用一张表来粗对比:

方案核心抽象主要作用典型问题Skills 的关系
传统工具调用工具 / API执行具体动作(算、查、调接口)不包含流程与业务语义Skill 内可以封装对工具的调用方式
RAG知识库 + 检索提供事实知识与上下文缺少「怎么做」的流程指引Skill 的说明部分可引用 RAG 结果
MCP / 插件第三方服务能力接入外部系统功能接口统一但行为语义分散Skills 更偏「工作说明书」,MCP 是「外部 API」
Agent Skills文件夹 + SKILL.md + 脚本打包特定任务的完整操作流程与工具需要最佳实践与生态沉淀与以上方案互补而非替代

关键区别在于:

  • 工具调用偏「能做什么」;Skill 更强调「应该怎么做」。
    Skill 把调用哪些工具、按照什么顺序调用、怎样判断成功、如何兜底等都写清楚。
  • RAG 解决「知道什么」,Skill 解决「怎么干」。
    一个财务分析 Skill 可以用 RAG 查政策和历史报表,但流程和输出格式由 Skill 固定。
  • MCP / 插件是「通向外部世界的门」,Skill 则像「操作手册 + 自动操作者」。
    两者可以组合:Skill 里定义如何调用 MCP,什么时候调用,输入输出如何转换。

从开发者视角,这意味着:你不需要在 Agent 代码里把所有细节写死,而是把大量「如何完成某类任务」迁移到可版本化的 Skill 目录中。


5. Skill 范式的工程价值:从个人效率到组织级资产

如果只把 Skills 看成「高级 Prompt 模板」,就低估了它的工程意义。更有价值的,是它在知识工程与组织资产管理上的作用。

5.1 面向个体:「第二大脑」的可编程化

对个人开发者和独立工程师来说,Skills 提供了一种组织个人经验的方式:

  • 把自己在「代码重构」「写技术 RFC」「评审 PR」「写测试用例」上的套路,拆成一个个 Skill。
  • 日常只要告诉 Agent「按 X Skill 帮我处理这个 PR」,而不是一次次解释个人偏好和边界条件。

长远看,这相当于为自己搭了一层「可执行的工作习惯」,而不是一堆散落在各处的 Prompt 片段。

5.2 面向团队:把 SOP 变成「可执行程序」

在企业场景,更有杀伤力的是把传统意义上的 SOP / 手册 / Wiki,系统性地转成 Skills:

  • 合规审批流程 Skill
    包含合规检查要点、必填字段、风险项列表、升级路径与拒绝模板。
  • 内部数据分析 Skill
    封装数据源连接、指标定义、常用 SQL 模板与可视化配置。
  • 品牌内容审核 Skill
    根据品牌手册、禁用词、审查标准进行自动审核和修订建议。

这样做有几个收益:

  1. 新人或非技术员工可以「直接用」,而不是「先看 30 页文档再来问」。
  2. 知识更新可以在 Skill 层完成,一次修改,全体 Agent 生效。
  3. 知识资产可以跨团队、跨项目流通,形成真正的「组织级复用」。

在这个视角下,Skill 更接近「组织记忆的代码化形式」


6. 如何从零开始写一个 Skill?

Anthropic 在官方文档和 GitHub 仓库里给出了多个示例与最佳实践,可以抽象出一套通用方法论。

6.1 选一个足够窄但高频的任务

好 Skill 的起点是「一个定义清晰、边界明确、日常高频」的任务,而不是一句模糊的「帮我做增长分析」。例如:

  • 「根据 Jira 任务,生成本周迭代汇总邮件」
  • 「把一堆发票 PDF 整理成标准报销表 Excel」
  • 「按公司文案规范重写产品更新日志」

让 Skill 去覆盖一个可度量的、可验证的输出,有助于迭代。

6.2 把人类的做法拆成结构化步骤

观察一个熟练员工怎么做这件事,然后抽象成步骤:

  1. 输入与前置条件检查
  2. 信息收集 / 检索
  3. 处理与决策逻辑
  4. 结果生成与格式化
  5. 质量检查与错误处理

把这些写进 SKILL.md,并用清晰标题、列表、示例和「Do / Don’t」形式呈现,模型更容易遵循。

6.3 决定哪些步骤应当「外包给脚本」

不是所有事情都该在模型里「硬算」。典型适合放进 scripts/ 的包括:

  • 解析与生成复杂文件格式(Excel、PDF、PPT、二进制日志)。
  • 重复性强的结构化转换(数据清洗、字段映射)。
  • 调用内部 API、执行 Shell 命令等需要确定性与安全控制的操作。

SKILL.md 里,只需要写清「在第 N 步调用 xxx 脚本,输入格式为 X,输出格式为 Y」,以及如何根据脚本输出判断下一步。

6.4 用「示例 + 评估标准」固化预期

Skill 需要自带「什么叫做好结果」的定义,可以包含:

  • 正例 / 反例片段(注意避免敏感数据)。
  • 打分准则:例如合规性、完整性、风格一致性等。
  • 常见错误与对应修正策略。

这不仅帮助模型,更方便人类回顾和迭代 Skill 本身。


7. 安全与治理:技能其实是一种「软件包」

由于 Skill 可以挂脚本、读写文件甚至访问网络,它在安全和合规上的地位,更接近一个软件包,而不是一段无害的 Prompt。

几个必须重视的点:

  • 来源可信与代码审计
    和安装第三方包一样,Skill 仓库也有供应链风险。需要有白名单、签名或内部审核流程。
  • 最小权限原则
    Skill 内脚本应只访问完成任务必需的资源,避免一把钥匙开全公司门的局面。
  • 执行与日志
    对脚本执行进行日志记录,便于溯源与事后审计。
  • 敏感数据脱敏与隔离环境
    在需要处理敏感数据的 Skill 中采用沙箱、脱敏或专用环境,避免无意扩散。

总结起来:把 Skill 当软件工程,而不是当 Prompt 玩具。


8. Skills 的未来:从人写技能,到 Agent 自己长技能

目前大部分 Skill 仍由人类设计和维护,但 Anthropic 在演讲和文章中都明确提到:希望未来的 Agent 能够主动总结自己的成功经验,抽象成新的 Skill

可能的演进方向包括:

  • Agent 在重复完成某类任务后,自动归纳出一套稳定流程,并生成草稿版 SKILL.md
  • 人类只需做最后的审核与微调,而不必从零撰写。
  • 多个 Agent 之间可以共享 Skills,形成类似「技能市场 / 技能 App Store」。

从这一点看,Skills 更像是为下一阶段的「自我改进型 Agent」打地基:
当 Agent 能够通过 Skills 记录和重用自己的经验时,才真正具备持续成长的「程序性记忆」。


9. 写在最后:给今天就在用 LLM 的工程师一些建议

如果你已经在生产环境使用 LLM / Agent,这里有几条非常务实的建议,可作为迁移到 Skill 范式的起点:

  • 先选一个痛点明显的高频任务,做一个 POC Skill,而不是一口气重构所有 Agent。
  • 把现有长 System Prompt 和散落的 SOP、工具说明整理进 Skill 目录,逐步「解耦」逻辑与 Agent 代码。
  • 为团队设定简单的 Skill 规范:命名、目录结构、文档模板、评估方法。
  • 在安全上,把 Skill 当「内部软件包」看待,建立代码审查和权限控制。

从长远看,「一个强大的通用 Agent + 一个不断增长的 Skill 仓库」,比无数孤立、不可维护的垂直 Agent 更有机会成为企业的长期基础设施。


Claude Skills × OpenAI Function Calling × Spring AI Tools × MCP 对照表

维度Claude SkillsOpenAI Function CallingSpring AI Tools / FunctionsMCP (Model Context Protocol)
核心定位Agent 的“技能系统”模型调用函数的接口能力Java 世界的 Tool / Function 抽象Agent 能力的运行时协议
抽象层级高(Agent 行为层)低(模型 API 层)中(应用框架层)很高(跨系统基础设施层)
能力单位Skill(带语义、上下文、执行逻辑)Function(结构化输入输出)Tool / Function(Java 方法)Server / Capability
谁定义能力Agent / 开发者开发者开发者外部系统 / 服务
谁决定调用Agent(模型自主)模型(在 prompt 约束下)模型 + 应用框架Agent(通过协议发现)
是否支持能力发现✅ 原生支持❌ 不支持⚠️ 有限(代码级)✅ 核心设计目标
是否支持动态更新✅(Skills Catalog)⚠️(需重启 / 配置)✅(Runtime 动态)
是否强调上下文管理✅ 极强(Skill = Context)❌ 几乎没有⚠️ 由应用控制✅ 明确协议级支持
是否跨语言 / 跨进程⚠️ 偏 Anthropic 生态❌ API 级⚠️ JVM 为主✅ 原生跨语言
是否面向 Agent 时代✅ 完全为 Agent 设计❌ 仍是 LLM 时代产物⚠️ 向 Agent 过渡✅ 为 Agent 原生
典型使用场景复杂自治 Agent结构化工具调用Java 业务系统接 AI企业级 Agent 基础设施

Anthropic Agent Skills / AI Agents 延伸阅读合集

官方与核心资料

  1. Equipping Agents for the Real World with Agent Skills
    https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills

  2. Anthropic Agent Skills 官方 GitHub
    https://github.com/anthropics/skills

  3. Tracing Thoughts in Language Models
    https://www.anthropic.com/research/tracing-thoughts-language-model

  4. Disrupting AI Espionage
    https://www.anthropic.com/news/disrupting-AI-espionage


技术解读 / 博客文章

  1. Anthropic Released Agent Skills – 深度解读
    https://www.rohan-paul.com/p/anthropic-released-agent-skills-a

  2. Teaching AI Agents Real-World Skills(Joshua Berkowitz)
    https://joshuaberkowitz.us/blog/github-repos-8/teaching-ai-agents-real-world-skills-anthropic-s-revolutionary-skills-framework-1773

  3. Anthropic Says: Build Skills, Not Agents
    https://www.outcomeops.ai/blogs/anthropic-says-build-skills-not-agents

  4. BDTechTalks:Anthropic Agent Skills
    https://bdtechtalks.com/2025/10/20/anthropic-agent-skills/amp/

  5. Towards AI Newsletter – TAI #175
    https://newsletter.towardsai.net/p/tai-175-anthropics-agent-skills-offers

  6. LinkedIn 技术解读(Ilnar Shafigullin)
    https://www.linkedin.com/posts/ilnar-shafigullin-ph-d-b3456356_equipping-agents-for-the-real-world-with-activity-7384679452787658752-W5GT

  7. LinkedIn Pulse – TAI #175
    https://www.linkedin.com/pulse/tai-175-anthropics-agent-skills-offers-z6vde

  8. 今日头条中文解读
    https://www.toutiao.com/article/7581769941976711718/


视频资源(演讲 / 访谈 / 解析)

  1. YouTube:Agent Skills 解析
    https://www.youtube.com/watch?v=CEvIs9y1uog

  2. YouTube:Anthropic Agent Skills 讨论
    https://www.youtube.com/watch?v=Ihoxov5x66k

  3. YouTube:Agent Skills 深度拆解
    https://www.youtube.com/watch?v=pbVTMlGSSYo

  4. YouTube:AI 能力与认知讨论
    https://www.youtube.com/watch?v=WC5S4cXI5WQ

  5. YouTube:AI 思维与意识探讨
    https://www.youtube.com/watch?v=WgzkkCDxYc0


讨论 / 观点 / 社区

  1. Reddit:Agent Skills 是不是“换皮工具”?
    https://www.reddit.com/r/Anthropic/comments/1phrhs2/agent_skills_am_i_missing_something_or_is_it_just/

  2. Reddit:AI 意识相关讨论
    https://www.reddit.com/r/Futurology/comments/1lb1quw/chinese_scientists_find_first_evidence_that_ai/

  3. AI Frontiers:AI Consciousness 的证据
    https://ai-frontiers.org/articles/the-evidence-for-ai-consciousness-today

  4. Facebook(SCMP):AI 认知能力讨论
    https://www.facebook.com/scmp/posts/it-provides-new-evidence-in-a-debate-over-the-cognitive-capacity-of-ai-models-li/1105036791672372/

在这里插入图片描述

构建一个基于大语言模型(LLM)的 Agent 系统,特别是主控框架的设计与实现,是当前智能系统开发中的一个重要方向。以下是一些推荐的 LLM Agent 主控框架以及使用指南。 ### 推荐的 LLM Agent 主控框架 1. **LangChain** - LangChain 是一个用于构建基于 LLM 的应用程序的开源框架,支持多种语言模型和工具集成。 - 它提供了灵活的任务调度机制、记忆模块、工具调用接口等功能,适合构建复杂的 Agent 系统。 - 支持 Python 和 JavaScript 两种语言版本。 2. **AutoGPT** - AutoGPT 是一个基于 GPT-4 的自主代理框架,能够自动执行任务并进行自我迭代。 - 它具有任务分解、目标设定、记忆管理等核心模块,适用于需要高度自主性的场景。 - 提供了丰富的插件系统,可以扩展其功能以适应不同的应用场景。 3. **BabyAGI** - BabyAGI 是一个简单的 AGI 实现示例,展示了如何通过递归任务生成和执行来模拟通用人工智能的行为。 - 虽然功能较为基础,但它是理解更复杂 Agent 架构的良好起点。 - 使用 Python 编写,依赖于 OpenAI API 和向量数据库(如 Pinecone 或 Weaviate)。 4. **AgentScope** - AgentScope 是阿里巴巴集团推出的一个多模态 Agent 开发平台,支持文本、图像等多种输入输出形式。 - 提供了角色定义、对话流程控制、外部工具调用等关键组件,便于快速搭建交互式 Agent 应用。 - 支持本地部署和云端服务两种模式。 5. **Hugging Face Transformers + Custom Logic** - 对于有较高定制需求的项目,可以直接使用 Hugging Face 提供的 Transformers 库,并结合自定义逻辑来构建专属的 Agent 框架。 - 可以利用预训练模型作为基础,然后根据具体任务添加感知、决策、行动等模块。 ### 使用指南 #### 1. 环境准备 - 安装必要的库和依赖项: ```bash pip install langchain openai chromadb ``` - 配置 API 密钥(如果使用在线服务如 OpenAI): ```python import os os.environ["OPENAI_API_KEY"] = "your-api-key" ``` #### 2. 创建主控 Agent - 示例代码(使用 LangChain 创建一个带有记忆功能的主控 Agent): ```python from langchain.agents import initialize_agent, Tool from langchain.memory import ConversationBufferMemory from langchain.chat_models import ChatOpenAI # 定义子 Agent 或工具 def tool_example(input): return f"Processed: {input}" tools = [Tool(name="ExampleTool", func=tool_example, description="An example tool.")] # 初始化主控 Agent llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory(memory_key="chat_history") agent = initialize_agent(tools, llm, agent="conversational-react-description", memory=memory) # 运行主控 Agent response = agent.run("Hello, I need help with something.") print(response) ``` #### 3. 自定义风格协议 - 在创建主控 Agent 时,可以通过设置 `style_contract` 来指定子 Agent 的响应风格[^3]: ```python style_contract = { "tone": "温和", "persona": "安抚型协作助手", "verbosity": "短句为主", "interactivity": "提供选择项" } # 将 style_contract 应用到子 Agent 中 # 假设有一个函数 create_sub_agent 来创建子 Agent sub_agent = create_sub_agent(style=style_contract) ``` #### 4. 集成外部工具和服务 - 可以将各种外部工具和服务集成到主控 Agent 中,例如数据库查询、天气预报、日历操作等。 - 通过定义 `Tool` 类型的对象并将它们传递给 `initialize_agent` 函数来完成集成。 #### 5. 测试与优化 - 不断测试主控 Agent 的表现,并根据反馈调整参数或改进算法。 - 利用 A/B 测试比较不同配置的效果,确保系统的稳定性和有效性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小工匠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值