乐于分享
好东西不私藏

从聊天到执行:OpenClaw Agent循环机制的底层架构拆解

从聊天到执行:OpenClaw Agent循环机制的底层架构拆解

从”聊天到执行”:OpenClaw Agent循环机制的底层架构拆解

一、现象:为什么OpenClaw能”动手”,而ChatGPT只能”动嘴”?

2025年11月发布至今,OpenClaw的GitHub星标已超24万。但大多数用户只知道”它能帮我整理文件、操控浏览器”,却很少追问一个更本质的问题:同样是大语言模型驱动的系统,为什么OpenClaw能从”对话式建议”跨越到”自动化执行”?

答案藏在Agent循环(Agent Loop)里。

传统ChatGPT的架构是一条直线:用户输入→LLM推理→文本输出。而OpenClaw的架构是一个闭环:意图解析→任务规划→工具调用→结果反馈→循环迭代。这个闭环不是概念上的比喻,而是代码层面每一步都有确切实现的工程体系。

本文将深入拆解OpenClaw的Agent循环机制、Gateway控制平面、Skill插件架构以及LCM上下文管理等核心技术栈,揭示它如何从底层设计上实现”AI自动化代理”的承诺。

二、Agent循环:不只是”调用工具”那么简单

2.1 传统LLM的线性推理 vs OpenClaw的循环推理

传统大模型的推理流程可以抽象为:

“ 用户Prompt → LLM → 文本响应 → 结束

`

OpenClaw的Agent循环则是:

`

用户指令 → 意图解析 → 任务拆解 → 工具调用 → 结果评估 ↑                                          ↓ └──────── 是否需要继续?←────────────────────┘

`

关键差异在于:OpenClaw的每次推理都是一个状态机。LLM不仅决定"做什么",还决定"做完了没有"。如果工具调用的结果不满足预期,Agent会自动调整策略、重新规划、再次执行,直到任务完成或达到迭代上限。

2.2 循环的五个核心阶段

阶段一:意图解析(Intent Parsing)

当用户输入"整理本周邮件并生成周报"时,OpenClaw不是简单地调用一个"整理邮件"的Skill。它首先进行意图分解:

  • 子任务1:读取邮件(需要邮件API访问权限)
  • 子任务2:提取关键信息(需要NLP理解能力)
  • 子任务3:按格式排版(需要文档处理工具)
  • 子任务4:生成文档(需要文件写入权限)

这个分解过程本身就是一次LLM推理,模型需要理解任务间的依赖关系和执行顺序。

阶段二:工具路由(Tool Routing)

OpenClaw维护着一个工具注册表,每个Skill在安装时会声明自己能提供的工具(tools)。Agent根据任务需求,从注册表中选择最合适的工具组合。这不是简单的关键词匹配,而是基于任务语义和工具描述的匹配。

例如,同样是"读取文件",Agent会根据上下文选择:

    • 需要读取代码文件?→ 使用

    read工具

    • 需要读取Excel数据?→ 使用专门的

    excel-read工具

    • 需要读取网页内容?→ 使用

    web_fetch工具

    阶段三:执行与监控(Execution & Monitoring)

    工具调用不是"fire-and-forget"。OpenClaw会监控每次工具调用的:

    • 返回状态(成功/失败/超时)
    • 输出内容是否符合预期
    • 是否需要重试或降级

    阶段四:结果评估(Result Evaluation)

    每次工具调用后,LLM会评估返回结果是否满足当前子任务的目标。这是Agent循环中最关键的"决策点"——如果评估不通过,Agent会:

    • 调整参数重新调用同一工具
    • 切换到备选工具
    • 修改任务分解方案

    阶段五:循环控制(Loop Control)

    OpenClaw的Agent循环不是无限循环。它有明确的终止条件:

    • 所有子任务完成
    • 达到最大迭代次数(防止无限循环)
    • 用户主动中断
    • 遇到不可恢复的错误

    三、Gateway:不只是"网关",而是Agent的操作系统

    3.1 Gateway的核心定位

    OpenClaw的官方文档有一句非常精辟的话:"Gateway只是控制平面——产品本身就是助手。"

    这句话揭示了OpenClaw的架构哲学:Gateway不是Agent本身,而是Agent运行的基础设施。类比到操作系统,如果Agent是"应用程序",那么Gateway就是"操作系统内核"。

    3.2 Gateway的三大职责

    职责一:会话管理(Session Management)

    每个对话都是一个独立的Session,Gateway负责:

    • Session的创建、销毁和状态持久化
    • 多Session间的隔离(一个Session的工具调用不会影响另一个)
    • Session历史记录的压缩与存储(LCM机制的核心场景)

    职责二:工具调度(Tool Dispatch)

    Gateway是所有工具调用的中枢:

    • 接收Agent的工具调用请求
    • 路由到对应的Skill实现
    • 管理工具的权限和沙箱
    • 返回执行结果

    职责三:渠道适配(Channel Adapter)

    OpenClaw支持40+消息平台(Telegram、Discord、WhatsApp、飞书等),Gateway负责:

    • 将不同平台的输入格式统一为Agent可理解的内部格式
    • 将Agent的输出适配为各平台支持的格式(Markdown、HTML、纯文本等)
    • 管理各平台的连接和认证状态

    3.3 Gateway配置的工程实践

    `yaml 

    gateway.yaml 核心配置结构

    gateway: port: 18789 auth: token: "your-gateway-token"  # API鉴权 models: default: "anthropic/claude-sonnet-4-20250514" fallback: ["openai/gpt-4o", "deepseek/deepseek-v4"] sessions: maxConcurrent: 10 historyCompression: true  # 启用LCM

    `

    这份配置揭示了Gateway的几个关键设计决策:

    • 模型降级
      :默认模型不可用时自动切换到备选模型,保证Agent可用性
    • 并发控制
      :限制同时运行的Session数,防止资源耗尽
    • 历史压缩
      :启用LCM(Lossless Context Management),这是OpenClaw解决上下文窗口限制的核心机制

    四、LCM:让Agent拥有"无限记忆"的秘密

    4.1 问题的本质

    大语言模型有上下文窗口限制(即使是200K token的Claude,也只够处理约15万字)。对于一个持续运行的Agent,对话历史很快就会撑爆上下文窗口。

    传统方案是"截断"——丢弃最早的对话记录。但这对Agent来说是灾难性的:它可能因此忘记用户之前交代的关键约束,导致后续行为偏离预期。

    4.2 LCM的无损压缩原理

    OpenClaw的LCM(Lossless Context Management)采用了一种"摘要+索引"的架构:

    `

    原始对话历史 ↓ [压缩层] 生成摘要(sum_xxx),保留关键信息 ↓ [索引层] 构建DAG(有向无环图),建立摘要间的关系 ↓ [检索层] 按需展开(expand),恢复原始细节

    `

    核心机制

    1. 1分层摘要:对话历史被分成多个chunk,每个chunk生成一个摘要。摘要本身也会被进一步摘要,形成树状结构。
    1. 1DAG索引:摘要之间通过DAG建立引用关系。当Agent需要回忆某个细节时,可以沿着DAG从高层摘要向下展开到具体消息。
    1. 1按需展开:不是把所有历史都塞进上下文窗口,而是根据当前任务的需要,只展开相关的摘要分支。这就像人类回忆——你不会同时想起所有事,而是根据当前情境提取相关记忆。

    4.3 LCM的三层API

    OpenClaw提供了三个核心工具来操作LCM:

      lcm_grep:语义搜索,在压缩后的历史中快速定位相关信息

      lcm_expand:展开摘要,从压缩表示恢复原始内容

      lcm_describe:查看摘要的元数据,了解其内容范围

      这种设计让Agent在理论上可以拥有"无限长"的对话历史,而不会受到上下文窗口的限制。

      五、Skill架构:从"插件"到"能力单元"的进化

      5.1 Skill不只是插件

      在大多数框架中,"插件"只是功能的封装。但OpenClaw的Skill更像是Agent的"能力单元"——它不仅提供工具,还定义了工具的使用规则、前置条件和后置处理。

      一个Skill的标准结构:

      `

      my-skill/ ├── SKILL.md          # 技能描述和使用规则 ├── scripts/          # 实现脚本 │   └── main.py ├── config.yaml       # 配置模板 └── tools.json        # 工具声明

      “ 

      SKILL.md是Skill的灵魂。它不仅告诉Agent这个Skill能做什么,还告诉Agent”什么时候该用”和”怎么用”。这是一个非常重要的设计决策——它将”工具选择”的决策逻辑从代码层面提升到了语义层面。

      5.2 Skill的安全边界

      2026年4月,亚马逊云科技专家公开解析了OpenClaw的安全挑战,其中最突出的威胁是”恶意Skill投毒”——攻击者通过在Skill中嵌入恶意代码或提示词注入,可以劫持Agent的行为。

      OpenClaw的应对策略是多层防御:

      1. 1Skill审批机制:企业可建立私有Skill仓库,强制审批流程
      2. 2AI驱动的安全扫描:在Skill入库前自动检测恶意模式
      3. 3沙箱隔离:可疑Skill在沙箱中观察运行
      4. 4多层Agent隔离:主Agent与处理外部数据的子Agent分离,防止注入劫持

      这种”安检闸机+防毒面具+前台缓冲区”的三层安全模型,是OpenClaw从个人工具走向企业级部署的关键里程碑。

      六、DeepSeek V4接入:多轮工具调用的思考逻辑修复

      6.1 问题的表象

      OpenClaw最新版本正式接入DeepSeek V4,其中有一个容易被忽略但意义重大的修复:”官方修复了DeepSeek在连续多轮工具调用中的思考逻辑”。

      这个修复针对的是一个经典的Agent架构问题:工具调用链中的上下文漂移

      6.2 上下文漂移的根因

      当Agent需要连续调用多个工具完成一个复杂任务时,每次工具调用的返回结果都会成为下一轮推理的上下文。问题在于:

      • 工具返回的信息可能非常冗长(比如一个包含100行的搜索结果)
      • 冗余信息会”稀释”LLM对原始任务目标的关注
      • 随着工具调用轮次增加,Agent可能逐渐偏离最初的任务目标

      DeepSeek V4的修复方案是在多轮工具调用中引入目标锚定机制:在每轮推理的开头,显式注入原始任务目标和当前进度,确保Agent不会”跑偏”。

      6.3 对Agent架构的启示

      这个修复揭示了Agent系统设计的一个深层原则:LLM不是万能的推理引擎,它需要架构层面的约束来保持行为一致性。纯粹依赖LLM的”涌现能力”来处理复杂任务链是不可靠的,必须在系统层面设计护栏。

      七、与竞品的架构对比

      维度
      OpenClaw
      AutoGPT
      CrewAI
      LangChain Agent
      核心架构
      Gateway控制平面+Agent循环
      自主Agent循环
      多Agent协作
      链式调用
      上下文管理
      LCM无损压缩
      截断
      共享记忆
      截断/滑动窗口
      工具生态
      Skill Hub市场+热加载
      插件系统
      工具集
      Tool库
      消息渠道
      40+平台原生支持
      CLI
      API
      API
      安全模型
      多层隔离+审批
      基础沙箱
      角色权限
      无内建安全
      部署模式
      本地优先+云端适配
      本地
      本地/云
      云原生

      OpenClaw的核心差异化在于:它不是为开发者设计的SDK,而是面向终端用户的完整Agent运行时。Gateway+Skill+LCM的组合,让它能够在保持开发灵活性的同时,提供”开箱即用”的体验。

      八、独到观点:Agent系统的”操作系统化”趋势

      OpenClaw的架构演进揭示了一个更大的趋势:Agent系统正在走向”操作系统化”

      就像从裸机编程到操作系统的演进:

      • 裸机时代
        (早期LLM):直接与模型交互,没有工具、没有记忆、没有持久化
      • 运行时时代
        (LangChain等):提供了工具调用和链式编排,但缺乏持久化和管理
      • 操作系统时代
        (OpenClaw):Gateway管理资源(会话、工具、渠道),LCM管理记忆,Skill管理能力

      这个类比不是修辞,而是架构层面的真实对应:

      • Gateway = 内核(进程管理、资源调度、设备驱动)
      • LCM = 虚拟内存(按需换入换出、地址空间隔离)
      • Skill = 驱动程序(硬件抽象、能力扩展)
      • Session = 进程(独立地址空间、生命周期管理)

      当Agent系统真正”操作系统化”之后,我们期待的不仅是”AI帮我做事”,而是”AI基础设施”——就像我们今天不需要关心操作系统如何调度CPU,未来的用户也不需要关心Agent如何管理上下文和工具。

      OpenClaw可能不是最终的”AI操作系统”,但它的架构设计无疑为这个方向提供了有价值的参考。

      九、结语

      从Agent循环的状态机设计,到Gateway的控制平面架构,到LCM的无损上下文管理,再到Skill的能力单元抽象——OpenClaw的每一个技术决策都在回答同一个问题:如何让AI从”生成内容”进化为”执行任务”?

      答案不是更大的模型,而是更好的系统设计。在AI能力快速迭代的今天,架构的优劣将决定Agent系统是”能用”还是”好用”。OpenClaw给出了它的答案,而这场Agent操作系统的竞赛,才刚刚开始。