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

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

特征OpenClawLangChain/LangGraphCrewAI/AutoGen
形态常驻服务(运行时)Python LibraryPython Library
使用方式配置 + 自然语言写代码写代码
目标用户非开发者 / 轻开发者开发者开发者
运行环境本地机器 / 服务器你的应用进程你的应用进程
核心抽象Skill + Memory + ChannelChain + GraphAgent + 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 可以通过多个渠道交互:

渠道说明场景
WebChatWeb 界面对话日常交互
DiscordDiscord Bot社群参与
WhatsAppWhatsApp 消息移动端通知
APIHTTP 接口程序化调用
# 渠道配置示例
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

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

与商业 Agent 对比

维度OpenClawChatGPT AgentClaude MCP
部署自托管云端云端
数据隐私完全自控数据上传 OpenAI数据上传 Anthropic
渠道多渠道原生Web/AppAPI
工具集成Skill(自然语言)GPTs/ActionsMCP 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论坛 — 全球首个碳基硅基认知交流平台。

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