跳到正文

Agent 多工具怎么选?

引入评分排序与成本评估,设计工具调度决策流程

原题:当多个可用工具均可完成同一子任务时,Agent应如何进行工具选择?是否需要引入评分、排序或成本评估机制?请设计一个合理的工具调度与决策流程。

评估与监控 · 高德真题

30 秒回答

  1. Accuracy(t):工具在特定query类型上的历史准确率
  2. SuccessRate:滑动窗口内的可用性统计
  3. 权重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. 问法 1 · 场景切入

    假设你在做一个电商客服Agent,用户问“我的订单什么时候到”,后台同时有物流查询API、订单状态缓存和规则推理引擎都能回答。你会怎么决定用哪个?

  2. 问法 2 · 层层追问

    Agent碰到多个工具都能做同一件事时,你怎么选?……是硬编码优先级还是动态决策?……如果要考虑成本和准确率,你设计一个评分流程?

  3. 问法 3 · 直球架构

    请设计Agent工具调度的决策流程:多个候选工具完成同一子任务,如何评分、排序或降级?要求结合成本、延迟和准确率,并给出具体公式或策略。

同模块相关题目