Hermes Agent 加入工具搜索,“AI 养马”更省 tokens

该文报道了 Nous Research 为开源 Hermes Agent 引入 Tool Search 功能,以按需加载(lazy schema loading)缓解 MCP(模型上下文协议)工具带来的“大量工具税”和上下文膨胀问题。文章引用 Anthropic 的数据:在某些部署中平均每回合提示大小约 45,000 tokens,其中约 22,000 tokens 为工具模式开销;优化前工具定义在多服务器部署下可达到 134,000 tokens,单回合消耗在 15,000 至 60,000 tokens。Tool Search 用三个桥接工具(tool_search、tool_describe、tool_call)替代预加载所有工具的做法,检索层用 BM25 并带有子串回退,按需加载工具 schema 与参数,从而降低上下文占用、减少误选并提升准确率(Anthropic 测试中 Claude Opus 4 从 49% 提升到 74%,Opus 4.5 从 79.5% 提升到 88.1%),同时减轻由于缓存未命中带来的每次会话成本(约 0.07–0.10 美元)。文章还给出 hermes.yaml 的配置示例和实现细节。

5 月 30 日消息,科技媒体 marktechpost 昨日(5 月 29 日)发布博文,报道称 Nous Research 为开源 Hermes Agent(Hermes 智能体)加入 Tool Search(工具搜索),通过按需加载缓解 MCP(模型上下文协议)工具占满上下文的问题。

根据 Anthropic 在 2025 年 11 月发布的报告,在一个包含 5 台 MCP 服务器和 34 个工具的 Hermes 部署显示,平均每回合的提示符大小为 45000 个 tokens,其中大约 22000 个 tokens(约占 50%)仅仅是工具模式的开销。

Anthropic 在今年 4 月发布的论文中,指出在典型多服务器部署环境下,工具注意力(Tool Attention)是衡量“MCP 工具税”消耗的关键,优化前工具定义可消耗 134000 个 tokens,每回合消耗的 tokens 数量为 15000 至 60000 个。

这种“MCP 工具税”导致 2 个问题:

  • 成本:会话开始时的缓存未命中生成每次可能花费 0.07 美元至 0.10 美元。
  • 准确率下降:当模型同时看到数百个不相关的工具选项时,就会出现决策瘫痪。

Hermes Agent 为解决上述问题,引入 Tool Search 功能,是可选渐进式披露层,该模型不会预先加载所有工具架构,而是按需逐轮加载所需内容。

启用 Tool Search 后,模型可见工具数组中的 MCP 工具和插件工具替换为三个桥接工具:

tool_search(query, limit?)   — search the deferred-tool catalog
tool_describe(name)          — load the full schema for one tool
tool_call(name, arguments)   — invoke a deferred tool

其中 tool_search 负责搜索,tool_describe 负责载入完整模式,tool_call 负责调用真实工具。模型先找工具,再看参数,最后调用目标工具。

典型的交互过程如下:

Model: tool_search("create a github issue")
  → { matches: [{ name: "mcp_github_create_issue", ... }] }
Model: tool_describe("mcp_github_create_issue")
  → { parameters: { type: "object", properties: { ... } } }
Model: tool_call("mcp_github_create_issue", { title: "...", body: "..." })
  → { ok: true, issue_number: 42 }

启用该工具后,能有效提升准确率,Anthropic 内部 MCP 评测显示,Claude Opus 4 在启用 Tool Search 后,准确率从 49% 提升到 74%。Claude Opus 4.5 也从 79.5% 提升到 88.1%,无关工具减少后,误选概率随之下降。

检索层使用 BM25(经典文本检索算法),匹配工具名、描述与参数名。若 BM25 没有返回正分结果,系统会退回到工具名的字面子串匹配,避免在所有工具名都含有相同词时出现零分问题。

配置参考:

将以下内容添加到 hermes.yaml 文件中:

tools:
  tool_search:
    enabled: auto        # auto (default), on, or off
    threshold_pct: 10    # % of context at which auto mode kicks in
    search_default_limit: 5
    max_search_limit: 20

IT之家附上参考地址

  • Tool Search
  • Introducing advanced tool use on the Claude Developer Platform
  • Tool Attention Is All You Need: Dynamic Tool Gating and Lazy Schema Loading for Eliminating the MCP/Tools Tax in Scalable Agentic Workflows

版权声明:本站文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

评论加载中...