02 — 从 Hermes Agent 可以借鉴什么
02 — 从 Hermes Agent 可以借鉴什么
逐维度对比你的体系和 Hermes Agent,识别可引入的理念和机制。
一、Skill 自我进化 vs 手动维护
Hermes 的做法
Hermes 的 skill 有一个 闭环学习周期:
- 用户完成复杂任务后,agent 自动提取可复用的模式
- 自动创建新 skill 或更新现有 skill
- 下次遇到类似任务时自动应用
- Skill 在使用中不断被修正和优化
这不是简单的"记住上次怎么做",而是 把经验固化为可执行的工作流。
你现在的做法
- Skill/Command 完全手动创建和维护
/recap可以更新 memory,但不会自动产生新 skill/cmd-stats可以淘汰低频 skill,但不会自动产生高频 skill- 新 skill 的发现完全靠你自己观察"我又在重复做什么了"
可借鉴的方向
Skill 候选池机制:在 /recap 或 /handoff 中加一个步骤 —— 分析本次会话是否有 重复出现的工作模式 尚未被 skill 覆盖。如果有,不是直接创建 skill,而是写入一个候选池(比如 ~/.claude/skill-candidates.md),积累到 2-3 次类似模式后再正式创建。
Skill 版本和反馈追踪:给 skill 文件加 version 和 last_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 pull | git_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 — 观望 |