为什么 Agent 时代都在做 CLI ?MCP死了吗?
摘抄自阿里技术、Milvus博客+个人理解
当软件操作者从人扩展到 Agent,CLI 不再只是给工程师用的老工具,可能成为 Agent 调用外部世界的高效入口。而MCP(HTTP)的标准化能力仍在特定场景发挥作用。
CLI、MCP 和 SKILL 关系
三者属于Agent能力的不同层级,共同构成了一个从底到顶的分层结:
- CLI:指令层—最底层的原子操作。Agent 直接在终端执行命令,一个字符串就是一个动作。灵活度最高,但每次都要从零组装。
- MCP:工具层—把常用操作封装成结构化的工具,预先注册给 Agent。输入输出有 schema,调用方式标准化。
- SKILL:技能层—最上层的编排逻辑。一个 SKILL 可以组合多个 CLI 命令和 MCP 工具,封装成一个完整的多步骤流程。
打比方:CLI 是食材,MCP 是预制菜,SKILL 是菜谱。食材(CLI)最灵活,你可以做任何菜,但每道菜都得从洗菜切菜开始;预制菜(MCP)省事,开袋加热就能吃,但只有菜单上有的品种。菜谱(SKILL)是完整的烹饪流程,告诉你先放什么后放什么、火候多大、什么时候翻面,可能同时用到食材和预制菜。

什么时候用MCP?什么时候用CLI+Skill?
Agent并不需要在 CLI、MCP、SKILL 间三选一,而是根据场景切换。
朴实结论:简单操作直接敲 CLI;高频标准操作走 MCP;复杂多步流程用 SKILL 编排。
MCP死了吗?
对于需要 集中OAuth授权、RBAC权限管控、调用行为监控 以及 工具链路审计 的企业内部工具平台来说,HTTP MCP 仍有意义。MCP Server可以对接企业身份认证中心,对员工的工具调用请求做集中身份校验(Header中携带凭证),同时记录操作日志,最后才转发到业务MCP服务。

而CLI工具一般是直接请求目标API接口、不经过企业内部网关/身份认证中心
结论:对于本地开发工作流,没有上述治理风控需求,CLI + Skill 比 stdio模式的MCP 性能更好、上下文开销更低,可以完全替代。
Agent + CLI 为什么「绝配」
-
LLM 和终端说同一种语言:LLM 输入输出都是文本,终端也是。对 AI 来说CLI就是完成任务的最短路径,而让 AI 操作 GUI、浏览器就要绕远路:截图→视觉模型识别按钮在哪→模拟鼠标去点,一行命令能搞定的事拆成几步,每步都可能出错。
-
CLI自带说明书:这是 CLI 相对于 API 最被低估的优势。AI 碰到一个陌生的 CLI,敲一下
--help就知道有哪些能力、怎么用、参数怎么填。 API 则不行:模型得先看到API文档、弄清端点、如何auth才能动手。 -
**可自由组合:MCP 更适合预定义的标准操作,而 CLI 可以靠管道组合出没预设的操作,这种"即兴编排"**能力是 CLI 独有优势。
-
**原生支持并行:**CLI 命令本质上是无状态、可序列化的,一个字符串就是一个完整的CLI命令。这意味着 Agent 可以批量生成命令、并行分发到多个进程执行,无需维护复杂状态。
-
上下文干净:这是CLI相对于 MCP 的优势。MCP 把工具清单预先注册到上下文中,适合高频、需返回结构化数据的操作(如查数据库)。但工具清单常驻上下文,模型只需其中一个工具,其余工具schema也占着空间,浪费token,同时分散注意力。注册工具过多还可能导致**“上下文腐烂”**现象发生,即工具越多调用准确率越低

CLI 是不是终局
答案显然不是,未来产品会分为三层:
- 完全面向人:好看、好用、交互流畅,满足人的认知和操作习惯,GUI是最优选择。
- 完全面向 Agent:结构化、自带说明、可组合,满足AI 调用和执行效率,CLI是最优选择。
- 人机共生协作:既要让人能高效表达意图和主动控制,还能让 Agent 高效展示进度和接收反馈。视觉上还要愉悦用户,谁先把这一层做好,谁就定义了 AI 时代的协作范式。
“人和 Agent 间怎么协作”不是一个技术问题,是信任问题。人需要在“完全不放手”和“完全放手”间找到平衡。 完全不放手,Agent 每一步都要请示,效率比自己干还低;完全放手,Agent 跑飞了可能都不知道。 核心问题是可观测怎么设计。
- 计划可观测,Agent 不上来就动手,先出方案让人审。claude code的 plan 模式就是典型:Agent 分析完需求后,先列出要改哪些文件、每个文件怎么改,人可以在计划阶段就纠正,而不是等Agent跑完了再返工。
- 过程可观测, 人需要实时看到Agent在干什么。但不是把所有日志甩给用户看,而是把 Agent 行为翻译成人能快速判断的摘要。比如claude code 执行每一步时会展示正在调用什么工具、读了哪个文件、改了哪几行,用户发现跑偏了能立刻中断并补充信息。

但上面提到的可观测能力仅限于Coding Agent场景,依赖于程序员自身的判断能力。
更多推荐



所有评论(0)