为何 Hermes Agent 能“杀死”龙虾?就靠这三点


如果你最近关注 AI Agent 生态,应该见过 OpenClaw 的吉祥物 —— 一只龙虾 🦞。它背后的 Lobster 是一款确定性工作流引擎(deterministic workflow engine),主打把多步骤任务写成可暂停、可恢复、带审批检查点的流水线,避免每次都让 LLM 重新规划。

另一边,Hermes Agent 是 Nous Research 推出的自主推理型 Agent:会自己思考、调用工具、迭代计划、创建技能。看起来它和 Lobster 完全不是一路:一个是“写死流程”,一个是“临场发挥”。

但有趣的是,在重复性任务自动化这个战场上,Hermes 其实可以稳稳吃下 Lobster 最擅长的场景。不是靠暴力,而是靠三点能力


1. Cron no-agent 模式:真正的“零 LLM”定时任务

Lobster 的核心卖点之一是:把流程从 LLM 推理里抽出来,变成确定的工具调用链。这样运行更快、成本更低、结果可审计。

Hermes 里对应的能力是 Scheduled Tasks (Cron) 的 no-agent 模式

hermes cron create "every 5m"   --no-agent   --script memory-watchdog.sh   --deliver telegram   --name "memory-watchdog"

规则很简单:

  • 脚本按定时执行;
  • 标准输出(stdout)原样投递;
  • 空输出 = 静默运行,不打扰;
  • 非零退出或超时 = 自动报错。

这和 Lobster 的“确定性工作流”异曲同工:都不经过 LLM 推理,都可预期、可审计、低成本。但 Hermes 的优势是不需要学一套新 DSL —— 你就是写普通的 shell/python 脚本,Hermes 负责调度、投递、错误处理。

对于磁盘监控、API 心跳、CI 通知、数据拉取这类任务,Hermes 的 cron no-agent 比 Lobster 更轻量。


2. Skills:把重复流程变成可复用“卡片”

Lobster 用 .lobster 文件定义流水线;Hermes 用 Skill 把流程和经验封装成可复用的知识文档。

技能好在哪?

  • 渐进式披露:只在需要时加载,不占用上下文;
  • Agent 可自管理:运行完复杂任务后,Hermes 可以自动把经验写成技能;
  • 兼容 agentskills.io 标准,可在团队或社区共享;
  • 当作 slash 命令/deploy-k8s/daily-report 一键调用。

比如一个“每天检查服务器状态并发送摘要”的流程,用 Hermes 可以做成一个 skill:

---
# deploy-k8s/SKILL.md
---

## 用法
/k8s-health-check

## 步骤
1. 运行 `kubectl get nodes --all-namespaces`
2. 检查 pod 异常状态。
3. 用 web_search 查找异常事件相关信息。
4. 生成 Markdown 摘要并发送到 Telegram。

一次写好,之后每次调用都像 Lobster 的流水线一样稳定;但不需要预先写 JSON 管道,也不需要为审批点专门设计 token。Hermes 的审批机制(dangerous command approval、write approval)是运行时内置的,不是 workflow DSL 的一部分。


3. Tool Search + MCP:让流程不再“写死”

Lobster 的流水线一旦定义,步骤就固定了。好处是确定,坏处是僵化:输入一变、工具一升级,原来的流程可能就要重写。

Hermes 用 Tool Search 解决了这个问题。

当你挂载了很多 MCP 服务器或插件工具时,Hermes 不会一次性把所有 schema 塞进上下文。它会自动换成三个桥接工具:

  • tool_search(query) —— 按描述搜索工具;
  • tool_describe(name) —— 按需加载具体 schema;
  • tool_call(name, arguments) —— 调用目标工具。

典型流程:

Model: tool_search("创建 GitHub issue")
→ { matches: [{ name: "mcp_github_create_issue" }, ...] }
Model: tool_describe("mcp_github_create_issue")
→ { parameters: { ... } }
Model: tool_call("mcp_github_create_issue", { title: "...", body: "..." })
→ { ok: true, issue_number: 42 }

这意味着:Hermes 的流程不是写死的。它可以根据任务需求,在运行时动态发现最合适的工具。MCP 服务器可以更新、可以替换,Hermes 不需要重新编写 workflow。

对于“需求变化快、工具生态杂”的复杂场景,这比 Lobster 的硬编码流水线更可持续。


但 Hermes 并不是要“真的杀死”Lobster

坦白说,这两个工具定位不同:

维度 Lobster Hermes Agent
核心哲学 确定性、可预测、可审计 自主推理、灵活、可迭代
适用任务 重复、关键、步骤固定的流程 探索性、复杂、变化多的任务
学习成本 需要理解 .lobster DSL 自然语言 + 工具调用
审批机制 内建在 workflow 中 内建在工具调用层
可恢复性 resume token checkpoint + cron retry

所以更准确的说法是:Hermes 用 cron + skills + tool search,在“重复任务自动化”这个战场上给出了另一种答案。它不需要你专门学一门 workflow 语言,就能把日常运维、报告、监控、数据抓取这类流程跑起来。

如果你已经在用 Lobster,并且流程非常稳定、审计要求很高,那 Lobster 依然是个好选择。但如果你更想要一个“既能临场推理,又能把常用流程自动化”的通用 Agent,Hermes 这三点足够让你省下不少工具链。


实战:把 Lobster 风格的邮件分类变成 Hermes 流程

Lobster 文档里的经典例子是“邮件分类 + 草稿回复”。用 Hermes 可以这样实现:

1. 用 Cron 定时触发(可选 LLM 或 no-agent)

# 完全无 LLM:脚本自己做分类和草稿
hermes cron create "every 1h"   --no-agent   --script email-triage.sh   --deliver telegram

# 或用 LLM:让 Hermes 读取邮件并生成摘要
hermes cron create "every 1h"   --skill email-triage   --prompt "Check unread emails, categorize, draft replies, and ask for approval before sending."

2. 用 Skill 固化流程

---
# email-triage/SKILL.md
---

## 触发方式
/email-triage

## 工作流
1. 使用 `gmail` 工具列出未读邮件。
2. 按主题和发件人分类:urgent / newsletter / needs-reply / ignore。
3. 对需要回复的邮件,用 LLM 起草回复。
4. 把草稿列表发送给用户,等待确认后再发送。

3. 用 Tool Search 动态发现工具

如果以后不用 Gmail 了,换成 Outlook MCP 或 Slack 通知,Hermes 只需要更新 MCP 配置。Skill 本身不用重写,因为工具调用是在运行时被搜索和解析的。


结论

Hermes Agent 能“杀死”龙虾吗?

在严格意义上,不能 —— 因为它们不是同一类工具。但在日常自动化工作流这个赛道,Hermes 的 cron no-agent、Skills、Tool Search 三件套,已经覆盖掉了 Lobster 最常见的使用场景,而且更轻量、更灵活、更接近自然语言

如果你厌倦了为每个重复任务写 workflow 脚本,不妨试试 Hermes 的这三板斧。说不定你会发现:那只龙虾,其实可以活得轻松一点。