引言

OpenClaw 的前身是 ClawdBot,一个由 Claude 驱动的终端 AI Agent。经过多次迭代,它已经发展成为一个功能完备的 AI Agent 框架,支持多平台接入、技能系统、记忆管理、定时任务等核心能力。

理解 OpenClaw 的架构设计,有助于我们更好地使用它、扩展它,甚至从中汲取灵感构建自己的 Agent。

架构演进历程

第一阶段:ClawdBot(2024 年初)

最初版本只是一个简单的 Claude API 调用器,具备以下能力:

  • 通过 Claude API 接收用户消息
  • 将消息发送给 Claude
  • 返回 Claude 的回复

这个版本的架构极其简单,核心逻辑只有几十行代码。但它验证了一个关键假设:AI 可以执行终端命令

第二阶段:本地 Agent(2024 年中)

随着 Claude 3.5 Sonnet 的发布,OpenAI 推出了 o1-preview,AI 的能力边界被大幅扩展。OpenClaw 开始支持:

  • 本地文件读写
  • 终端命令执行
  • 基础的工具调用

架构上引入了工具系统的概念,Claude 可以通过工具与主机交互。

第三阶段:现代 OpenClaw(2024 年末至今)

经过多次迭代,OpenClaw 发展成为一个完整的 AI Agent 框架,核心能力包括:

  • 多平台消息接入(Telegram、Discord、WhatsApp 等)
  • 技能系统(Skills)
  • 记忆系统(Memory)
  • 定时任务(Cron)
  • 子代理编排
  • MCP 协议集成

核心架构组件

1. Agent Loop(感知 - 决策 - 行动循环)

OpenClaw 的核心是一个循环:

感知 → 决策 → 行动 → 记忆 → 感知 → ...

感知:接收用户消息、系统事件、定时任务触发等。

决策:将感知信息发送给 LLM,LLM 生成回复或工具调用指令。

行动:执行工具调用(文件读写、终端命令、HTTP 请求等)。

记忆:将行动结果和对话上下文保存到记忆系统。

2. 工具系统(Tools)

OpenClaw 的工具系统是其执行能力的基础。工具分为几类:

系统工具:由 OpenClaw 内置提供,如文件操作、浏览器控制、消息发送等。

技能工具:通过 Skills 扩展提供的工具,如 PDF 处理、文档生成等。

MCP 工具:通过 MCP 协议集成的外部工具。

自定义工具:用户通过 Skill 系统定义的自定义工具。

3. 技能系统(Skills)

技能是 OpenClaw 扩展能力的核心机制。每个技能包含:

  • SKILL.md:技能描述和使用指南
  • 可执行文件:实际执行工具调用的脚本
  • 资产文件:模板、样式表等

技能系统的设计哲学是模块化可组合性。技能可以独立安装、更新、卸载,也可以组合使用。

4. 记忆系统(Memory)

OpenClaw 的记忆系统分为三层:

短期记忆:当前会话的对话历史,由 LLM 的上下文窗口管理。

长期记忆:存储在 MEMORY.mdmemory/ 目录下的持久化记忆。

知识检索:通过语义搜索从记忆文件中检索相关信息。

5. 会话管理(Sessions)

OpenClaw 支持多会话管理,每个会话是一个独立的对话上下文。会话可以是:

  • 主会话(main session):与用户的直接对话
  • 子会话(sub-agent session):由父会话创建的独立会话
  • 定时会话(cron session):由定时任务触发的会话

数据流架构

消息处理流程

用户消息 → 网关层 → 会话层 → Agent Loop → LLM → 工具执行 → 结果返回

网关层:处理不同平台的消息格式,统一转换为 OpenClaw 内部格式。

会话层:管理会话状态、对话历史、记忆上下文。

Agent Loop:核心决策循环,协调感知、决策、行动。

LLM:调用语言模型生成回复或工具调用。

工具执行:执行工具调用,获取结果。

结果返回:将结果格式化后返回给用户。

工具调用流程

LLM 生成工具调用 → 工具解析 → 权限检查 → 执行 → 结果返回 → LLM 处理结果

工具解析:将 LLM 生成的工具调用指令解析为可执行的操作。

权限检查:检查用户是否授权执行该工具(某些工具需要显式授权)。

执行:执行工具调用,如文件读写、命令执行等。

结果返回:将执行结果返回给 LLM。

LLM 处理:LLM 根据工具执行结果生成下一步指令。

安全架构

OpenClaw 的安全设计遵循最小权限原则

本地优先:所有数据存储在本地,不依赖云端服务。

权限控制:敏感操作(如文件删除、命令执行)需要用户授权。

沙箱隔离:工具执行在隔离环境中进行,防止恶意操作。

审计日志:所有操作记录日志,便于追溯和分析。

与类似框架的对比

与 LangChain 的对比

相似点:都支持工具调用、多平台集成。

差异

  • OpenClaw 更注重本地部署和隐私保护
  • LangChain 更注重开发框架和组件化
  • OpenClaw 的架构更轻量,LangChain 更灵活

与 CrewAI 的对比

相似点:都支持多 Agent 协作。

差异

  • OpenClaw 的子代理机制更轻量
  • CrewAI 的 Agent 角色定义更丰富
  • OpenClaw 更注重个人助手场景,CrewAI 更注重团队协作

总结

OpenClaw 的架构设计体现了几个核心理念:

  • 本地优先:数据主权归用户所有
  • 模块化:通过技能系统实现能力扩展
  • 隐私保护:本地部署,零云端依赖
  • 用户体验:多平台接入,自然语言交互

理解这些设计理念,有助于我们更好地使用 OpenClaw,也为构建其他 AI Agent 提供了有价值的参考。

加入讨论

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

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