三大 Agent 框架比较:Claw Code、GenericAgent、Hermes Agent
三个框架代表了 AI Agent 设计的三种不同哲学:功能对等的工程严谨性、极简自进化、持续学习的全能平台。
一、定位对比
| 维度 | Claw Code | GenericAgent | Hermes Agent |
|---|---|---|---|
| 核心定位 | Claude Code 的 Rust 重写版 | 极简自进化自主 Agent | 持续学习的全能 Agent 平台 |
| 设计哲学 | 功能对等优先,Rust 带来确定性 | 不预设技能,靠进化获得能力 | 闭环学习,Agent 随使用持续成长 |
| 代码规模 | ~20K 行 Rust(9 crate) | ~3K 行 Python(核心极简) | 大型 Python 项目(run_agent.py ~12K LOC) |
| 语言 | Rust | Python | Python + TypeScript (TUI) |
| Stars | 100K+ | 10.9K | 144K |
二、架构风格对比
2.1 分层方式
Claw Code — 严格的 Cargo Workspace 分层,9 个 crate 各司其职:
入口层 (rusty-claude-cli)
→ 运行时层 (runtime)
→ API 层 (api)
→ 工具层 (tools)
→ 插件层 (plugins)
→ 遥测层 (telemetry)
编译时隔离,依赖关系显式声明,是三者中工程化程度最高的。
GenericAgent — 扁平的单文件核心,职责通过文件名区分:
agent_loop.py(心脏,~100 行)
→ ga.py(肌肉,工具执行 + 记忆)
→ llmcore.py(神经系统,LLM 抽象)
极简到极致,核心逻辑一眼看穿。
Hermes Agent — 功能模块化,但核心集中在单个巨型文件:
run_agent.py(核心,~12K LOC,~60 个初始化参数)
→ model_tools.py(工具编排)
→ gateway/(多平台网关)
→ skills/ + agent/(学习系统)
功能最全,但核心文件体量大,理解成本高。
2.2 工具系统设计
| 维度 | Claw Code | GenericAgent | Hermes Agent |
|---|---|---|---|
| 工具数量 | 8 个内置工具 | 9 个原子工具 | 大量内置工具 + 动态注册 |
| 扩展方式 | Plugin 系统 + MCP | code_run 万能扩展 | Plugin + MCP + Skills Hub |
| 工具发现 | 静态定义 | 命名约定路由(do_{name}) | discover_builtin_tools() 自动发现 |
| 工具精度 | Hash-anchored 编辑(内容级验证) | 标准工具调用 | 标准工具调用 |
GenericAgent 的 code_run 是最激进的设计——任何新能力都通过执行代码获得,无需修改框架本身,但安全风险最高。Claw Code 的 Hash-anchored Edit 是三者中最精确的文件编辑方案。
三、记忆与学习机制
这是三者差异最大的维度。
Claw Code: 会话持久化 + CLAUDE.md 项目记忆(无跨会话学习)
↓
GenericAgent: 工作记忆 → 全局洞察 → 技能固化 → 技能树(被动进化)
↓
Hermes Agent: Memory + Skills + Session Search + User Profile(主动学习闭环)
| 记忆类型 | Claw Code | GenericAgent | Hermes Agent |
|---|---|---|---|
| 会话持久化 | ✅ --resume latest | ✅ L4_raw_sessions | ✅ SQLite + FTS5 |
| 跨会话记忆 | ❌(CLAUDE.md 是手动的) | ✅ global_mem_insight | ✅ Memory + User Profile |
| 技能积累 | ❌ | ✅ skill_search/ Python 脚本 | ✅ Skills(自动改进) |
| 主动学习 | ❌ | 半自动(任务完成后固化) | ✅ Nudge 机制主动保存 |
| 跨会话搜索 | ❌ | ❌ | ✅ FTS5 全文搜索 + LLM 摘要 |
核心差异:Claw Code 是无状态工具(每次从 CLAUDE.md 重建上下文);GenericAgent 是被动进化(解决问题后固化技能);Hermes Agent 是主动学习(定期 nudge 保存知识,构建用户画像)。
四、多平台与多环境支持
Claw Code — 专注 CLI,支持多 LLM Provider(Claude + OpenAI 兼容),ModelFamilyIdentity 区分身份:
- 单一 CLI 入口
- 5 层配置文件合并(全局 → 项目 → 个人)
- 沙箱隔离(
unshare)
GenericAgent — 多前端,专注本地系统控制:
- TUI / Qt / Streamlit / 微信 / QQ / 飞书 / 钉钉
- CDP 注入真实浏览器(保留登录态)
- ADB 控制 Android 设备
- 是三者中本地系统控制能力最强的
Hermes Agent — 多平台消息网关,专注跨平台统一:
- 10+ 消息平台(Telegram / Discord / Slack / WhatsApp / Signal / Email / 微信 / 钉钉)
- 7 种终端后端(Local / Docker / SSH / Modal / Daytona / Singularity / Vercel)
- 是三者中平台覆盖最广的
五、安全模型对比
| 维度 | Claw Code | GenericAgent | Hermes Agent |
|---|---|---|---|
| 默认权限 | danger-full-access(高风险) | 无明确权限控制 | 命令审批机制 |
| 沙箱 | unshare 沙箱 | 无(真实环境) | 容器隔离 |
| 多用户隔离 | 配置文件隔离 | 无 | Profile 隔离 |
| 安全取向 | 开箱即用优先 | 能力优先 | 安全优先(有审批摩擦) |
Hermes Agent 安全机制最完善,但用户体验有审批摩擦;GenericAgent 安全最弱,code_run 可执行任意代码;Claw Code 默认 danger-full-access 是一个有意识的取舍——减少摩擦,但需要用户自己承担风险。
六、测试策略对比
| 维度 | Claw Code | GenericAgent | Hermes Agent |
|---|---|---|---|
| 测试规模 | Parity harness(10 场景,19 请求) | 无明显测试体系 | ~17K 测试,~900 文件 |
| 测试方式 | 确定性 Mock 服务 + 脚本化场景 | — | Pytest |
| 测试目标 | 与上游 TypeScript 功能对等 | — | 功能正确性 |
| CI/CD | GitHub Actions | GitHub Actions | GitHub Actions(CI 时间长) |
Hermes Agent 测试体量最大(17K 测试),Claw Code 测试策略最独特(Parity Harness),GenericAgent 工程化最弱。
七、设计哲学的本质差异
Claw Code: "重写不是创新,是用更好的材料建同一栋楼"
→ 功能对等 + Rust 确定性 + 工程严谨性
GenericAgent: "框架越薄,Agent 越自由"
→ 极简种子 + 自进化 + 无限可能
Hermes Agent: "Agent 应该像人一样成长"
→ 闭环学习 + 持续进化 + 全能平台
三者的核心矛盾
- Claw Code 的矛盾:功能对等约束了创新空间,Rust 带来确定性但开发速度慢。
- GenericAgent 的矛盾:极简带来自由,但初始能力弱,需要”养”;
code_run万能但不安全。 - Hermes Agent 的矛盾:功能最全但复杂度最高;主动学习强大但 run_agent.py 的 12K LOC 是维护噩梦。
八、选型建议
| 场景 | 推荐 |
|---|---|
| 需要 Claude Code 功能 + Rust 性能 | Claw Code |
| 个人本地自动化(外卖、支付、文件管理) | GenericAgent |
| 多平台消息 Bot + 持续学习 Agent | Hermes Agent |
| 学习 Agent 架构设计 | GenericAgent(代码最少,最易理解) |
| 企业级 Agent 部署 | Hermes Agent(安全机制最完善) |
| 研究 Rust 大型项目架构 | Claw Code(Cargo Workspace 最佳实践) |
九、可复用的架构模式汇总
从三者中提炼出的通用模式:
- ReAct 循环极简实现(GenericAgent)— 100 行实现完整 Agent Loop
- 命名约定路由(GenericAgent)—
do_{tool_name}无需注册表 - Skill 固化模式(GenericAgent + Hermes)— 执行路径 → 可复用技能
- Parity-First 重写策略(Claw Code)— manifest 提取 + 确定性 mock
- 分层配置合并(Claw Code)— 全局 → 项目 → 个人的覆盖链
- Provider-Aware 身份(Claw Code)— 多 LLM 后端的统一抽象
- 适配器模式(Hermes Agent)— Gateway 平台适配 + 终端后端适配
- Nudge 机制(Hermes Agent)— 主动提醒 Agent 保存知识
- FTS5 跨会话搜索(Hermes Agent)— SQLite 全文搜索 + LLM 摘要