AI Agent 工具路由:为任务选择下一项工具
比较搜索、计算器、代码和数据库对 Agent 下一步任务的适用性,先明确能力边界,再分配请求。
匿名体验受免费额度限制。登录后使用账户积分并保留决策历史。
你的下一次决策,从这里开始。
在上方添加背景信息,或使用示例开始体验。
按能力分流,而不只看工具名称
Agent 路由要为任务的下一步选择可用能力。搜索与数据库都能检索信息,但来源不同;代码和计算器都能计算,但执行条件不同。说明 Agent 已经掌握的事实,以及各工具能够访问什么。路由结果不会调用工具、生成有效参数或授予权限;执行之前,你的应用仍需验证所选能力和输入。
从具体案例理解边界
以下为场景示例和人工判断要点,并非模型实跑结果。输入你的实际上下文,查看本次决策。
计算所需的数据已经齐全
发票小计是 240,税率是 8%。请计算总额。
已知操作数的算术适合交给计算器,不需要额外查询。执行前仍需验证数值和单位;选中了计算器,并不能证明给定税率适用于真实发票。
必须先取得数据
这个月排除已退款订单后的平均订单金额是多少?
如果获授权的订单数据源支持查询,数据库就是候选工具。检索和聚合可能在同一条 SQL 中完成。路由规则需要包含数据结构与工具能力,不能因为问题涉及平均值,就期待计算器提供缺失的订单数据。
没有任何可用工具能够完成
帮我订明天的机票,用公司卡付款。
默认四个工具并不构成订票或付款能力。集成时可添加含义清晰的无法处理选项,或在路由前拒绝不支持的任务。本页保留原有选项,选中某个默认工具不代表获得权限,也不证明任务能够完成。
先约定分类口径
以下是这些选项的建议复核口径。运行时,请在问题或上下文中写明适用于你团队的规则。
| 选项 | 适用情形 | 需要区分的边界 |
|---|---|---|
| 搜索 | 从 Agent 可用的搜索来源检索信息。 | 公开搜索不等于访问私有订单数据库。 |
| 计算器 | 对已知输入执行边界明确的算术计算。 | 缺失的事实需要先查询或澄清。 |
| 代码 | 在执行环境中完成允许的数据变换或计算。 | 执行仍需独立的沙箱、权限与输入检查。 |
| 数据库 | 查询获授权的结构化数据源。 | 选中它不授权写入,也不能绕过行级访问限制。 |
这些情况值得多看一步
能力重叠或名称过于宽泛
自定义配置中,“查询订单数据库”比“数据库”表达的信息更多。明确数据源、支持操作与排除项。当 SQL 聚合和代码任务都能得到结果时,要专门评估这类重叠情形。
为不支持的任务强行选工具
强制选择总会有一个胜出项,即使所有选项都不适合。在自己的配置中加入兜底选项,或在分流前检查能力。任务仍不明确时,不应悄悄执行最常用工具。
把执行成本一起纳入路由评估
按工具组合、执行代价和最终任务成功情况分析误路由。高置信度的选择仍可能在当前环境不可用。权限和参数需要独立验证,缺少必要输入时先追问。
按自己的端到端延迟预算测量路由开销,不套用统一比例。多级路由会增加调用,也可能累积错误;与模型原生工具选择比较时,应计算完整链路的成本。
从一个 Jev API 示例开始接入
通过 cURL 调用 iajev REST API,以 JSON 获取选项、概率与置信度。
curl https://iajev.com/api/v1/decisions/run \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Idempotency-Key: YOUR_UNIQUE_REQUEST_ID' \
-H 'Content-Type: application/json' \
--data '{
"state": {
"message": "按国家分组,我们第三季度的平均订单金额是多少?"
},
"decision": {
"type": "choice",
"question": "智能体应该调用哪个工具?",
"choices": [
"搜索",
"计算器",
"代码",
"数据库"
]
}
}'关于这个工具
Agent 超过八个工具怎么办?
当前 iajev 接口最多接受八个选项。可以先分能力族,再选具体工具。每一级都应定义兜底,并评估整条链路,因为第一步选错后,第二步可能根本看不到正确工具。
什么时候考虑搭配原生函数调用使用?
需要在执行前检查固定能力集合的分布时,可以考虑独立路由。原生函数调用还可能在 Agent 流程中生成参数。应比较任务成功率和延迟;这个接口返回选项,不返回可执行的函数调用。
使用 iajev
提供上下文
保留本次判断所需的事实。
确认选项
按业务流程调整问题与候选项。
运行并复核
查看结果分布,再决定下一步。
置信度就是判断正确的概率吗?
不是。置信度是模型单独给出的估计,选项概率则描述各候选项的分布。两者都不等于经过测量的准确率保证。
可以比较两种输入吗?
修改上下文后,用同一个问题再次运行即可比较概率变化。修改问题或选项会开始新的比较。