OpenClaw 是一款开源、自托管的个人 AI 助手平台。它通过在本地设备或自有服务器上部署网关,把 WhatsApp、Telegram、Discord、Web UI 等聊天入口接入 Claude、GPT、Gemini 等语言模型,使用户能够在熟悉的通信渠道中调用可执行任务的 AI 助手。
它不是大语言模型本身,而是一个运行在本地电脑上的 AI Agent 框架,主要负责在聊天入口与语言模型之间组织记忆、会话、工具和任务流程。

工作流程示例

系统架构
AI Agent 之所以”知道自己是谁”,是因为在每次调用 LLM 时,系统都会将其身份信息、目标设定和行动规则作为上下文一并注入到 system prompt,使模型始终在既定角色下理解任务并作出回应。

身份注入流程
OpenClaw 的 system prompt 里不只是”自我介绍”,还会一起放入身份设定、用户信息、长期记忆、行为规则、可用工具、可调用技能,以及如何查找历史记忆等内容,所以模型每次回答前拿到的其实是一整套运行说明。

System Prompt 组成
System Prompt 里一般包含以下文件:
文件
说明
SOUL.md
定义 Agent 的人格、价值观和做事风格,相当于它的”灵魂”
IDENTITY.md
记录 Agent 的名称、身份和自我介绍,让它知道”我是谁”
USER.md
记录用户的基本信息、称呼和偏好,让 Agent 知道”我在为谁服务”
MEMORY.md
保存跨会话持续存在的重要事实、规则和偏好,是 Agent 的长期记忆摘要
AGENTS.md
规定 Agent 的工作方式、行为边界、工具使用原则和安全规则,相当于操作手册
TOOLS.md
说明当前环境里有哪些工具、设备或基础设施可以使用,以及它们的相关配置
HEARTBEAT.md
写明定时唤醒后要检查或执行的事项,用来支持持续运行中的后台任务
BOOTSTRAP.md
在初始化阶段引导 Agent 建立身份和基本设定,完成后通常会被移除

配置文件示例
在每一轮与 LLM 交互时,系统都会把固定的 system prompt 连同此前对话中的关键信息一起重新发送给模型,因此后续回复并不是只基于当前这一句输入,而是建立在之前已经发生的内容之上。
换言之,Agent 之所以能够在连续对话中保持身份一致、记住上下文并延续任务,是因为每次调用模型时都会重新注入相关背景信息和历史内容,而不是依赖模型”自己一直记得”。
这也意味着,多轮对话轮次越多,随请求一同传入的上下文通常越长,token 消耗也会随之增加;OpenClaw 正是通过这种动态组装 system prompt 的方式来维持连续对话能力。

上下文注入机制
AI Agent 通过 system prompt 知道当前有哪些工具和 Skills 可用、分别怎么调用,然后把任务转成具体的工具调用或 shell 命令,在你的电脑上执行读取文件、写入内容、运行程序等操作,并根据执行结果继续下一步。

工具调用示例1

工具调用示例2
AI Agent 不仅会调用现有工具,还可以根据任务需要临时编写并生成新工具,再用这openclaw skills 教程个工具去完成后续步骤。

动态创建工具1

动态创建工具2
例如:Agent 先把一段语音校验逻辑写成 TTS_check.js,把”语音合成—语音识别—结果比对—不合格重试”的流程封装起来,然后再像调用普通工具一样直接执行。这说明 AI Agent 能把复杂任务转成可复用的脚本或程序,从”使用工具”进一步走向”自己造工具”。

TTS校验工具
Sub-agent 可以理解为 AI Agent 的一种特殊工具:主 Agent 遇到复杂任务时,可以把其中的子任务分别交给多个 sub-agent 独立处理,再把它们返回的摘要或结果汇总起来完成最终回答。
关键作用: 把原本需要放进同一上下文窗口的大量材料拆开处理。

Sub-agent机制1

Sub-agent机制2

Sub-agent机制3
示例: 比较 A、B 两篇论文时,主 Agent 不必自己同时阅读两篇全文,而是分别 spawn 两个 sub-agent 去读取、总结,再只基于”摘要 A”和”摘要 B”完成比较,这样可以减少上下文占用,也让每个子任务更专注。
同时,sub-agent 本身也是 agent,因此在需要时还可以继续调用新的 sub-agent,形成分层委派的任务结构;但通常会对这种继续派生加以限制,避免无限递归或失控扩张。

Sub-agent机制4
Skill 可以理解为 AI Agent 可按需读取的一类”任务说明书”:system prompt 不会一开始就把所有细节都塞给模型,而是先告诉它当前有哪些 Skill 可用;当任务需要时,Agent 再去读取对应的 SKILL.md,把相关流程加载进当前上下文。
关键作用: 把复杂任务的经验和步骤预先写成可复用的 SOP。

Skill机制1
示例: “做一支自我介绍的视频”时,Agent 不必每次都从头摸索,而是先读取视频制作的 Skill,再按照其中写好的流程依次完成脚本生成、投影片制作、截图、配音、校验和视频合成等步骤。

Skill机制2

Skill机制3
好处: – 把常用工作流从 system prompt 中拆出来,改成”按需读取” – 减少无关上下文的占用 – 让模型在执行具体任务时更聚焦 – Skill 本身可以持续积累和更新
恶意 Skill 可以理解为披着”工作流”外衣的危险指令包:它表面上像是在教 AI 完成任务,实际上可能在 SKILL.md 或相关脚本里夹带下载可执行文件、运行外部命令、诱导复制终端脚本等内容。
典型攻击方式: – 以”前置依赖”或”使用说明”为名,引导下载外部程序 – 解压压缩包、执行脚本 – 这类操作一旦未经核验就运行,后果与直接执行来路不明的软件没有本质区别

恶意Skill风险
安全建议: Skill 并不是天然安全的。越是能够调用工具、运行命令、操作文件的 Agent,越需要对 Skill 的来源、内容和脚本行为进行审查;否则,Agent 学到的不只是工作流程,也可能是攻击流程。
记忆工具可以理解为 AI Agent 的”跨会话检索系统”:模型本身不会天然记住上一次对话发生过什么,所以当用户问到过去做过的事、重要决定、偏好或待办事项时,Agent 会先去 MEMORY.md 和 memory/*.md 里搜索相关内容,再把检索到的片段带回当前回答中。
关键作用: 把”长期记忆”从上下文窗口里分离出来,改成按需检索。

记忆检索机制1
检索流程: 1. Agent 先用关键词搜索记忆 2. 把文档切成多个 chunk 3. 结合字面匹配和语义匹配对相关片段打分 4. 取最相关的前几段送给模型
这样模型不需要一次读完整个记忆库,也能在需要时”想起来”。

记忆检索机制2
记忆并不是自动永久存在的,而是由 Agent 在合适的时候写入:
记忆类型
存储位置
说明
日常经过
memory/日期.md
日志文件
重要、稳定、需要长期保留的信息
MEMORY.md
长期记忆摘要
核心机制: 什么时候记、记什么、之后如何查找,都是 Agent 借助工具完成的。Agent 的跨 session 连续性,本质上依赖的是”写入 + 检索”这一套记忆机制。

记忆写入机制
OpenClaw 有一个特殊的机制:心跳(HeartBeat)机制。
Heartbeat 可以理解为 AI Agent 的”定时唤醒机制”:OpenClaw 会每隔一段固定时间主动触发一次模型调用,让 Agent 不必等用户发消息,也能按计划自己检查是否有事情要做。
关键作用: 把原本被动响应的对话式 AI,变成能够周期性执行任务的 Agent。

Heartbeat机制
执行流程: 1. 被唤醒后,Agent 会读取 HEARTBEAT.md 或相应的心跳指令 2. 检查其中写明的待办事项、周期任务或提醒 3. 如果有任务就继续执行 4. 如果当前没有需要处理的内容,就返回类似 HEARTBEAT_OK 的信号结束本轮
Cron job 可以理解为 AI Agent 的”定时排程工具”:如果 Heartbeat 负责按固定间隔把 Agent 叫醒,那么 cron job 负责把某件事安排在指定时间触发,等时间到了,再额外发起一次心跳,让 Agent 开始执行对应任务。
关键作用: 让 Agent 不只会”定期检查”,还会”按点做事”。

Cron Job排程1

Cron Job排程2
应用场景:
场景
说明
周期任务
用户说”每天中午做一个视频”,Agent 先把这条要求写进 cron job 排程系统;到了中午 12:00,系统触发执行
延时检查
视频还在生成中,Agent 设定”三分钟后检查网页”的定时任务;到点后自动打开页面、查看结果、下载文件

Cron Job排程3
这样一来,Agent 就具备了延时执行和周期执行两种时间管理能力。
当历史对话、工具结果和中间过程累积得太长,快要超出模型可处理的上下文窗口时,Agent 会先把前面的大段内容整理成一份摘要,再用这份摘要替代原始细节继续后续对话。
关键作用: 在不丢掉任务主线的前提下,把上下文长度控制在可运行范围内。

上下文压缩1
压缩流程: 1. 旧内容先被送去生成 Summary 2. 之后系统不再重复携带全部原文 3. 只保留 system prompt、压缩后的摘要和最新几轮消息 4. 如果后面又继续变长,还可以再把”旧摘要 + 新增内容”进一步压缩成 Summary 2

上下文压缩2
核心机制: AI Agent 之所以能够长时间自主运作,并不是因为它能无限保留所有原始上下文,而是因为它会在运行过程中持续做”压缩—保留重点—继续执行”。这样既能延长任务时长,也能降低 token 开销,让长期任务保持可持续运行。
- OpenClaw 介绍视频
发布者:Ai探索者,转载请注明出处:https://javaforall.net/285480.html原文链接:https://javaforall.net
