记忆层
Honcho 中文指南:给 AI Agent 加跨会话“用户人格”记忆
Honcho 是 Plastic Labs 开源的“记忆即服务”(Memory-as-a-Service)平台。它不是单纯保存对话历史,而是为每个用户建立一个动态更新的“心智模型”(Theory of Mind):偏好、信念、沟通风格、过往关注点 —— 模型每次回复都能拿到这份用户画像作为上下文。
Honcho 是什么
Honcho 由 Plastic Labs 在 2024 年开源,定位是 AI Agent 的“个性化记忆层”。和传统的“对话历史”不同:
- 传统 chat history:保存原始消息,让模型每次重读
- Honcho:从消息里“推断”出用户的偏好/价值观/沟通方式,存为可查询的用户画像
核心 API 就两个:observe(user_id, message) 让 Honcho 学习用户;get_user_representation(user_id) 在生成回复前拿到这份画像作为 system prompt 的补充。
为什么不用 Hermes / OpenClaw 自带的记忆
Hermes Agent 自带工作区记忆(向量搜索过去的对话和文件)。OpenClaw 用 Qwen embedding 做 memorySearch。这两种都是“查询历史”式记忆 —— 模型问“用户上次问过什么”。
Honcho 解决的是另一个问题:“这个用户喜欢什么风格、相信什么、关心什么”。比如用户从来不喜欢长篇大论,Honcho 学到后会在用户画像里写“偏好简短回复”,模型每次都会自动收敛。
接入 Hermes Agent
方式 1:托管版(OpenClaw Launch)
- 在 Hermes Hosting 部署一个 Hermes 实例
- 在 Honcho 控制台拿到
HONCHO_API_KEY和HONCHO_APP_ID - 进 Dashboard 容器 shell,写到
~/.hermes/.env:
HONCHO_API_KEY=ph_...
HONCHO_APP_ID=my-bot
HONCHO_BASE_URL=https://demo.honcho.dev- 装 Honcho 的 MCP server:
hermes mcp install @honcho-ai/mcp-server下次对话 Hermes 会自动调用 get_user_representation 注入用户画像,回复后调用 observe 更新。
接入 OpenClaw
OpenClaw 自托管版本,在 ~/.openclaw/openclaw.json 加一个自定义 Skill 或 MCP server 配置,调用 Honcho API。托管版本目前还在路线图上,需要的用户邮件 [email protected] 反馈。
典型工作流
- 用户通过 Telegram / Discord / Web 给 Hermes 发消息
- Hermes 在回复前调
honcho.get_user_representation(user_id) - 把用户画像(“偏好中文回答”、“关注 SaaS 创业话题”)注入 system prompt
- 模型生成回复
- Hermes 回复后调
honcho.observe(user_id, exchange) - Honcho 更新这位用户的心智模型
Honcho vs Hermes / OpenClaw 自带记忆对比
| Hermes 自带 | OpenClaw Qwen Memory | Honcho | |
|---|---|---|---|
| 记忆类型 | 对话 + 工作区文件 | 向量搜索对话 | 每用户人格画像 |
| 查询方式 | 关键词 / 时间 | 语义相似度 | 用户画像注入 |
| 跨会话 | 部分(同 workspace) | 是 | 是(核心卖点) |
| 存储位置 | 容器本地 | 容器本地 | Honcho 云端或自托管 |
| 适用场景 | 单用户、项目上下文 | 同上 + 检索旧问题 | 多用户产品、个性化助手 |
什么时候该上 Honcho
- 给多个用户提供同一个 Hermes Bot(社区机器人、客服、团队助手)
- 希望机器人“记得”用户跨天跨周的偏好
- 需要超出原始对话历史的个性化(语气、风格、信仰)
- 做长期陪伴型 AI 助手
什么时候不需要
- 单用户工作助手(Hermes 自带记忆就够)
- 无状态 API 调用(直接 OpenAI / Claude 即可)
- 对延迟极其敏感 —— Honcho 每次会多 100-300ms 推理 + 查询开销
已知坑
- Honcho 自己用 LLM 来 distill 用户画像 —— 这部分有 token 成本
- 免费档(demo.honcho.dev)有 rate limit,生产环境建议自托管或上付费档
- 跨会话的“一致性”依赖 user_id 稳定 —— 同一个用户在不同渠道(Telegram + Discord)要传相同 user_id 才能合并画像