外观
都 2026 了,AI Agent 为什么偏偏选中了 CLI?
飞哥数智谈,现居于济南,AI提效、AI编程实践者,AI·Spring社群发起人,同时,担任 TRAE Friends 社区济南 Fellow,致力于AI 提效与AI编程落地,最近长期举办 openclaw 系列活动《养虾记》。
是不是很多技术小伙伴和我一样,第一次看到“CLI 是 AI Agent 的最佳接口”这个说法时,都是嗤之以鼻的。
都 2026 年了,各家都在卷自然语言交互、卷可视化操作,结果你告诉我命令行才是未来?
但关注的几个大佬都在聊这个事,我开始感觉是不是自己片面了。
回炉学习了一圈后,我发现之前对 CLI 的认识确实有点少,今天整理出来给大家一起了解下。
首先需要明确:CLI 并没有变,只是 AI 让 CLI 更大的价值浮出了水面。
一、什么是真正的 CLI
虽然是技术出身,但我学习技术时,CLI 已经不是主流了。
因此,我对 CLI 的理解停留在"黑窗口 + 敲命令"。但这其实只算是表象。
CLI 的本质是一种文本协议——你输入结构化文本,它返回结构化文本,就这么简单。
一条命令的结构很统一:
git commit -m "fix: 修复登录超时" --no-verify| 部分 | 内容 | 作用 |
|---|---|---|
| 命令 | git | 调用哪个程序 |
| 子命令 | commit | 具体操作 |
| 选项 | -m / --no-verify | 修改行为 |
| 参数 | "fix: 修复登录超时" | 选项的值 |
命令 + 选项 + 参数,所有 CLI 工具都遵循这个约定。
还有一个关键设计——管道,通过管道符 |,一个命令的输出可以直接成为另一个命令的输入:
cat access.log | grep "404" | awk '{print $7}' | sort | uniq -c | sort -rn五个命令像乐高一样拼在一起完成复杂任务。这种能力,GUI 做不到,API 也很难做到。
二、CLI 怎么就火了?
2025 年初 Anthropic 发布 Claude Code,一个终端里的 AI 编程助手,没人太当回事。然后数据出来了:年化收入突破 10 亿美元。
51 天后 OpenAI 发布 Codex CLI,Google 紧跟 Gemini CLI,一个新品类一夜之间成型。
原因其实不难理解。LLM 说到底就是一个处理文本的模型,给它文本、它吐出文本。而 CLI 恰好也是这么工作的——你敲一行命令进去,它返回一行结果。两边说的都是文本,不需要中间转换。
三、CLI 的不可替代场景
再次深入了解后,我们发现:即使抛开 AI 不谈,CLI 本身就有很好的设计哲学。
- 自动化:
CI/CD pipeline、定时任务、远程SSH,这些场景只能靠CLI。每次调用都是无状态的,跑第 50 次和第 1 次没区别,不用操心登录态过期、浏览器崩溃之类的事。 - 参数精确:拿
ffmpeg转码来说,一行命令能同时控制编码器、码率、预设、音频比特率。换成GUI,你得在十几个设置面板之间来回点。 - 远程操作:
SSH登录一台服务器,网络再差也能用。试过用远程桌面操作一台延迟500ms的机器吗?那体验,谁用谁知道。 - 管道组合:
cat log | grep | awk | sort,几个小程序串起来就是一个数据处理流水线,而这种事在GUI里几乎没法做。 - 到处都能跑:你本地终端用的
git,CI/CD里用的git,SSH到服务器用的git,AI Agent调用的也是git。同一个工具,换到不同场景,依然是相同的用法。
四、AI 弥补了 CLI 的短板
那为什么之前 CLI 悄然立场了呢?
CLI 学习成本高、发现性差、不直观?没错。但这些恰好是 AI 最擅长弥补的:
CLI 的痛点 | AI 如何弥补 |
|---|---|
| 学习成本高 | 自然语言描述意图,AI 生成命令 |
| 发现性差 | AI 自动推荐命令和参数 |
| 出错难排查 | AI 解释错误并给出修复建议 |
| 写脚本门槛高 | AI 直接生成完整脚本 |
CLI 的优势(可脚本化、可组合、确定性)AI 替代不了,CLI 的劣势(学习成本、发现性)AI 很擅长解决。
两者完美互补——CLI 提供执行层的可靠性,AI 提供意图层的友好性。
五、CLI 对比 API
很多技术同学应该也有这个疑惑,为什么不是 API 呢?
毕竟,API 更现代。
5.1 渐进式发现
API:每次对话把所有工具的 JSON Schema 注入提示词。84 个工具时,schema 就吃掉 ~15,540 tokens,用不用都要付钱。
CLI:启动时只告诉模型有哪些命令,需要用时再 --help 按需查询。
是不是很熟悉的感觉?没错,Skill 的按需加载。
5.2 训练数据优势
LLM 训练数据里有海量 shell 命令和 bash 脚本,git、docker、curl 的用法已经内化了。给 Agent 一个 bash 环境,它几乎不需要额外学习。
但每个 API 的认证、格式、错误码、分页都不一样,Agent 需要逐个学习。
CLI 的协议是通用的,API 的协议是每个都不一样的。
5.3 标准化约定
CLI 有几十年打磨出的统一约定:--help 查用法、--version 查版本、退出码 0 成功非零失败、stdout 出数据 stderr 出错误。
Agent 用同一套逻辑就能与任何 CLI 工具交互。API 则需要为每个接口写专门的适配逻辑。
5.4 人机通用
开发者在终端测试通过的命令,Agent 可以原封不动执行。调试时只需要看它跑了什么命令、结果对不对。
而 API 程序和终端的调用总会出现一些差异,甚至参数内换行有时候都会导致错误。
结语
到这,大家估计对 CLI 这次的“复热”有了一些了解。
也许,CLI 一直就没退场,只是大家习惯了更花哨的界面,慢慢把它当成了老古董。
现在 AI 来了,而它刚刚好。
就像那张蒸汽机车和高铁动车同框的照片——不是谁取代了谁,而是每一种技术都有它合适的场景。
