很多人把 AI Agent 当成「会执行任务的聊天机器人」。一旦把它接到 Telegram、Discord、WhatsApp 或 WebChat,问题很快暴露:
处理不好这些,Agent 很容易从智能助手变成不可控的自动化脚本。
开源项目 OpenClaw 的定位很清晰:
不把 Agent 当聊天应用,而是当作一套工程化基础设施。
它通过消息队列、会话隔离、工具权限控制和持久化,为 Agent 提供稳定的运行底座。从架构上看,核心问题只有一个:
一条用户消息,在系统里究竟经历了什么?
OpenClaw 可拆成四个核心模块:
| 层级 | 模块 | 职责 |
|---|---|---|
| 接入 | Channels | Telegram / Discord / WebChat 等 |
| 调度 | Gateway | 鉴权、路由、队列、状态持久化 |
| 推理与执行 | Agent Runtime | Agent Loop、工具调用 |
| 模型 | Model Provider | OpenAI、Anthropic、Gemini 或本地模型 |
消息路径:
用户消息 → Channel → Gateway(鉴权、队列调度)→ Agent Runtime(Agent Loop)→ LLM → 工具执行 → 生成回复 → 返回渠道
设计原则:接入层、调度层、推理层、执行层完全解耦。新增渠道、换模型、扩展工具,都不必动整体架构。
Gateway 不是简单 API 中转,而是控制中心,负责:
默认以守护进程形式监听 127.0.0.1:18789,所有客户端(含 WebChat)通过 WebSocket 与 Gateway 通信。
重要原则:所有会话状态由 Gateway 持有。客户端不直接读会话日志,而是向 Gateway 查询。带来的好处:
可以说,Gateway 是 Agent 的调度中心和事实源(Source of Truth)。
每条消息进入时,系统要回答四件事:
流程可拆成三步。
系统根据消息来源生成 Session Key,支持私聊、群组、论坛线程、跨渠道等。OpenClaw 提供多种 DM 隔离策略,例如:
Session Key 既划定上下文边界,也划定权限边界;不隔离时,多用户 DM 容易发生对话泄露。
确认会话后,消息进入命令队列(Command Queue)。
并发策略偏保守:同一会话默认串行执行,避免多 Agent 同时改同一上下文或执行工具导致冲突。
队列支持多种模式:
适合群聊和连续提问场景。
队列开始执行时,会启动一次 Agent Loop,核心步骤:
在 OpenClaw 中由内部函数 runEmbeddedPiAgent 完成。每次执行有唯一 runId,并记录完整事件流,事件类型包括:
便于调试和完整还原一次 Agent 执行过程。
长对话会让上下文不断膨胀,最终超出模型窗口。OpenClaw 用三种方式控制规模:
这样既保留长期记忆,又不占满上下文窗口。
Agent 一旦能调工具,就具备「现实世界」的执行能力(改文件、跑脚本、调 API)。OpenClaw 对工具做了三层控制:
并记录完整审计日志:工具调用、工具结果、审批请求、安全违规,便于生产环境可追溯、可审计。
API 限速、密钥失效、服务商宕机都很常见。OpenClaw 的应对包括:
保证在模型服务异常时,Agent 仍能尽量继续运行。
可以归纳为三个原则:
相比主要靠提示词控制行为的 Agent 框架,这种方式更接近传统软件工程的可靠性思路。
随着 Agent 普及,系统普遍要面对:
这些已经超出「聊天机器人」的范畴。像 OpenClaw 这样的项目,本质是在构建一种新的软件基础设施:Agent Runtime——让 AI 不仅在单次对话里「会回答」,更能在复杂、多用户、多工具场景下稳定、可控地运行。
在未来的 AI 应用生态里,这类「Agent 操作系统」很可能成为连接模型、工具和用户的关键一层。