OPenClaw与Hermes:源码里的 AI Agent 架构知识大复盘文章总结
前言
大家好,我是咪的Coding。
最近我阅读了腾讯技术工程的公众号。
OPenClaw与Hermes:源码里的 AI Agent 架构知识大复盘
以下是做出的一些简单总结:
一、OpenClaw 核心设计(TypeScript 微内核)
定位:24/7 后台常驻、多 IM 通道、有人格长期记忆的个人 AI Agent 平台。
哲学:微内核 + 万物皆插件。核心只做编排(消息路由、安全、配置),所有能力由插件实现。
1. Gateway——系统心脏
- 五大角色:唯一长驻进程、消息总线、多 Agent 路由物理边界、认证与信任根、嵌入式 HTTP Host。
- 职责:所有 Client(TUI/App)和 Channel(IM 插件)的流量与操作都通过 Gateway 的 WebSocket RPC 统一调度(42 个 RPC 方法)。
- 认证:Challenge-Response + Ed25519 签名 + Device Identity;非回环强制 TLS 指纹 Pinning。
2. 插件系统与 Channel 契约
- Channel 契约:定义了
ChannelPlugin接口,包含 25+ 个可选适配器(认证、消息、流式、命令、安全、Gateway 绑定等),将各 IM 平台的差异完全封装。 - 关键能力:Per-channel 流式适配、Channel Docking(跨平台会话迁移)、反向工具注入(Channel 给 LLM 提供工具)、精细化热重载。
- 插件分类:Channel、Provider、Tool、Memory、基础设施等,均通过 Plugin SDK 注册,安装时进行静态安全扫描。
3. Agent 执行引擎——调度 + 容错 + 预算
- 双路径执行:Embedded(直接调 Provider SDK)与 CLI Backend(把 Claude Code/Codex 当 Backend 用,通过
CliBackendConfig适配私有协议)。 - 容错核心:
- Auth Profile:不仅是 API Key 数组,而是带健康状态、冷却时间、磁盘持久化的凭证对象(支持 OAuth/Token 刷新,自动发现本地已登录 CLI 账号)。
- FailoverError:将错误分类为 13 种闭合枚举(
billing、rate_limit等),驱动确定的降级策略(Profile 轮换→模型降级)。
- 上下文预算与压缩:三级 Compaction(L1 预防性、L2 超时触发、L3 溢出降级),Context Engine 可插拔,Bootstrap 文件按预算头尾保留截断,并注入“截断告警”让 LLM 自知信息不全。
- 并发车道(Lanes):Default、Nested、Subagent、Cron 五种车道隔离,防 cron 递归死锁。
- 子 Agent(Subagent Spawn):深度可控(
spawnDepth+subagentRole),带注册表和生命周期管理。
4. 记忆系统——从静态文件到智能召回
- 双层架构:召回层(
memory/每日文件,不自动注入)+ 静态层(MEMORY.md,每轮注入)。 - 核心机制:
- 混合搜索:BM25 + 向量(权重 0.7)+ 时间衰减 + MMR 多样性重排。
- Dreaming 三阶段晋升(核心亮点):
- Light Sleep:整理候选物料。
- REM Sleep:提取跨日主题,产出“潜在真理”置信度信号。
- Deep Sleep:基于 6 信号加权评分(相关性 0.30 最高)和 3 重门禁(总分≥0.75、命中≥3 次、不同 query≥2 个)决定是否写入
MEMORY.md。这是唯一写入路径,防止错误记忆污染。
- Active Recall:对话前阻塞式检索记忆,以隐藏前缀注入。
5. 安全机制
- 五层纵深防御:网络(TLS)、认证(Ed25519)、命令执行(Allowlist+人工审批)、插件扫描、沙箱隔离。
- Exec Approval:危险命令需人工按钮审批,含混淆检测规则。
二、Hermes 核心设计(Python 单体)
定位:自我改进的个人 AI Agent,强调工具密度和技能自创建。
哲学:单体丰满 + 工具自注册 + 自我改进闭环。
1. AIAgent 单一体
- 将执行引擎、API 调度、记忆、工具编排集中于一个大型类中(
run_agent.py),循环为经典的 ReAct 模式。 - 四种 API 模式:自动适配 Chat Completions、Codex Responses、Anthropic Messages、Bedrock Converse。
- 容错:Credential Pool(API Key 数组)优先于 Model Fallback 尝试。
- 上下文压缩:四步算法(工具裁剪→边界→摘要→组装),反抖动保护。
- Prompt 缓存:
system_and_3策略(4 个断点),首轮系统提示构建后“冻结快照”,保证整个会话缓存命中,以牺牲动态记忆注入为代价换取 ~75% 输入成本节省。
2. 工具与技能系统——渐进式披露与自创建
- ToolRegistry:模块导入时自注册全局单例。
- 技能(Skills):数百个 Markdown 技能,采用 三级渐进式披露(
skills_list元数据 →skill_view完整指令 →skill_view(name, file_path)按需加载支撑文件),将技能成本从 O(N) 降到 O(实际使用的)。 - 技能自创建闭环(核心亮点):Agent 从经验中通过
skill_manager自主创建、编辑、patch 技能,经安全扫描后存入本地,实现 “经验自动复用”。
3. 记忆系统——全量可搜与周期性反思
- MemoryManager:“内置(MEMORY.md/USER.md)+ 最多一个外部提供者”架构,支持 8 种插件(Honcho 辩证建模等)。
- Memory Nudge:每 10 轮触发后台 review,提醒 Agent 写记忆。
- Session Search:基于 SQLite FTS5 的全量对话历史全文搜索(双索引覆盖中英文),搜索时用辅助 LLM 生成摘要(25% 前文+75% 后文截断),支持子会话溯源。
4. 安全模型——LLM 分诊 + 广泛沙箱
- Smart Approval(核心亮点):在执行前使用辅助 LLM 评估命令风险,三态输出:APPROVE(自动放行)、DENY(直接阻止)、ESCALATE(降级人工审批)。相当于在规则和人工之间加了一个 AI 审查员。
- Tirith 安全扫描:Rust 编写的外部扫描器,执行前检测内容威胁,带供应链签名验证。
- 8 种沙箱后端:Local、Docker、SSH、Modal、Daytona、Singularity、Vercel Sandbox 等。
三、Part III:架构对比与落地延伸思考
1. 核心分歧
- OpenClaw:微内核平台。为多团队、长期演进设计,通过强契约插件 SDK 保证可扩展性,代价是上手陡。
- Hermes:单体工具。为个人开发者极速闭环设计,通过自注册和自创建不断丰富能力,代价是核心耦合难演进。
- 共同判断:两者都把 记忆 作为一级主战场,投入巨大设计复杂度,认为这是 Agent 长期价值的关键。
2. 面向落地的 7 个延伸方向
- 协议互通:OpenClaw 已能同时扮演 MCP Server/ACP Server/HTTP API/CLI Backend 驱动者,实现“任意位置可插拔”。
- 记忆分层与千人千面:可将 Dreaming 延伸,为记忆打类型标签(事实/偏好/程序),并基于用户行为数据隔离,让同一算法为不同用户沉淀个性化长期记忆。
- 上下文工程(引入 Anthropic 理论):
- 上下文焦虑症:长周期任务中,模型因窗口逼近极限而遗忘、注意力崩溃、提前收工。
- 上下文重置(Context Reset):比压缩更激进,直接起新 Agent,通过结构化 Handoff 文件(状态快照、决策日志等)传递关键状态,彻底清除噪声。
- 提出从“等 overflow 才压缩”转向 预防性两阶段 Session 轮换(60% 同步,80% 切换)。
- 能力管理:Hermes 的渐进式披露可直接迁移至后台云端 Skill 体系,实现能力 O(1) 成本加载。
- 确定性编排:将已验证的稳定流程从 Skill(指引式)固化为 Workflow(确定性图编排),LLM 只在决策节点介入。
- 多 Agent 协作:
- 借鉴 Anthropic 的 GAN-like 架构:Planner(定规划与 Sprint Contract)→ Generator(执行)→ Evaluator(用 Playwright 等动态测试进行对抗性验证)。
- 关键目标:消除自我评估偏差,通过角色分离和“物理现实锚点”打破幻觉闭环。
- 提出在现有子 Agent 机制上叠加独立的 Evaluator Agent 角色。
- Harness Engineering(全链路治理):
- 本质:系统性地缩小“依赖模型自觉性”的面积。通过执行前拦截、执行中约束(预算/重置)、执行后对抗性验证,构建可靠的执行环境。
- 模型-脚手架动态平衡:模型越强,Harness 可越简化,但核心原则(角色分离、对抗验证、上下文管理)不变。
- 模型能力决定上限,Harness 设计决定能否落地。
3. 模式坐标系
以 Google《Agentic Design Patterns》的 21 个模式为尺,度量两框架的覆盖与空白,暴露出共同的短板:Goal Setting and Monitoring 较弱,Evaluation and Monitoring 缺少对抗性评估,Exploration and Discovery 不在定位内——而这些正是延伸思考要补齐的方向。
总结
OpenClaw 与 Hermes 不是同个目标的两种实现,而是两类场景的成熟取舍:前者是平台架构师的范本(微内核、强契约、可演进),后者是个人开发者的瑞士军刀(一体化、自创建、极速闭环)。无论哪种路径,记忆系统都是 Agent 长期价值的核心战场,而“上下文焦虑症”和“自我评估偏差”是长周期任务必须直面的工程难题。构建可靠的 AI Agent,不仅需要更聪明的模型,更需要精心设计的 Harness(治理框架) 来提供手、眼、记忆和安全边界。
感谢你看到这里,如果喜欢咪的Coding的话可以点个关注支持一下吧!也欢迎各位在评论区留言!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)