跳转到主要内容

02 — 从 Hermes Agent 可以借鉴什么

2026年4月24日
10 分钟阅读
框架分析

02 — 从 Hermes Agent 可以借鉴什么

逐维度对比你的体系和 Hermes Agent,识别可引入的理念和机制。


一、Skill 自我进化 vs 手动维护

Hermes 的做法

Hermes 的 skill 有一个 闭环学习周期

  1. 用户完成复杂任务后,agent 自动提取可复用的模式
  2. 自动创建新 skill 或更新现有 skill
  3. 下次遇到类似任务时自动应用
  4. Skill 在使用中不断被修正和优化

这不是简单的"记住上次怎么做",而是 把经验固化为可执行的工作流

你现在的做法

  • Skill/Command 完全手动创建和维护
  • /recap 可以更新 memory,但不会自动产生新 skill
  • /cmd-stats 可以淘汰低频 skill,但不会自动产生高频 skill
  • 新 skill 的发现完全靠你自己观察"我又在重复做什么了"

可借鉴的方向

Skill 候选池机制:在 /recap/handoff 中加一个步骤 —— 分析本次会话是否有 重复出现的工作模式 尚未被 skill 覆盖。如果有,不是直接创建 skill,而是写入一个候选池(比如 ~/.claude/skill-candidates.md),积累到 2-3 次类似模式后再正式创建。

Skill 版本和反馈追踪:给 skill 文件加 versionlast_feedback 字段。每次用户纠正 skill 的行为时,记录反馈。积累到一定量后提示你做一次 skill 更新。

难度:中等。主要是修改 /recap/handoff 的 prompt,加入 skill 候选分析逻辑。


二、记忆搜索 vs 记忆索引

Hermes 的做法

  • FTS5 全文搜索:SQLite 内置全文索引,可以搜索所有历史记忆
  • LLM 摘要回忆:搜索结果经过 LLM 排序和总结,返回最相关的上下文
  • 跨会话搜索:可以搜索任意历史对话中产生的记忆

你现在的做法

  • MEMORY.md 是一个 150 字符/行的索引,CC 启动时加载
  • 要找具体记忆需要读对应的 .md 文件
  • 超过 200 行的 MEMORY.md 会被截断
  • cclog 有 SQLite 索引,但和 CC 内部记忆是断裂的 —— cclog 在外部,CC 看不到
  • 没有全文搜索能力,CC 只能靠 MEMORY.md 的一行描述来判断要不要读某个记忆文件

可借鉴的方向

记忆全文索引:写一个脚本,扫描所有 ~/.claude/projects/*/memory/*.md,建立 SQLite FTS5 索引。然后提供一个 MCP tool 或 command 让 CC 可以搜索。

cclog 与 CC 记忆的桥接:cclog 已经有了会话索引和摘要能力。如果能把 cclog 的搜索结果通过 MCP 暴露给 CC,CC 就能在对话中直接搜索历史会话。这比现在"退出 CC → 用 cclog 搜 → 回到 CC"的流程流畅得多。

记忆衰减和清理:你现在的记忆不会过期。Hermes 的做法是周期性反思,清理过时记忆。你可以在 /recap 中加一个步骤:检查当前项目的记忆文件,标记/删除不再有效的记忆。

难度:中高。FTS5 索引脚本不难,但 MCP 集成需要一些工作。


三、用户建模 vs 简单画像

Hermes 的做法

  • 使用 Honcho 辩证法 建模用户
  • 不只是"你是谁",而是动态追踪:
    • 你的认知风格(喜欢先看全局还是先看细节)
    • 你的决策模式(倾向快速行动还是充分分析)
    • 你在不同领域的专业度差异
    • 你的情绪和耐心状态

你现在的做法

# user_role.md
水利工程师,harness engineering 理念,中文交流

# user_hardware.md  
MacBook Air M4, macOS 26.5 beta

这两个文件加起来可能不到 10 行。CC 对你的了解非常浅——知道你是水利工程师,用中文,但不知道:

  • 你对 Python/Shell/前端/后端的熟练度分别是多少
  • 你在什么情况下需要详细解释 vs 直接给代码
  • 你对不同类型任务(写文档 vs 写代码 vs 运维)的偏好差异
  • 你的工作节奏(什么时候适合提建议,什么时候直接执行)

可借鉴的方向

丰富用户画像:把 user_role.md 扩展为一个多维画像。不需要 Honcho 那么复杂,但至少应该覆盖:

## 技术栈熟练度
- Python: 高(日常主力,数据处理+自动化+Web)
- Shell/Zsh: 高(大量自定义脚本)
- JavaScript/React: 中(Tauri 前端)
- Rust: 低(Tauri 后端,但很少直接写)
- SQL: 中(SQLite 为主)

## 工作模式偏好
- 倾向简洁直接的回复,不需要解释思路
- 代码优先,文档其次
- 喜欢一步到位(commit+push 不分轮)
- 对 CC 的使用非常深度,不需要教学式回复

## 领域知识
- 水利工程:专业级
- DevOps/VPS 运维:中高级
- CC harness engineering:专家级(比大多数用户深入得多)

这些信息大部分已经散落在你的 feedback 记忆里,只是没有被整合成一个完整的画像。

难度:低。手动整理一次即可。


四、多渠道入口 vs 纯 CLI

Hermes 的做法

  • 统一网关进程,支持 Telegram / Discord / Slack / WhatsApp / Signal / CLI
  • 同一个 agent 实例,多个入口
  • 在手机上也能触发任务、查看结果

你现在的做法

  • CLI(终端直接用 CC)
  • Raycast(快捷命令触发脚本,但不是和 CC 对话)
  • Dashboard(Web UI 看状态,但不能操作)

可借鉴的方向

Telegram Bot 作为轻量入口:你已经有 VPS,搭一个 Telegram bot 不难。核心场景:

  • 在手机上触发 /scan/health/pull 等运维命令
  • 接收 dashboard 的异常告警(比如某个 repo 三天没推送)
  • 远程查看 tasks.json 的当前状态

不需要做成完整的对话 agent,只需要一个 命令转发 + 状态查询 的轻量 bot。

Dashboard 增加操作能力:目前 dashboard 是只读的。可以加一些按钮:

  • "Deploy" 按钮触发 /deploy
  • "Pull All" 按钮触发批量 git pull
  • "Scan Tasks" 按钮刷新 tasks.json

这些按钮调用 VPS 上的脚本即可,不需要 CC 参与。

难度:中。Telegram bot 半天能搭好,dashboard 操作按钮是 Streamlit 原生支持的。


五、定时调度 vs 事件驱动

Hermes 的做法

  • 内置 cron 调度器
  • 支持定时任务:每天总结、每周清理、定时检查
  • 任务结果可以跨渠道交付(比如 cron 产出发到 Telegram)

你现在的做法

  • Hook 驱动(Stop / SessionEnd / PostToolUse)
  • 没有独立的定时调度(不在 CC 会话中就没有自动化)
  • /scan/health 都需要手动触发或在会话结束时触发

可借鉴的方向

launchd 定时任务:macOS 原生的 cron 替代。可以设定:

频率任务脚本
每日 8:00批量 git pullgit_smart_push.py --pull
每日 22:00健康检查 + 通知health_check.py → macOS 通知
每周一扫描任务状态task_analyzer.py --force
每周五Auggie 索引检查auggie scanner → 通知

结果可以写文件(让 CC 下次看到)或弹 macOS 通知。

CC 的 Remote Trigger / Schedule:CC 自身已经有 /schedule skill 和 CronCreate 工具。你可以用这些来设定 CC 级别的定时任务,比如每天自动运行一次 /health 并把结果写到某个文件。

难度:低。launchd plist 文件很简单,CC 内置的 schedule 机制更简单。


六、闭环学习 vs 线性记忆

Hermes 的做法

  • 周期性自省提示:每隔 N 轮对话,agent 暂停思考"我学到了什么"
  • 主动知识持久化:不等用户要求,自动把有价值的发现写入记忆
  • 用户模型持续更新:根据用户的反应调整对用户的理解

你现在的做法

  • CC 的 auto memory 机制会自动保存一些记忆(你已经开启了)
  • /recap 手动触发回顾,但需要你记得去用
  • 记忆更新是被动的:要么 CC 自动写,要么你手动 /recap

可借鉴的方向

在 Stop hook 中加入轻量回顾:现在的 Stop hook 只弹通知。可以在通知之前加一步:如果会话超过 20 条消息,自动运行一个轻量分析(不需要 LLM,纯规则),检查:

  • 是否有新的 feedback 类记忆值得写入
  • 是否有 skill 被纠正过
  • 是否有新发现的外部资源

Skill 使用日志:记录每次 skill 被调用的时间和结果(成功/被纠正/被跳过)。这个数据比 /cmd-stats 更丰富——不只是"用了几次",还有"用的效果怎么样"。

难度:中。需要修改 hook 脚本和 skill 模板。


七、Skill 标准化 vs 私有格式

Hermes 的做法

  • 兼容 agentskills.io 开放标准
  • Skill 有标准化的元数据格式
  • 理论上可以和其他 agent 共享 skill

你现在的做法

  • Command 是 Markdown prompt 模板,格式自由
  • Skill 有 frontmatter(name/description/type),但格式是自定义的
  • 不能与其他系统互操作

可借鉴的方向

这个优先级较低。你的 skill 是为 CC 定制的,目前没有跨平台需求。但如果未来你想把 skill 分享给其他 CC 用户(比如水利行业同事),一个标准化的格式会有帮助。

可以关注 agentskills.io 的发展,等标准成熟后再考虑对齐。

难度:低(暂不需要行动)。


八、子代理委托 vs 平铺执行

Hermes 的做法

  • 可以生成隔离的子代理执行并行工作流
  • 子代理有独立的工具权限和上下文
  • 结果自动汇总回主 agent

你现在的做法

  • 有 2 个 agent 定义(bid-chapter-writer, project-content-checker)
  • CC 内置的 Agent tool 可以生成子代理
  • 但大部分 command 是串行执行的(比如 /groom 是线性管线)

可借鉴的方向

/audit 并行化:当 /audit 需要检查多个 repo 时,可以为每个 repo 生成一个子代理并行执行,最后汇总结果。目前是串行逐个检查。

文档批处理:/review-deep 处理多个文档时,可以并行。

难度:低。CC 已经支持 Agent tool 并行调用,只需要修改 command prompt。


总结优先级矩阵

借鉴点价值难度建议优先级
丰富用户画像P0 — 立即做
定时调度(launchd/schedule)P0 — 立即做
Skill 候选池 + 自进化提示P1 — 本月做
记忆搜索(FTS5 + MCP)中高P1 — 本月做
cclog 与 CC 记忆桥接中高P2 — 季度内
Telegram Bot 轻量入口P2 — 季度内
Dashboard 操作能力P2 — 季度内
闭环学习(Stop hook 增强)P2 — 季度内
子代理并行化P3 — 随手做
Skill 标准化P3 — 观望