Hermes Agent
2026-04-15 21:25:38
核心记忆机制
记忆系统两层架构
- 内置记忆:MEMORY.md(2,200 字符限制,Agent 工作笔记)+ USER.md(1,375 字符限制,用户画像)
- 外部提供商:Mem0、Holographic 等(可选,叠加非替代)
记忆机制文件
- MEMORY.md 位于 ~/.hermes/memories/,主要保存 Agent 的工作笔记、环境事实和学到的技巧,通常主要由 Agent 维护。
- USER.md 位于 ~/.hermes/memories/,主要保存用户画像、偏好和沟通风格,通常主要由 Agent 维护。
- SOUL.md 位于 ~/.hermes/,主要保存 Agent 的人格、行为准则和固定规则,这部分更适合你自己来写。
- AGENTS.md 位于项目根目录,主要保存项目级行为规范和执行约束,这部分也更适合你自己来写。
MEMORY.md 更像 Agent 的工作笔记,会被整理、压缩,甚至替换掉过时内容。你的固定规则应该放在 SOUL.md,那里更适合承载稳定、不希望被自动重写的约束。
Agent-curated memory 机制
- 不是全量记录,而是策展机制,只保存"重要"内容
- 记忆冻结快照:会话中途的新记忆通常在后续会话才体现
- 触发记忆的关键:明确表达偏好、纠正错误、完成里程碑、明确要求记住
- nudge_interval 控制记忆整理频率(推荐 5-10)
技能自进化
触发条件
- 完成复杂任务
- 遇到错误后找到正确路径
- 用户纠正做法
- 发现可复用工作流
Skill 质量标准
- 触发条件清晰
- 步骤可执行
- 有验证方法
- 有注意事项
多 Agent 协作
Sub-Agent 限制
- 不继承主 Agent 历史上下文,必须在 context 中传完整背景
- 并发数建议 2-3 个起步,避免触发 API 限流
Profiles 功能
- 每个 profile 完全独立:配置、记忆、会话、技能
- 创建方式:hermes profile create name [--clone | --clone-all]
- 共享技能:通过 external_dirs 配置
生产化部署
后台运行
- Systemd:hermes gateway install
- Docker Compose:多容器部署(注意:不同容器不能挂载同一数据目录)
关键配置
- .env:API Key、Gateway 配置、平台接入白名单
- approvals.mode:manual(手动)| smart(智能)| off(关闭)
- GATEWAY_HEARTBEAT=true:防止静默失败
⚠️ 时区陷阱
- Cron 依赖服务器系统时区
- 国内服务器必须 Asia/Shanghai
- 配置前运行 timedatectl 确认
高级扩展
MCP 工具链
- Model Context Protocol:接入外部工具(文件系统、数据库、API)
- 配置文件:$HERMES_HOME/mcp.json
实用技巧
跨会话记忆保持
- 手动插入 Checkpoint:告诉 Agent 总结进度并写入记忆
- 任务状态文件:维护 TASK_STATUS.md 记录状态
记忆容量管理
- MEMORY.md 适合 8-15 条高价值事实
- USER.md 适合 5-10 条稳定偏好
- 建议控制在 70%-80%,避免塞满
成本控制
- 子任务尽量短、上下文清晰
- 控制最大轮次和并发数
- 考虑 Credential Pools 自动轮转 API Key
常见问题解决
Q: Agent 不记得? A: 会话太短没触发整理,或 Agent 认为不值得保存 → 明确说"请写入长期记忆"
Q: Cron 没按时触发? A: 检查 Gateway 运行状态 + 时区 + 手动运行测试
Q: Tirith 总是拦截? A: 调整 approvals.mode 到 smart,或添加白名单