AI Agent 的三件套:CLI、MCP 和 Skill 到底是什么
最近科技圈有个热闹事:钉钉、飞书、企业微信,同一周全都开源了自己的 CLI。
你可能想问:CLI 是什么?跟之前老听到的 MCP 有什么关系?还有个叫 Skill 的又是什么?
别慌,今天用一个比喻把这三样东西讲明白。
先从一个场景说起
假设你是老板,刚招了一个超级能干的实习生(就是 AI Agent)。你想让他帮你在钉钉上干活:发消息、查日程、建表格、安排会议。
问题来了:实习生刚来,他不知道公司用什么工具,也不知道怎么操作。
你得解决三个问题:
- 给他一个能操作钉钉的工具
- 让他知道自己手边有这个工具
- 教他什么场景用什么功能
这三个问题,分别对应的就是 CLI、MCP 和 Skill。
CLI:给实习生一套工具
CLI(Command Line Interface),命令行工具。就是你在电脑终端里敲一行文字,电脑帮你干活。
比如查今天的日程:
lark-cli calendar +agenda比如给同事发条消息:
wecom-cli im send --text "周五下午开会" --to zhangsan没有界面,没有按钮,全靠打字。
你可能觉得这也太原始了吧?但这恰恰是 AI 最喜欢的方式。因为 AI 最擅长处理文字,输入是文字、输出也是文字,非常对口。你让 AI 去操作图形界面,它得先截屏,再用视觉模型找按钮在哪,再模拟鼠标去点——本来一行命令搞定的事,拆成四步,每步都可能出错。
所以,CLI 就是实习生手里的工具箱。 扳手、螺丝刀、锤子,都在里面。他需要的时候拿出来用,不需要的时候放着就行。
MCP:在实习生桌上摆一排按钮
MCP(Model Context Protocol),模型上下文协议。名字唬人,但原理不复杂。
MCP 的做法是:提前把所有工具的说明贴在实习生桌上。“你能发消息""你能查日程""你能建表格”……每个能力做成一个按钮,实习生随时能按。
好处很明显:实习生不用四处找工具,一抬头就知道自己能干什么,直接按就行。
但有个代价:桌子就那么大。
AI 的”桌子”叫上下文窗口,大小是有限的。每个 MCP 工具都要在桌上摆一张说明卡。你接三五个工具,桌上还很宽敞。但你要是把钉钉、飞书、企业微信、GitHub、Slack、Jira 全接上,每个软件十几个功能,上百张说明卡往桌上一摊——桌子就被占满了,实习生连写字的地方都没有了。
而且工具太多还有个问题:实习生面对一百个按钮,选错的概率也会变大。
CLI 不一样。 工具箱放在柜子里,桌上不摆东西。需要的时候打开柜子拿出来用,用完放回去。桌子始终是干净的。当然代价是每次用之前得先翻一下工具箱看看有什么(跑个 --help),比直接按按钮慢了一步。
所以两者的核心区别就是:
- MCP = 工具常驻在桌上。 随取随用,但占桌面空间。工具少的时候很方便。
- CLI = 工具放在柜子里。 按需取用,不占桌面。工具多的时候更合适。
实际上,两者并不矛盾。钉钉和飞书都同时提供了 MCP 和 CLI 两种接入方式。能访问终端的环境(比如 Claude Code)用 CLI 更灵活,不能访问终端的环境(比如一些桌面端 AI 工具)就用 MCP。
Skill:给实习生一本操作手册
前面两个解决了”有什么工具”和”怎么让 AI 知道工具在哪”的问题。但还有一个问题:AI 知道有工具,不代表它会用好。
你跟 AI 说”帮我把会议纪要里的待办整理出来”,AI 得知道:先用什么命令读会议纪要?提取出来的待办该用什么命令创建?创建的时候需要哪些参数?出错了怎么办?
这就是 Skill 的作用——一本写给 AI 看的操作手册。
Skill 不是工具,它自己不干活。它告诉 AI:你有哪些命令可以用、什么场景该用哪个、参数怎么填、出了错怎么补救。
没有 Skill,AI 也能用 CLI,靠 --help 自己摸索。但这就像让新来的实习生自己翻工具箱说明书——能用,但慢,而且容易犯错。
有了 Skill,相当于给实习生一本经验丰富的老员工写的操作指南:“遇到查日程的需求,先用这个命令;如果对方没说时间范围,默认查本周;如果报权限错误,跑这个命令申请权限。”
实习生拿着这本手册,上手就快得多,犯错也少得多。
而且 Skill 的设计也很聪明——它跟 CLI 一样是按需加载的。AI 的上下文里只放一句话的简介:“你有一本操作钉钉的手册”。只有 AI 判断需要操作钉钉了,才会去翻开手册的详细内容。不用的时候,不占桌面空间。
三者的关系,一张图说清
你说一句话:"帮我查下周跟张三的会议"│▼AI 判断要操作日历│▼Skill 告诉 AI 该用什么命令、参数怎么填│▼AI 通过 CLI 在终端执行命令│▼结果返回给你整个过程里:
- CLI 是执行层——实际干活的工具
- MCP 是发现层——让 AI 知道有哪些工具可用
- Skill 是指导层——教 AI 怎么用好这些工具
三者各司其职,缺一不可。
那我作为普通用户需要关心这些吗?
大部分用户不需要。
你用钉钉 AI 助手的时候,不需要知道背后是 CLI 还是 MCP 在干活。就像你用微信发消息的时候,不需要知道底层用的是什么网络协议。
但如果你是开发者,或者你想让 AI 帮你干更复杂的活,了解这三件套就很有用了。
比如,你想让 AI 帮你操作一个它没见过的软件。你可以:
- 给它装一个 CLI 工具(比如
github-cli) - 写一个 MCP Server,把 CLI 的能力包装成按钮
- 写一份 Skill 文档,告诉它什么场景用什么命令
做完这三步,AI 就能像一个熟练工一样帮你操作这个软件了。
一个有意思的趋势
今年 4 月,钉钉、飞书、企业微信同一周开源了自己的 CLI。这不是巧合。
这说明大厂们终于想明白了:AI Agent 要真正落地,不能只靠聊天框。得让 AI 能实际操作工具,能干活。
而 CLI + MCP + Skill 这个组合,就是目前最实用的方案。
CLI 解决了”怎么干”的问题,MCP 解决了”干哪些”的问题,Skill 解决了”怎么干好”的问题。
三个问题一起解决,AI 才能从”能聊天”变成”能干活”。
我怎么看
我对这个方向挺看好的。
过去一年,AI 的能力提升很快,但”能聊天”和”能干活”之间一直有个鸿沟。很多 AI 产品停留在”你问我答”的阶段,真正能帮用户完成复杂任务的不多。
CLI + MCP + Skill 这套方案,就是在填这个鸿沟。
当然,它也有局限。比如 MCP 的上下文占用问题,比如 CLI 的学习成本问题,比如 Skill 的编写和维护问题。但这些都是工程问题,不是方向问题。
方向是对的,剩下的就是时间和迭代。
我个人最期待的是:当这套方案成熟之后,AI 就不只是一个”聊天机器人”了,而是一个真正的”数字员工”。你给它一个任务,它能自己拆解、自己找工具、自己执行、自己处理异常。
到那时候,“AI Agent”这个词才真正名副其实。
参考来源:唐巧的博客《AI 干活的三件套:CLI、MCP 和 Skill 到底是什么?》