为何 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 的这三板斧。说不定你会发现:那只龙虾,其实可以活得轻松一点。