伯克利-自主系统设计原则:OpenClaw
原则实现方式自主性标准智能体循环,持续推进时间掌控Heartbeat(活跃感)+ Cron(规划未来)灵活性所有关键组件提供插件接口个性化Skills 和 Tools 增强功能。
1.LLM发展的三个阶段
1.1 阶段0:纯粹的下一词预测器
- 时间节点:2019年左右
- 代表工作:Google BERT、OpenAI GPT-1/2/3、Google LaMBDA
- 核心机制:输入一组 token →
Transformer 输出下一个 token - 运行原理:循环调用 Transformer,每次生成一个 token,逐字构建句子
输入: "My name is" → 模型预测下一个 token(概率最高的词)
例: "Alex" 或 "Steve" 或 "Sarah"
1.2 阶段1:微调后的助手(2021-2022年)
- 核心变化:给预训练 LLM 提供大量"
助手-人类对话"样本进行微调 - 效果:模型倾向于以助手身份回答 → 催生 ChatGPT 等聊天界面
- 本质:还是在
做补全,只是风格更适合对话
1.3 阶段2:受限智能体(2020-2023年)
- 特点:LLM + 额外工具,通过
静态编排工作 - 代表:Google AI Overview、LangChain、AutoGen
- 局限:流程预先定义好,
智能体只是按顺序执行一系列步骤
1.4 阶段3:自主智能体(2025-2026年)← 当前阶段
- 核心特征:
动态发现工具+ 动态编排 - 代表:OpenClaw、Claude Code
- 关键突破:能自我修改、自我学习
1.5 Agentic Loop 本质
所有系统的本质 = 调用大模型(OpenAI/Gemini/Anthropic等)
唯一区别 = 给到的上下文(context)
Harness = 打包上下文 + 确保调用时具备所需上下文
二、OpenClaw 架构
OpenClaw 是一个**通用的封装层**,专门用来与现实世界交互:
- 具备丰富的背景信息(能连邮箱、电话)
24小时不休息- 能越用越聪明,
自我进化
2.1 三层核心架构
┌─────────────────────────────────────────────────┐
│ 连接器层 (Connectors) │
│ - WhatsApp / Gmail / Discord / iMessage │
│ - 提供用户与智能体的交互接口 │
├─────────────────────────────────────────────────┤
│ 网关控制器 (Gateway Controller) │
│ - 消息路由、绘画管理、安全性 │
│ - Session管理、内存管理、配置管理 │
├─────────────────────────────────────────────────┤
│ 智能体运行时层 (Agent Runtime) │
│ - 调用LLM、构建上下文、执行工具 │
│ - Provider(模型服务商) │
│ - Tools(工具)、Skills(技能) │
└─────────────────────────────────────────────────┘
三、连接器层
3.1 工作原理
以 WhatsApp 为例:
- 用户扫码登录 → 生成唯一识别令牌,存储在电脑上
- OpenClaw 模拟 WhatsApp 网页版客户端
- 带上令牌请求新消息 → 伪装成正牌客户端获取消息
- 将消息传递给 OpenClaw 处理
3.2 两种配置方式
| 配置方式 | 说明 | 风险 |
|---|---|---|
| 绑定私人手机号和邮箱 | 能看到所有内容、代表用户发消息 | 隐私风险高 |
| 配置专属手机号和邮箱 | 隔离更安全(推荐做法) | 上下文信息较少 |
3.3 访问管理后台
OpenClaw 管理界面可以查看和管理所有连接渠道。
四、网关控制器层
4.1 Session
Session 可以类比操作系统中的**进程**概念:
| 特性 | 类比 |
|---|---|
| 独立上下文 | 进程有独立内存空间 |
| 强制隔离 | 进程隔离 |
| 独立权限 | 进程权限控制 |
| 可在沙箱中运行 | 进程沙箱 |
| 进程间通信机制 | IPC(进程间通信) |
每个 Session 可以生成多个智能体(类比:一进程多线程)- 默认有一个核心智能体,可衍生协作智能体
- 主 Session:通过界面访问,权限为管理员级别
- 心跳 Session:特殊系统 Session
4.2 心跳机制(Heartbeat)
触发频率:默认每30分钟(可配置更短)
工作流程:
1. 心跳 Session 被唤醒
2. 将 heartbeat.md 内容 + 历史记录 发送给 LLM
3. 智能体自行决定需要检查什么
4. 发现异常 → 发送跨 Session 消息唤醒其他 Session 处理
场景:
- “我去瞄一眼实验进度”
- “顺便查下邮件”
- 发现异常立即处理
4.3 Cron 任务调度
为什么需要 Cron:如果让程序一直跑着等待执行时间点,效率极低(每秒轮询检查时间)
Cron 解决方案:
- 将任务配置存下来,“
特定时间点唤醒休眠程序” - 支持循环任务:
- 每天早上9点
- 每周三早上9点
- 每月第二个周三早上7:30
OpenClaw 应用:
用户需求:"每天早上9点发送最新论文摘要"
OpenClaw 处理流程:
1. 创建一个专门处理此任务的 Session
2. 用 Cron 工具设置定时任务(每天8:55启动)
3. 任务启动后,花5分钟下载论文、处理总结
4. 9:00 发送邮件给用户
4.4 两种时间机制配合
| 机制 | 用途 | 触发方式 |
|---|---|---|
| Cron | 固定时间点执行 | 定时触发 |
| Heartbeat | 突发情况、自行安排检查 |
被唤醒后主动检查 |
两者结合 → 产生"像人一样"的自主
4.5 记忆管理
- 基于
向量数据库,存储过往对话和文档 每天结束时生成每日总结文档- 让智能体能跟进正在处理的事项上下文
4.6 消息路由
北向接口负责将消息从连接器路由到对应的 Session:
- 每个用户/每个 Discord 频道 可以对应不同 Session
- 方便上下文管理
五、智能体运行时层
5.1 核心组件
┌─────────────────────────────────────────┐
│ Agent Runtime │
├─────────────────────────────────────────┤
│ Provider(模型服务商) │
│ - OpenAI / Anthropic / Google 等 │
│ - 可配置本地开发机 │
├─────────────────────────────────────────┤
│ Tools(工具) │
│ - 内置工具、MCP工具、自动生成的LSP工具│
├─────────────────────────────────────────┤
│ Skills(技能) │
│ - Anthropic 定义的开放标准 │
│ - Markdown 格式的任务"菜谱" │
└─────────────────────────────────────────┘
六、工具(Tools)
6.1 内置工具列表
从 OpenClaw GitHub 可见的工具:
| 类别 | 工具 | 说明 |
|---|---|---|
| 文件操作 | Read, Edit, Write | 文件读写编辑 |
| 搜索 | Web search | 网页搜索 |
| 浏览器 | Browser(含 Chromium) | 浏览器自动化 |
| 命令执行 | Bash/Shell (exec) | 服务器命令行工具 |
| 进程通信 | Inter-agent messaging | Session 间通信 |
| 图片生成 | 专用图片生成工具 | 无需调用外部 API |
| MCP | MCP tools | 用户自定义工具 |
| 代码智能 | LSP tools | IDE 级别的代码理解 |
6.2 LSP 工具(代码智能)
自动生成的工具,提供 IDE 级别的智能体验:
- 定义跳转:鼠标悬停在函数名上 → 跳转定义
- 引用查找:右键选择"查找引用"
- 代码补全:智能代码建议
底层实现:
扫描代码,构建抽象语法树(AST)- 遍历语法树建立索引和关系
- 模拟编译器课上学到的代码分析逻辑
6.3 命令行工具(exec/bash)
智能体通过这个工具与本地电脑的底层程序交互,是最常用的工具之一。
七、技能(Skills)
7.1 Skills vs Tools 的区别
| 维度 | Tools | Skills |
|---|---|---|
| 本质 | 具体可执行的工具 | 文本描述的"菜谱" |
| 定义 | 代码实现 | Markdown 文件 |
| 用途 | 执行具体操作 |
告诉智能体"什么场景该做什么、怎么做" |
| 维护 | 需要技术人员 | 非技术人员也能写 |
7.2 Skills 协议来源
- Anthropic 开发的开放标准
- 现已开源,被多家公司采用
- 本质:
给 LLM 的纯文本说明书
7.3 Skill 文件结构
# 头部(Header)
name: dice-roll
description: 掷骰子技能演示
# ← 仅这部分会被放进调用 LLM 的上下文
---
# 正文(Body)
## 具体操作流程
如果用户需要掷骰子:
1. 使用 bash 工具执行命令
2. 命令生成随机数作为骰子结果
7.4 三层架构
| 层级 | 文件 | 内容 | 何时读取 |
|---|---|---|---|
| 第一层 | skill.md | 头部(name、description) | 调用 LLM 时立即读取 |
| 第二层 | skill.md 正文 | 操作流程 | 智能体决定"可能需要这个技能"时读取 |
| 第三层 | 关联文件 | 示例、脚本、资源 | 第二层读完,确定使用该技能时读取 |
7.5 上下文限制
- 默认最多放 150 个技能 或 3 万字符
- 超出时
智能过滤、精简到少量 - 这是智能体运行时的核心职责之一
7.6 示例
1Password Skill:
包含内容:
- 如何配置 1Password
- 如何使用
- 各种工作流配置
- 2FA 使用规范
- 安全操作规范
工作方式:
当智能体决定需要通过 1Password 操作时
→ 自动加载此技能
→ 按照步骤执行
7.7 skill生态
- Anthropic Skills 仓库:约 46,000 GitHub stars
- 类型涵盖:浏览器、办公效率、任务处理、Web 代理、网络搜索等
7.8 为什么 Skills 火了
- 管用:文本指令比代码更容易被 LLM 理解和遵循
- 门槛低:非技术人员也能写,不需要懂代码
八、配置文件
OpenClaw 的配置文件都是原始 Markdown 文件,供智能体直接调用。
8.1 四个核心文件
| 文件 | 用途 | 内容示例 |
|---|---|---|
user.md |
用户信息 | 姓名、时区、邮箱、论文署名、研究方向、爱好等 |
soul.md |
智能体身份定义 | “你不是聊天机器人,你在成为一个独立的存在” |
agents.md |
运作规则 | 提醒记录、存储记忆、安全准则、提问注意事项 |
tools.md |
工具使用技巧 | 如何用好工具的窍门(非具体工具列表) |
8.2 bootstrap.md(启动引导文件)
你刚醒过来,是时候弄清楚你是谁了。
不要搞审问那一套,随便从"我是谁"、"你是谁"开始。
你需要搞懂的就是这些。
然后你得去把身份、用户和灵魂这些文件配置好,把它记下来。
祝你好运,要做出点成绩。
8.3 Soul.md
# 这文件由你来演化
随着你搞清楚自己是谁...
# 核心原则
- 这灵魂文件对性格稳定非常重要
- 否则行为完全取决于正在处理的内容
- 处理数学 → 像数学文本的风格
- 处理人文 → 有人文的价值观
8.4 agents.md
- 提醒智能体把东西记下来,存进记忆
- 安全准则
- 提问时注意事项
- 隐私和安全相关规则直接写在文件里
九、上下文构造
9.1 发送给 LLM 的实际文本结构
┌─────────────────────────────────────────────┐
│ System Prompt │
├─────────────────────────────────────────────┤
│ 你是个私人助手 │
│ 你有的工具:Read, Edit, Write, Bash, Search │
│ 建议启动子智能体 │
├─────────────────────────────────────────────┤
│ Tools 声明 │
├─────────────────────────────────────────────┤
│ 安全规则(OpenClaw 内置安全措施的全部) │
├─────────────────────────────────────────────┤
│ Skills 头部(智能过滤后,最多150个/3万字符) │
├─────────────────────────────────────────────┤
│ 记忆工具调用建议 │
│ "如果在做可能用到记忆的事,去试试..." │
│ (可选,非强制) │
├─────────────────────────────────────────────┤
│ 工作空间/工作目录信息 │
├─────────────────────────────────────────────┤
│ 心跳机制信息 │
├─────────────────────────────────────────────┤
│ 额外配置信息 │
└─────────────────────────────────────────────┘
十、扩展性设计
OpenClaw 成功的核心原因之一:全面支持插件扩展
| 扩展点 | 说明 |
|---|---|
| Connectors | 社区贡献了大量连接器 |
| Memory | 内存管理插件 |
| Provider | 支持任何模型服务商 |
| Tools | 工具扩展 |
| Skills | 技能扩展 |
自我发现机制:
- 智能体可以自己去寻找、安装需要的技能
- 默认会询问用户是否同意
- 可以配置为"
自由探索,找到有用的就装"
这种自我发现能力是典型的**代理性自主行为**。
十一、部署
11.1 算力需求分析
OpenClaw 对算力要求非常低:
- 大部分计算交给大模型厂商处理
- 主要工作:
把信息打包成上下文 - 不需要大存储、不需要超快处理器
11.2 对比
| 方案 | 优点 | 缺点 |
|---|---|---|
| 托管虚拟机(AWS/GCP) | 简单省心 | 需要自己维护 |
| Exo Dev | 简单、每月$20、50台持久VM | 单台存储上限20GB |
| 本地机器 | 完全控制 | 配置复杂、成本高 |
11.3 推荐:Exo Dev
- 联合创始人来自 TeleK(配置如 Tailscale 一样简单)
- 安全访问,像本地一样操作
- 每台 VM 存储上限 20GB
- 适合大多数场景
11.4 本地机器配置
Mac Mini M4 Ultra
- 2TB SSD
- 64GB 内存
- 多核处理器
注:配置较复杂且成本高,需小心管理网络安全
11.5 混合方案
- 日常:用 Exo Dev VM
- 高算力任务:让 OpenClaw 抢占云端 GPU 机器
- 给智能体配上 OpenAI API Key,让它预分配带 GPU 的虚拟机
十二、使用界面与 Discord 集成
12.1 为什么用 Discord
相比单次对话,Discord 解决了"上下文混乱"问题:
| 单次对话 | Discord 解决方案 |
|---|---|
| 多话题挤在一条聊天串 | 每个频道独立对话历史 |
| 消息漏掉、被忽略 | 按话题归类,清晰可见 |
| 心理负担重 | 上下文分离 |
12.2 Discord 示例
# 主频道
- 和智能体聊不同话题
# 并行项目频道
- 数学动画视频 → 直接传 YouTube
- 实验室网站开发
- 研究想法实验
# Luigi(另一智能体)
- 配置了云 GPU 权限
- 测试部署 JAMA(小模型)
- 最大化推理速度、token 生成率
优势:所有任务可以并行推进,OpenClaw 能分开管理上下文。
十三、集成工具
13.1 环境工具(Environment Tools)
- 直接使用服务器命令行工具
- 如:Exo Dev CLI 启动新虚拟机
- Claude Code 通过 API key 登录
13.2 Google Workspace 集成
Google 发布的官方集成:
- 只需登录认证一次
- 支持工具:
- 读写 Google Docs
- 幻灯片、表格
- 联系人
- 邮件、聊天
- 各种 Google 服务
效果:网络能力超强,可生成实验报告、图表、文档并分享
13.3 MCP Server
支持通过 MCP 协议添加工具
13.4 1Password 技能
包含操作步骤和安全规范
十四、智能体间通信
14.1 专属邮箱方案
- 给智能体配
专属邮箱 - 可以和其他智能体或真人通信
14.2 场景
1. 朋友发邮件,附带自己智能体的技能
2. 我的智能体收到 → 分析技能
3. 智能体问我:"你觉得这些技能怎么样?"
4. 我说喜欢
5. 智能体自动安装
(安全限制松 → 可以自己安装,这是攻击入口也是强大能力)
14.3 未来
**专家智能体之间直接交流合作**解决复杂问题
十五、安全性
15.1 质疑与思考
- “这东西谁会用?怎么用?”
- “现实世界太复杂,无法形式化安全管理”
15.2 类比
你能骗过任何员工,钓鱼邮件就是例子
解决方式:培训 + 常识推理
15.3 OpenClaw 的安全策略
内置安全规则写在 agents.md 中- 足够聪明的模型能识别被套路
- 场景太离谱时会察觉异常
15.4 关键
不再需要建立形式化的安全模型
→ 依靠"足够聪明的模型自己做出合理选择"
→ 这种发展趋势正在占上风
十六、实例
1:自动建网站
任务:让智能体做一个解释注意力机制的网站
结果:
- 生成交互式网站,公开可访问
- 部署在云服务器,全程零人工干预
- 自主完成流程:
- 通过命令行创建 VM
- 本地写好网站
- 部署到公网
- 绑定端口
- 通知用户上线
注:真正的端到端自主,不是生成漂亮代码。
2:ML 研究复现
任务:复现论文实验,测试能否做出更好的 ML 方案
流程:
- 写 ML 流程
- 远程跑训练
- 盯着过程修 bug
- 出图表和报告
3:全自动 YouTube 频道
配置:
- 给智能体 Google 账号权限
- 专门创建的 YouTube 频道账号
智能体自主完成:
- 频道封面设计
- 主页头像
- 频道名称和简介
- 生成视频脚本
用 3Blue1Brown 的 manim 库做动画- 调用 OpenAI TTS API 生成语音
- 用 FFmpeg 拼接素材
- 上传 YouTube
结果:生成了31 个视频
示例(关于 CAN 网络的论文):
- 解释如何
去中心化又高效地搜索文件 - 使用生动的比喻和可视化
语音和画面完全由智能体生成
十七、思考
17.1 代码质量 vs 设计质量
“看这代码之后,我觉得代码质量已经不重要了。单看代码本身,写得很烂。”
“但在 Google 写这代码早就滚蛋了,根本别想合进主干。”
结论:
- 实现抽象不再重要
- 设计抽象依然很重要
- 设计 > 实现
17.2 要素
让 OpenClaw 变得神奇的核心:
| 设计要素 | 作用 |
|---|---|
| 时间维度 | 能安排任务、定时唤醒、自我配置 |
| 循环性 | 怪圈(Gödel, Escher, Bach) |
| 自我配置 | 智能体通过调 LLM 配置自己 |
17.3 怪圈
Douglas Hofstadter《哥德尔、埃舍尔、巴赫》提到的:
- 循环性让系统无法分清起点
- 智能体通过调 LLM 变成配置自己的接口
- 这种循环非常特别
17.4 飞轮效应
自我发现 → 自我配置 → 更强能力 → 更多自我发现
→ 飞轮效应即将爆发
17.5 未解决的问题
| 问题 | 思考 |
|---|---|
| 下一层封装是什么? | 可能需要**可塑架构的系统** |
| 架构本身能否进化? | OpenClaw 固定架构,但能编辑自己的配置 |
| 自定义智能体的边界在哪? | 改底层框架才算自己的?用 Claude Code 交互算吗? |
| 模糊场景如何解决? | 足够聪明的模型能像人一样思考,理解上下文 |
“如果智能体够聪明,能像人一样思考,同样的问题他能回答得更清楚。前提是他得懂
上下文,这样表现才好。”
十八、总结
18.1 OpenClaw 设计原则
| 原则 | 实现方式 |
|---|---|
| 自主性 | 标准智能体循环,持续推进 |
| 时间掌控 | Heartbeat(活跃感)+ Cron(规划未来) |
| 灵活性 | 所有关键组件提供插件接口 |
| 个性化 | Skills 和 Tools 增强功能 |
18.2 三层架构
连接器层(用户接口)
↓
网关控制器(Session管理、内存管理、Cron、配置)
↓
智能体运行时(Provider、Tools、Skills)
18.3 扩展点
- Connectors(连接器)
- Memory(内存管理)
- Provider(模型服务商)
- Tools(工具)
- Skills(技能)
18.4 展望
未来半年将会看到更多有趣的自主系统,这些设计原则将被嵌入到现实世界的各种系统中
参考文献:
- Anthropic Skills 构建指南
- OpenClaw GitHub
更多推荐



所有评论(0)