W
AI-Wiki
CONCEPT

Agent 工具调用决策

定义

Agent 工具调用决策是指 Agent 在执行任务时,对“下一步做什么、是否调用工具、调用哪个工具、如何解释工具返回结果、哪些信息进入后续上下文”进行控制的决策层。

它不是单纯的函数调用接口,也不是普通的关键词检索,而是位于任务目标、当前上下文、可用工具、界面状态和外部信息源之间的选择机制。来源中的一批 Jev 项目都把 Jev 放在这一位置:让大模型或 Agent 不只生成文本,而是在浏览器、搜索、coding agent、模型路由、记忆、上下文压缩和 Skill 选择中做更细粒度的决策。

在本文档中的语境

本文沿用已有词条标题“Agent 工具调用决策”,并把来源材料中整理的一批 Jev 项目作为具体案例补充。来源材料由作者“AI邪修”在 2026-09-20 发布,列出 fast-jev-compaction、jev-browser、jev-search、Reticle、NanoJev、open-alternative-jev、pi-jev、hermes-jev-skills 等项目或方向。

这些项目共同体现出一个趋势:Agent 的能力不只取决于底层 LLM 的语言生成能力,还取决于执行过程中的控制层。这个控制层需要判断:

  • 当前任务应该继续推理、搜索、浏览、调用代码工具,还是压缩上下文;
  • 如果有多个信息源或候选操作,应该选择哪一个;
  • 工具返回的大量内容中,哪些应保留,哪些应压缩,哪些应丢弃;
  • 浏览器或桌面界面的当前状态如何影响下一步操作;
  • 在多个模型、记忆、Skill 和浏览器操作之间如何路由。

因此,Jev 在这些项目中可以被理解为一种快速决策层或工具选择层:它通常不替代完整的 LLM 规划,而是在规划之后或执行过程中负责具体、低延迟、带约束的选择。

关键机制与组成

1. 规划与具体选择分离:jev-browser

jev-browser 展示了 Agent 工具调用决策中一个典型分工:LLM 负责规划,Jev 负责浏览器里的具体选择。

这里的“规划”通常指更高层的任务分解,例如理解用户目标、决定需要打开网页、查找信息或执行某个页面操作;而“浏览器里的具体选择”则更接近执行层,例如在当前页面状态下选择哪个元素、点击哪个入口、读取哪部分内容或采取哪一步浏览器动作。

来源明确指出,jev-browser 支持三种使用形态:

  • CLI:以命令行方式使用;
  • Library:作为库集成到其他程序中;
  • MCP:通过 MCP 形态接入工具生态。

这个案例说明,工具调用决策可以被拆成两层:高层 LLM 负责“想做什么”,Jev 负责“在当前工具环境里具体选什么”。这种分工有助于减少让大模型在每一步都处理细碎交互的负担,也让浏览器自动化更接近可控的操作选择问题。

jev-search 把 Jev 用在搜索流程里,负责理解查询、选择信息源、筛选结果。

这意味着它的定位不是普通关键词搜索。普通关键词搜索通常把用户输入映射为检索词,再返回按相关性排序的网页或文档;而 jev-search 所体现的 Agent 工具调用决策更接近 Agent 搜索控制层,至少包含三个步骤:

  1. 理解查询:判断用户真正要找的是什么、需要事实、解释、代码、新闻还是特定来源;
  2. 选择信息源:决定应该访问哪些搜索渠道、网页、文档或其他来源;
  3. 筛选结果:从候选结果中挑出更适合进入后续回答或任务执行的内容。

因此,jev-search 的重点不只是“搜到更多结果”,而是让 Agent 在搜索过程中做选择:哪些源可信,哪些结果对当前任务有用,哪些内容应进入上下文,哪些应该被忽略。

3. Coding agent 的工具调用控制:pi-jev

pi-jev 的场景是把 Jev 接入 Pi coding agent,用来控制工具调用,并支持类型化、带置信度的回答。

在 coding agent 中,工具调用可能包括读取文件、修改代码、运行测试、搜索项目、调用终端命令、查询文档等。pi-jev 的意义在于把这些动作的选择交给一个专门的决策层控制,而不是让 Agent 盲目或机械地调用工具。

来源中特别提到 pi-jev 支持“类型化、带置信度的回答”。这说明它不只返回自然语言结论,还可能以更结构化的形式表达判断结果,并附带置信度。对工具调用决策而言,这有两个作用:

  • 类型化结果便于上层 agent 或程序继续处理,例如区分“应调用工具”“不应调用工具”“需要更多信息”“结果不确定”等状态;
  • 置信度可以影响后续动作,例如高置信度时直接执行,低置信度时要求补充信息、换工具验证或回退到 LLM 进一步推理。

pi-jev 因而把 Agent 工具调用决策从“模型说一句话”推进到更可编程的控制信号。

4. 跨 Agent 工具链扩展:hermes-jev-skills

hermes-jev-skills 直接把 Jev 接进 Hermes、Claude Code 和 Codex,覆盖模型路由、记忆、上下文压缩、Skill 选择和浏览器操作。

这个案例把工具调用决策扩展到更完整的 Agent 工具链中,覆盖的范围包括:

  • 模型路由:在不同模型之间选择使用哪个模型处理当前步骤;
  • 记忆:决定是否读取、写入或使用长期/短期记忆;
  • Agent 上下文压缩:决定哪些上下文保留、压缩或丢弃;
  • Skill 选择:在多个可用 Skill 中选择当前任务需要的能力;
  • 浏览器操作:决定在网页环境中执行什么动作。

它说明 Agent 工具调用决策并不局限于“调用一个外部 API”。在复杂 Agent 系统中,模型选择、记忆管理、上下文管理、技能调度和浏览器控制都可以被视为工具调用决策的一部分。

5. 运行时界面感知辅助决策:Reticle

Reticle 被来源描述为“给 Web 和桌面应用增加运行时感知能力,帮助 Agent 理解自己正在操作的界面”。

Agent 工具调用决策中,Reticle 更适合作为辅助能力理解:它不一定直接替代决策器,但它提供当前界面的运行时感知,使 Agent 更能理解自己面对的 Web 或桌面应用状态,从而影响后续操作选择。

例如,当 Agent 需要在页面或桌面应用中继续执行任务时,是否点击某个按钮、读取某个区域、等待加载完成、切换输入框,取决于它是否理解当前界面。Reticle 这类运行时感知能力可以为决策层提供更准确的状态输入,减少基于截图或文本片段的盲选。

与上下文压缩的关系

来源中的 fast-jev-compaction 是 Agent 上下文压缩的直接例子:它作为 Claude Code 插件,在每次工具调用后用 Jev 判断哪些内容该保留、压缩或丢弃,以减少上下文膨胀。

虽然 fast-jev-compaction 更适合归入 Agent 上下文压缩,但它也与工具调用决策紧密相关。原因是每次工具调用后,Agent 都会得到新的输出:命令日志、搜索结果、代码 diff、错误信息、网页内容等。后续是否继续调用工具、调用哪个工具,很大程度取决于这些输出如何进入上下文。

如果全部保留,长任务会迅速遭遇上下文膨胀;如果过度丢弃,Agent 会丢失关键证据。fast-jev-compaction 所体现的“保留、压缩、丢弃”判断,本质上为后续工具调用提供了更干净的状态输入。

细节与边界

不是普通工具封装

Agent 工具调用决策不是简单地把一个 API 包装成工具。工具封装只解决“能不能调用”的问题,而工具调用决策解决“何时调用、调用哪个、为什么调用、如何处理返回结果、如何影响下一步”的问题。

例如 jev-search 不是普通关键词搜索;它强调理解查询、选择信息源、筛选结果。jev-browser 也不是单纯浏览器自动化;它强调 LLM 与 Jev 的分工:LLM 负责规划,Jev 负责浏览器里的具体选择。

不等同于完整 LLM 规划

来源中的 jev-browser 明确把 LLM 规划和 Jev 具体选择分开。因此,Jev 在这些案例中不应被简单理解为替代 LLM 的完整规划器。更准确的边界是:LLM 可以负责高层目标与任务分解,Jev 负责执行阶段的快速、具体、可被程序消费的选择。

决策输入可能来自多种状态

工具调用决策的输入不只包括用户问题,还包括:

  • 当前上下文和历史工具调用结果;
  • 搜索候选结果和信息源;
  • 浏览器或桌面应用的运行时界面状态;
  • 可用模型、记忆、Skill 和工具列表;
  • 上一步回答的类型和置信度。

Reticle 提供的运行时感知说明,界面状态本身也可以成为决策输入;pi-jev 的类型化、带置信度回答说明,决策输出也可以是结构化控制信号,而非自然语言描述。

决策输出不一定是最终答案

在这些项目中,决策层的输出经常不是面向用户的最终回答,而是中间控制结果。例如:选择一个信息源、挑选一个浏览器动作、决定是否调用工具、选择某个 Skill、压缩一段上下文、把回答标注为某种类型并附带置信度。

这类输出的价值在于驱动 Agent 的下一步执行,而不是直接完成用户交互。

典型场景

  • 浏览器任务:LLM 制定网页操作计划,jev-browser 在浏览器中做具体选择,并可通过 CLI、Library 或 MCP 使用;
  • 搜索任务:jev-search 理解查询、选择信息源、筛选结果,避免停留在普通关键词匹配;
  • 编程任务:pi-jev 接入 Pi coding agent,控制文件、终端、测试等工具调用,并输出类型化、带置信度的回答;
  • 多工具 Agent:hermes-jev-skills 接入 Hermes、Claude Code 和 Codex,在模型路由、记忆、上下文压缩、Skill 选择、浏览器操作之间做决策;
  • 界面自动化:Reticle 为 Web 和桌面应用增加运行时感知,让 Agent 更理解当前界面,再决定下一步操作。

相关条目

  • Jev:来源中多个项目围绕的快速决策层或技术名称。
  • Agent 上下文压缩:与工具调用结果处理密切相关,fast-jev-compaction 是直接案例。
  • AI邪修 整理了一批 Jev 项目,大家可以参考 - 今日头条 摘要:本文主要来源,列出 8 个 Jev 项目或方向。
  • MCP:jev-browser 支持的使用形态之一,可作为工具接入方式理解。
  • Claude Code:fast-jev-compaction、hermes-jev-skills 涉及的 coding agent 或开发工具场景。
  • Codex:hermes-jev-skills 接入的工具链之一。
  • Hermes:hermes-jev-skills 接入的 Agent 环境之一。