OpenClaw 系统架构详解

第3部分:Agent Loop (代理循环)

Agent Loop 是 OpenClaw 的执行引擎,负责处理消息、调用 AI 模型、执行工具并生成回复。

🔄 Agent Loop (代理循环) - 执行引擎

职责

执行流程

Agent Loop 的完整执行流程包含以下步骤:

  1. agent RPC 验证参数
    • 解析会话(sessionKey/sessionId)
    • 持久化会话元数据
    • 立即返回 { runId, acceptedAt }
  2. agentCommand 运行代理
    • 解析模型和 thinking/verbose 默认值
    • 加载 skills 快照
    • 调用 runEmbeddedPiAgent
  3. runEmbeddedPiAgent
    • 通过队列序列化运行
    • 解析模型和认证配置
    • 订阅 pi 事件和流
    • 强制超时控制
  4. subscribeEmbeddedPiSession 桥接事件
    • tool 事件 → stream: "tool"
    • assistant 增量 → stream: "assistant"
    • lifecycle 事件 → stream: "lifecycle"
  5. agent.wait 等待生命周期结束
    • 等待 lifecycle end/error
    • 返回 { status, startedAt, endedAt, error? }

队列和并发

会话和工作空间准备

提示组装和系统提示

超时控制