一键传输wifi互传
118.12M · 2026-02-04
过去二十年,软件架构领域经历了深刻变革,从单体应用向微服务的转变标志着系统设计理念的一个分水岭。如今,我们正处于 LLM 应用领域同样重大的范式转变的边缘。作为一名多年构建生产级 AI 系统的架构师,我认为必须从根本上重新构想智能应用的构建方式 —— 从传统“提示工程”转向我称之为“上下文工程”的更具结构化和模块化的方法。Anthropic 于 2025 年 10 月推出的 Claude Skills 架构,是这一转型中的一个里程碑成就。
为避免“引入功能却没有可测试结论”的陷阱,我将 Skills 架构的价值浓缩为一个可验证的命题:Skills 将 LLM 系统从“基于文本的单一提示”转变为“版本控制、可审计、可组合的运行时模块”。核心利益源自三项可衡量的保障:
这三个“控制”构成我们分析的骨干,我们将深入探讨每个工程模式。
在 Skills 出现之前,构建复杂 AI 代理面临着“上下文共享悲剧(context commons tragedy)”。当试图将通用模型如 Claude 3.5 Sonnet 转变为领域专家时,传统方法是将所有业务规则、品牌指南、API 文档和错误处理程序塞入一个庞大的系统提示词中。
这种方法论产生了三种严重的技术债务:
2026 年 1 月,Anthropic 工程团队记录显示,仅工具定义在优化前就可能消耗 134K token —— 典型的 GitHub MCP 服务器会增加约 46,000 token,Jira 则消耗约 17,000 token。团队报告称,仅 MCP 工具在编写一行代码前就占用了 72% 的上下文。
Claude Skills 核心设计理念是将“知识”与“推理”分离开来。如果我们将 LLM 的上下文窗口比作计算机 RAM,传统提示工程试图在启动时将所有数据加载到内存中。相比之下,Claude Skills 更像是可热插拔的外置存储设备(USB 闪存驱动器)。
在这种架构下,代理不必“记住”所有知识,只需要知道自己具备哪些能力。当(只有当)用户触发特定任务时,相关知识模块(技能)才会动态加载到内存中。这种设计使代理能够掌握数千项技能 —— 从“SQL 性能优化”到“法律合规审查” —— 在初始化过程中无需额外上下文资源,从而实现无限的可扩展性潜力。
Claude Skills 通过一种独特的加载算法 —— 渐进披露,实现了高效扩展。这种分层加载策略最大限度减少了 token 消耗,同时最大化模型在特定任务上的性能。
如果我们将“上下文窗口”概念化为系统账本,每个请求支付三种类型的预算,所有后续优化策略都可以被理解为“在不牺牲目标的情况下减少一种预算类型”:
从工程角度看,该账本同时确定了三个因素:
运行时过程可以形式化为有四个状态的状态机,以澄清“当前在上下文中存在的、可回收的以及污染的来源”:
S0(空闲):基础系统提示符 + 元数据索引(总共 ~100–500 个 token)
S1(技能激活):S0 + 选定 SKILL.md 内容(~1K-5K token)
S2(执行中):S1 + 工具输出、文件读取、脚本结果(变量,可能无界)
S3(总结):返回 S0/S1,仅保留提炼结果
状态机揭示了两个关键洞见:
根据 Anthropic 的工程数据,2026 年 1 月启用工具搜索后,系统实现了 token 开销降低 85% —— 从 7.7 万降至 50+ MCP 工具下的约 870 万。
作为架构师,理解 Skills 的物理结构至关重要。与封闭数据库记录不同,Claude Skills 采用基于文件系统的设计,本质上支持 Git 版本控制、CI/CD 流水线以及现有 IDE 开发流程。
data-analysis-pro/ # 根目录,必须与 Skill ID匹配
├── SKILL.md # [必选] 核心定义文件
├── README.md # [可选] 人类可读文档
├── scripts/ # [建议] 可执行代码库
│ ├── clean_data.py # Python 清理脚本
│ ├── visualize.R # R 可视化脚本
│ └── query_db.sh # Bash 数据库查询包装器
├── templates/ # [建议] 输出模版
│ ├── report_format.md # 报告结构定义
│ └── email_draft.txt # Email 草稿模版
└── resources/ # [可选] 静态知识库
├── schema.json # 数据库结构定义
└── glossary.csv # 术语表
该结构体现了“关注点分离”:SKILL.md 处理与 LLM 的自然语言交互,scripts/ 处理确定性逻辑计算,resources/ 存储静态知识。
YAML 前置文件作为 Skill 的 API 签名,决定系统如何识别和调用:
---
name: data-analysis-pro
description: Analyzes CSV/Excel datasets using advanced statistical methods. Use when the user asks for "trends", "forecasts", or "data insights".
allowed-tools: Read,Bash,Grep
user-invocable: true
context: fork
agent: plan
---
关键字段定义:
name(必填):必须与目录名称完全匹配;仅限小写字母、数字和连字符;最多 64 个字符description(必填):最关键的字段(最多 1024 字符)—— 不仅仅是文档;更是触发逻辑。Claude 对文本进行语义匹配来决定是否加载该 Skill。最佳实践:“当用户请求时使用这项 Skill ……”allowed-tools(可选):在 Skill 激活时限制可调用工具范围,缩小执行表并整合权限请求。如果省略,则不适用约束;标准许可模式遵循 Claude Code 的标准审批流程context: fork(高级):设置为 fork 时,Skill 在独立子代理上下文中运行,防止中间步骤污染主会话企业团队的生产部署数据显示,正确配置 Skill 可减少 84% 的权限提示,而团队报告生产力提升 8 倍,部署周期加快 25%。
随着代理获得执行代码和操作文件系统的能力,安全性成为不可妥协的核心关注点。Claude Skills 引入了基于原语的操作系统级沙盒机制,以防止“越狱”或恶意操作。
Claude Code 的沙盒环境(Linux 上的 Bubblewrap,macOS 上的 Seatbelt)实现了二维隔离:
默认行为:写权限限制于工作目录和子目录;读权限覆盖大多数机器路径,但排除某些被拒绝的目录;工作目录外的修改需要明确权限,通过允许/拒绝规则进行细化。
该设计在语义上将“读”与“写”解耦:在保持故障排除可观察性的同时,持续的写破坏半径仍局限于工作区内。
Skill 网络请求不能直接穿越主机网卡,所有网络流量都必须经过维护允许列表的专用代哩服务務器。这一出站限制同样适用于 Skill 发起的脚本和子进程,形成工程闭合边界。
举个例子:“GitHub PR 审核” Skill 只能访问 api.github.com,如果恶意代码试图连接 attacker.com 泄露数据,代理层会立即丢弃请求。
为了将安全控制转化为可审计的治理行动,这里有一个最小威胁模型骨架图:
典型攻击链:诱导决策 → 尝试读取敏感信息 → 尝试窃取 → 尝试持久写入
控制点映射:
实际实现:工程团队用 Rust 构建自定义权限钩子,通过允许特定命令模式减少权限提示,同时阻止 shell 注入字符,实现批准操作的零开销执行。
在 Anthropic 生态系统中,模型上下文协议(MCP)和 Skill 代表了两个常被混淆的概念,两者的澄清对架构设计至关重要。
| 功能 | Claude Skills | MCP |
|---|---|---|
| 基本定义 | 操作流程知识(怎么做) | 连接与能力(是什么) |
| 主要功能 | “怎么做”:流程、SOP、逻辑编排 | “用什么”:数据源、API 接口、工具 |
| 架构 | 本地文件系统(Markdown + 脚本) | 客户端-服务器架构(JSON-RPC 2.0) |
| 可迁移性 | 高(Git repo 分发) | 需要服务器连接配置 |
| 上下文影响 | 动态加载(按需消费 token) | 静态工具定义(常驻调用或被动调用) |
| 使用场景 | 复杂工作流、代码审查标准、生成报告 | 数据库查询、即时数据检索、系统集成 |
从“系统边界”角度来看,它们的角色可以更严格的定义为边界契约:
2026 年 1 月的基准测试显示,token 开销存在显著差异。Twilio 的 MCP 性能测试显示,支持 MCP 的代理平均消耗多出 27.5%,缓存读取量增长了 28.5%,缓存写入量激增了 53.7%。
一个开发团队记录了他们的 MCP token 的爆炸式增长:在 10 多个 MCP 服务器上,每个请求需要约 150 个工具定义,模型甚至在处理用户查询前就消耗了大量上下文。他们采用“代码模式”的解决方案将 token 使用率降低了 60–70%,交互次数从 6–10 次减少到 3–4 次。
相比之下,Skills 的渐进披露确保元数据在激活前每个技能仅消耗约 100 个代币,平台数据显示 Skills 可将代币使用量从每次手动指令的 5,000–10,000 个减少到极低的元数据成本,直到需要时才加载。
MCP 提供了工具功能面;Skills 提供流程协调面。为防止异常期间的系统偏离,定义 MCP 调用的返回合约和失败策略,至少涵盖四种常见故障模式:
企业团队报告称,将 Skills 与 MCP 结合(MCP 服务器收集数据、Skill 进行分析)能够实现最佳效果。Skill 激活频率追踪和错误率坚控实现持续优化。
掌握基础架构后,可以利用 Skills 构建更复杂的代理行为。
在处理极其复杂的任务(如“重构整个后端 API”)时,主会话的上下文常常充满数百次尝试、错误和调试信息,导致模型“疲劳”并遗忘初始目标。
context: fork 是解决这个问题的关键功能。其工作流程如下:
生产数据显示,子代理能显著减少上下文污染。一项分析发现,分叉上下文使得 token 的探索效率更高,而主会话则保持可读性,避免每回合重复发送垃圾数据。
更严格的说,Claude 可以在同一会话中按需激活多个 Skills,通过编排形成复合工作流程。是否允许嵌套调用,以及调用链如何受权限和运行时影响,应由实际运行时和权限设置来决定。
示例:构建 software-architect Skill,其指令不直接编写代码,而是:
requirement-analysis Skill 来分析文档database-design Skill 来生成模式api-scaffolding Skill 来生成代码框架这种可组合性使智能体系统能力能够呈现指数级增长,而非线性增长。
利用文件系统的持久性,可以构建“长期记忆”技能:
情景:代码审查 Skill 机制:
resources/review_guidelines.md 中重要性:实现真正的“在职学习” —— 代理会越来越多的根据团队的使用偏好调整,无需再训练模型。
一个实施前端代码审查模式的团队发现,由于审查频率高,Skill 消耗 token 的速度令人担忧,但自我提升周期不断提升审核质量,形成了良性反馈循环。
实际生产部署需要超越演示,转向可持续且可治理的系统。以下是基于 2026 年 1 月现场数据的精简企业策略。
第 1 周:基础
第 2 周:Skill 发展
第 3 周:团队规模扩展
第 4 周:坚控与迭代
实施本战术手册报告的团队:
一家金融服务公司利用 Skill 构建了全公司范围的知识层,将专业知识组织到四个领域(AI、数据、基础设施、用户界面),实现了团队间专业知识的无缝转移。
Claude Skills 不仅是一项新功能,更是将 AI 代理工程化为生产系统的基础步骤。通过将软件工程成熟的模块化、封装、版本控制和权限管理原则引入生成式 AI,我们终于拥有了构建可维护、可扩展和安全企业级智能代理的完整工具链。
对于每一位技术领导者来说,战略优先级应从完善单一提示词转向构建组织的技能库。这个存储库(嵌入独特的企业流程、知识和工具)将成为 AI 时代最关键的数字资产。
范式已经发生了转变,架构经过了验证,结果可以衡量。问题不再是是否采用上下文工程,而是能多快建立在这方面表现出色的组织能力。