- 示例工程
【免费下载链接】build-your-own-openclaw
A step-by-step guide to build your own AI agent.
build-your-own-openclaw 是 OpenClaw 的"教学版":一个用 18 个渐进步骤教你从零搭建 AI Agent 的开源教程项目。而 OpenClaw 是功能完整的生产级 AI 智能体系统。本文帮你逐层对比教学版与生产版的差异、设计取舍和那些被刻意简化掉的部分,让你快速判断该从哪个版本入手。
📌 一句话定位:它们到底是什么关系?
| 教学版(build-your-own-openclaw) | 生产版(OpenClaw) | |
|---|---|---|
| 目标 | 教你理解AI Agent 是怎么炼成的 | 直接给你一个能干活的产品 |
| 形态 | 18 个可运行的独立步骤,每步含讲解文档 | 完整智能体系统 |
| 参考实现 | pickle-bot(教学版的"满配"参考) | OpenClaw 本体 |
| 适合谁 | 想掌握 Agent 架构原理的开发者 | 需要开箱即用的用户 |
教学版的思路很清晰:每个步骤都是上一步骤的增量。你读一个 README、跑一遍代码,就能看到智能体长出一块新能力。官方在 README.md 中把 18 步划为四个阶段:
- 阶段一(步骤 0-6):能干的单智能体 —— 聊天、工具、技能、持久化、压缩、联网
- 阶段二(步骤 7-10):事件驱动架构 —— 事件总线、热重载、多渠道接入、WebSocket
- 阶段三(步骤 11-15):自主与多智能体 —— 路由、定时任务、多层提示词、消息回发、子智能体调度
- 阶段四(步骤 16-17):生产就绪 —— 并发控制、长期记忆
📈 规模对比:从 582 行到 4781 行代码
教学版每一步的代码量是精心控制过的,你可以直观看到复杂度是如何一步步"涨"起来的:
| 步骤 | 功能 | Python 代码量 |
|---|---|---|
| 00-chat-loop | 聊天循环 | 582 行 |
| 01-tools | 工具调用 | 956 行 |
| 05-compaction | 上下文压缩 | 1740 行 |
| 07-event-driven | 事件驱动重构 | 2464 行 |
| 11-multi-agent-routing | 多智能体路由 | 4111 行 |
| 16-concurrency-control | 并发控制 | 4779 行 |
| 17-memory | 长期记忆(终点) | 4781 行 |
💡 对比生产版 OpenClaw:教学版终点 4781 行代码覆盖了 OpenClaw 的核心骨架,但功能面远小于完整版——这正是"教学 vs 生产"的分水岭。
✂️ 刻意简化:教学版"永不补上"的功能
项目专门用 GAP.md 记录了哪些生产版功能永远不会加进教程。这是理解两者差异最有价值的文档:
1. 模板变量替换被移除了
- 生产版:
AGENT.md/SKILL.md中支持{{variable}}占位符替换 - 教学版:直接硬编码路径
工作区里的 default_workspace/BOOTSTRAP.md 和 default_workspace/skills/cron-ops/SKILL.md 中还保留着{{workspace}}、{{crons_path}}这类占位符——它们是从生产版搬来的参考资料,教程代码并不支持替换,属于"给你看一眼,但不教你实现"。
2. REST API 只留了 WebSocket
- 生产版:完整的 REST API,覆盖 skills / agents / crons / sessions / memories 等资源的增删改查(FastAPI 路由)
- 教学版:只有一个
/wsWebSocket 端点
理由写得很直白:REST 端点"增加复杂度却不教核心概念",而教程要聚焦实时通信这条主线。
⚖️ 四大设计取舍:为什么这么教
取舍一:事件总线,而不是更简单的直接调用
07-event-driven 是全程改动最大的一步。消息源和智能体执行之间插入了一个 EventBus(发布/订阅),代码量从 2041 行直接跳到 2464 行。
为什么值得?后续所有能力——手机渠道接入(09-channels)、定时任务、多智能体路由——都建立在"入站事件 → 工作进程 → 出站事件"这条流水线上。教学版用 2464 行实现了生产版架构的同构骨架,只是砍掉了渠道生态。
取舍二:记忆用"子智能体"而不是向量数据库
17-memory 对比了四种记忆方案,教学版选择了最"笨"也最透明的一种:专门的记忆智能体 cookie 管理memories/目录下的 Markdown 文件(topics / projects / daily-notes 三层结构)。
| 方案 | 透明度 | 复杂度 |
|---|---|---|
| ✅ 专用智能体(教学版选择) | 高,记忆就是 Markdown 文件 | 低 |
| 内置工具 | 中 | 低 |
| 基于技能(grep 等) | 高 | 低 |
| 向量数据库(生产版常用) | 低 | 高 |
你在 default_workspace/agents/cookie/AGENT.md 里能直接看到 cookie 的职责定义,配合 default_workspace/AGENTS.md 中的调度规则,整个记忆系统完全可读可改——这就是教学版的取舍逻辑:宁可简单可解释,不要黑盒高性能。
取舍三:并发控制只到"信号量"这一层
16-concurrency-control 用asyncio.Semaphore实现每智能体max_concurrency限制,达到上限就阻塞。生产版在队列削峰、失败退避、多进程隔离上还有大量工程细节,教学版一概不做——src/mybot/server/agent_worker.py 里的信号量实现就是全部。
取舍四:上下文压缩只用"截断 + 总结"两板斧
05-compaction 的 src/mybot/core/context_guard.py 逻辑只有三步:Token 超阈值 → 先截断过大的工具结果 → 还超就把旧消息总结后滚动到新会话。没有生产版的分段记忆、滑动窗口等复杂策略,但 80 行左右的代码把"上下文会爆"这个核心问题讲透了。
🎯 该用哪个版本?一张表帮你选
| 你的目标 | 推荐 |
|---|---|
| 搞懂 AI Agent 的架构原理 | ✅ build-your-own-openclaw(按步骤学) |
| 快速做出一个能上网、能记事的智能体 | ✅ 教学版终点 17-memory |
| 生产环境跑长期服务 | 生产版 OpenClaw |
| 学习多智能体协作(路由/调度/定时) | 教学版 11~15 步骤 |
| 需要完整 REST API / 多渠道生态 | 生产版(教学版只有 WebSocket) |
🚀 快速上手教学版
git clone https://gitcode.com/gh_mirrors/bu/build-your-own-openclaw cd build-your-own-openclaw # 配置 API 密钥 cp default_workspace/config.example.yaml default_workspace/config.user.yaml # 编辑 config.user.yaml 填入你的 LLM provider 和 key # 跑第一步 cd 00-chat-loop uv run my-bot chat配置模板见 default_workspace/config.example.yaml,各家 LLM 提供商的写法参考 PROVIDER_EXAMPLES.md。
小结:build-your-own-openclaw 与 OpenClaw 不是"简化版 vs 完整版"的功能差距,而是**"会教 vs 会干"**的定位差异。教学版刻意砍掉了模板替换、REST API 等生产功能(详见 GAP.md),把 4781 行代码全部花在讲清核心架构上。想学会造智能体,跟教程走;想要直接用,上生产版。
- 示例工程
【免费下载链接】build-your-own-openclaw
A step-by-step guide to build your own AI agent.
相关推荐
从零到生产级AI智能体:build-your-own-openclaw 18步完整教程全解析
从零到生产级AI智能体:build your own openclaw 18步完整教程全解析 build your own openclaw 是一个开源的 AI
示例工程AGENTS.md、SOUL.md、BOOTSTRAP.md是什么?build-your-own-openclaw工作区文件设计完全解读
AGENTS.md、SOUL.md、BOOTSTRAP.md是什么?build your own openclaw工作区文件设计完全解读 在开源教程 build
示例工程AI Agent部署安全清单:build-your-own-openclaw的API Key管理与渠道白名单实战指南
AI Agent部署安全清单:build your own openclaw的API Key管理与渠道白名单实战指南 build your own opencl
示例工程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考