理解 Agent 运行循环,是理解 OpenClaw 整套系统的关键一步。很多人看到“消息发出去,机器人回了一句”时,会误以为中间只是模型生成了一段文本。但实际上,从官方架构思路看,一次完整运行通常至少经历:
- 接收消息
- 组装上下文
- 模型推理
- 工具执行
- 结果整合
- 输出与持久化
只要其中任何一层出问题,最终体验就会偏差。
为什么这不是纯理论
因为以后你排障时,所有问题几乎都能映射到这个循环里的某一层:
- 收不到消息:入口层
- 回复不对:模型或上下文层
- 不会行动:工具层
- 执行后结果不一致:结果整合层
- 下一次又忘了:持久化或记忆层
理解循环,最直接的价值不是“懂原理”,而是你终于知道问题该往哪一层查。
第一步:接收消息
消息可能来自:
- Dashboard
- Telegram
- Discord
- 飞书
- Google Chat
这一层的任务是把外部输入可靠地送进 Gateway。这里如果出问题,常见现象是:
- 根本收不到消息
- 渠道显示在线,但没有任何处理日志
- 私聊、群组或空间触发规则没命中
这时更该看的是渠道状态、配对和提及规则,而不是先去怀疑模型。
第二步:组装上下文
消息被接收后,OpenClaw 不会立刻就丢给模型。它还需要决定:
- 当前是哪个会话
- 之前有哪些相关上下文
- 有没有系统提示词、群组提示词或特定规则
- 当前可用的工具和权限边界是什么
这一层很重要,因为模型最终看到的不是“用户原话”,而是经过系统整理后的完整上下文。
如果这一层没组好,常见症状会是:
- 回复风格不对
- 忘记刚才的要求
- 在错误的群组规则下行动
- 不该有的长期记忆影响了当前任务
第三步:模型推理
上下文准备好后,模型才开始真正做判断,例如:
- 这条消息在问什么
- 需要直接回答,还是应该调用工具
- 是否需要多步推理
- 输出应该偏解释,还是偏执行
这是很多人最容易过度关注的一层,因为它最“像 AI”。但在 OpenClaw 里,它并不是唯一关键层。
第四步:工具执行
如果模型决定要行动,就会进入工具层。这里可能涉及:
- Web
- Browser
- Exec
- 文件系统
- 节点能力
- Skills
这一层才是 OpenClaw 和普通聊天机器人差异最大的地方,因为它把“生成答案”变成了“执行动作”。
但也正因为如此,很多失败会出现在这里,例如:
- 审批未通过
- 权限边界不允许
- 依赖缺失
- 节点没连上
- 工具路径不正确
第五步:结果整合
工具执行完,并不代表任务已经结束。OpenClaw 还需要:
- 读取工具返回结果
- 判断是否还要继续下一步
- 决定最终如何告诉用户
这一层如果处理不好,会出现:
- 工具明明执行了,但回答像没执行
- 多步任务做到一半就停
- 返回内容没有把关键结果说清楚
所以“动作成功执行”与“用户得到正确反馈”并不是一回事。
第六步:输出与持久化
最后,OpenClaw 会把结果发回渠道或控制台,并根据系统设计决定:
- 哪些上下文要保留
- 是否记录进会话
- 是否进入长期记忆
这一步决定了下次系统面对类似任务时,是不是还能延续之前的上下文。
一个更直观的理解方式
你可以把 Agent Loop 想成一条流水线:
- 渠道负责把消息送进来
- Gateway 负责把系统状态和上下文串起来
- 模型负责思考
- 工具负责行动
- 输出层负责把结果送回去
- 持久化负责决定哪些东西留到以后
只要其中一层不稳,最终体验就会不稳。
为什么新手最容易误判模型
因为模型是最显眼的一层,大家天然会觉得“只要结果不对,就是模型不够聪明”。但真实情况往往是:
- 上下文没组好
- 工具没执行成功
- 执行结果没回灌好
- 权限或审批把动作挡住了
所以理解 Agent Loop 后,你会更自然地把问题拆开,而不是永远只盯着模型。
一个排障时很有用的思维
以后遇到问题,可以直接沿着循环问自己:
- 消息进来了吗?
- 上下文对了吗?
- 模型判断对了吗?
- 工具真的执行了吗?
- 结果整合正确吗?
- 下次为什么没记住?
这套问题比“为什么 AI 这么笨”有用得多。