READ · UNDERSTAND · TRANSFER
阅读理解,按需巩固
先沿着原理、问答和迁移案例阅读。需要检查理解时,再切换巩固练习或展开个人记录。
核心知识 · 备用模型的能力与状态契约
先理解核心原理
先备概念:错误分类、工具调用关联、有界重试
切换模型改变决策器,不能重置已执行事实、授权与预算。备用模型只有满足任务所需能力和消息语义,才是可执行的降级路径。
可重试错误与拒绝不同
临时限流或服务不可用可能适合等待或换供应商;参数错误需要修正,权限拒绝需要停止,安全拒答不能因想得到答案就自动换模型。分类由运行时和业务政策决定,模型自由解释错误可能扩大权限。
适配的是语义,不只是 JSON
不同模型的工具消息、关联 ID、结构化输出和上下文长度可能不同。内部记录业务动作、参数、执行状态与证据,适配器再转换为目标模型能理解的历史;不能把已成功发信改成一个待执行 tool call。未知状态先核对。
降级不等于总能完成
备用模型不支持所需工具或证据长度时,可降低任务范围、仅返回已证实部分,或暂停人工处理。用总 deadline、调用预算与有限退避约束整条路由,避免主备相互切换放大压力。下面的路由与映射属于教学设计,未验证任何模型互换兼容性。
回到问题:怎样回答?
先区分临时限流、参数错误、权限拒绝和业务失败,只有适合重试的情况才触发备用路由。为每个模型验证工具调用、结构化输出和上下文能力,使用统一内部消息与动作契约。切换前保存已执行事实,不能重放有副作用的工具。备用模型仍受同一权限和预算约束;无法满足能力时应明确降级或暂停。
实现与取舍
降级策略由任务需要决定
简单摘要可以切到便宜模型,复杂多工具任务需要验证备用模型是否支持相同输出契约。不能仅凭两个接口都接收 messages 就认为行为兼容。维护能力矩阵与实际契约测试,检查工具参数、并行调用、拒答与上下文长度等边界;某些请求无法无损转换就应拒绝切换。
区分重试和重新执行
模型请求失败可能安全重试,但运行中已经执行过的工具结果必须保留。将已确认事件转换成备用模型理解的内部状态,避免再次要求执行同一写动作。工具调用 ID 的格式可以重新映射,业务操作 ID 仍保持稳定。中途切换后也要重新检查模型提出的下一步是否合法。
限流和预算
遵守供应商建议的等待时间并采用受控退避,限制跨模型重试次数。全局预算计算主模型失败请求、备用请求和工具重试成本,不能各路分别认为预算充足。熔断异常路由,恢复后小流量探测,不要在供应商短暂故障时制造更大请求风暴。
可解释降级
记录切换原因、能力变化和实际质量。如果备用只能生成草稿,就不能照常自动发布;若上下文需要压缩,应验证关键约束。对同一任务集测故障切换前后的完成率、违规率和费用,同时保留完全不可用时的明确错误状态。降级目标是受控可用,不是任何情况下都返回一段文本。
工程推演
- 场景
- 面试假设:主模型限流,备用模型不支持某个结构化输出约束。
- 设计决策
- 路由层检查能力,使用经过验证的适配或退回草稿模式。
- 验证目标
- 切换不重复写动作,能力不足不会伪装完整成功。
- 适用边界
- 备用质量需要在具体任务上评测,不能按品牌推断。
连续追问与解答
沿着问题的前提和约束继续向下读。先理解参考解答,再尝试收起答案,用自己的话解释因果和取舍。
第 1 层主模型返回拒答后应该自动换模型绕过吗?
切换动机需区分临时故障与禁止行为。
参考解答
不应默认如此。先判断拒答是业务权限、安全政策还是能力不足;前两者保持拒绝,不能换模型绕过。明确的误判或能力问题可按已授权政策复核或降级,但备用模型仍受同一执行门禁,不能把换供应商当授权。
第 1 层切换时工具调用 ID 怎么处理?
更换消息格式后仍要保存真实动作关联。
参考解答
供应商 tool call ID 用于该会话中的请求回执关联,不能当全局业务幂等键。内部动作 ID 和业务键保持稳定,适配器记录供应商映射;完整成对转换历史。无法合法表达的待决调用先核对或重建已完成事实,不复制旧 ID 后盲目重放。
沿着这个回答继续深入
第 2 层主模型工具已成功,但对应回执尚未进入历史,如何给备用模型继续?
父问映射调用 ID,子问增加执行成功与历史落盘之间的窗口。
参考解答
先从可信执行账本读取动作和结果,持久化缺失回执,再构造目标模型的已完成事实。如果结果未知则查询原业务键或暂停。不能只传用户原问题,因为备用模型可能再次提出同一写动作。
沿着这个回答继续深入
第 3 层备用模型仍提出同一写动作,应靠 Prompt 阻止吗?
父问恢复历史,继续处理决策器仍选择重复调用的情况。
参考解答
Prompt 可以告知已有结果,但最终工具网关还要按内部业务键、动作语义和当前状态拒绝重复效果。新提案若真的改变内容需形成新动作并重新授权。模型是否记住历史不是幂等保障,网关保留稳定业务事实。
第 1 层备用模型也限流怎么办?
备用也失败时需要全局停止规则。
参考解答
按全局预算与截止时间停止扩散,采用有界退避、熔断或排队,并给用户明确的暂停状态。不要层层各重试多次造成乘法放大;只读可在授权下恢复,写操作先保存原业务键并对账,不能切第三模型假装动作未发生。
举一反三:条件变了,怎样推导?
先找出改变的条件,再判断原方案中哪些前提仍成立。下面的案例是教学推演,便于将原理迁移到新问题。
备用不支持大上下文
改变的条件:证据规模超出备用能力。
延伸问题:简单截断历史是否合理?
推导与参考解答
只按明确的证据选择规则收缩任务,保留关键约束、已执行账本与必要来源;如果无法维持正确判断,暂停或转人工。截掉旧工具效果可能诱导重放,截掉授权条件可能扩大动作,不能把字数压缩当语义兼容。
保持不变的原理:降级后仍需满足任务最小能力和事实契约。
主模型读操作后业务写入超时
改变的条件:路由故障与未知副作用叠加。
延伸问题:切备用重新开始能解决吗?
推导与参考解答
不能。先在执行账本标未知并查询目标结果;备用只接手可安全继续的步骤。保持原业务键与预算,结果确认后才构建历史。模型切换不改变目标系统可能已提交的事实。
保持不变的原理:决策器变化不能抹掉外部执行状态。
易错点
- 错误一律切模型
- 切换后重跑所有工具
- 备用模型绕过原权限和预算
参考资料
依据公开技术资料设计;参考资料支持技术机制,场景与评分标准为本站设计,不代表某公司面试原题。 新增问答与迁移案例用于原理讲解,来源核查与案例运行验证分别记录。
检查自己理解到哪一步
读完后可以对照这些标准解释原理、边界和取舍。掌握程度由你自评;需要进一步验证时,再完成下方小任务。
- 基础达标
- 能区分临时限流、参数错误和权限拒绝,不一律切模型。
- 中高级信号
- 能维护能力契约与已执行事件,避免重复副作用。
- 资深信号
- 有跨路由预算、熔断、质量门槛和明确降级状态。
巩固练习 按需完成 · 建议 15 分钟
为模型 429、无效参数、工具已提交三种失败设计路由表。
展开验收要求与检查点
- 永久错误不盲重试
- 切换不重放写动作
- 能力不满足时有明确终态
重点检查
- 模型接口兼容不等于能力兼容
- 保持已执行事实和操作 ID
- 预算覆盖所有重试路径