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 框架有所帮助!
所有评论(0)