52. 想深度了解Claude Agent Skills,看这篇就行了AI Agent和工具(Tools)的热潮席卷了整个技术圈,几乎成了大模型应用的标配。然而,当我们深入剖析Anthropic Claude的Agent Skills实现时,却发现了一条与众不同的技术路径。它并非我们熟知的函数调用或插件执行。1. Skills 不是代码,而是高级“提示词模板”当我们谈论给AI增加“技能”时,脑海中浮现的通常是可执行的Python函数或API端点。Claude 的Skills与传统的函数调用或插件有着本质区别,它们不直接运行任何Python或JavaScript代码。Skills的真正作用是“提示词扩展(prompt expansion)”和“上下文修改(context modification)”。当一个skill被调用时,它实际上是向当前的对话历史中,动态注入了一段为特定任务量身定制的、极其详细的指令。这些指令会彻底引导Claude后续的思考方式和行为路径,就像给一个通用型专家临时“灌输”了某个领域的专业知识。它将AI能力的扩展与执行代码所带来的安全风险和复杂性完全分离开来,实现了前所未有的灵活性和安全性。Skills are not executable code. They do NOT run Python or JavaScript, and there’s no HTTP server or function calling happening behind the scenes. ... Skills are specialized prompt templates that inject domain-specific instructions into the conversation context.2. 没有算法路由,全凭大模型“自己决定”用哪个技能Claude选择使用哪个skill的决策过程也比较有特色。传统思路可能会涉及复杂的路由系统,比如基于关键词匹配、正则表达式、向量相似度搜索,甚至是专门的意图分类模型。Claude Agent Skills 将所有可用技能的名称和描述打包成一段文本,然后将这段文本作为名为Skill的“元工具(meta-tool)”的描述信息。当用户提出请求时,Claude就凭借其原生的、强大的语言理解能力,在一次完整的前向传播(forward pass)中,直接判断用户的提示词与哪个技能的描述最为匹配。这种设计体现了对大模型核心推理能力的极致信任,是一种“第一性原理”的体现。它没有在应用层添加任何复杂的工程逻辑,而是把决策权完全交还给了大模型本身。There is no algorithmic skill selection or AI-powered intent detection at the code level. The decision-making happens entirely within Claude’s reasoning process based on the skill descriptions provided. ... This is pure LLM reasoning.3. 独特的架构:技能信息不在System Prompt里,而在“工具”里许多AI系统(如ChatGPT)习惯于将可用的工具信息一股脑儿地塞进系统提示词(System Prompt)中。这种做法虽然直接,但当工具数量庞大时,会导致系统提示词变得异常臃肿和低效。Claude另辟蹊径。它的Agent Skills信息并不存储在系统提示词里。相反,所有的技能都被封装在一个名为Skill的“元工具”中。这个Skill元工具与其他标准工具(如Read, Bash)一起,并列存在于每次API请求的tools数组里。所有可用技能的列表,动态地构成了这个Skill元工具的描述部分。这种架构的优势显而易见:它极大地解放了系统提示词,让技能的管理变得更加模块化和动态化,可以根据会话需求灵活地加载或卸载,而不会污染全局的系统设定。4. 优雅的实现:一条消息给人看,一条“隐藏”消息给AI看一个优秀Agent系统的设计,必须在“用户透明度”和“界面简洁性”之间找到平衡。如果系统调用skill的过程完全隐藏,用户会感到困惑;如果把几千词的内部指令全部展示在聊天窗口,用户界面则会变得混乱不堪。Claude通过一个名为isMeta的布尔标志,巧妙地解决了这个矛盾。当一个skill被激活时,系统会向对话历史中注入两条消息:1) 第一条消息 (isMeta: false): 这是一条简短的元数据信息,比如“‘pdf’ skill正在加载”。这条消息在用户界面中是可见的,清晰地告知用户系统正在做什么。2) 第二条消息 (isMeta: true): 这条消息包含了完整的、可能长达数千词的SKILL.md指令内容。它在用户界面中是不可见的,但会完整地发送给API,作为Claude执行任务的详细行动指南。这种“双通道通信”机制既保证了用户对系统行为的知情权,又避免了海量的内部指令污染聊天界面,实现了极致优雅的用户体验。5. 终极心智模型:技能的本质是“上下文修改器”,而非“动作执行器”我们可以提炼出一个关于Claude Agent Skills的终极心智模型。如果说传统的工具是“动作执行器”(Action Executor)——执行一个动作,返回一个结果;那么Claude的技能则是“上下文修改器”(Context Modifier)。它的核心作用是修改两个层面的上下文:首先,它通过注入详细指令来修改对话上下文(conversation context),从而改变Claude的思考模式和工作流程;其次,它通过变更工具权限和模型选择来修改执行上下文(execution context),从而改变Claude在特定任务中被允许使用的能力。理解这个根本性的区别是掌握Claude Agent Skills的关键。Skills并不是直接去解决问题,而是通过“赋能”和“引导”的方式,让Claude本身变成一个能够更好地解决特定领域问题的专家。By treating specialized knowledge as prompts that modify conversation context and permissions that modify execution context rather than code that executes, Claude Code achieves flexibility, safety, and composability that would be difficult with traditional function calling.总之,Claude Agent Skills的设计哲学,为我们展示了一种与传统函数调用截然不同的AI能力扩展范式。它通过一种基于提示词的、精巧的上下文修改机制,实现了极高的灵活性、安全性和组合性,将大模型自身的推理能力推向了核心。#ai创造营# #程序员#