Reference 0002
Claude Code / OpenClaw / Hermes 对照矩阵
按组件横向比较三类 agent 样本,避免只背项目介绍。
1. 项目定位
| 条目 | 说明 |
|---|---|
| Claude Code | 公开产品和 SDK 样本,不按开源实现阅读;重点看代码库上下文、文件编辑、命令执行、git/CI、permissions、hooks、skills、subagents 和 Agent SDK。 |
| OpenClaw | 自托管 Gateway + embedded runtime,强在 channel、workspace、multi-agent routing。 |
| Hermes Agent | 开源 terminal/desktop agent,强在 provider routing、工具面、sandbox backend、memory provider 和 automation。 |
2. 关键差异
| 条目 | 说明 |
|---|---|
| 上下文 | Claude Code 以 repo/CLAUDE.md/skills 为核心;OpenClaw 以 workspace/session/Gateway 为核心;Hermes 以 context files/memory/tools/backend 组合。 |
| 执行 | Claude Code 面向开发命令;OpenClaw 面向 Gateway runtime;Hermes 可选择多种 terminal backend。 |
| 扩展 | Claude Code 用 skills/MCP/hooks/SDK;OpenClaw 用 skills/plugin runtime;Hermes 用 plugins/tools/skills/MCP。 |
3. 组件矩阵
| 组件 | Claude Code | OpenClaw | Hermes Agent | 学习重点 |
|---|---|---|---|---|
| Runtime loop | 从 CLI/SDK session 驱动 coding workflow,工具调用围绕 repo、Bash、Edit、Read、git/CI。 | agent loop 更显式:输入、context assembly、model inference、tool execution、streaming、persistence。 | terminal/desktop agent loop,provider、tool registry、backend 和 automation 共同决定执行路径。 | 画出输入到工具结果回写的闭环,不要只说“模型会调用工具”。 |
| Context / Workspace | repo、CLAUDE.md、skills、命令结果和文件 diff 组成主要上下文。 | workspace、agentDir、session store、channel attachments 和 tool results 是核心。 | 本地文件、conversation、memory、tool outputs 和 terminal backend 共同组成上下文。 | 区分 working context、workspace state 和 long-term memory。 |
| Memory / State | memory 主要作为 context 加载;硬性控制要靠 permissions/hooks。 | session/workspace/routing state 更重要,长期 memory 可通过外部系统扩展。 | MEMORY.md / USER.md 与 memory providers 提供更显式的长期记忆扩展面。 | 问清楚“状态为恢复服务,记忆为跨任务复用服务”。 |
| Tools / Skills | tools、MCP、skills、hooks 和 custom commands 形成开发者扩展体系。 | skills/plugin runtime 贴近自托管 runtime 能力扩展。 | 内置工具面广,涵盖 terminal、browser、file、memory、delegation、messaging 等。 | 工具 contract、权限、错误语义和 audit 比工具数量更重要。 |
| Orchestration | subagents 更适合代码任务内的上下文隔离和专门化。 | multi-agent routing、isolated agents、channel binding 更适合自托管多 agent 系统。 | delegation / automation 适合本地任务拆分和工具协作。 | 先判断单 agent 是否足够,再考虑 subagent、routing 或 harness。 |
| Sandbox / Security | permissions、hooks、用户确认和工具边界是关键。 | Gateway、workspace、auth profile 和部署边界决定 blast radius。 | terminal backend、工具权限、provider 配置和本地环境决定风险。 | 提示词不是安全边界,高风险动作要由系统层强制。 |
| Observability / Eval | SDK / OpenTelemetry / session 记录可用于 coding workflow trace。 | Gateway、session store 和 channel events 是 trace 入口。 | tool log、terminal log、conversation、memory provider 可组成复盘材料。 | trace 要能定位上下文、工具、模型、权限和编排的具体失败点。 |
4. 开源实现怎么读
| 对象 | 读法 | 不要怎么读 |
|---|---|---|
| Claude Code | 读官方文档和 SDK API,抽象出产品级架构边界:工具、权限、hooks、skills、subagents、observability。 | 不要把它当成可直接读源码的开源 runtime;也不要把产品能力等同于所有 agent 的通用实现。 |
| OpenClaw | 从 agent loop、context、workspace、multi-agent routing 入手,追踪 session 和 channel 如何进入 runtime。 | 不要只看功能列表,要找“状态在哪里、工具在哪里执行、谁负责路由”。 |
| Hermes Agent | 从配置、provider、tool registry、terminal backend、memory providers 入手,理解本地 agent 如何连接真实环境。 | 不要被工具数量吸引,核心是工具权限、backend 边界和长期记忆治理。 |
| HiClaw | 只在需要理解 harness/control-plane 时引入:多 runtime 接入、Manager/Worker、状态和部署治理。 | 不要强行把所有组件都映射回 HiClaw;本 mission 主线是三项目横向组件对照。 |
5. 选型结论
| 场景 | 优先架构 | 理由 |
|---|---|---|
| 代码库内改造、测试、PR、CI 修复 | Claude Code-like | 上下文天然是 repo,核心工具是读写文件、跑命令、git 和测试。 |
| 自托管、多 channel、多 isolated agents | OpenClaw-like | 需要 Gateway、workspace、session、channel routing 和 agent 隔离。 |
| 本地桌面/终端自动化、多 provider、多工具实验 | Hermes-like | 需要广工具面、terminal backend、provider 配置和本地 automation。 |
| 多个 runtime、多用户、多权限、多生命周期治理 | Harness / HiClaw-like | 重点不再是单个 runtime 能力,而是控制面、编排、审计和部署治理。 |