Featured image of post OpenClaw 作者:CLI 才是 AI 连接世界的终极接口

OpenClaw 作者:CLI 才是 AI 连接世界的终极接口

2天10万Star的开源奇迹。OpenClaw 作者 Peter Steinberger 提出:忘掉 MCP,CLI 才是 AI 连接世界的终极接口。为什么命令行比图形界面更适合 AI?本文深入探讨 CLI 的自描述性、组合性和低摩擦特性,以及 AI 原生 CLI 设计指南。

00 开篇:2 天 10 万 Star 的开源奇迹

先给你看一组数字:

  • 2 天
  • 10 万+ Star
  • 700+ 技能插件
  • 5 分钟部署

这是 OpenClaw 在 GitHub 上创造的成绩。

如果你还不知道 OpenClaw,它是一个本地化 AI 助手平台,前身是火遍全网的 Moltbot/Clawdbot。它可以在你的电脑上运行,支持 Telegram、飞书、WhatsApp 等多个平台,拥有 700+ 技能插件生态。

但最让人震惊的不是这些数字。

而是它的作者 Peter Steinberger 提出的一个极其"复古"的观点:

“忘掉 MCP,CLI 才是 AI 连接世界的终极接口。”

在 2025 年上半年,整个 AI 圈还在疯狂追逐 MCP(Model Context Protocol),试图为智能体定义标准化的 Schema 和 JSON-RPC 服务。

而 OpenClaw 用一种极其简单的方式给所有人上了一课:

要让 AI 获得一项新能力?写个 CLI 就行了。

这个观点为什么如此激进?又为什么如此有说服力?

让我们一探究竟。


01 一个"反直觉"的发现

Peter Steinberger 在开发 OpenClaw 时,发现了一个有趣的现象:

智能体拿到一个新工具时,会自发运行 my-tool --help

然后,奇迹发生了——

仅仅通过阅读这份帮助文档,AI 就在那一秒钟内学会了如何操作这个工具。不需要复杂的配置,不需要手动编写 Schema,甚至连代码都不用看。

这让他意识到一件事:

CLI 对 AI 来说,比 GUI 对人类更友好。

为什么?

因为 CLI 的 --help 输出,本质上就是一份零噪音、高密度、且包含示例的 Prompt

  • 每个参数的用途清晰明确
  • 有完整的使用示例(Few-shot learning)
  • 结构化的选项说明

这简直就是为 LLM 量身定制的"使用说明书"。

而在 GUI 进化了 40 年后,CLI 是否正在因为 AI 而迎来一场"文艺复兴"?

图 1:CLI vs GUI 对比 - 左侧是复杂的 GUI 界面,右侧是清晰的 CLI 终端,AI 能直接理解 CLI 的帮助文档。


02 为什么 CLI 比 GUI 更适合 AI?

自描述性:--help 就是完美的 Prompt

人类觉得 CLI 难用,因为我们记不住参数。

但对 AI 来说,这不是问题。

当你给智能体一个新工具,它会:

  1. 运行 my-tool --help
  2. 阅读输出的文档
  3. 理解每个参数的作用
  4. 立即学会使用

零配置,零预训练,零人工对齐。

在 AI 时代,写好 --help 文档,比写好 UI 界面更重要。

组合性:Unix 哲学与思维链的天然契合

Unix 哲学的核心是:只做一件事,并把它做好。

通过管道(Pipe)进行组合,这正好与智能体的**思维链(Chain of Thought)**逻辑高度契合。

来看一个真实场景:

用户指令: “分析最近一周的错误日志并推送到飞书。”

智能体决策:

1
log-fetch --days 7 | grep "ERROR" | feishu-send --channel #ops

图 2:Unix 管道组合 - 通过管道连接三个命令,实现复杂的数据处理流程。

智能体不需要你编写复杂的集成逻辑。

它只需要像玩积木一样,通过编排原子化的 CLI 工具,就能实现复杂的自动化目标。

这就是涌现能力的来源。

低摩擦:写个 CLI 就能扩展能力

在 MCP 模式下,要给 AI 增加一个新能力,你需要:

  1. 定义 JSON Schema
  2. 实现 JSON-RPC 服务
  3. 编写 Prompt 模板
  4. 对接协议版本

而在 OpenClaw 的 CLI 模式下:

写一个命令行工具就行了。

  • 想控制智能家居?写个 CLI。
  • 想管理 WhatsApp 消息?写个 CLI。
  • 想操作云服务器?写个 CLI。

奥卡姆剃刀原则的胜利:如无必要,勿增实体。


03 CLI vs MCP:不是替代,而是分工

你可能会问:

“既然 CLI 这么强大,那 MCP 还有存在的价值吗?”

答案是:当然有。

它们不是替代关系,而是分工关系

CLI 的优势场景(个人/Hack 模式)

快速打通物理世界

比如你想让 AI 控制一个没有 API 的智能台灯或老旧软件。

本地极速自动化

只有你一个人用,追求极致的开发效率,不在乎严格的 Schema。

原则: “写个脚本就能搞定的事,别去写 Server。”

MCP 的价值场景(企业/生产模式)

能力标准化

你的工具需要提供给整个团队、在不同的编辑器或平台间共享。

安全治理

必须严格限制 AI 的动作边界,需要通过中间件进行审计和拦截。

  • CLI 的风险:赋予 AI Shell 权限意味着你把"核武器"交给了它
  • MCP 的护城河:代理架构,精细权限控制

复杂资源抽象

MCP 引入了"资源(Resources)“概念:

  • 不仅能执行动作
  • 还能将数据库表、日志流、设备状态抽象为 URI
  • 甚至提供"动态提示词模板”,告诉 AI “针对这组数据,你应该关注哪些风险点”

核心差异总结

维度 CLI MCP
定位 工具(Tools) 资源(Resources)
本质 瞬时、原子化的动作 持续、抽象化的能力
优势 敏捷、本地、快速迭代 标准化、可治理、企业级
适用 个人开发、快速原型 团队协作、生产环境

04 AI 原生 CLI 设计指南

既然 CLI 这么重要,作为开发者,我们该如何为 AI 构建命令行工具?

答案是:AI-Native Design(AI 原生设计)。

1. Help 文档即 Prompt

以前写 Help 是给人看的,现在是给 AI 看的。

✅ 多写 Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 好的 Help 文档
USAGE:
  my-tool --source <file> --output <dir>

EXAMPLES:
  # 处理单个文件
  my-tool --source data.csv --output ./results

  # 批量处理(使用通配符)
  my-tool --source "data/*.csv" --output ./results

  # 跳过验证(谨慎使用)
  my-tool --source data.csv --output ./results --force

AI 最擅长模仿。多给几个 Example,AI 出错率会直线下降。

✅ 清晰的描述

明确每个参数的意图,特别是那些有副作用的操作(如 --force--dry-run)。

2. 结构化输出

除了给人看的文本输出,务必支持 --json 参数。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# ❌ 让 AI 费劲解析 ASCII 表格
$ aws ec2 describe-instances
INSTANCE        STATE    TYPE
i-12345         running  t2.micro
i-67890         stopped  t2.small

# ✅ 直接吐出 JSON,方便 AI 解析
$ aws ec2 describe-instances --output json
{
  "Instances": [
    {
      "InstanceId": "i-12345",
      "State": {"Name": "running"},
      "InstanceType": "t2.micro"
    }
  ]
}

让工具直接输出 JSON,方便 Agent 进行后续的解析和逻辑判断。

3. 避免交互式输入

尽量支持非交互模式(Non-interactive)。

❌ 不好:

1
2
$ my-tool --delete-all
Are you sure? (y/n):  # AI 会卡在这里

✅ 好:

1
$ my-tool --delete-all --yes  # AI 可以一气呵成

不要让 CLI 弹出确认提示并傻等。提供 -y--yes 参数,让 Agent 能流畅执行。


05 终极形态:CLI 是肌肉,MCP 是神经

OpenClaw 的成功,是**“简单优先”**的胜利。

它提醒我们:不要过度工程化。如果一个简单的 CLI 就能连接世界,就不要去折腾复杂的协议。

但 MCP 的价值,在于它为智能体建立了一套可治理的"契约"。

未来的终极形态可能是:

  • CLI 作为智能体的"肌肉" 负责执行敏捷的本地动作

  • MCP 作为智能体的"神经系统" 负责连接并治理复杂的分布式资源

实战决策树

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
你想给 AI 增加新能力
    ├─ 只是你自己用?
    │   └─ 写个 CLI(5 分钟搞定)
    ├─ 需要团队共享?
    │   └─ 封装成 MCP Server
    └─ 涉及敏感操作?
        └─ 用 MCP 提供安全沙箱

06 结语:简单,才是终极的复杂

2025 年上半年,整个行业都在追逐 MCP,试图为智能体定义标准化的协议。

而 OpenClaw 用一种极其"复古"的方式给所有人上了一课:

有时候,最简单的方案,就是最优雅的方案。

CLI 之所以强大,不是因为它是新技术,而是因为它:

  1. 自描述--help 就是完美的文档
  2. 可组合:Unix 管道天然契合思维链
  3. 低摩擦:写个脚本就能扩展能力

在 GUI 进化了 40 年后,CLI 是否正在因为 AI 而迎来一场"文艺复兴"?

答案或许已经不重要了。

重要的是:下次你想给 AI 增加一项新能力时,先尝试写一个支持 --json 的 CLI。

如果它开始变得复杂、需要被多人复用,再考虑将其封装为标准的 MCP Server。

工具是肌肉,协议是神经。

简单,才是终极的复杂。


参考资料

核心文章

教程指南

部署实战

视频教程

社区讨论

GitHub 资源


作者注: 本文基于 OpenClaw 作者 Peter Steinberger 的技术观点整理,结合 AI Agent 开发实践撰写。如果你对 OpenClaw 感兴趣,可以访问其 GitHub 仓库了解更多。

RSS Feed 使用 Hugo 构建
主题 StackJimmy 设计