摘要: 摘要:Datawhale与Anthropic联合推出的《AgentSkills》课程揭示了AI开发中的"Context陷阱"问题,并提出模块化解决方案。课程指出传统开发模式存在上下文污染、成本高等弊端,倡导通过"渐进式披露"(Progressive Disclosure)和技能模块化重构AI应用架构。将Prompt转化为标准化的SKILL.md文件,使AI能力具备可版本控制、可测试、可协作的软件工程特性,实现"一次构建,随处部署"的目标。课程资源包含中文字幕、代码解读和知识点梳理,助力开发者掌握新一代AI应用构建范式。

关键词:Agent Skills, Progressive Disclosure, 模块化, Anthropic, Datawhale

--------------------------------------------------------------------------------

Task1: Introduction, Why Use Skills Part I & II

一、 背景:当我们谈论 Agent 时,我们在谈论什么?

Task 1: Introduction 中,Anthropic 的技术教育负责人 Elie Schoppik 开宗明义地提出了一个概念:Skills(技能)

很多人可能会问,这和我们平时用的 "Tools"(工具)或者 "Prompts"(提示词)有什么区别?

在传统的开发模式中,我们倾向于构建一个“全知全能”的上帝视角 Prompt。但 Elie 指出,Skills 本质上是一组标准化的指令文件夹(Folders of instructions)。这标志着 Agent 开发正在经历一个重要的转折点:

过去:通过拼接超长的 System Prompt 来试图涵盖所有边缘情况。

现在:将能力封装为独立的、可复用的 SKILL.md 单元。

这种转变使得我们构建的不再是一次性的脚本,而是可移植的软件资产。正如课程简介所言:“Build once, deploy everywhere”——你构建的技能可以在 Claude.ai、Claude Code 命令行工具、Claude API 甚至 Agent SDK 中无缝运行。

--------------------------------------------------------------------------------

二、 核心痛点:为什么我们需要 Skills?(The "Why")

Why Use Skills 中,课程深入探讨了当前 LLM 应用面临的 “上下文困境” (Context Trap)

1. 传统模式的弊端:Context 污染

想象一下,你正在开发一个“全栈工程师 Agent”。在旧模式下,你需要在对话一开始就告诉它:

“你是 Python 专家,这是代码规范文档 A,这是数据库 Schema B,这是前端组件库 C……”

这种做法有两个致命问题:

1. 注意力分散:过多的无关信息(比如在写后端时塞入前端文档)会干扰模型的推理,导致指令遵循(Instruction Following)能力下降。

2. 成本与延迟:每次对话都携带巨大的 Context,Token 消耗和响应延迟都会指数级上升。

2. 破局之道:渐进式披露 (Progressive Disclosure)

这是 Task 2 中最让我醍醐灌顶的理论。

Skills 的设计哲学是:只在需要的时候,加载需要的知识。

初始状态:Agent 是一个通用的、轻量级的助手。

动态加载:当用户问“帮我分析这个 Excel”时,Agent 动态加载 Excel Analysis Skill(包含 Python 库调用 + 数据处理 SOP)。

任务完成:任务结束后,Agent 卸载上下文,恢复轻量状态。

这种机制让 Agent 能够根据任务需求,瞬间从“通用通才”变身为“垂直领域专家”3。

--------------------------------------------------------------------------------

三、 实战推演:Before vs. After

为了更直观地理解 Task 1 的内容,我总结了一个具体的场景对比:代码审查 (Code Review)

Before (无 Skills 模式)

用户被迫充当“搬运工”。

用户操作:手动复制 500 行代码 -> 复制公司的代码规范文档 -> 粘贴到对话框 -> 输入“请帮我 Review”。

结果:如果下次换个项目,用户得重复这一过程。AI 极其依赖用户的 Prompt 质量。

After (Skills 模式)

开发者将流程封装为标准化的 Review Skill

Skill 结构

    ◦ SKILL.md:定义了审查的步骤(先查安全,再查风格,最后查性能)。

    ◦ Context:预置了公司的代码规范文件。

用户操作:在 Claude Code 或 IDE 中输入 /review

系统行为:Agent 自动读取当前变更的代码,挂载 Review Skill,执行审查,输出报告。

这就是课程中所强调的“将工作流打包” (Package workflow)

--------------------------------------------------------------------------------

四、 深度思考:从 Prompt Engineering 到 Software Engineering

通过这两章的学习,我意识到 Agent Skills 实际上是试图解决大模型应用落地的工程化(Engineering)问题。

Anthropic 正在推动一种开放标准 (Open Standard)。当 Prompt 变成了标准格式的文件(如 GitHub 仓库中的 sc-agent-skills-files 所示4),它就具备了代码的属性:

1. 可版本控制:我们可以用 Git 管理 Agent 的“大脑”。

2. 可测试:可以针对特定的 Skill 编写测试用例。

3. 可协作:团队成员可以分头开发不同的 Skill,最后组装成一个强大的 Subagent 网络3。

--------------------------------------------------------------------------------

五、 学习资源与社区

这次学习主要依托于 Datawhale 的开源项目。对于英文有压力的同学,Datawhale 团队非常贴心地提供了:

Notebooks 代码解读:GitHub 仓库 (datawhalechina/agent-skills-with-anthropic) 中有详细的 .ipynb 演示。

知识点梳理:助教团队将散落在视频里的知识点整理成了文档,复习效率极高。

🔗 相关链接:

Datawhale 课程仓库https://github.com/datawhalechina/agent-skills-with-anthropic

DeepLearning.AI 原版课程https://www.deeplearning.ai/short-courses/agent-skills-with-anthropic/

Task2 : Skills vs Tools vs MCP

摘要: 在学习 Datawhale《Agent Skills with Anthropic》课程的 Task 2 阶段,我们一直在讨论“为什么要使用 Skills”。 很多同学(包括我一开始)都会产生一个巨大的疑问:“这不就是调用工具(Tools)吗?为什么要重新发明一个词叫 Skills?” 其实,理解 Skill(技能)Tool(工具)MCP(模型上下文协议) 之间的区别,正是从“写 Prompt”进阶到“构建 Agent 系统”的分水岭。今天我们就把这三个概念彻底拆解开来。

--------------------------------------------------------------------------------

1. Tools (工具):原本的“手脚”

在传统的 Agent 开发中,Tool(工具) 指的是 AI 执行特定操作的能力。 它通常表现为一段 Python 代码、一个 API 接口或者一个函数调用。

它的本质裸能力 (Raw Capability)

它的局限:工具本身是“死”的。比如你给 Agent 一个 read_excel() 的函数(Tool),这只是给了它一双“手”。但 Agent 不知道什么时候该用这双手,也不知道读取数据后该怎么分析。

后果:如果你只用 Tool,你就必须在 System Prompt 里写上几千字来教 Agent:“当你收到用户请求时,请调用 read_excel,然后如果数据为空,请报错;如果数据格式不对,请重试……”

一句话总结:Tools 只是干活的器具,它没有脑子。

--------------------------------------------------------------------------------

2. Skills (技能):封装了智慧的“大脑”

这就是课程 Task 2 想要传达的核心——我们需要一种更高级的封装格式,这就是 Skill

根据课程定义,Skill = Tool(工具) + Instructions(指令/智慧)

它的本质标准化文件夹 (Folder of Instructions)

它的结构:一个 Skill 通常是一个包含 SKILL.md 文件的文件夹。

    ◦ Tool 部分:它依然包含上面的 read_excel() 代码。

    ◦ Instruction 部分:在 SKILL.md 中,我们把之前需要重复写的 Prompt 固化下来了。我们告诉 Agent:“这是一个市场分析技能。当你拿到 Excel 数据后,请优先计算 ROI,忽略空白行,并生成一份简报。”

核心价值开箱即用。你不需要教它怎么用工具,因为说明书已经写在技能包里了。

一句话总结:Skills 是自带“操作SOP”的工具包,它让 Agent 瞬间拥有专家经验。

--------------------------------------------------------------------------------

3. MCP (Model Context Protocol):通用的“USB 接口”

有了“大脑”(Skill)和“手脚”(Tool),我们还需要解决连接的问题。

在过去,如果你想把你的 Skill 部署到 Claude Desktop App,或者部署到 Claude Code 命令行工具,或者集成到你公司的系统里,你可能需要写三份不同的适配代码。这非常痛苦,也阻碍了 Skill 的复用。

MCP (Model Context Protocol) 的出现就是为了解决这个问题。

它的本质开放标准 (Open Standard)

它的比喻:课程中将其比作 USB 接口

    ◦ 无论你是插鼠标、键盘还是打印机(各种不同的 Skills/Tools),只要符合 USB 标准,插上电脑就能用。

    ◦ 同理,MCP 让 Skill 可以“一次构建,随处部署”。只要你的 Skill 遵循 MCP 标准,它就可以无缝连接到本地文件系统、数据库,或者被不同的 Agent 平台加载。

在 Task 2 中的意义:它保证了我们构建的 Skill 是通用的资产,而不是只能在一个地方跑的一次性脚本。

一句话总结:MCP 是连接 AI 与外部数据的通用协议,它实现了真正的互操作性。

--------------------------------------------------------------------------------

4. 总结:三者如何协作?

为了帮你彻底理清关系,我们可以构建这样一个心理模型:

1. MCP (接口):是底层的管道和协议,负责打通 AI 与外部世界(文件、API)的连接。

2. Tools (手脚):是通过 MCP 暴露出来的具体功能点(如“执行代码”、“查询天气”)。

3. Skills (灵魂):是最上层的封装。它打包了 Tools,并附带了 SKILL.md(最佳实践和指令),告诉 Agent 如何像专家一样去使用这些工具解决复杂问题。

学习心得: 不要仅仅把 Agent 看作是聊天机器人。通过 Skills 的封装和 MCP 的连接,我们正在把 Agent 变成一个模块化的软件系统。这也是为什么 Task 2 强调“为什么要使用 Skills”——因为只有这样,我们才能复用前人的智慧,构建出稳定、强大的自动化工作流。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐