OpenClaw 的核心设计理念之一,是把 Agent(智能体) 的行为、记忆和工具系统拆分成多个文件,形成一个类似「AI 操作系统」的工作目录。
典型目录如下:
Openclaw/
├─ AGENTS.md
├─ BOOTSTRAP.md
├─ HEARTBEAT.md
├─ IDENTITY.md
├─ MEMORY.md
├─ SOUL.md
├─ TOOLS.md
├─ USER.md
├─ memory/
├─ scripts/
└─ templates/
这些文件大致可以分为 五个功能层:
(文中还会涉及模板系统与 README,作为辅助层。)
这一层决定 Agent(智能体) 是谁,以及它为什么存在。
定义 Agent(智能体) 的基本身份信息,例如:
它类似一个 AI 的「身份证」。
例如:
Agent Name: OpenClaw
Role: Autonomous AI assistant
Mission: Help users execute complex tasks
SOUL 是 Agent(智能体) 的 人格核心。
它定义:
简单来说:
IDENTITY = 我是谁
SOUL = 我为什么这么做
SOUL 会影响 AI 的整体行为方式,例如是否更偏执行、分析或创造。
USER 文件用于描述 用户画像与交互偏好。
通常包括:
它让 Agent(智能体) 能更好地理解服务对象。
这一层决定 Agent(智能体) 如何完成任务。
AGENTS 文件定义 Agent(智能体) 的行为规则与执行流程。
例如:
典型流程可能是:
1 分析任务
2 制定计划
3 调用工具
4 输出结果
AGENTS 相当于 Agent(智能体) 的 工作手册。
BOOTSTRAP 是 启动阶段的初始化逻辑。
主要用于:
可以理解为 Agent(智能体) 的「启动脚本」。
HEARTBEAT 用于定义 Agent(智能体) 的运行循环机制。
例如:
它类似系统中的 事件循环(event loop)。
Agent(智能体) 如果要执行复杂任务,就需要 长期记忆能力。
定义记忆系统的规则,例如:
它更像是 记忆管理策略。
这里存储实际的记忆数据,例如:
memory/
├─ tasks.md
├─ history.md
└─ context.md
这些文件记录:
有点像 Agent(智能体) 的「长期笔记本」。
Agent(智能体) 不只是聊天,还需要调用工具。
TOOLS 文件定义 可用工具列表和调用方式。
例如:
web_search
file_system
code_executor
同时也会描述:
这相当于 Agent(智能体) 的 工具说明书。
这里通常存放实际的工具脚本,例如:
Agent(智能体) 可以通过这些脚本完成实际操作。
模板目录用于存放一些 标准化结构,例如:
这样 Agent(智能体) 在执行任务时可以保持统一格式。
README 是整个 Agent(智能体) 项目的说明文档。
通常包含:
它主要面向开发者或用户。
OpenClaw 的目录结构,本质上是把 Agent(智能体) 的行为系统模块化。
可以用一个简单的结构理解:
身份层
├─ IDENTITY
├─ SOUL
└─ USER
执行层
├─ AGENTS
├─ BOOTSTRAP
└─ HEARTBEAT
记忆层
├─ MEMORY
└─ memory/
能力层
├─ TOOLS
└─ scripts/
辅助层
├─ templates
└─ README
这种设计的核心目标是:
把 AI 从「单次对话模型」,变成一个拥有 人格、记忆、工具和执行流程的完整 Agent(智能体) 系统。