三个月,我把 Agent 装进了工作流 生活随笔 人工智能 agent Hermes 工具 工作流
我用 Hermes 大约三个月。它从一个实验性工具,嵌入了我的知识管理、写作和任务执行系统。这篇文章记录这个过程中踩过的坑、形成的配置策略,以及它在实际工作流中的定位。
Hermes 是什么#
Hermes 是 Nous Research 开发的开源 AI agent 框架。和 ChatGPT 这种对话式 AI 的区别在几个方面:它有持久记忆,可以直接操作文件系统和外部服务,支持 cron 定时任务主动推送,通过 skill 系统加载可复用的流程模板。
部署在本地 macOS 上,通过 Telegram Bot 交互。我在任何地方用手机发一条消息,它就能在我电脑上执行操作。
记忆系统:每次对话不是从零开始#
Hermes 有两个记忆区:memory(8000 字符,存储环境、项目、偏好等事实)和 user_profile(6000 字符,存储用户身份和长期偏好)。每次对话开始时,这些记忆自动注入上下文。
实际效果:我不需要每次交代「我的 vault 在哪」「我当前在做什么项目」「我偏好中文回复」。它都知道。我说「把第二基地暂停」,它理解「第二基地」是我们之前多轮推演出的年赚百万产品线,然后自动去 Linear 把四个活跃任务移回 Backlog,更新项目的 summary 标注暂停日期。
持久记忆意味着使用时间越长,上下文越准确。但有一个维护成本:记忆区有字符上限,需要定期清理过期信息。我的策略是只存「下周还会用到的事实」。项目路径、工具链配置、写作偏好。临时的任务状态不存。
从聊天到执行:工具链和 MCP#
Hermes 的工具调用是它和对话式 AI 最大的区别。它不只是生成文本,它可以:
- 读写本地文件系统(在我的 vault 里创建笔记、修改 frontmatter、更新索引)
- 执行 shell 命令(git 操作、构建、安装依赖)
- 通过 MCP 协议连接外部服务(Linear 任务管理、GitHub 仓库操作、飞书文档)
MCP(Model Context Protocol)是一种标准化的 agent-工具接口,让 Hermes 可以接入任何实现了 MCP 的服务。我目前接入了三个:
| 服务 | 用途 |
|---|---|
| Linear | 创建/查询/更新 issue,项目管理 |
| GitHub | 读 PR、查 diff、管理仓库 |
| 飞书 | 文档读写、云空间文件管理 |
审批策略设为 smart 模式:高风险操作(删除文件、执行危险命令)需要确认,低风险操作(读文件、搜索、创建笔记)自动放行。配置项在 ~/.hermes/config.yaml 的 approvals.mode 字段。
Cron:从被动响应到主动推送#
这是 Hermes 和大多数 AI 工具拉开差距的功能。
传统的 AI 交互模式是「用户发起,AI 响应」。Hermes 支持 cron 定时任务,可以主动在预设时间点执行工作流并推送结果。我目前运行四个定时任务:
| 时间 | 任务 | 内容 |
|---|---|---|
| 每天 08<30>30> | 晨间简报 | vault 变动摘要、待处理提醒、好文积压 |
| 每天 22<00>00> | 晚间收回件 | 全天产出汇总、冷笔记发现、草稿状态 |
| 每天 23<00>00> | 每日收获提醒 | 一句话:「今天有什么收获?」 |
| 每周日 10<00>00> | 内容发布周报 | 草稿积压、发布统计 |
每个 cron 任务在独立的 session 中运行,不会污染日常对话的上下文。任务的 prompt 和 skill 在创建时固化,后续可以通过 hermes cron update 调整。
一个设计决策:cron 任务的审批模式设为 deny。无人值守时,任何需要确认的操作都会卡住。所以定时任务只能做不需要审批的事:读取、分析、生成摘要、推送。
Skill 系统:可复用的流程模板#
Skill 是 Hermes 的另一层抽象。可以理解成「给 agent 加载的流程文档」:定义在什么场景下、按什么步骤、用什么工具完成任务。
我的写作 skill 就是一个典型例子。它定义了从灵感捕获到文章发布的全流程:
- 理解需求(提取主题、字数、平台、风格)
- 调研(并行搜索 vault + web)
- 写草稿(存入 00-Inbox/,不直接放 Projects)
- 去 AI 味(加载 humanizer-zh,逐条扫描 24 个特征)
- 配图建议
- 归档
这个 skill 本质上是一份写作规范的编码。好处:每次写文章不需要重新交代偏好,skill 加载后自动遵循。代价:skill 需要维护。写作偏好变了(比如从「禁用表格」改为「优先用表格」),skill 必须同步更新,否则 agent 会按旧规范执行。
目前我的 Hermes 实例加载了 100+ 个 skill,覆盖创作、开发、研究、自动化等场景。实际教训:skill 的数量不重要,维护质量重要。一个过时的 skill 比没有 skill 更危险,agent 会自信地执行错误的流程。
四条捕获通道#
这是我在 Hermes 上搭建的最轻量但使用频率最高的系统。四个入口把临时想法快速存入 Obsidian vault:
/闪念:一句话想法,追加到00-Inbox/闪念.md,日期分组,永久保留/好文:发送 URL,Hermes 自动提取正文、生成 markdown、存入 vault/记录:比闪念长的片段,自动生成独立笔记- 自然对话:对话中出现高密度判断时,Hermes 主动询问是否存档
设计原则是「入口最小摩擦」。从产生想法到存入 vault 不超过 10 秒。所有格式化工作(frontmatter、文件命名、目录归类)交给 agent 处理,用户只负责输入内容。
模型选择策略:高低搭配#
当前主力模型是 DeepSeek v4 Pro,中文文本质量好,token 成本低。日常对话、文件操作、文章草稿、批量整理全部交给它。月度 token 费用约 ¥30-50。
需要设计决策、架构评审、复杂判断的时候,手动切换到强模型(Claude 或 GPT)。依据是经济学的比较优势原理:让高能力模型做只有它能做的事,让廉价模型做执行和跑腿。
Hermes 支持运行时切换模型:hermes config set model.default "claude-sonnet-4",不需要重启。
它在系统里的定位:半器官#
我在自己的认知系统设计文档(盖娅计划)里,把 Hermes 归为「半器官」。
分类逻辑:
- 器官:离了就不再是你的东西。Obsidian vault(150 万字,656 篇笔记)、写作系统、核心思想框架。
- 半器官:可以替换,但切换成本极高。Hermes、博客、X/Twitter 分发渠道。
- 工具:纯功能性的,可随意替换。Godot、终端、Node.js。
这个分类不是修辞,它影响资源分配的决策。器官需要持续维护(升级 vault 结构、整理笔记)。半器官需要定期评估切换成本 vs 收益。工具坏了再换就行。
把 Hermes 定位为半器官而不是工具,意味着承认一件事:我的一部分认知流程已经依赖它了。依赖的不是模型能力(模型可以换),是我们反复调出来的那套工作流。skill 集合、cron 配置、记忆积累、交互模式。这些不是换个框架就能平移的。
实际用例:一次技术选型的完整过程#
举一个具体例子。
我需要为一个外包电商项目做技术选型。约束条件:客户卖实体商品,预算极紧(免费层优先),需要商品展示、购物车、结账、订单管理、后台。我对 Hermes 说:「帮我找 $0/月的开源电商方案。」
它执行了以下步骤:
- 搜索 GitHub,筛选候选项目
- 逐个克隆到本地 Web 目录
- 读取每个项目的 package.json、README、源码结构
- 分析技术栈(框架、数据库、部署要求)
- 检查隐藏成本(如 Your Next Store 前端 MIT 但后端 $25-300/月 SaaS)
- 输出对比表:功能完整度、后台面板、支付系统、本地化、部署成本
从指令发出到完整分析报告,耗时约五分钟。同样的事我自己做需要大约半天。大部分时间花在克隆、读源码、查定价页面上。
这不说明 Hermes 比人聪明。它只是在重复性信息收集和结构化分析上速度更快。真正有价值的是它帮我发现了一个容易漏掉的问题:Your Next Store 的前端开源但后端付费。这个信息藏在源码的环境变量配置里,README 里没写。
局限和踩过的坑#
用了三个月,也踩了一些坑。
上下文窗口有限。单次对话最多 90 轮,超长任务(如批量修改 50 个文件的 frontmatter)可能在中途超出窗口。解决办法是拆分成多个小任务,或者用 cron 分批执行。
Skill 维护有成本。写作偏好、目录结构、工具链配置变了,对应的 skill 必须同步更新。我现在的做法:每次发现 skill 过时立刻 patch,不攒着。
记忆区需要定期清理。8000 字符上限容易打满。策略:只存长期事实,不存临时状态。
模型幻觉仍然存在。让它操作文件系统时,偶尔会声称「已写入」但实际未执行。关键操作后需要验证。read_file 确认文件内容,terminal 确认命令结果。
审批模式的选择。smart 模式在大多数情况下好用,但偶尔会把高风险操作误判为低风险。涉及删除、覆盖、外部 API 写操作的场景,手动确认更安全。
总结#
Hermes 解决的核心问题:不是「让 AI 帮我聊天」,是「让 AI 帮我维护一个认知系统」。
传统 AI 工具是对话式的。你问它答,对话结束,状态丢失。Hermes 的不同在于三个能力叠加:持久记忆、工具执行、定时主动推送。这三件事让它从「回答问题的人」变成了「帮我运转系统的人」。
但它不是开箱即用的。需要配置模型、接入 MCP、写 skill、调 cron、维护记忆。前几周主要在搭基础设施,之后才进入「它帮我省时间」的阶段。
如果你用笔记系统管理知识、有固定创作流程、需要 agent 不只是聊天而是执行任务,Hermes 值得尝试。如果你只是想要一个更好的 ChatGPT,它可能过度设计了。