真实面经题目 · 原创解析

多工具 Agent 如何设计工具选择与调用调度链路,并在超时、参数错误或工具失败时做 fallback?

这题考察多工具 Agent 的工程调度能力。好的回答不能停在“让模型选择工具”,而要说明工具注册、候选召回、参数生成、权限校验、执行编排、状态记录、错误分类和 fallback 策略。面试官重点看你是否能把不稳定的 LLM 工具调用变成可观测、可恢复、可降级的业务链路。

出现于:阿里巴巴 · AI 应用开发

60 秒回答模板

多工具 Agent 我会按“选工具、造参数、执行、观察、纠错”来设计。工具侧先有清晰 schema、能力描述、权限、幂等性和风险等级;调度侧根据用户意图、上下文状态、规则和模型判断召回候选工具,再让模型生成参数并经过确定性校验。执行时要设置超时、重试、限流和并发控制,工具结果写入任务状态,再由 planner/evaluator 判断是否继续。fallback 不能只写 try-catch,要按错误类型处理:参数错误可让模型修正或触发澄清,超时可切备用工具或返回部分结果,业务失败可降级到缓存、人工接管或安全终止,副作用工具则需要审批、dry-run 和补偿。

考点 模型选择不是全部
难度 真实面经题
回答目标 展示你能设计一条真实可上线的多工具 Agent 调度链路,并能处理失败、降级和安全边界。

深入解析

01

工具建模

每个工具需要有名称、描述、输入输出 schema、必填字段、枚举约束、权限范围、是否有副作用、超时时间和错误码。描述要能让模型区分相似工具,schema 要能让程序做确定性校验,这样工具选择和参数生成才不会完全依赖模型自由发挥。

02

选择链路

工具选择可以分两阶段:先用规则、标签、向量检索或意图分类召回少量候选,再让模型在候选集中选择并解释原因。高风险工具可以要求更高置信度或人工确认,低置信场景先向用户澄清,避免错误调用。

03

调度执行

调度器负责把计划步骤映射成工具调用,处理串行、并行、依赖关系和中间状态。它还要维护 trace id、调用日志、输入输出摘要、重试次数和预算,避免 Agent 在循环调用中失控或重复执行同一副作用动作。

04

错误分类

fallback 前要先区分错误:参数不合法、鉴权失败、业务规则拒绝、网络超时、工具内部 5xx、结果为空、结果冲突、模型选错工具。不同错误的恢复策略不同,不能统一重试。比如参数错应修参,鉴权失败应提示授权,业务拒绝应安全终止。

05

降级策略

降级可以包括备用模型、备用工具、缓存结果、规则答案、减少任务范围、返回已完成部分、转人工或要求用户补充信息。关键是降级要可解释且不越权,尤其对发消息、下单、写库等动作,要保证幂等、审批、回滚和审计。

06

观测评估

需要记录工具选择命中率、参数校验失败率、超时率、重试成功率、fallback 触发率、最终任务成功率和人工接管率。通过这些指标才能判断问题出在工具描述、模型选择、网络稳定性还是业务接口本身。

易错点

  • 只说 Function Calling,不说明工具注册、候选召回、权限和状态管理。
  • 把 fallback 理解成失败后换模型,没有覆盖参数错误、超时、业务拒绝和结果冲突。
  • 忽略副作用工具的幂等、审批、回滚和审计。
  • 没有指标和 trace,线上失败后无法定位是模型问题还是工具问题。

面试官追问

如何判断模型选错工具?

可以用规则校验工具适用条件、检查必要参数是否来自上下文、对比工具返回是否满足当前步骤目标,也可以让 evaluator 验证结果。高风险场景还可以要求模型给出选择理由并做二次评审。

参数错误应该直接重试吗?

不应该无脑重试。能从错误码中恢复的参数可以让模型修正一次;缺少用户信息时应澄清;违反业务规则时要停止或换路径。否则会浪费 token 和接口配额,还可能触发风控。

多工具调用如何避免循环?

要设置最大步骤数、预算、同类工具重复调用限制和状态去重。Evaluator 发现目标没有推进、结果重复或错误连续出现时,应终止、改计划或转人工。

备用工具返回结果和主工具不一致怎么办?

要标记来源和置信度,并按业务优先级、时间戳、权威源或人工校验处理。不能把冲突结果直接拼给用户当确定结论,必要时返回不确定状态或请求确认。