让 Hermes Agent 威力提升 10 倍的技能

AAI LABS
Computing/SoftwareInternet Technology

Transcript

00:00:00自从 Hermes Agent 发布以来,人们一直在上面搭建各种工作流。
00:00:04为了让这个本来就很强大的代理变得更好,人们还为它开发了许多技能。
00:00:10其中有些甚至成为了 GitHub 上最热门的项目。
00:00:14现在你可能会想,为什么一开始还要安装更多的技能,
00:00:17因为 Hermes 本身就已经内置了很多技能,它甚至可以根据你的工作流创建新技能。
00:00:22但 Hermes 创建的技能仅限于它从你这里学到的流程。
00:00:25而这些其他的技能是由那些已经解决了 Hermes 无法独自处理的问题的人所构建的,
00:00:31并且他们将这些解决方案打包成了你可以使用的技能。
00:00:34如果你是频道的新朋友,欢迎来到这里,我们是一家软件公司,这里是 AI Labs。
00:00:38在这期视频中,我们将介绍那些真正让 Hermes 代理的使用体验大幅提升的技能。
00:00:43但在我们开始介绍第一个技能之前,你需要知道这一点:
00:00:46尽管我们是在 Hermes 中使用这些技能,但其中大多数技能也可以用于任何 AI 编程代理。
00:00:51如果你一直在使用编程代理,无论是 Hermes 还是字面上的任何其他代理,
00:00:56它们都有一个共同的问题。
00:00:57如果你进行长时间的对话,你的代理可能会忘记你之前提到的细节,
00:01:02所以你不得不把同样的指令再重复一遍。
00:01:04当你在 Hermes 中使用 Opus 模型时,这种情况尤为常见,
00:01:08因为它们往往忘事忘得更快。
00:01:10发生这种情况是因为你的上下文窗口里有太多消息,
00:01:14而模型必须兼顾所有这些消息。
00:01:16一旦如此,它就容易漏掉较小的细节,从而导致回答质量变差。
00:01:20为了解决这个问题,有一个名为“文件规划 (Planning with Files)”的技能。
00:01:24它把计划保存在代理无法忽视的地方。
00:01:27这项技能没有把计划留在聊天记录里并占用上下文窗口的空间,
00:01:31而是将计划转换为你项目文件夹中的三个文件。
00:01:34第一个是 TaskPlan.MD,它基本上把你的主任务拆分成更小的任务,
00:01:40以便代理可以逐个完成它们。
00:01:42然后是 Findings.MD,它记录了代理遇到的每一个问题以及它是如何解决的。
00:01:47如果再次发生相同的问题,代理就可以利用这些经验来避免它。
00:01:51最后一个是 Progress.MD,它记录了代理目前的进展。
00:01:56现在你可能会觉得,把计划保存在文件里并不是什么新鲜事,
00:01:59你们大多数人可能已经在这么做了。
00:02:01这项技能的独特之处在于,代理无法忽视这个计划。
00:02:04这是因为它使用了一个钩子 (hook),
00:02:06能够强行将这三个文件插入到上下文窗口中,
00:02:09正因如此,模型无法选择忽略它。
00:02:12目前大多数智能体不支持钩子,但Hermes是少数支持的智能体之一。
00:02:16根据他们自己的测试,在运行钩子的情况下,代理的表现要好得多,
00:02:20因为它不会偏离被分配的任务。
00:02:23所有代理的安装命令都列在代码库中,
00:02:26链接会放在下方的说明栏里。
00:02:28一旦安装完毕,它就会与其他所有技能一起被添加进去。
00:02:32并且钩子会自动安装在你的代理中。
00:02:35技能文件解释了这三个文件是什么,
00:02:38它们应该放在哪里,以及各自有什么作用。
00:02:40它还包含了代理需要遵循的所有规则,
00:02:43这样它就知道自己正在处理什么。
00:02:44所以一旦你安装好了这个,
00:02:46你就可以运行该技能,并为你想让代理做的事情提供一个提示词。
00:02:50在这里你可以看到,代理首先创建了任务计划、
00:02:53发现文件,然后还有进度文件。
00:02:56接着它向我们提问,我们在进行的过程中回答了这些问题。
00:02:59经过那次漫长的会话后,它敲定了计划并生成了这三个文件。
00:03:03但在我们进入下一个技能之前,
00:03:04如果你能订阅本频道并点赞支持,那就太好了。
00:03:08这个小小支持的举动对我们意义重大。
00:03:11你可能已经知道,你可以在 Hermes 中使用多个编程工具。
00:03:15例如,你可以将你的 codex 订阅连接到 Hermes 代理并使用它的模型。
00:03:19你可能也知道 Hermes 已经内置了一个 claude code 技能,可以直接将任务发送给它,
00:03:24并且它对 codex 也有类似类型的技能。
00:03:27但这些技能的问题在于,除非你要求,否则 Hermes 不会主动使用它们。
00:03:31你还必须在提示词中说明哪些任务应该分派给哪个代理。
00:03:35不过还有另一个技能,可以将任务发送给系统上已经安装的任何代理。
00:03:40这个技能在所有这些代理之间充当协调者的角色。
00:03:43它还能弄清楚你已安装的哪个编程工具最适合哪个任务,并将工作交给该工具。
00:03:49这实际上是一组技能。
00:03:51主要的技能被称为 delegate setup(委派设置),用于协调其他代理。
00:03:54它还附带了针对不同编程代理的专属委派技能,包括 claude code、codex 和 cursor。
00:04:00这些代理在运行模式下不会在执行任何命令前请求权限,
00:04:05因此编程代理不会停下来等待你批准每一个修改。
00:04:08要安装此技能,请运行安装命令。
00:04:11它会要求你从 18 种技能中进行选择,这样你就可以勾选系统上安装的工具。
00:04:16安装完成后,你会看到 Hermes 已准备好使用 delegate setup 技能。
00:04:20要使用它,你只需通过斜杠命令运行该技能,输入提示词,然后交给 Hermes 代理即可。
00:04:26首先,它会识别安装了哪些编程工具。
00:04:28然后它会给你一张完整的路线图,标明每个代理将处理的区域,以及确切的模型名称和工作强度级别。
00:04:35一旦你批准了该计划,它就开始运行这些技能。
00:04:37随后它会将每个任务发送给为其挑选的代理。
00:04:40在每个代理汇报其调查结果后,Hermes 会给你一份集体报告,并将任务标记为完成。
00:04:46现在你可能已经知道,你的 Hermes 代理可以运行终端命令。
00:04:50每运行一个终端命令,它就会返回一段代理必须读取的输出。
00:04:5490% 的情况下,你甚至根本不需要该命令产生的所有输出。
00:04:59你只需要其中的某一部分。
00:05:00其余部分只会无缘无故地增加上下文的负担。
00:05:03就像我们之前提到的,上下文窗口中有太多信息会让智能体更难集中注意力。
00:05:09这就是 RTK 派上用场的地方。
00:05:10它会裁剪代理运行的终端命令的输出,只保留代理需要的部分,
00:05:16这样输出在到达上下文窗口之前就已经被过滤过了。
00:05:20它拥有代理最常使用的终端命令数据库,因此它知道如何过滤它们的输出。
00:05:25例如,如果你运行测试,代理只需要看到失败的测试结果,而不需要看通过的测试。
00:05:31RTK 默认就会这么做,并且只保留失败信息。
00:05:35但问题是,它实际上并不是一个技能。
00:05:37它是一个你安装在设备上并从终端运行的独立工具。
00:05:41它之所以列在这个名单上,是因为它能确保你的代理只获得正确的上下文。
00:05:45如果你愿意,你也可以直接安装它并告诉代理去使用它。
00:05:49但由于代理往往会忘记我们的要求,我们实际上创建了一个技能,让代理将命令通过此工具进行路由,而不是用平常的方式运行它们。
00:05:57这个技能还包含了代理所需的细节,以及每个命令的参考指南,以便它知道自己可以使用哪些命令以及如何使用它们。
00:06:05你可以将此技能添加到你的 Hermes 设置中。
00:06:07一旦你完成了这一步,你就可以给 Hermes 分配任何任务,它将通过 RTK 运行每个命令,而不是使用常规方法。
00:06:14只有代理需要的输出才会到达上下文窗口,因此 Hermes 可以为你提供更准确的答案。
00:06:20但在我们进入下一个内容之前,先听一听我们赞助商的话。
00:06:23Plural。
00:06:24运行生产环境基础设施通常归结为一件事:凌晨 3 点的警报,以及在 Kubernetes 日志中翻找找出是什么坏了。
00:06:31Plural 用工作台 (workbenches) 解决了这个问题。
00:06:34它们是真正为你操作基础设施的 AI 代理,并且它们在你的现有访问控制内部运行,因此不会发生未经你事先允许的事情。
00:06:42以下是打动我们的原因。
00:06:43我们将它接入了可观测性系统中,当警报触发时,代理不只是向我们发送 Pign 提示。
00:06:48它会自行调查,翻阅日志和指标,并得出真正的诊断结果和明确的下一步行动。
00:06:54并且 Workbench 可以无缝接入你已经在运行的工具(如 Datadog 和 Slack),因此它可以在警报触发的瞬间或在你设定的时间表上自动启动。
00:07:02与其从头编写提示词,不如直接从 Plural 的库中获取现成的技能。
00:07:07它基本上就是一个永不睡觉的随叫随到 (on-call) 工程师。
00:07:10通过说明栏中的链接试用 Plural。
00:07:12接下来这个技能来自谷歌,名字叫 Mantis。
00:07:15Mantis 是一套供你的代理运行的安全审查技能。
00:07:19它包含多种技能,每种技能专注于安全审查的不同领域。
00:07:23无论你正在构建什么应用,这个设置都适用,无论是移动应用还是网页应用,你都可以安装它并用于你正在从事的项目。
00:07:30安装命令已列在 GitHub 仓库中。
00:07:33运行安装命令时,系统会要求你在其提供的众多专业技能中进行选择。
00:07:38最好将它们全部安装,因为它们是整个审查过程中的不同部分。
00:07:42一旦将其安装到你的设置中,你就会看到列出的所有内容。
00:07:46例如,有一个名为 Mantis plan 的技能,它会在你真正开始之前规划你的安全审查过程。
00:07:52它还包含一个名为 Mantis reflect 的技能,该技能会回顾所有发现并确保正确记录故障。
00:07:59现在你可能会想,如果 Hermes 是一个始终运行的代理,而我们通常不使用它来编写代码,为什么还要在那里添加 Mantis 呢?
00:08:06但原因在于,一旦你的应用上线托管,就需要一次又一次地进行安全审查,而这并不是你想亲自去记着做的事情。
00:08:14这就是为什么 Hermes 是运行它们的最佳场所。
00:08:16它具有 cron 定时任务,基本上就是按计划自行运行的任务。
00:08:21你可以设置一个任务,针对你托管的应用运行此审查集。
00:08:25并且由于 Hermes 一直在运行,如果它发现问题,可以通过 Slack 或任何其他连接的平台向你发出警报。
00:08:31我们自己的项目也有类似的设置。
00:08:33在这里你可以看到,我们在提示词中将项目交给了 Hermes,并指示它对代码运行全套检查。
00:08:39它会不断发现问题并应用修复,这能让我们的应用保持健康状态,并确保没有任何漏洞。
00:08:45如果你曾经尝试使用代理进行研究,你可能遇到过一个巨大的问题。
00:08:49你的代理被拒绝访问某些内容。
00:08:52发生这种情况是因为许多网站(如 Reddit)不希望模型使用它们的内容。
00:08:56但这些网站非常宝贵,因为上面有真实用户讨论的问题、他们的观点和经验,这使得这些信息对研究非常有用。
00:09:05为了让代理访问这些内容,有一个名为 Agent Reach 的技能。
00:09:09它使 Hermes 能够访问通常受限制的网站,包括 Reddit、GitHub 和许多其他网站。
00:09:15它使用免费的方法,因此不会产生任何费用。
00:09:18它最近还成为了 GitHub 上排名第一的趋势项目。
00:09:21现在你可以在 Hermes 设置中安装它,它将为你提供访问 15 个以上平台的权限。
00:09:26它可以搜索 Instagram、Facebook、Twitter 和 Reddit。
00:09:29安装完成后,你可以直接从 Hermes 使用它,并让它在任何平台上搜索任何主题。
00:09:35它会运行自己的脚本,找到相关信息,然后给出你需要的答案。
00:09:41如你所知,Hermes 内置了 90 多种技能。
00:09:45除此之外,当 Hermes 在你的聊天中发现未来可能派上用场的的工作流时,
00:09:50它实际上会从中创建一个技能,然后在以后的运行中使用该技能。
00:09:54这听起来不错,因为它会根据你自动调整,但这带来了一个问题。
00:09:58实际上会进入上下文窗口的技能部分,只有它的名称和描述。
00:10:04它们会随着你的每条消息一起发送,以便代理知道这些技能的存在。
00:10:08现在,你可能会说名称和描述只占一小部分,根本不会影响上下文窗口,
00:10:14但如果你拥有超过 100 个技能,并且使用 Hermes 已经很长时间了,
00:10:18所有这些名称和描述就会开始消耗上下文窗口的大量空间。
00:10:23因此,为了解决这个问题,有一整套旨在提高代理工作效率的技能。
00:10:28但我们最感兴趣的是技能检索器(skill retriever)技能。
00:10:31它用最相关的技能描述替换了完整的技能提示列表,
00:10:36从而使上下文大小减小。
00:10:38所以,基本上,它在 Hermes 调用模型之前运行另一个步骤。
00:10:42它将你的消息拆分为模型可以理解的小块,
00:10:45对你拥有的每个技能进行相同的处理,然后将你的消息与技能列表进行匹配。
00:10:50得分最高的技能就是它发送的技能。
00:10:52他们的文档给出了具体数字。
00:10:54他们表示,在完整列表输入的情况下,它使用了大约 11,000 个标记。
00:10:58在此之后,它只使用 2,300 个,因此他们声称每轮可节省 9,000 多个标记。
00:11:04这在两个方面对你有所帮助。
00:11:05首先,你发送的每条消息进入上下文窗口的内容要少得多,
00:11:09因此你的运行成本更低。
00:11:11其次,代理不会被与你所问内容无关的技能分散注意力,
00:11:16因此你能得到更好的答案。
00:11:17这是作为一个插件提供的,而技能检索器是其中的技能之一。
00:11:21安装插件后,你可以从插件区域启用技能检索器。
00:11:25然后进入上下文的技能列表将比以前短得多。
00:11:29现在,我们在本视频中创建的 RTK 技能可以在我们的社区 AI Labs Pro 中找到。
00:11:35因此,如果你发现我们所做的工作很有价值并想支持频道,这是最好的方法。
00:11:39链接在描述中。
00:11:41这也让我们来到了本视频的尾声。
00:11:43如果你想支持本频道并帮助我们继续制作这样的视频,
00:11:46你可以通过使用下方的“超级感谢”按钮来做到这一点。
00:11:49一如既往,感谢您的观看,我们下期再见。

Key Takeaway

通过安装文件规划、委派设置、RTK、Mantis、Agent Reach 和技能检索器等六大核心技能,Hermes 代理的上下文利用率、多工具协同能力和研究范围得到了全面增强。

Highlights

  • “文件规划”技能通过 TaskPlan.MD、Findings.MD 和 Progress.MD 三个项目文件,借助钩子强行插入上下文窗口,防止代理在长对话中遗漏任务细节。

  • “委派设置”技能充当协调者,可自动识别系统已安装的编程工具并将任务分派给 claude code、codex 或 cursor 等专属代理。

  • RTK 工具能够裁剪代理运行终端命令时的冗余输出,仅将失败测试等必要信息传入上下文,从而减少标记消耗并提高准确性。

  • Mantis 是一套供代理运行的安全审查技能,支持通过 Hermes 的 cron 定时任务自动运行并发送异常警报。

  • “Agent Reach”技能使 Hermes 能够通过免费方法访问 Reddit、GitHub 等通常受限制的网站,获取真实用户的讨论内容。

  • “技能检索器”通过将 Hermes 的消息与技能列表进行匹配,每轮可节省 9,000 多个标记,同时避免代理被无关技能分散注意力。

Timeline

文件规划技能解决长对话遗漏问题

  • 长对话会导致代理的上下文窗口满载并遗漏细节。
  • “文件规划”技能将任务拆分为 TaskPlan.MD、Findings.MD 和 Progress.MD 三个文件。
  • 通过钩子强行将这三个文件插入上下文窗口,防止模型忽视计划。

代理在长时间对话中容易忘记早期指令,特别是在使用 Opus 模型时更为明显。为此,“文件规划”技能通过项目文件夹中的三个核心文件记录主任务、问题解决方案及目前进展。其独特之处在于利用钩子机制将这些文件强行注入上下文窗口,确保代理不会偏离分配的任务。

委派设置技能实现多编程代理协同

  • Hermes 可以连接 codex 订阅并内置 claude code 技能。
  • “委派设置”作为协调者,自动将任务分派给系统上安装的最适合的编程工具。
  • 专属委派技能包括 claude code、codex 和 cursor,且运行模式下无需逐个请求权限。

虽然 Hermes 支持多种编程工具和代理,但通常需要用户在提示词中明确指定。委派设置技能充当所有代理之间的协调者,能够分析已安装的工具并自动决定由谁处理特定任务。它会提供完整的路线图,并在批准后无缝分发任务,最后汇集成集体报告。

RTK 工具过滤终端命令输出

  • 90% 的终端命令输出并不需要全部进入上下文窗口。
  • RTK 能够裁剪输出,默认仅保留代理所需的失败测试等关键信息。
  • 通过专门的技能配置,Hermes 会将所有命令通过 RTK 工具进行路由。

终端命令返回的大量输出会无谓地增加上下文负担,导致智能体难以集中注意力。RTK 作为独立工具安装并在设备上运行,内置了常用终端命令的数据库。通过特定的技能设置,代理在运行命令时会自动过滤冗余内容,只把有用的部分送达上下文窗口。

Mantis 自动安全审查

  • 来自谷歌的 Mantis 是一套供代理运行的安全审查技能。
  • 它包含安全规划和回顾等多种专业技能,适用于各类移动和网页应用。
  • 借助 Hermes 的 cron 定时任务,可以按计划自动运行审查并在发现问题时通过 Slack 发出警报。

托管应用上线后需要持续不断地进行安全审查,而 Mantis 正是为了自动化这一流程而设计。安装全套 Mantis 技能后,结合 Hermes 的定时运行能力,代理可以自主对代码库进行全套检查、发现问题并应用修复,确保应用保持健康。

Agent Reach 突破网站访问限制

  • 许多网站会拒绝 AI 模型访问以保护内容。
  • “Agent Reach”技能使 Hermes 能够免费访问 Reddit、GitHub、Instagram 等受限平台。
  • 它能通过运行脚本搜索真实用户的讨论与经验,提供研究所需的宝贵信息。

代理在进行研究时经常遭遇网站屏蔽,而这些受限平台恰恰包含大量真实用户的讨论和观点。Agent Reach 作为 GitHub 趋势项目,赋予了 Hermes 访问 15 个以上受限主流平台的权限,允许代理直接在平台上搜索主题并获取答案。

技能检索器优化上下文标记消耗

  • Hermes 内置的 90 多种技能及自动创建的技能会占用大量上下文空间。
  • “技能检索器”用最相关的技能描述替换完整的技能提示列表。
  • 每轮对话可节省 9,000 多个标记,并防止代理被无关技能分散注意力。

随着 Hermes 积累大量技能,技能的名称和描述会随每条消息发送,逐渐消耗大量上下文窗口空间。技能检索器在模型调用前运行,将消息与技能列表进行匹配,仅发送得分最高的技能。这不仅降低了运行成本,还通过减少干扰提升了回答质量。

Community Posts

View all posts