
转自:https://www.php.cn/link/41a548283ac8c823620920d740f0f0d4)
去年 MCP 引发广泛关注,许多人曾乐观地认为:只要把各类工具全部接入,AI Agent 就能“真正活起来”,仿佛拥有了手脚,具备执行任意任务的能力。
若将 LLM 比作大脑(即核心智能引擎),那么 tool call / function call 就如同赋予它操控四肢的能力:模型负责生成参数,代码负责执行动作,再将结果反馈回模型继续推理。
MCP(Model Context Protocol)正是将这一能力抽象为一套“标准化接口”:过去各服务往往各自提供 SDK + API,开发者为 Agent 封装工具时,需反复处理语言适配、依赖管理、身份认证、响应格式转换等问题,工程复杂度呈指数级增长;而 MCP 的价值,正在于将“工具接入”这件事系统化、规范化。
因此,当时最主流的预期顺理成章:只要 MCP 工具生态足够丰富,Agent 就能拥有无限延展的操作能力,理论上无所不能。
但现实很快给出了回应——接连撞上两堵高墙。
第一堵墙:容量限制(上下文长度瓶颈)
每个工具的定义本身需嵌入系统 prompt 或等价的工具上下文区域;工具数量越多,占用的上下文空间越大,留给实际任务推理的空间就越小。实践中已出现明显约束:部分 AI 编程助手最多仅支持配置 100 个 tools,而单个 GitHub 相关的 MCP 接口就可能涵盖 50 余项功能。你希望把整个世界都连进来,可大脑的“工作台面”就这么大。
第二堵墙:任务闭环障碍(组合性与状态管理)
多数 MCP 调用结果会被直接拼入上下文。短内容尚可接受,长输出则引发两类问题:要么导致上下文迅速膨胀,触发截断;要么因长度超限而丢失关键尾部信息。
我在开发 holon 项目时就遭遇过典型困境:让 AI 处理 PR 的 review comments,一旦评论数量较多,直接回填上下文极易被截断,最终修复总是遗漏。后来反而回归更“朴素”的方案——改用 GitHub CLI 先拉取评论并写入本地文件,再借助 grep、jq 或轻量脚本完成筛选与聚合,仅将提炼后的摘要送回上下文供模型继续决策。
这个过程让我重新意识到一个常被忽略的基础事实:上下文更适合承载决策信号与推理线索,而非充当数据暂存层。文件系统、数据库、对象存储等外部介质,天然支持分页读取、随机寻址与多次访问,更适合承载中间状态。当任务涉及反复查阅、局部提取或增量处理时,将数据外置,往往比强行塞入上下文更稳健、更可持续。
由此看来,MCP 所暴露的局限,并非全然源于协议设计本身,而更多来自一种惯性使用方式——我们常常不自觉地把它当作“向上下文中灌数据”的管道,而非“将能力嵌入工作流”的连接器。
也正是在这样的反思背景下,SKILL 这一范式逐渐进入视野。
若 SKILL 仅表现为纯文本结构,它更像是对 prompt 分层组织的一种优化;但一旦与命令行工具、脚本逻辑深度结合,它便不再只是提示词技巧,而演化为一种面向具体场景的工作流封装:同一类任务所涉及的步骤顺序、产出物类型、工具链组合、异常重试策略、标准输出格式,都被打包整合在一起。普通用户或许不清楚 MCP 是什么,但他能立刻理解:“这个技能可以帮我自动整理评论并逐条修复问题”。
从实现角度看,这类似于——过去靠“胶水代码”粘合多个工具,如今则用“自然语言指令 + LLM + Bash/脚本”来完成同样目标。这种转变也正推动 Prompt Engineering 向 Skill Engineering 演进。灵活性显著提升,但相较高度标准化的扩展路径,SKILL 仍面临诸多待解难题。
安全性首当其冲。Bash 与脚本类工具原本主要面向开发者,使用者通常具备一定风险识别意识;但当 Agent + SKILL 普及至大众用户后,安全挑战将急剧放大。“靠提醒用户谨慎操作”显然失效,Agent 运行环境必须提供更强的沙箱隔离能力,包括资源访问控制、进程权限限制与执行行为审计等。
标准化则是另一大瓶颈。SKILL 天然按任务场景聚合,也因此更深度绑定运行环境:目录结构如何约定?中间产物存放路径是否统一?状态如何持久化与复用?跨设备、跨平台时能否无缝迁移?若这些问题缺乏共识与规范,SKILL 很难脱离特定系统成为通用能力模块,容易沦为私有插件。
回到 MCP,我并不认为 SKILL 的兴起意味着它的退场。相反,二者更宜形成协同分工:
MCP 负责“能力接入的标准化”,SKILL 负责“工作流编排与状态外置”。前者支撑能力规模化引入,后者保障任务稳定闭环。
MCP 并非必须由 Agent 直接调用并原样回填上下文;它完全可以被 SKILL 中的脚本调用,使执行结果首先落盘为可定位对象(如文件、句柄或资源标识符),再仅将摘要与索引信息反馈给模型。如此一来,上下文便回归其本质优势位——专注做判断、做推理、做权衡,而非被迫承担缓存职责。
MCP 与 SKILL 均处于发展早期,代表了 Agent 插件机制演进的不同阶段。当 Agent 开始承接真实世界的复杂任务时,真正关键的问题已不再是“有没有能力”,而是——上下文、状态与执行边界,该如何被合理划分与妥善安放。










