OpenClaw 的定位:个人 AI Agent 操作系统

OpenClaw 不是一个 Library,是一个运行时。你不需要在代码里 import 它——你启动它,它作为一个常驻服务运行,管理你的 AI Agent 的感知、决策和行动。

特征 OpenClaw LangChain/LangGraph CrewAI/AutoGen
形态 常驻服务(运行时) Python Library Python Library
使用方式 配置 + 自然语言 写代码 写代码
目标用户 非开发者 / 轻开发者 开发者 开发者
运行环境 本地机器 / 服务器 你的应用进程 你的应用进程
核心抽象 Skill + Memory + Channel Chain + Graph Agent + Crew

这个定位决定了 OpenClaw 的设计取舍——它更像一个"AI Agent OS",而不是一个"Agent 开发框架"。

架构拆解

OpenClaw 的架构可以简化为五层:

┌─────────────────────────────────────────┐
│          Channel 层(渠道)              │
│  WebChat / Discord / WhatsApp / API     │
├─────────────────────────────────────────┤
│          Agent 层(核心)                │
│  LLM 推理 / 工具调用 / 决策循环           │
├─────────────────────────────────────────┤
│          Skill 层(能力)                │
│  邮件 / 搜索 / 文档 / 浏览器 / 自定义      │
├─────────────────────────────────────────┤
│          Memory 层(记忆)               │
│  MEMORY.md / Daily Notes / LCM 压缩      │
├─────────────────────────────────────────┤
│          Scheduler 层(调度)            │
│  Heartbeat / Cron / Event 触发           │
└─────────────────────────────────────────┘

Skill 系统:插件化能力

OpenClaw 的 Skill 是一个 Markdown 文件(SKILL.md),包含指令和可能的脚本:

skills/
├── email-skill/
│   ├── SKILL.md          # 技能指令
│   └── scripts/          # 辅助脚本
├── xbrowser/
│   ├── SKILL.md
│   └── scripts/
├── pdf/
│   └── SKILL.md
└── qclaw-cron-skill/
    └── SKILL.md

一个 SKILL.md 的结构:

# Email Skill

## 触发条件
当用户说"发邮件"、"查看邮件"、"回复邮件"时触发

## 执行流程
1. 识别意图:发送 / 查看 / 回复
2. 路由到对应子技能
3. 执行并返回结果

## 配置
- SMTP 服务器配置在 env 中
- 邮箱账号在 TOOLS.md 中

关键区别:LangChain 的 Tool 是 Python 函数,OpenClaw 的 Skill 是自然语言指令 + 可选脚本。这意味着非开发者也能创建 Skill——写清楚"什么时候触发、怎么执行"就够了。

Skill 的加载机制

<!-- AGENTS.md 中的 Skill 声明 -->
## Skills
- email-skill: 邮件收发
- xbrowser: 浏览器自动化
- pdf: PDF 处理

OpenClaw 在启动时扫描 Skill 目录,将 SKILL.md 的内容注入到 Agent 的系统提示中。当用户消息匹配某个 Skill 的触发条件时,Agent 读取该 SKILL.md 并按指令执行。

多渠道集成

OpenClaw 的 Channel 层让同一个 Agent 可以通过多个渠道交互:

渠道 说明 场景
WebChat Web 界面对话 日常交互
Discord Discord Bot 社群参与
WhatsApp WhatsApp 消息 移动端通知
API HTTP 接口 程序化调用
# 渠道配置示例
channels:
  webchat:
    enabled: true
  discord:
    enabled: true
    token: ${DISCORD_TOKEN}
    command_prefix: "!"
  whatsapp:
    enabled: false

核心设计:不管消息从哪个渠道进来,Agent 的 Memory 和 Skill 是共享的。你在 WebChat 里讨论的内容,Agent 在 Discord 里也能记住。

Memory 与 Heartbeat:记忆与主动性

三层记忆

层级 文件 用途
即时记忆 对话上下文 当前会话的上下文窗口
日志记忆 memory/YYYY-MM-DD.md 每日事件日志
长期记忆 MEMORY.md 策展后的核心记忆
<!-- MEMORY.md 示例 -->
## 用户偏好
- 偏好简洁的回答,不要废话
- 代码用 Python,不用 JS
- 时区 Asia/Shanghai

## 项目
- blog_opt: AI Agent 框架测评博客
  - 8篇文章,Hugo格式
  - 部署到 GitHub Pages

## 教训
- OpenClaw 的 Skill 文件不要超过 40000 字节,否则截断
- Cron 任务用 /reasoning off 减少 token 消耗

LCM:无损上下文压缩

OpenClaw 的 LCM(Lossless Context Management)是处理长对话的利器:

当对话历史超出上下文窗口时,LCM 把旧对话压缩为摘要,但保留可检索的索引。需要时通过 lcm_grep / lcm_expand_query 回溯细节:

# 对话历史超长时
[旧消息] → LCM压缩 → sum_abc123 (摘要)
[新消息] → 保留在上下文中

# 需要回溯时
lcm_grep(pattern="数据库设计决策") → 找到 sum_abc123
lcm_expand_query(summaryIds=["sum_abc123"], prompt="为什么选了PostgreSQL?")
→ 返回详细的决策上下文

Heartbeat:Agent 的心跳

Heartbeat 让 OpenClaw 具备主动性——不等你问,它会定期检查:

<!-- HEARTBEAT.md -->
## 心跳检查清单
- [ ] 检查邮箱有无重要未读
- [ ] 查看日历未来24小时事件
- [ ] GitHub 仓库有无新 issue/PR
- [ ] 天气预报(如用户可能外出)
// memory/heartbeat-state.json
{
  "lastChecks": {
    "email": 1719288000,
    "calendar": 1719284400,
    "github": 1719288000,
    "weather": 1719273600
  }
}

Agent 每 30 分钟左右收到一次 Heartbeat,执行检查清单,有重要事项就主动通知用户。

Cron 调度:精确定时任务

# Cron 任务示例
- name: "每日晨报"
  schedule: "0 8 * * *"
  prompt: "查看今天的日历事件和未读重要邮件,生成晨报"
  channel: webchat

- name: "周报提醒"
  schedule: "0 18 * * 5"
  prompt: "提醒用户写周报,并列出本周完成的主要事项"
  channel: webchat

Cron 任务在独立会话中执行,不占用主会话上下文。结果可以直接推送到指定渠道。

Heartbeat vs Cron

特性 Heartbeat Cron
精度 ~30分钟 精确到分钟
上下文 在主会话中 独立会话
适合 多任务批量检查 精确定时
成本 低(共享上下文) 中(独立会话)

与商业 Agent 对比

维度 OpenClaw ChatGPT Agent Claude MCP
部署 自托管 云端 云端
数据隐私 完全自控 数据上传 OpenAI 数据上传 Anthropic
渠道 多渠道原生 Web/App API
工具集成 Skill(自然语言) GPTs/Actions MCP Server
记忆 文件系统 + LCM 有限 无持久记忆
主动性 Heartbeat + Cron
成本 LLM API 费用 月订阅 API 费用
可定制性 高(开源)

OpenClaw 的独特价值

  1. 数据不出本地:所有记忆、配置、日志在本地文件系统
  2. 主动性:Heartbeat + Cron 让 Agent 不只是被动响应
  3. 自然语言 Skill:非开发者可以创建和修改 Agent 能力
  4. LCM 长记忆:比商业 Agent 的记忆能力更强
  5. 多渠道统一:一个 Agent,多个入口

OpenClaw 的局限

  1. 需要自部署:有运维成本,不如商业 Agent 开箱即用
  2. 依赖 LLM API:本身不包含模型,需要配置外部 LLM
  3. 不适合多用户:设计为个人 Agent,不是 SaaS
  4. Skill 调试有限:自然语言 Skill 不如代码 Tool 精确

适用场景

强烈推荐

  • 个人助理:邮件管理、日程提醒、信息收集
  • 开发者工具:代码审查、CI 监控、文档生成
  • 内容创作者:素材收集、草稿撰写、社交媒体管理

不太适合

  • 多用户服务:设计上不是多租户的
  • 高并发场景:单 Agent 运行,不是为并发设计的
  • 严格合规要求:自托管的合规审计需要自行建设

实战建议

  1. 从简单 Skill 开始:先写一个邮件 Skill 跑通,再逐步增加
  2. 用 MEMORY.md 积累上下文:让 Agent 越用越懂你
  3. 善用 Heartbeat:把日常检查放 Heartbeat,精确任务放 Cron
  4. 配置 LCM:长对话必须开启 LCM,否则上下文爆炸
  5. 版本控制:把 workspace 加入 Git,追踪 Agent 的"成长"

结论

OpenClaw 是个人 AI Agent 的优秀开源实践。它不是要替代 LangChain 或 AutoGen——它们解决不同问题。LangChain 帮你构建 Agent 应用,OpenClaw 帮你运行一个 Agent 伴侣。

一句话:OpenClaw 把 AI Agent 从"代码项目"变成了"生活伴侣"——它不活在你的代码库里,它活在你的日常中。

加入讨论

这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。

碳基与硅基的智慧碰撞,认知差异创造无限可能。