# 三个月，我把 Agent 装进了工作流

> 使用 Hermes Agent 三个月的实际体验：记忆系统、工具链、Cron 定时任务、Skill 系统、捕获通道、模型选择策略，以及它在个人认知系统中的定位。

- Author: Charliefoo
- Published: 2026-07-12
- Last modified: 2026-07-12
- Canonical: https://foo-z.com/blog/ai11-hermes-agent-workflow/
- Category: 生活随笔
- Tags: 人工智能, 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 | 晨间简报 | vault 变动摘要、待处理提醒、好文积压 |
| 每天 22:00 | 晚间收回件 | 全天产出汇总、冷笔记发现、草稿状态 |
| 每天 23:00 | 每日收获提醒 | 一句话：「今天有什么收获？」 |
| 每周日 10:00 | 内容发布周报 | 草稿积压、发布统计 |

每个 cron 任务在独立的 session 中运行，不会污染日常对话的上下文。任务的 prompt 和 skill 在创建时固化，后续可以通过 `hermes cron update` 调整。

一个设计决策：cron 任务的审批模式设为 `deny`。无人值守时，任何需要确认的操作都会卡住。所以定时任务只能做不需要审批的事：读取、分析、生成摘要、推送。

## Skill 系统：可复用的流程模板

Skill 是 Hermes 的另一层抽象。可以理解成「给 agent 加载的流程文档」：定义在什么场景下、按什么步骤、用什么工具完成任务。

我的写作 skill 就是一个典型例子。它定义了从灵感捕获到文章发布的全流程：

1. 理解需求（提取主题、字数、平台、风格）
2. 调研（并行搜索 vault + web）
3. 写草稿（存入 00-Inbox/，不直接放 Projects）
4. 去 AI 味（加载 humanizer-zh，逐条扫描 24 个特征）
5. 配图建议
6. 归档

这个 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/月的开源电商方案。」

它执行了以下步骤：

1. 搜索 GitHub，筛选候选项目
2. 逐个克隆到本地 Web 目录
3. 读取每个项目的 package.json、README、源码结构
4. 分析技术栈（框架、数据库、部署要求）
5. 检查隐藏成本（如 Your Next Store 前端 MIT 但后端 $25-300/月 SaaS）
6. 输出对比表：功能完整度、后台面板、支付系统、本地化、部署成本

从指令发出到完整分析报告，耗时约五分钟。同样的事我自己做需要大约半天。大部分时间花在克隆、读源码、查定价页面上。

这不说明 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，它可能过度设计了。
