在 OpenClaw 的架构里,Memory、Heartbeat、Core 是 agent 运行的三个基础机制。可以把它理解成一个 AI agent 的 大脑结构 + 生命周期管理。
按 系统层级 → 实际作用 → 技术实现 给你拆开说明。
一、Core(核心)
1 Core 是什么
Core = Agent 的核心运行逻辑
负责:
- 接收任务
- 调用模型
- 调度 skills
- 管理 memory
- 控制 agent 生命周期
可以理解为:
User / Channel
↓
Core
↓
Model + Skills + Memory
Core 相当于 agent 的 runtime 引擎。
2 Core 的职责
Core 主要做 6 件事:
| 功能 | 说明 |
|---|---|
| 任务解析 | 解析用户输入 |
| 模型推理 | 调用 LLM |
| 工具调度 | 调用 skills |
| 状态管理 | agent 状态 |
| 记忆读写 | memory |
| 循环控制 | agent loop |
执行流程:
user input
↓
plan
↓
reason
↓
call skill
↓
observe
↓
update memory
这是典型 ReAct agent loop。
3 Core 的核心结构
一般包含:
core/
├ agent
├ planner
├ executor
├ skill manager
├ memory manager
└ runtime loop
可以理解为:
agent brain
二、Memory(记忆系统)
1 Memory 是什么
Memory 是 agent 的 长期和短期记忆系统。
分为两种:
| 类型 | 作用 |
|---|---|
| short-term memory | 当前对话 |
| long-term memory | 长期知识 |
2 Short-term memory
也叫:
context memory
作用:
保存当前任务上下文
例如:
User: 帮我分析 basalt
Agent: ...
User: 再比较 orbslam
Agent 必须记住:
basalt
通常实现:
rolling context window
3 Long-term memory
长期记忆一般存:
用户信息
任务历史
总结
知识
典型存储方式:
| 存储 | 用途 |
|---|---|
| vector db | semantic memory |
| sqlite | metadata |
| json | config |
常见实现:
- sqlite
- chroma
- pgvector
4 Memory 在 agent loop 中的作用
每一步都会:
read memory
↓
reason
↓
write memory
例如:
User: 帮我写报告
↓
Agent: 搜索
↓
Agent: 保存搜索结果
↓
Agent: 总结
memory 会记录:
search result
summary
progress
三、Heartbeat(心跳机制)
1
- Heartbeat 是什么
Heartbeat 是 agent 的:
生命周期调度器
作用:
定期触发 agent
例如:
每 10 秒
每 1 分钟
每 1 小时
2 Heartbeat 的作用
主要有 4 个功能:
| 功能 | 说明 |
|---|---|
| 任务轮询 | 查看是否有任务 |
| agent 保活 | 防止 agent 挂掉 |
| 自动任务 | 定时任务 |
| 状态更新 | 更新 memory |
3 Heartbeat 的典型流程
heartbeat tick
↓
check task queue
↓
resume agent
↓
run loop
类似:
cron + runtime
4 Heartbeat 的周期
一般是:
5s
10s
30s
或者:
adaptive heartbeat
根据任务动态调整。
四、三者关系
整体关系:
user input
↓
Core
↓
reasoning / planning
↓
Skills
↓
Memory
↑
Heartbeat
也可以理解为:
| 组件 | 类比 |
|---|---|
| Core | 大脑 |
| Memory | 记忆 |
| Heartbeat | 心跳 |
五、完整 agent 生命周期
一次任务完整流程:
heartbeat tick
↓
core wakeup
↓
read memory
↓
call LLM
↓
plan actions
↓
execute skills
↓
observe result
↓
update memory
↓
sleep
六、为什么 agent 必须有 heartbeat
如果没有 heartbeat:
agent = request/response
有 heartbeat:
agent = autonomous system
也就是说:
agent 可以自己运行
例如:
每天自动研究论文
每天自动整理数据
每天自动监控系统
七、OpenClaw Agent Runtime 的本质
其实就是一个:
Autonomous Agent Loop
类似:
| 系统 | 机制 |
|---|---|
| AutoGPT | agent loop |
| BabyAGI | task loop |
| LangGraph | graph runtime |
| OpenClaw | core + heartbeat |
八、OpenClaw 的一个关键设计
OpenClaw 把:
agent runtime
拆成:
core
memory
heartbeat
skills
channels
这样每个模块可以独立扩展。
九、你可以这样理解整个系统
Channels → 输入输出
Core → 推理和决策
Skills → 执行动作
Memory → 存储经验
Heartbeat → 调度运行