Letta vs Hermes Agent 详细对比
适合 Java 后端程序员的 AI Agent 框架对比指南
项目地址
一、两者概述
| 维度 | Letta (原 MemGPT) | Hermes Agent |
|---|
| 开发者 | Letta Inc. (UC Berkeley 研究出身) | Nous Research |
| GitHub | letta-ai/letta | NousResearch/hermes-agent |
| 类型 | 有状态 LLM Agent 框架 + REST 服务 | 自改进 AI Agent + CLI/IM 网关 |
| License | Apache 2.0 | MIT |
| 定位 | Agent 基础设施 / 后端服务 | 个人 AI 助手 / 终端 Agent |
| 口号 | The stateful agent framework | The agent that grows with you |
二、核心理念对比
Letta 的理念:Agent 即服务
核心思想:Agent 是一个有状态的微服务,提供 REST API,可以被任何应用调用。重点在记忆架构和多租户。
外部应用 → REST API → FastAPI Router → Agent Loop (step) → LLM Client + Tool Executor → PostgreSQL (Messages + Memory + pgvector)
Hermes 的理念:Agent 即伙伴
核心思想:Agent 是一个个人助手,能跨平台对话、自动学习技能、定时执行任务。重点在终端体验和自改进。
用户 → CLI/TUI 或 IM Gateway (Telegram/Discord...) → Hermes Core → Memory + Skills + Cron Scheduler → LLM Provider (300+ models)
三、核心功能对比
1. 记忆系统
| 功能 | Letta | Hermes |
|---|
| Core Memory | ✅ Memory Blocks (persona, human) | ✅ MEMORY.md + USER.md |
| Archival Memory | ✅ 向量数据库 (pgvector) | ✅ FTS5 全文搜索 |
| 对话历史搜索 | ✅ conversation_search 工具 | ✅ 会话搜索 + LLM 摘要 |
| 用户建模 | human block (简单文本) | ✅ Honcho 辩证用户建模 (更深) |
| 记忆自动管理 | ✅ Summarizer 自动压缩 | ✅ Agent 自主策展 + nudge |
| 跨会话记忆 | ✅ 数据库持久化 | ✅ 跨会话持久 |
2. 工具系统
| 功能 | Letta | Hermes |
|---|
| 内置工具 | send_message, memory, archival_search | 40+ 工具 |
| 工具执行 | 沙箱执行 (Docker/E2B) | 7 种终端后端 (local/Docker/SSH/Modal...) |
| MCP 支持 | ✅ MCP 客户端 | ✅ MCP 集成 |
| 自定义工具 | ✅ Python 函数 | ✅ Skills 系统 |
| 工具审批 | ✅ approval 机制 | ✅ 命令审批 + DM 配对 |
3. 部署形态
| 功能 | Letta | Hermes |
|---|
| REST API 服务 | ✅ FastAPI 开箱即用 | ❌ (主打 CLI/IM) |
| CLI/TUI | 有 CLI 但不是重点 | ✅ 核心体验,完整 TUI |
| IM 平台 | ❌ | ✅ Telegram, Discord, Slack, WhatsApp, Signal |
| 定时任务 | 有 jobs 模块 | ✅ Cron 调度器 (核心功能) |
| 语音 | ✅ Voice Agent | ✅ 语音转写 |
| 自托管 | ✅ Docker | ✅ 可跑在 $5 VPS 上 |
4. 自改进能力
| 功能 | Letta | Hermes |
|---|
| 技能学习 | ❌ 无自动技能学习 | ✅ 自动从经验创建 Skills |
| 技能改进 | ❌ | ✅ Skills 在使用中自我改进 |
| 知识持久化 | 靠 memory 工具手动 | ✅ Agent 自我 nudge 持久化知识 |
| 兼容标准 | 自有格式 | ✅ agentskills.io 开放标准 |
5. 多 Agent
| 功能 | Letta | Hermes |
|---|
| 多 Agent 协作 | ✅ Groups (round_robin, supervisor, sleeptime) | ✅ 子 Agent 并行 (isolated subagents) |
| 编排方式 | 图式编排 | RPC 脚本调用 |
| 后台 Agent | ✅ Sleeptime Agent | ✅ Cron 定时 |
6. LLM 支持
| 功能 | Letta | Hermes |
|---|
| 多 Provider | ✅ OpenAI, Anthropic, Ollama, Google, Bedrock 等 | ✅ 300+ 模型 (Nous Portal/OpenRouter/OpenAI...) |
| 切换模型 | 修改 agent 配置 | hermes model 一键切换 |
| 本地模型 | ✅ Ollama/vLLM/SGLang | ✅ 任意 endpoint |
| 自有模型 | 无 | ✅ Hermes 系列 LLM (同公司) |
四、架构对比
Letta 架构(服务端优先)
[外部应用] → REST API → FastAPI Router → Agent Loop (step) → LLM Client + Tool Executor → OpenAI/Claude + Sandbox (Docker) → PostgreSQL (Messages + Memory + Agents + pgvector)
Hermes 架构(终端优先)
[用户] → CLI/TUI 或 IM Gateway → Hermes Core → Memory (SQLite) + Skills (自学习) + Cron Scheduler → LLM Provider (300+ models) → Terminal Backend (local/Docker/SSH/Modal/Daytona/Vercel)
五、技术栈对比
| 技术 | Letta | Hermes |
|---|
| 语言 | Python | Python + Bash (installer) |
| Web 框架 | FastAPI | 无 (CLI/TUI 为主) |
| 数据库 | PostgreSQL + pgvector | SQLite + FTS5 |
| ORM | SQLAlchemy | (轻量) |
| 数据模型 | Pydantic | Pydantic |
| LLM SDK | openai, anthropic 等 | 自有 + OpenRouter |
| 部署 | Docker / 自托管 | 一键脚本安装 |
| 运行时 | uvicorn (ASGI) | uv (Astral) |
| 终端后端 | Docker, E2B | local, Docker, SSH, Singularity, Modal, Daytona, Vercel |
六、适用场景对比
选 Letta 如果你需要:
- ✅ 构建多租户的 Agent SaaS 平台
- ✅ 需要 REST API 集成到自己的应用
- ✅ 需要精细的记忆架构控制 (Core/Archival/Recall)
- ✅ 需要多 Agent 编排 (supervisor, round robin)
- ✅ 企业级部署,需要 PostgreSQL 持久化
- ✅ 构建垂直领域的智能客服/助手后端
选 Hermes 如果你需要:
- ✅ 一个个人 AI 助手,跨终端使用
- ✅ 通过 Telegram/Discord/Slack 等聊天工具对话
- ✅ Agent 能自动学习技能并自我改进
- ✅ 需要定时任务 (每日报告、定时备份)
- ✅ 想跑在便宜 VPS 上 ($5/月)
- ✅ 想要终端 TUI 体验
- ✅ 需要子 Agent 并行处理多任务
七、记忆系统深度对比
Letta 的记忆(结构化、分层)
Context Window (LLM 看到)
├── System Prompt (含 memory blocks 编译)
│ ├── persona block
│ └── human block
├── 消息历史 (in-context messages)
└── 工具定义
数据库 (LLM 看不到,需搜索)
├── Messages 表 (完整对话历史)
├── Passages 表 (archival memory, 向量索引)
└── Blocks 表 (memory blocks 持久化)
工具触发:
- conversation_search → 搜索消息历史
- archival_memory_search → 搜索向量库
- core_memory_append/replace → 修改 core memory
Hermes 的记忆(Agent 自主管理)
~/.hermes/
├── MEMORY.md ← Agent 自己写的记忆文件
├── USER.md ← 对用户的认知
├── sessions/ ← 对话历史 (SQLite FTS5)
└── skills/ ← 自主学习的技能 (过程性记忆)
机制:
- Agent 自主决定记什么 (不是用户配的)
- 定期 nudge: 要不要把刚才学的存下来?
- Skills 在使用中自动改进
- Honcho: 辩证式用户建模 (更深的心智模型)
核心差异:
- Letta = 你(开发者)设计记忆架构,LLM 按规则用
- Hermes = Agent 自己决定怎么记、记什么,更像人类记忆
八、Java 程序员视角的类比
| 角色 | Letta | Hermes |
|---|
| Java 类比 | Spring Cloud 微服务 | 一个功能丰富的 CLI 工具 (像 cobra CLI) |
| 类比产品 | 美团的 Agent 托管平台 | 像 ChatGPT App + IFTTT |
| 交互方式 | API 调用 | 命令行/IM 聊天 |
| 状态存储 | 关系型数据库 | 嵌入式数据库 (SQLite) |
| 扩展方式 | 自定义 Tool 函数 | 编写 Skill |
九、总结对比表
| Letta | Hermes |
|---|
| 一句话 | 有状态 Agent 后端服务 | 自改进个人 AI 助手 |
| 定位 | B2B / 开发者 | B2C / 个人用户 |
| 核心特色 | 记忆架构 + REST API | 自学习 + 多平台 |
| 部署形态 | 服务端 (Docker/Server) | 终端 ($5 VPS 也行) |
| 交互方式 | API | CLI/TUI + IM |
| 记忆哲学 | 结构化分层 (Core/Archival) | Agent 自主策展 |
| 数据库 | PostgreSQL (重) | SQLite (轻) |
| 最佳场景 | 构建 Agent 平台 | 个人使用 Agent |
| 学习曲线 | 较陡 (需理解记忆架构) | 平缓 (一键安装) |
十、两者可以配合吗?
理论上可以,但不常见:
- Letta 提供 REST API,Hermes 可以通过 MCP 或 HTTP 调用 Letta 的 Agent
- 但实际上两者定位不同,通常二选一:做产品后端 → Letta,做个人助手 → Hermes
对你的建议(Java 后端程序员):
- 如果你想学习 Agent 架构原理 → Letta 更适合(架构清晰,有 Java 版实现)
- 如果你想要一个个人 AI 助手 → Hermes 更适合(开箱即用)
- 如果你想在企业里部署 → Letta 更适合(有 REST API、多租户)
以上就是 Letta 和 Hermes Agent 的详细对比,希望对大家选择合适的 AI Agent 框架有所帮助!