先分清它们各自做什么#
年初的时候,我写过一篇文章,是区分 Prompt(提示词)、Command(命令)、Skills(技能)、MCP(模型上下文协议)这些的:别再混了!Proompt、MCP、Skills到底区别在哪。
现在再看,似乎有点太难以理解了,现在再讲一遍。先记住:提示词告诉 AI 要做什么,命令方便我们复用要求或者操作软件,技能告诉 Agent(智能体)这类事情怎么做,MCP 让它连接外面的工具和服务。

一、Prompt:我们给 AI 说的话#
先说一下 Prompt,这个范围很广。我们给 AI 说的每句话,都可以是 Prompt。比如“帮我查一下今天的天气”“把这段话写得简单一点”,这些都是提示词。
甚至还分为厂商内置的系统提示词,以及我们给 Agent 设置的提示词。这些都可以说是 Prompt。
系统提示词可以简单理解为提前告诉 AI 的一些要求,比如它要怎么回答、可以使用哪些工具。我们自己发的提示词则是在告诉它这一次具体要做什么。
二、Command:不用每次都打那么长一串#
再说一下 Command。有时候我们的提示词可能比较长,然后需要复用,或者是做点其他的功能,比如换模型、查看上下文占用量、看看额度等等。这个时候就可以用命令了。
例如 /eli5 这个命令,我希望它用普通人也能听懂的话解释一个东西。对应的命令文件里,写了用简单语言解释、不要漏掉重要事实这些要求。
以后我就可以输入:
| |
省得我每次都打“请把我当成完全不了解这个东西的人,用简单的话解释……”这么长一串。
还有就是我自己做的 Pi Agent 里的一些用来查看上下文和额度的命令。这类命令也可能直接操作工具里的功能,具体叫什么、能做什么,要看我们使用的工具。
三、MCP:让 Agent 接上外面的工具#
MCP 的英文全称是 Model Context Protocol,中文叫模型上下文协议。它由 Anthropic 在 2024 年 11 月 25 日公开发布,让不同的 AI 工具按照一套共同的规则,连接外面的数据和服务。
没有 MCP 的时候,Agent 可以帮我们看看高德地图是什么、瑞幸咖啡价格是多少,但要真正查路线、创建咖啡订单,则可能会开始说瞎话或者非常困难了。
有了相应的 MCP 服务之后,Agent 就可以调用高德地图的能力去查路线、查附近的地铁站;也可以连接瑞幸的服务,帮我们选门店、选咖啡、创建订单。

大家有兴趣可以看看高德地图 MCP 官方文档和瑞幸咖啡 AI 开放平台官方文档。
早期的接法,比较占上下文#
MCP 早期常见的接法,是先把连接的工具定义交给模型。工具叫什么、有什么用、需要填写哪些参数,都要写进上下文。工具很多、说明又很长的时候,事情还没开始做,上下文就占用很多了。
调用工具返回的资料也会占地方。比如查到了几十条资料,最后只需要其中两条,但中间的内容也可能进入上下文。
四、Skills:让 Agent 知道这类事情怎么做#
前面说过,早期 MCP 常见的接法会先加载很多工具说明,比较占词元(Token,模型处理文字的计量单位)。工具越多,这些说明占用的上下文也可能越多。所以我们希望,需要用到什么,再读取对应的内容,别一开始就把所有东西都加载进来。
同时,我们还希望 Agent 按照我们的想法或者规范去进行每次的任务。比如,每次写博文,我都希望它保留我的口吻,先把概念讲清楚,再举一个简单的例子,最后把来源链接补齐。如果每次都重新说一遍,就很麻烦。
Command 虽然可以让我们很简单地复用这些要求,但通常还需要我们主动输入那个命令。Skills 则可以把这些要求整理成一份方法,供支持它的 Agent 在处理相关任务时读取和使用。
2025 年 10 月 16 日,Anthropic 公开介绍了 Agent Skills。一个 Skill 通常是一个文件夹,核心文件叫 SKILL.md。里面写清楚:这个技能什么时候用、按照什么步骤做、有什么要求。需要的时候,还可以附上参考资料、模板或者脚本。
先看目录,再看具体内容#
Skills 采用渐进式披露。简单来说,就是看了目录再决定具体看哪一章。
Agent 一开始只看每个 Skill 的 name(技能名称)和 description(技能说明),知道它大概是做什么的。匹配到对应任务以后,再读取完整内容;有需要的时候,再继续读取里面的参考文件。这样不用一开始就把所有技能全文都读一遍,可以节省词元。

一个简单的 Skill 文件头,可以长这样:
| |
2025 年 12 月 18 日,Anthropic 又宣布将 Agent Skills 发布为开放标准。同一份skill 就可以在支持这套标准的不同 Agent 里使用,不用每换一个工具就重新写一遍。
我推荐大家把技能统一放在 ~/.agents/skills/ 下面,方便集中管理,也可以避免反复复制粘贴。
后来,也有了 Skills+CLI 这套搭配#
因为 Skills 采用按需读取的方式,比较节省词元,于是就有了 Skills+CLI 这套用法。CLI 就是命令行工具,简单理解为通过输入命令操作一个工具。技能里写清楚用什么命令、怎么填参数、怎么整理结果,Agent 需要时读取技能,再执行对应的命令。
对于 CLI 已经提供相同功能的服务,这套搭配能完成很多原本通过 MCP 做的事情,也能减少提前加载大量工具说明的上下文占用。简单说,在这类场景里,Skills+CLI 可以替代 MCP,有时候还更省上下文。
MCP 后来也在减少上下文占用#
MCP 也一直在改进。2025 年 9 月 26 日,Cloudflare 介绍了 Code Mode(代码调用模式);11 月 4 日,Anthropic 也介绍了通过代码执行更高效地使用 MCP。简单理解,就是需要哪个工具,再读取它的说明,中间结果先在代码里处理,只把需要的内容交给 Agent,减少上下文占用。到了 2026 年 7 月 28 日,新版 MCP 规范又进一步调整了服务连接和扩展方式。所以,MCP 也在解决早期的问题;用上支持这些改进的工具,它依然是连接外部服务的一种方便方式。
五、把常用的方法做成自己的技能#
我的建议是:一些比较重要、经常需要连接的工具,可以用 MCP;剩下那些反复做的事情,就先把自己的要求整理成 Skills。具体要操作外面的服务时,再配上相应的 MCP 或者 CLI。
我常用的 MCP 是 Playwright(浏览器自动化工具)和 Context7(技术文档查询工具)。一个可以帮助 Agent 操作浏览器,一个可以帮助它查技术文档。大家可以分别看看 Playwright MCP 项目和 Context7 项目。
然后我推荐大家都做自己的 Skills。比如写博文、整理资料、检查稿子,这些反复做的事情,都可以把自己希望它怎么做写下来。哪里不满意了就改,步骤不合适就调整,例子不清楚就补一个例子。
这样,后面做同类事情时,Agent 就有一份能参考的方法,可以越用越顺手。这些要求保存在技能文件里,换一个支持相同技能格式的工具时,也有机会继续使用。









