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 负责“在当前工具环境里具体选什么”。这种分工有助于减少让大模型在每一步都处理细碎交互的负担,也让浏览器自动化更接近可控的操作选择问题。
2. 搜索流程中的查询理解、信息源选择与结果筛选:jev-search
jev-search 把 Jev 用在搜索流程里,负责理解查询、选择信息源、筛选结果。
这意味着它的定位不是普通关键词搜索。普通关键词搜索通常把用户输入映射为检索词,再返回按相关性排序的网页或文档;而 jev-search 所体现的 Agent 工具调用决策更接近 Agent 搜索控制层,至少包含三个步骤:
- 理解查询:判断用户真正要找的是什么、需要事实、解释、代码、新闻还是特定来源;
- 选择信息源:决定应该访问哪些搜索渠道、网页、文档或其他来源;
- 筛选结果:从候选结果中挑出更适合进入后续回答或任务执行的内容。
因此,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 环境之一。