最近一年如果你经常使用 Claude Code、Codex、Cursor 这类工具,应该会发现一个现象。
越来越多的平台开始推出自己的 CLI。
以前大家做开放平台,第一件事是开放 API。
后来变成:
开放 API
↓
提供 SDK
而现在很多平台开始多了一层:
objectivec
开放 API
↓
提供 CLI
↓
接入 AI Agent
刚开始我没太在意。
直到最近在使用 Claude Code 的过程中,我才发现:
CLI 的角色已经变了。
它不再只是开发者手里的命令行工具。
而正在成为 AI Agent 的基础设施。
CLI 其实从来没有离开过
作为开发者,我们几乎每天都在使用 CLI。
例如:
sql
git commit
npm install
docker build
kubectl apply
这些命令大家已经熟悉到甚至不会意识到它们属于 CLI。
过去很长一段时间里,CLI 的定位都很明确:
为开发者提供操作能力。
开发者输入命令。
程序执行任务。
返回结果。
整个过程非常直接。
AI 出现之后,CLI 有了新的用户
以前 CLI 的使用者只有一个:
开发者
现在变成了:
开发者
AI Agent
例如你对 Claude Code 说:
帮我运行测试
Claude 可能会执行:
bash
npm test
你说:
帮我查看当前分支
Claude 可能执行:
git branch
你说:
帮我打包项目
Claude 可能执行:
pnpm build
从 Claude 的视角来看。
它其实和一个初级开发工程师差不多。
接收任务。
执行命令。
读取结果。
继续执行下一步。
为什么 Agent 天然喜欢 CLI
很多人觉得 AI 最擅长调用 API。
实际上未必。
对于 Agent 来说。
CLI 往往是更自然的工作方式。
原因很简单。
CLI 本身就是面向任务设计的。
例如:
git pull
表达的就是:
拉取代码
docker ps
表达的就是:
查看容器
Agent 不需要理解底层接口。
也不需要关心 HTTP 请求。
只需要执行命令即可。
这和人类开发者的工作方式几乎一致。
CLI 最大的优势其实不是方便
很多人觉得 CLI 的价值是方便。
其实在 Agent 场景下。
更大的价值是稳定。
举个例子。
假设某个平台提供:
cloud deploy
对于 Agent 来说:
执行
读取结果
结束
流程非常明确。
而如果直接调用 API。
Agent 可能需要处理:
认证
请求构造
参数格式
错误重试
状态轮询
这些复杂逻辑。
实际上很多 CLI 已经帮开发者封装好了。
Agent 直接复用即可。
Token 成本也是一个容易忽略的问题
最近做 Agent 项目时有一个很明显的感受。
很多人关注模型价格。
却忽略了 Context 本身的成本。
Agent 每获取一份信息。
都意味着 Token 消耗。
而 CLI 有一个天然优势:
按需获取。
例如:
bash
tool --help
tool list
lua
tool status
需要的时候再查询。
而不是把所有能力一次性塞给模型。
对于长期运行的 Agent 来说。
这其实是一个非常现实的优化方向。
为什么越来越多平台开始提供 CLI
以前很多开放平台的思路是:
sql
API First
只要 API 足够完善。
开发者自然会接入。
但 Agent 出现之后。
大家发现情况变了。
因为 Agent 最擅长的不是研究接口文档。
而是执行任务。
于是越来越多平台开始提供:
platform login
lua
platform create
platform deploy
platform logs
让 Agent 像开发者一样工作。
这也是最近很多云平台、协作平台、开发平台都在做的事情。
CLI 可能会成为 Agent 时代的新入口
过去十几年。
API 一直是开放能力的核心入口。
未来这个结论不会改变。
但在 Agent 时代。
CLI 的重要性明显被重新放大了。
因为 Agent 本质上就是一个能够操作终端的软件。
对于它来说:
git
docker
kubectl
pnpm
platform-cli
这些工具并没有区别。
都是能力入口。
谁能提供更稳定、更清晰、更易调用的 CLI。
谁就更容易被 Agent 使用。
写在最后
以前我一直觉得 CLI 是一个很传统的东西。
甚至有些"老派"。
但最近使用 Claude Code 之后,我反而越来越觉得:
CLI 可能是 AI 时代被低估的一环。
它没有炫酷的概念。
也没有复杂的协议。
它做的事情非常简单:
接受命令
执行任务
返回结果
但恰恰是这种简单。
让它成为了 Agent 最容易理解、最容易使用、也最容易落地的一种能力形态。
或许未来我们会看到越来越多的平台开放 API。
但与此同时,也会看到越来越多的平台认真建设自己的 CLI。
因为开发者在用。
Agent 也在用。