Agent 多工具怎么选?
引入评分排序与成本评估,设计工具调度决策流程
原题:当多个可用工具均可完成同一子任务时,Agent应如何进行工具选择?是否需要引入评分、排序或成本评估机制?请设计一个合理的工具调度与决策流程。
评估与监控 · 高德真题
30 秒回答
- Accuracy(t):工具在特定query类型上的历史准确率
- SuccessRate:滑动窗口内的可用性统计
- 权重w:业务场景动态调整(如导航场景Latency权重↑)
回答与解析
核心思路
工具选择本质是多目标优化问题,需在效果、成本、体验之间做权衡。我设计一个三层决策流程:
一、工具画像与静态分层
| 层级 | 特征 | 示例 |
|---|---|---|
| L1 精准工具 | 高准召、高成本、高延迟 | 实时路况API |
| L2 通用工具 | 平衡型 | 标准地理编码 |
| L3 兜底工具 | 低延迟、低成本、覆盖广 | 缓存数据/规则推理 |
静态规则:先匹配L1,不满足触发条件则降级。
二、动态评分机制(运行时)
当多个工具可用时,计算综合得分:
Score = w₁·Accuracy(t) + w₂·(1/Cost) + w₃·(1/Latency) + w₄·SuccessRate(t-1)
- Accuracy(t):工具在特定query类型上的历史准确率
- SuccessRate:滑动窗口内的可用性统计
- 权重w:业务场景动态调整(如导航场景Latency权重↑)
三、决策流程(以高德为例)
用户Query → 意图识别 → 子任务拆解
↓
┌───────┴───────┐
单工具匹配? 多工具候选?
↓ ↓
直接调用 动态评分排序 → Top-K选择
↓
并行调用(竞速)或串行fallback
高德场景实例:路径规划子任务
- 候选:实时算路API / 历史轨迹模型 / 规则模板
- 触发条件:实时API超时>500ms → 自动切换模型预测
四、关键工程细节
- A/B实验框架:新工具灰度,用实际数据校准评分
- 熔断机制:连续失败N次自动降级,恢复后渐进放量
- 用户反馈闭环:实际导航偏差回灌,修正Accuracy估计
学习建议
建议系统学习该知识点
口语版讲法(约4分钟)
- 本质是多目标优化
- 静态分层兜底
- 动态评分权衡
- 高德路径规划实例
- 落地关键与风险
这个问题我觉得本质上是在问:当多个工具都能做同一件事时,怎么在效果、成本和体验之间做取舍。说白了是个多目标优化问题。我一般会设计一个三层决策流程来处理。
先说静态分层。我会把工具分成三档:L1是精准工具,准召高但贵、慢,比如实时路况API;L2是通用工具,各方面均衡;L3是兜底工具,便宜、快、覆盖广,比如缓存数据或规则推理。先按优先级匹配L1,如果触发条件不满足,比如实时API超时或调用配额超限,就自动降级到下一层。这个分层是静态的,但权重和阈值可以动态调。
但静态分层不够,因为同一个L1工具在不同场景下表现不一样。所以运行时还要加动态评分。当多个工具候选时,我给每个工具算一个综合得分:
Score = w₁·Accuracy(t) + w₂·(1/Cost) + w₃·(1/Latency) + w₄·SuccessRate(t-1)
这里Accuracy(t)是工具在特定query类型上的历史准确率,SuccessRate是滑动窗口内的可用性统计。权重w不是固定的,业务场景不同权重不同。比如导航场景延迟权重就高,因为用户等不了;但金融风控场景准确率权重高,成本可以接受。
举个例子,高德地图的路径规划。用户问“从国贸到望京怎么走最快”,子任务拆出来是路径规划。候选工具有:实时算路API、历史轨迹模型、规则模板。实时API准但贵,高峰期延迟高;历史轨迹模型成本低但可能不准;规则模板最快但最糙。先看实时API,如果500ms内没返回,自动切到历史轨迹模型,同时后台继续等实时API结果,谁先回来用谁,这叫竞速模式。如果两个都失败,最后落规则模板。
这里有个坑:评分模型本身可能不准,尤其新工具上线时历史数据不够。所以前提是要有A/B实验框架,新工具先灰度一小部分流量,用实际数据校准评分权重和阈值。如果不做这个,直接全量上线,可能因为评分偏差导致选错工具,用户感知到效果变差。我上线会特别关注熔断机制:连续失败N次自动降级,恢复后再渐进放量。另外用户反馈要闭环,比如实际导航偏差回灌到Accuracy估计里,修正后续评分。
还有一个点我最近在思考:如果工具本身是Agent,它可能动态调整自身行为,那评分模型要不要也做成自适应?比如用RLHF来学习用户对延迟和准确率的偏好。这个方向我觉得挺有意思,但也更复杂。
所以整体上,我更倾向把工具选择看作一个带反馈的动态规划问题,而不是静态匹配。分层兜底保证基本可用,动态评分做精细权衡,再加上熔断和反馈闭环,才能在实际业务里跑稳。
关键一句:如果工具本身是Agent,评分模型要不要也用RLHF自适应?
面试官还可能这样问
- 问法 1 · 场景切入
假设你在做一个电商客服Agent,用户问“我的订单什么时候到”,后台同时有物流查询API、订单状态缓存和规则推理引擎都能回答。你会怎么决定用哪个?
- 问法 2 · 层层追问
Agent碰到多个工具都能做同一件事时,你怎么选?……是硬编码优先级还是动态决策?……如果要考虑成本和准确率,你设计一个评分流程?
- 问法 3 · 直球架构
请设计Agent工具调度的决策流程:多个候选工具完成同一子任务,如何评分、排序或降级?要求结合成本、延迟和准确率,并给出具体公式或策略。