Hermes Agent 是一个开源的 AI 智能体框架,它赋予模型真正的“双手”,包括终端操作、文件访问、网络工具、记忆功能以及无需你全程监护即可执行多步骤任务的能力。我们之前已经多次介绍过这个工具,你可以将其视为模型与现实世界之间的一种操作层。现在,该团队发布了一个非常实用的功能——/loop(循环),它改变了智能体处理时间依赖型工作的方式。
不再需要你每隔几分钟就手动输入“再检查一次”(我在制作视频时经常这么做),你只需设置好提示词,Hermes Agent 就会按照设定的重复计时器自动唤醒。每次醒来时,它都会重新读取当前世界的状态,执行工作并汇报结果,然后保持安静直到下一次计时触发。
最精彩的部分在于停止条件。你可以指定它运行固定的次数,或者给出一个自然语言的条件(例如“当部署上线时停止”),也可以让评估模型在每次唤醒后进行检查,或者像我喜欢的那样,让智能体自行判断何时完成任务。
今天在这段视频中,我们将针对本地量化版的 Qwen3.8-27B 模型运行此功能。我目前正通过 llama.cpp 服务器提供该模型服务。如果你不知道这是什么,可以观看我的频道中详细讲解 Ridge 量化模型的往期视频,那确实是非常优秀的量化模型之一。
这里需要 llama.cpp 提供的 API 支持,我们将测试 /loop 在实际应用中的表现。这是我的 Ubuntu 系统,我已经安装了 Hermes Agent。让我快速展示一下版本信息,因为你需要最新版本才能使用此功能,否则无法正常工作。
我会运行 Hermes update 确保它是最新的,没有落后于任何提交记录。所以请确保如果你也尝试使用此功能,一定要先更新软件,否则你将无法获得这个非常近期的 /loop 特性。
现在我们要使用最新版本的 Hermes Agent。接下来让我在 Hermes Agent 中创建一个配置文件(profile)。我将其命名为 loop demo,提供商选择本地系统上正在运行的 llama.cpp 自定义模式,并指定使用那个本地模型。
当前工作目录看起来也很不错。这个循环机制非常可定制,你可以看到我刚刚在 loop demo 配置文件中创建了一个配置文件。文件顶部设置与之前相同,包括模型、上下文窗口和工作目录。
但请注意这个指定循环的部分。这里设置了控制循环行为的参数:min_interval 意味着它不会比每 30 秒更频繁地触发;max_takes 是硬性停止限制,即最多唤醒 100 次后它会自动暂停。
floor 和 ceiling 控制着自我调节的回退机制。它开始每 30 秒检查一次,如果没有任何变化,它会减慢速度到每 2 分钟检查一次(抱歉我的声音有点沙哑)。希望现在你完全理解了循环的工作原理。
我已经测试过,配置文件运行正常。你可以看到模型正在对 Hermes Agent 做出响应。现在让我们演示一下这具体是如何工作的。为了正确展示 /loop,我们需要一个按照自身时间表改变状态的对象,就像真实的部署流程一样。
因此,我将创建一个简单的 Shell 脚本,模拟一个经过四个阶段的部署管道:排队(queued)、构建中(building)、部署中(deploying)和已上线(live),每个阶段之间暂停 60 秒。
循环将监视这个文件,并在状态每次改变时进行汇报。现在让我们启动那个假的部署模拟器。如你所见,它正在运行中。我将在并行模式下启动我的 Hermes Agent,它也刚刚被 launches 了。
一旦它运行起来,我将给它输入这个提示词:主要告诉 Hermes Agent 每 30 秒检查一次状态文件,并汇报当前阶段。当它看到“live”时,它的回复将以“loop complete”结尾,循环随即自行停止。
让我们等待一下。你看,它已经在运行了。第一次唤醒触发了,它仍在运行中。现在当前状态是“queued”,部署器仍在进行中。你现在看到循环是如何工作的了吗?
接着,它进入了构建阶段(building)。为了重申一下:我们在顶部输入了一次循环命令,然后就走开了。Hermes 确认循环已设置,告诉我们第一次唤醒将在 30 秒后触发,然后自动触发了它。
它重新读取了状态文件,看到阶段是“queued”,用一行字进行了汇报,然后回去睡了另一个 30 秒。我们没有任何干预。接着它醒来了,说:“好的,下一阶段是构建。”
然后状态推进了,它回去睡了,醒来告诉我们正在部署中,但尚未上线。这就是循环的工作方式。这对于 CI/CD 中的多阶段部署非常有用,例如。
你看,在五次唤醒后,智能体看到状态翻转为“live”,写下了“loop complete”,循环干净地关闭了。注意在第五次唤醒时,它甚至变聪明了:从直接读取文件切换到使用 stat 检查文件的修改时间。
这非常有趣,因为它注意到“读取”工具会对未更改的内容进行去重处理。我们从未触碰过终端,这一切都在后台发生。
如果你一直关注我的频道,你知道通常我使用 Hermes Agent 时会配合“目标”(goals)功能。我仍然会使用它们,但你需要理解其中的区别:/loop、/goal 和 cron(定时任务)看起来相似,但它们解决的是完全不同的问题。
/loop 是由计时器驱动的。当外部事物按照自己的时间表发生变化,而你只希望智能体监视它时,请使用 /loop。
/goal 是由评估驱动的(judge-driven)。当你有一个特定的目标,并希望智能体不断尝试直到完成时,请使用 /goal。
而 cron 适用于当工作需要在你关闭终端后继续运行的情况,它完全在任何会话之外运行。
简单的规则是:监视某物,使用 loop;修复/解决某事,使用 goal;安排无人值守的任务,使用 cron。就是这样。
这就是 Hermes /loop 在 Qwen-3.8-27B 上完全本地运行的演示,无需 API Key,也实现了零人工监护。我认为这是整个功能中最棒的部分。
另外,我最近开始了一个免费的每周 AI 通讯简报,你可以在 fahaidmirza.substack.com 订阅。如果你觉得这个视频有用,请成为会员。感谢大家的支持。