💡阅读指南

Hermes 用起来之后,迟早会遇到它"不好使"的时候。这一节不教你怎么手动排查,而是介绍一个更适合 Agent 时代的思路:用另一个 Agent 来修 Hermes。反过来也成立,其他 Agent 出问题时,Hermes 也能帮忙修。

15.1 人不是最好的调试员

Hermes 本身是一个软件,还是一个开源的,很容易修改的软件。再加上它更新频繁,有时候会出现各种各样的问题。

某些问题,很好解决,可以让 Hermes 自己修复自己。但有些问题很麻烦,比如:Hermes 自带的LLM 出问题了。这是最麻烦的,模型出了问题会导致 Hermes 根本无法工作,那就不可能自己修复自己。

遇到这些问题,很多人的第一反应是:打开终端,看日志,查配置,把报错信息复制到搜索引擎里找答案,一步步排查。

十年前这么做完全没问题。但当你已经在用 Agent 了,还手动干这些事情,就有点像明明有洗衣机,还在用手搓衣服。

15.2 最简单的方案:用另一个 Agent

核心思路很简单:Hermes 出问题了,别让 Hermes 修自己。它自己都出问题了,怎么修?你需要另一个 Agent 来帮忙。

举个具体例子。假设你的 Hermes 某个技能突然跑不起来了,报错说找不到某个依赖。你可以,打开另一个 Agent(比如 Cursor、Codex CLI,或者任何你手边的编程 Agent),直接告诉它 Hermes 的问题,比如:

我的 Hermes 报了这个 xxx 错误,帮我解决下。

就这么简单。现代 Agent 如果是 CLI, 出了问题都很容易修复,因为他们本身都是用大量的配置,比如 config.yaml,这种文本文件来驱动的。另外一个 Agent 比如 ChatGPT,很容易就能看到这些配置的问题,然后直接修复即可。

15.3 常见场景

API Key 失效或额度用完

这种问题 Hermes 自己可能判断不了,它不知道自己用的 key 是不是过期了。但另一个 Agent 可以帮你检查 key 的状态,甚至帮你换一个新的。

模型响应异常

如果 Hermes 返回的内容明显不对,可能是模型端的问题。另一个 Agent 可以帮你直接用 curl 测试 API,判断问题出在 Hermes 还是模型服务端。

这是我遇到最多的情况,Hermes 有时候会有问题。比如你的API 到期了,Hermes 大概率不会提醒你(我是遇到几次这种情况)。会卡在初始化的阶段。

这个时候,直接让 ChatGPT (Codex)去找问题即可。

15.4 反过来也成立

这个思路是双向的。不只是"Hermes 出问题用别的 Agent 修",而是"任何 Agent 出问题,都可以用另一个 Agent 修"。

你用编程 Agent 写代码,它突然抽风了?让 Hermes 帮你看看它的配置文件和扩展日志。你的命令行工具卡住了?让 Hermes 帮你查进程状态、看错误输出。

本质上,Agent 也是软件,软件就会出问题。而修软件这件事,本身就适合交给 Agent 来做。

💡实用建议

机器上至少装两个能力互补的 Agent。不需要都是 Hermes,可以是 Hermes + 一个编程 Agent 的组合。关键是它们能独立运行、能读写文件系统、能执行命令。

15.5 ■ 学点英语

中文 English 音标 说明
排查 Troubleshoot /ˈtrʌbəlʃuːt/ 系统地查找和解决问题
容错 Fault Tolerance /fɔːlt ˈtɒlərəns/ 系统出问题时仍能正常运作的能力
降级 Degrade / Fallback /dɪˈɡreɪd/ · /ˈfɔːlbæk/ 功能受限时切换到备选方案
自愈 Self-Healing /self ˈhiːlɪŋ/ 系统自动检测并修复自身问题