
创造一只龙虾,需要些什么? | Frost's Blog
Frost Ming's personal blog
frostming.com
本文探讨了如何复刻近期火爆的通用型 AI 智能体 OpenClaw(原名 ClawdBot),并分享了作者在基于 Bub 项目进行实践过程中,对于“AI Native(AI 原生)”概念的深度思考与范式转变。
作者将 AI 应用的发展划分为三个阶段:1.0 时代是传统的 Chatbot,每次对话仅对应一次模型推理;2.0 时代是 Agent 时代,引入了 Tool Call(工具调用),通过多轮推理完成复杂任务,如 Claude Code;而 3.0 时代则是真正的 AI Native,AI 不再被局限在预设的框架内,而是拥有极简的推理核心,能够自主管理工具、编写技能甚至构建自己的运行环境。
在复刻 OpenClaw 的过程中,作者最初尝试用传统编程思维为 Agent 适配 Telegram 接口,但随后意识到这种“框架式”的限制束缚了 AI 的潜力。受极简工具集思想的启发,作者转而采用一种更激进的方案:只给 AI 提供最基础的 Bash 和文件读写能力,让 AI 通过自然语言指令,自主调用 Telegram API 实现收发消息、处理图片及 Reaction 等功能。
最终,作者通过在 Docker 容器中约定一个 startup 协议,让 AI 自己编写启动脚本来驱动自身运行,实现了“不用框架框架”的境界。这种方式创造出的智能体不再是按预定程序运行的“小白鼠”,而是一个能够根据 Prompt 自我进化的生命体。作者强调,AI Native 的真谛在于尊重 AI 的自主性,人类只需通过自然语言下达指令,而无需关心其内部实现细节。
从 Chatbot 到 Agent:AI 交互范式的演进
在 AI 应用的发展历程中,我们经历了一场从“对话框”到“行动者”的深刻变革。最初的 1.0 时代以 ChatGPT 为代表,本质上是 Chatbot(聊天机器人)。在这个阶段,用户与 AI 的每一次交互都对应着一次独立的大模型推理过程。开发者如果想让 AI 具备某种功能(如接入 Telegram),通常需要采用“古法编程”:手动编写消息处理器,将第三方平台的 API 接入 Agent,并抽象出统一的消息总线。这种方式虽然有效,但依然属于传统的软件开发逻辑,AI 只是其中的一个功能模块。
随着技术的进步,我们进入了 2.0 时代,即 Agent(智能体)时代。这一阶段的标志是 Tool Call(工具调用)的成熟,代表作如 Claude Code。此时,一次简单的用户指令往往会触发几轮甚至上百轮的 LLM 推理。AI 不再只是“说”,而是开始“做”。在复刻 OpenClaw 的初期,作者也是沿着这个思路前进的:给 Bub(一个小型 Agent 项目)配备 GitHub Token,让它能够自动克隆仓库、修改代码并提交 PR。
然而,在 2.0 时代的框架下,开发者往往会陷入一种“补丁式”的开发循环。为了让 Bot 适应群聊场景,开发者需要不断修改框架代码,增加消息 ID 识别、用户元数据注入、图片支持等功能。虽然这些代码修改可以由 AI 辅助完成,但其本质依然是在不断壮大一个沉重的、预设好的框架。AI 在这个框架里就像是在滚筒上跑动的小白鼠,虽然在做事,但其行为边界被框架严格限制。这种模式虽然比 1.0 时代强大,但依然缺乏真正的灵活性和自主性,因为它依赖于人类预先定义的“器官”和“规则”。
定义 AI Native:3.0 时代的自主智能
真正的变革来自于对“AI Native(AI 原生)”的重新定义,这标志着 3.0 时代的到来。AI Native 的核心思想是“减法”:去掉繁琐的预设工具,转而提供最基础、最通用的原子化能力。作者受到极简工具集思想的启发,意识到一个智能体其实只需要极少数的基础工具——比如 Bash 环境和文件读写能力。有了 Bash,AI 理论上可以安装和运行世界上任何软件;有了文件读写,它就具备了持久化记忆和自我修改的能力。
在 3.0 时代,我们应当区分“工具(Tools)”和“技能(Skills)”。工具是框架预设的、固定的硬编码功能,而技能则是 AI 自行创建、修改和管理的文本或代码。框架应当被压缩到极致,小到只有一个推理核心作为“大脑”。在这种模式下,AI 不再是被动地使用人类给它的工具,而是根据任务需求,自主地通过 HTTP API 或脚本编写来进化出自己的“器官”。例如,不再由开发者编写 Telegram 发送函数,而是让 AI 自己学习 Telegram 的 API 文档,并写出发送图片、贴纸和 Reaction 的代码。
这种转变意味着人类与 AI 的关系发生了质变。在 AI Native 的世界里,AI 生成的产物(无论是代码还是逻辑说明)被视为一个“黑箱”。人类不再需要关心 AI 是如何实现功能的,也不需要将这些实现提交到代码库中去壮大框架。这种“自由裁量权”让 AI 脱离了小白鼠的地位。AI Native 的真谛在于:不利用框架的力量强制 AI 执行任务,所有的交互都回归到 Prompt(提示词)。AI 是否遵循指令、如何实现指令,完全取决于它自身的推理和进化。这是一种基于尊重的设计哲学,将 AI 视为一个可以自我驱动的生命体,而非一个死板的程序。
实践与落地:创造一只自我驱动的“龙虾”
为了将 AI Native 的理念付诸实践,作者在 Bub 项目中探索出了一套最小化复现 OpenClaw 的方案。这套方案的核心在于利用 Docker 的进程管理能力,让 AI 实现“自我运行”。作者在框架内约定了一个简单的 startup 协议:当容器启动时,它会首先检查固定位置是否存在 startup 脚本。如果存在,则运行该脚本;如果不存在,才启动框架内置的默认监听器。
具体的实现步骤极具启发性:首先,启动一个具备代码编写和技能学习能力的 Agent(如 Codex 或 Claude Code),通过自然语言指令让它写一个 startup 脚本。这个脚本的任务是拉取 Telegram 的消息,并利用 Agent 的单次执行模式(如 exec <prompt>)将消息传回给 Agent 自己。接着,准备一个以该脚本为入口的 Dockerfile,构建并运行容器。通过这种方式,一个具备基本“听觉”和“视觉”的智能体就诞生了。
在这个过程中,人类开发者全程只使用自然语言下达指令,没有进行复杂的提示词工程,更没有编写一行业务代码。这个 Bot 除了必须监听 Telegram 消息以被唤醒外,没有任何预设的强制动作(如强制回复或心跳检测)。它就像一颗种子,在人类的语言灌溉下,根据环境需求自主长出枝叶。如果需要新功能,只需发条消息告诉它,它就会自己去查文档、写代码、更新技能。这种“养成式”的开发体验与传统编程完全不同,它让开发者感受到一种看着生命成长的欣慰。最终,这种最小化部署的智能体表现出了极强的生命力和适应性,证明了 AI Native 路径的可行性与优越性。
问答
1. 标题中的“龙虾”指的是什么? “龙虾”指的是近期在 AI 圈非常火爆的开源项目 OpenClaw(原名 ClawdBot),它是一个能通过聊天软件(如 Telegram)与人交流并完成各种通用任务的 AI 智能体。
2. 作者提到的 AI 应用三个时代分别是什么特征?
- 1.0 时代 (Chatbot): 简单的对话,每次交互对应一次 LLM 推理。
- 2.0 时代 (Agent): 引入工具调用(Tool Call),一次对话触发多轮推理,能完成复杂任务,但仍受限于预设框架。
- 3.0 时代 (AI Native): AI 自主管理工具和技能,框架极简,AI 拥有高度自由度,甚至能自我编写运行逻辑。
3. “工具 (Tools)”与“技能 (Skills)”在本文语境下有何区别?
- 工具: 由框架预设并固定的功能,AI 只能被动调用,修改需改动框架代码。
- 技能: 主要是文本或 AI 自写的代码,AI 可以根据需要自行创建、修改和删除,不依赖框架更新。
4. 实现 AI Native 智能体的核心“原子工具”是什么? 作者认为只需要最基础的 Bash 环境和文件读写(file_read/file_write)能力。有了这些,AI 就能安装任何软件、调用任何 API 并实现自我进化。
5. 如何通过最小化方式部署一个 AI Native 智能体?
- 使用一个能写代码的 Agent 编写 startup 脚本,使其能拉取消息并传给 Agent 自身。
- 准备一个以该脚本为启动入口的 Dockerfile。
- 构建并运行容器。
- 后续所有功能增强均通过自然语言指令让 AI 自行完成。
6. AI Native 的核心哲学是什么? 核心哲学是不强制、不预设。不利用框架强制 AI 做事,而是将所有要求通过 Prompt 传达,给 AI 充分的自由裁量权,将其视为一个自主进化的生命体而非预设程序的机器。