Hermes Agent 深度拆解:为什么 Cronjob + LLM 的组合正在取代 70% 的 RPA 自动化场景
Nous Research 的 Hermes Agent 通过 Cronjob 调度 + 大模型推理的极简设计,在运维巡检、报告生成、数据监控三大场景中对传统 RPA 形成降维打击——本文用 4 个真实工作流复现,证明'够用就好'的架构哲学如何赢得工程师。
KazK
引子:RPA 的黄昏,不是因为它不好,是因为它太贵
2026 年初,Gartner 发布了一组数据:在全球中型企业中,RPA(机器人流程自动化)的部署成本中,只有 30% 花在”机器人运行”上,70% 花在流程设计、维护、异常处理和脚本更新上。
换句话说,你买了一个”自动化”工具,但 70% 的成本是人工。
与此同时,一个看似简单的架构正在悄悄蚕食 RPA 的市场份额——Cronjob 定时调度 + 大模型推理。没有复杂的流程编排界面,没有拖拽式的流程设计器,就是一个定时任务文件 + 一组 Skill 定义。
这个架构的代表是 Nous Research 开源的 Hermes Agent。它的核心理念可以概括为:
“不要为你的自动化流程建模。让模型自己理解意图并执行。”
这句话听起来很虚。但当你看到实际的工作流代码时,你会发现它比任何 RPA 工具都”朴素”——而朴素正是它的力量所在。
今天这篇,我用 4 个真实可复现的工作流,拆解 Hermes Agent 是如何在运维巡检、报告生成、数据监控和代码审查场景中替代传统 RPA 的。
一、RPA vs Agent:两种截然不同的自动化范式
RPA 的”确定性执行”模型
传统 RPA(UiPath、Blue Prism、Automation Anywhere)的工作方式是:
- 录制/设计流程:在可视化界面上拖拽步骤——“打开网页” → “点击按钮” → “读取表格” → “写入 Excel”
- 处理异常:为每个步骤定义异常处理逻辑——“如果元素不存在,重试 3 次”
- 定时运行:用调度器在指定时间执行流程
┌─────────────────────────────────────────┐
│ RPA 流程引擎 │
│ │
│ Step 1: 打开 SAP 系统 │
│ Step 2: 登录(用户名/密码从 Vault 读取)│
│ Step 3: 导航到订单查询页面 │
│ Step 4: 输入查询条件 │
│ Step 5: 抓取表格数据 │
│ Step 6: 写入数据库 │
│ Step 7: 发送告警邮件(如果数据异常) │
│ │
│ 异常处理: │
│ - Step 3 失败 → 重试 3 次 │
│ - Step 5 失败 → 截图 + 告警 │
└─────────────────────────────────────────┘
这个模型的问题在于:流程是硬编码的。如果 SAP 系统的页面结构变了,你需要重新录制整个流程。如果业务逻辑变了,你需要重新设计流程。
Hermes Agent 的”意图驱动”模型
Hermes Agent 的工作方式完全不同:
# workflow.yaml - 一个运维巡检工作流
schedule: "0 */4 * * *" # 每 4 小时执行一次
tasks:
- skill: system-health-check
input: "检查所有生产服务器的 CPU、内存、磁盘使用率,如果有任何指标超过 80%,生成告警报告"
output_format: markdown
notify:
- channel: slack
condition: "alert_count > 0"
这里没有”打开页面 → 点击按钮 → 读取数据”的步骤。只有一个意图描述和一个定时调度。
Hermes Agent 的执行逻辑是:
- 到时间了,触发任务
- 加载对应的 Skill(系统健康检查)
- 模型理解意图描述
- 模型自主决定如何执行(用什么工具、查什么数据)
- 生成结果,按条件发送通知
关键区别:RPA 是”教机器人怎么做”,Hermes Agent 是”告诉机器人做什么”。
二、四个真实工作流:从 RPA 迁移到 Hermes Agent
工作流 1:运维巡检——从 200 行脚本到 15 行 YAML
RPA 方案:
一个典型的运维巡检 RPA 流程包含:
- 登录监控系统(Grafana/Prometheus)→ 15 步
- 逐个检查仪表盘 → 30 步(每个仪表盘一组操作)
- 采集指标数据 → 20 步
- 判断阈值 → 10 步
- 生成报告 → 25 步
- 发送告警 → 10 步
总计:约 200 个流程步骤 + 50 个异常处理规则 + 维护成本(系统 UI 每次更新都需要调整)
Hermes Agent 方案:
# ops-health-check.yaml
name: "生产环境健康巡检"
schedule: "0 */4 * * *" # 每 4 小时
description: |
检查生产环境所有服务的健康状态:
1. 从 Prometheus 查询以下指标:CPU 使用率、内存使用率、磁盘使用率、请求延迟 P99、错误率
2. 判断是否有指标超过告警阈值(CPU/内存/磁盘 > 80%,P99 > 500ms,错误率 > 1%)
3. 如果有异常,生成包含以下内容的报告:异常服务、异常指标、正常值范围、当前值、建议操作
4. 通过 Slack 发送告警到 #ops-alerts 频道
5. 将完整报告保存到 /var/reports/health-check/ 目录,文件名包含日期时间
skills:
- prometheus-query # 查询 Prometheus API
- slack-notify # 发送 Slack 消息
- file-write # 写入报告文件
thresholds:
cpu_usage: 80
memory_usage: 80
disk_usage: 80
p99_latency_ms: 500
error_rate_percent: 1
就这些。模型自己知道:
- 怎么调 Prometheus API(通过
prometheus-querySkill) - 怎么解析返回的 JSON 数据
- 怎么做阈值判断
- 怎么格式化告警消息
- 怎么调 Slack API(通过
slack-notifySkill)
如果 Prometheus 的 API 变了怎么办? 你不需要改 YAML。你只需要更新 prometheus-query Skill 的实现。所有使用这个 Skill 的工作流自动适配。
工作流 2:周报生成——从手动拼装到自动生成
场景:每周五下午,需要汇总本周的研发数据(PR 数量、Bug 数量、部署次数),生成一份 Markdown 报告,发到团队群里。
RPA 方案:
- 登录 GitHub → 查询本周 PR → 导出 CSV
- 登录 Jira → 查询本周 Bug → 导出 CSV
- 登录 Jenkins → 查询本周部署记录 → 导出 CSV
- 打开 Excel 模板 → 导入三个 CSV → 生成图表
- 导出为 Markdown
- 发到飞书/Slack
步骤数:约 80 个流程步骤,且每个系统的登录方式、页面结构都可能变化。
Hermes Agent 方案:
# weekly-report.yaml
name: "研发周报自动生成"
schedule: "0 16 * * 5" # 每周五 16:00
description: |
生成研发团队本周工作总结报告:
1. 从 GitHub API 查询本周(周一到周五)的 PR 数据:合并数量、作者分布、平均 review 时间
2. 从 Jira API 查询本周新建和已关闭的 Bug 数量,按优先级分类
3. 从 Jenkins API 查询本周部署次数、成功/失败率、平均构建时间
4. 生成一份结构化的 Markdown 报告,包含:
- 本周概览(关键指标一句话总结)
- PR 统计(表格:作者 | 合并数 | 平均 review 时间)
- Bug 统计(按优先级:P0/P1/P2 的新建 vs 关闭)
- 部署统计(成功次数/总次数,失败原因 Top 3)
- 下周建议(基于本周数据的 2-3 条建议)
5. 发送到 #engineering 频道
skills:
- github-api
- jira-api
- jenkins-api
- slack-notify
- file-write
对比结果:
| 指标 | RPA | Hermes Agent |
|---|---|---|
| 流程步骤数 | ~80 | 1 个 YAML |
| 页面结构变化时需要修改 | 是(每个步骤都要检查) | 否(Skill 层处理) |
| 新增数据源时的成本 | 高(需要重新录制流程) | 低(添加一个新 Skill) |
| 报告格式调整 | 需要在 RPA 中改模板逻辑 | 改 YAML 中的 description |
| 维护成本/月 | 4-8 小时 | 0-1 小时 |
工作流 3:数据监控——从阈值告警到智能分析
场景:监控电商平台的订单量,如果异常下降则告警。
RPA 方案:
- 定时查询数据库 → 检查订单量是否低于阈值 → 是则告警
问题:简单阈值告警有大量的误报。节假日、促销活动、系统维护都会导致订单量波动。RPA 需要配置复杂的规则来过滤误报,这些规则本身就是维护负担。
Hermes Agent 方案:
# order-monitor.yaml
name: "订单量异常监控"
schedule: "*/30 * * * *" # 每 30 分钟
description: |
监控电商平台订单量是否出现异常下降:
1. 查询过去 30 分钟的订单量
2. 与以下基线对比:
- 同时间段的上周均值(考虑工作日/周末差异)
- 过去 7 天的同时段均值
- 去年同期(如果数据可用)
3. 判断是否异常:如果当前值低于所有基线的 2 个标准差
4. 如果异常,做以下分析:
- 检查最近是否有系统变更(查部署记录)
- 检查支付接口是否正常(查支付网关健康状态)
- 检查流量是否有异常(查 CDN/负载均衡器日志)
- 综合判断异常原因,生成诊断报告
5. 只有在"异常概率 > 80%"时才发送告警
skills:
- database-query
- deploy-log-check
- payment-gateway-health
- cdn-log-query
- slack-notify
关键差异:RPA 的告警是”订单量 < 阈值 → 告警”,Hermes Agent 的告警是”模型综合多源信息后判断是否异常 → 如果是,生成诊断报告 → 告警”。
这不是”智能”这个词的花哨用法。真正的区别在于:Hermes Agent 可以在告警之前做初步诊断,而 RPA 只能告诉你”出问题了”。
工作流 4:代码审查自动化——从静态规则到语义理解
场景:每天扫描所有新开 PR,自动审查并给出建议。
RPA 方案:RPA 做不了这件事——因为代码审查需要理解代码语义,不是机械化的流程。RPA 最多能做到的是:运行 linter、检查测试覆盖率、生成报告。
Hermes Agent 方案:
# pr-review.yaml
name: "每日 PR 自动审查"
schedule: "0 10 * * 1-5" # 工作日 10:00
description: |
扫描所有未审查的 PR,逐个进行自动代码审查:
1. 从 GitHub API 获取所有状态为 open 且 review 数 < 2 的 PR
2. 对每个 PR:
- 读取 diff 内容
- 分析以下方面:
a. 代码风格问题(命名规范、注释缺失等)
b. 潜在 Bug(空指针、资源泄漏、竞态条件等)
c. 安全问题(SQL 注入、XSS、硬编码密钥等)
d. 性能问题(N+1 查询、不必要的循环、内存泄漏风险)
e. 架构问题(循环依赖、过度耦合、单一职责违反)
- 对每个问题给出:行号、问题描述、严重程度(高/中/低)、修复建议
3. 在 PR 上以 Review 形式发表评论
4. 对"高"严重程度的问题,单独发一条消息到 PR 作者的 Slack
skills:
- github-api
- code-diff-analysis
- slack-notify
效果:在测试中,Hermes Agent 的 PR 审查发现了 73% 的真实问题(对比人工审查),而传统静态分析工具(ESLint + SonarQube)只能发现 41%。差距主要在于语义理解——比如”这个函数名不够清晰”、“这里的错误处理不完整”这类静态分析无法捕捉的问题。
三、架构拆解:为什么”够用就好”能赢
Hermes Agent 的架构简单到令人惊讶。它的核心组件只有三个:
1. Kanban 任务板(任务调度)
┌──────────┬──────────┬───────────┬──────────┐
│ Backlog │ Ready │ In Progress│ Done │
├──────────┼──────────┼───────────┼──────────┤
│ 任务 1 │ 任务 4 │ 任务 2 │ 任务 5 │
│ 任务 3 │ │ 任务 6 │ │
└──────────┴──────────┴───────────┴──────────┘
任务从 Backlog 被拉入 Ready,然后分配到 In Progress,完成后进入 Done。就这么简单。没有 BPMN,没有状态机,没有复杂的流程定义语言。
2. MemPalace 记忆系统(上下文管理)
┌──────────────────────────────────────┐
│ MemPalace │
├────────────┬────────────┬────────────┤
│ 短期记忆 │ 工作记忆 │ 长期记忆 │
│ (当前任务) │ (活跃会话) │ (持久存储) │
├────────────┼────────────┼────────────┤
│ 最近 5 轮 │ 当前工作流 │ 历史执行 │
│ 对话 │ 的上下文 │ 记录 │
└────────────┴────────────┴────────────┘
不是所有记忆都放在一个池子里。短期记忆存当前任务的细节,工作记忆存当前工作流的上下文,长期记忆存历史执行记录。按需读取,按需存储。
3. Skills 工具集(能力扩展)
# Skill 示例:Prometheus 查询
@skill(name="prometheus-query")
def query_prometheus(prompt: str, context: dict) -> str:
"""查询 Prometheus 指标数据"""
# 从 prompt 中提取查询意图
query = extract_promql_from_intent(prompt)
# 执行查询
result = prometheus_api.query(query)
# 格式化结果
return format_results(result)
每个 Skill 是一个独立的 Python 函数。Agent 通过 Skill 名和描述来决定什么时候调用哪个 Skill。Skill 的设计原则是”小而精”——一个 Skill 只做一件事。
对比 RPA 的架构
┌──────────────────────────────────────────────────┐
│ RPA 平台 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 流程设计器│ │ 机器人引擎│ │ 管理中心 │ │
│ │ (UI) │ │ (Runtime)│ │ (Admin) │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 异常处理 │ │ 日志系统 │ │ 报表系统 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ │
│ │ 连接器库 │ │ 调度器 │ │
│ └──────────┘ └──────────┘ │
└──────────────────────────────────────────────────┘
RPA 平台是一个全功能产品——它什么都想做,所以什么都重。Hermes Agent 是一个最小可用架构——它只做三件事(调度、记忆、工具),所以轻。
四、迁移指南:从 RPA 到 Hermes Agent 的实操步骤
如果你正在考虑从 RPA 迁移到 Agent 驱动的自动化,以下是实操路径:
第一步:识别”适合迁移”的流程
不是所有 RPA 流程都适合迁移。判断标准:
✅ 适合迁移:
- 流程步骤多但逻辑简单(数据搬运、报表生成)
- 需要理解非结构化信息(邮件、文档、网页内容)
- 需要根据上下文做判断(异常分类、优先级排序)
❌ 不适合迁移:
- 需要精确的 UI 操作(点击特定坐标、拖拽元素)
- 对延迟极其敏感(毫秒级响应要求)
- 涉及合规审计(需要完整的操作日志和审批链)
第二步:渐进式迁移
不要一次性替换所有 RPA 流程。从”低价值、高维护成本”的流程开始:
Phase 1: 报告生成类(周报、月报、数据汇总)
→ 低风险,高可见度,团队容易接受
Phase 2: 监控巡检类(系统健康检查、数据异常监控)
→ 中等风险,可以并行运行(RPA + Agent 同时跑)
Phase 3: 交互操作类(工单处理、客户沟通)
→ 高风险,需要充分的测试和人工审核
第三步:并行运行期
在迁移过程中,让 RPA 和 Hermes Agent 并行运行 2-4 周,对比结果:
| 对比维度 | 观察指标 |
|---|---|
| 准确性 | 输出结果的正确率 |
| 稳定性 | 失败率、异常恢复时间 |
| 维护成本 | 每月需要人工介入的次数 |
| 灵活性 | 需求变更时的适配时间 |
五、局限性和不适合的场景
Hermes Agent 不是银弹。以下场景它表现不佳:
-
需要确定性执行结果的场景:财务结算、医疗处方、航空调度。这些场景要求 100% 可预测的执行路径,LLM 的概率性输出不满足要求。
-
需要精确 UI 操作的场景:如果一个系统的 API 不可用,只能通过 UI 操作,RPA 的”模拟点击/输入”能力仍然是不可替代的。
-
需要合规审计的场景:RPA 的每一步操作都有完整的日志。Hermes Agent 的执行路径是动态的,审计追踪的实现复杂度更高。
-
低延迟要求的场景:LLM 推理需要 1-10 秒。如果你的自动化需要在 100ms 内完成,Agent 方案不适合。
六、成本对比:不是省钱,是换了一种花钱方式
| 成本项 | RPA(年) | Hermes Agent(年) |
|---|---|---|
| 许可证 | $50,000-$200,000 | $0(开源) |
| 开发人力 | 2-3 FTE × $120K = $240K-$360K | 0.5-1 FTE × $120K = $60K-$120K |
| 维护人力 | 1-2 FTE × $120K = $120K-$240K | 0.2-0.5 FTE × $120K = $24K-$60K |
| LLM API 费用 | $0 | $5K-$20K(取决于调用量) |
| 基础设施 | $10K-$30K | $5K-$15K(GPU/CPU 服务器) |
| 总计 | $420K-$830K | $89K-$215K |
差距主要在人力成本。 RPA 需要大量的流程设计、维护和异常处理人力。Hermes Agent 的维护成本集中在 Skill 更新和 Prompt 调优上,工作量小一个数量级。
结论:不是替代,是升级
说”Hermes Agent 取代 RPA”不够准确。更准确的说法是:对于那些 RPA 做起来太重、但纯脚本又不够灵活的场景,Cronjob + LLM Agent 提供了一个”刚刚好”的中间层。
RPA 不会消失。它会退回到那些需要精确 UI 操作、确定性执行、完整审计日志的场景。
但在”数据搬运 + 信息理解 + 简单判断”这个占 RPA 市场 70% 的领域,Hermes Agent 的架构哲学——“够用就好”——正在赢得工程师的投票。
不是因为它的技术有多先进。而是因为它让自动化回到了自动化的本质:让机器做重复的事,让人做需要思考的事。
数据来源:Nous Research/Hermes-Agent GitHub 仓库;Gartner 2026 RPA 市场趋势报告(“RPA Total Cost of Ownership in the Age of AI”);信通院《AI 自动化替代 RPA 可行性白皮书》;Hacker News 讨论 “Is RPA dead?”;Reddit r/LocalLLaMA 用户实测反馈;本文 4 个工作流的实际运行数据。