路由优化对象是预期损失
把分类请求和生产配置写入交给同一便宜模型,平均成本可能很好看,但一次错误写入造成的停机足以抵消长期节省。路由器不能只预测哪个模型会回答,而要估计任务失败的后果、可逆性、影响范围和发现延迟。相同的准确率下降,在草稿摘要上也许可接受,在权限变更或资金操作上则完全不可接受。
风险层由可信服务端根据动作、资源和上下文计算,调用者传来的“低风险”只能作为候选信号。读取公开文档、生成内部草稿和写生产配置分别进入不同层,批量数量、租户范围与金额会进一步抬升风险。分类结果包含规则版本与原因,便于事后解释某次任务为何采用特定模型与控制措施。
损失函数还包括延迟、令牌、工具费用、人工处理和失败恢复,不是简单的单次模型价格。一个轻量模型若频繁生成非法参数并重试,端到端成本可能更高。评测按任务层统计完整分布,使路由决策基于真实工作流而非供应商列表上的标称能力。
风险层映射成能力组合
低风险且可逆的任务可使用轻量模型、缓存和较短推理预算,但输出仍要满足基础 Schema 与权限。中风险任务增加更强模型、检索证据和确定性业务校验。高风险写操作采用性能更可靠的模型只是其中一环,还必须加入参数验证、独立确认、幂等执行和必要的人工批准,不能把安全完全外包给模型选择。
路由表描述允许模型集合、最大成本、超时、工具能力、确认要求和回退策略。配置版本与任务一起记录,运行中不因热更新改变后半段控制。某模型不支持所需结构化输出或工具协议时不能被选中,即使它价格更低;能力兼容检查发生在请求前,而不是等解析失败后无限重试。
缓存只适用于输入和权限作用域稳定的低风险结果。缓存键包含模型、提示、数据版本与授权范围,不能把一个租户的个性化答案返回给另一个租户。生产写入不通过答案缓存跳过校验;重复动作依靠服务端幂等键,而不是复用一段模型文本。
模型与规则版本都必须可追踪
模型别名可能在提供方侧更新,同一个名称并不保证行为恒定。路由事件保存可获得的模型快照标识、调用日期、提示版本、参数和路由规则版本。无法固定快照时设置变化监测和定期回归,一旦质量分布漂移就停止高风险流量扩大,而不是等事故后才发现别名已变化。
路由特征也需要版本化,包括任务分类器、阈值和预处理。若文本分类器误把“删除测试数据库”中的否定范围丢失,风险层可能错误下降;因此动作类型、目标环境和影响数量应优先来自结构化业务字段,而非只解析自由文本。客户端不能直接控制最终层级。
每次规则更新输出受影响任务清单和离线对比。若同时更换模型与阈值,很难判断线上变化来自何处,尽量分阶段发布;必须组合时保留对照组。审计不需要保存敏感全文,可记录特征类别、不可逆摘要和决定原因。
降级只减少能力不放宽约束
强模型超时后切到更弱模型,不应取消确认、扩大工具或忽略 Schema。安全降级路径通常是返回只读信息、缩小任务、进入人工队列或明确拒绝。若备用模型不支持原输出契约,高风险动作停止;不能把自由文本勉强解析成参数继续执行。约束集合属于任务风险层,不属于某个模型实现。
可用性故障与内容失败分开处理。连接失败适合有限重试或切换兼容端点,模型明确返回非法业务值则不能通过换模型逃过资源校验。总体超时预算防止多个回退串联造成不可接受延迟,已产生的工具副作用在切换前先查询状态。
降级消息要如实说明当前能力,不能把低置信结果包装成正常完成。用户可以选择等待、接收草稿或转人工,但不能通过界面参数要求跳过高风险确认。恢复主模型后,新请求按当前规则路由,运行中的任务仍保持已记录的控制包络。
真实任务集测量联合分布
评测集按风险层收集真实分类、检索、规划和写入任务,包含正常样本、边界参数、依赖故障与攻击输入。每个样本定义结果质量、允许工具、禁止动作、最大成本和时延目标。高风险案例使用确定性断言核对环境、权限、金额和副作用,语言风格才由人工或模型评分。
报告质量、延迟和成本的联合分布,而非各自平均值。尤其观察九十五与九十九分位、重试次数和人工接管率,识别某模型只在困难任务上突然变慢的现象。按语言、输入长度和工具类型分桶,避免大量简单低风险请求掩盖少量关键退化。
历史失败转成最小可复现实例,数据和工具响应固定版本。评测中模拟模型端限流、结构化输出缺失和工具超时,确认路由器进入预定回退。模型或提示升级必须重跑相关风险层,不能用低风险总体提升抵消高风险红线失败。
灰度以每类任务损失为准
候选路由先运行影子流量,不执行额外写操作,只比较模型选择、计划和校验结果。随后从可逆低风险请求开始小比例灰度,高风险任务需要更小样本与更强监控。每条线上事件带完整版本和风险层,使质量、费用、超时和人工接管能够归因到确切策略。
扩量规则预先定义,例如低风险成本下降且成功率不退化,中风险尾延迟在上限内,高风险禁止动作始终为零。总体指标良好但任一关键桶越界时停止扩量。回滚只切换路由配置,不改变已经执行动作的状态;未知副作用先对账,避免版本切换造成重复提交。
线上分布变化会使离线权重过时。定期比较风险层占比、特征缺失和损失分布,异常任务加入评测集。灰度并不是绕过门禁的试错方式,而是在已通过离线约束后验证真实流量差异,暴露未覆盖的环境和长尾。
防范敏感特征与标签伪造
路由器可能想用用户身份、对话内容或业务金额预测难度,但这些特征会扩大隐私和公平风险。优先使用动作类别、可逆性、资源范围和输入复杂度等最小特征;必要敏感字段在可信环境内转成有限风险信号,不发送给不需要的模型提供方,也不写入通用日志。
调用方提交的优先级、风险标签和预计损失都要服务端验证。攻击者可能把生产删除伪装成低风险分类以获得便宜且约束少的路径。最终风险至少取服务端规则与可信上游判断的较高值,未知动作默认进入更保守层。任何手工降级需要特权、理由和到期时间。
分类器自身面对提示注入时也不能改变授权。自由文本即使写着“管理员已确认”,确认服务仍检查真实事件。路由日志只保存必要特征与决定,访问和导出受审计;离线训练数据脱敏并按用途保留,防止为了省成本建立新的敏感画像。
验证高风险路径无法绕行
测试矩阵让客户端伪造低风险标签、缺失特征、篡改目标环境和扩大批量数量,服务端都应重新计算并提升层级。高风险任务在主模型、备用模型、超时、缓存命中和人工恢复各路径上都必须保留确认与确定性校验。备用模型不支持契约时应安全停止。
版本测试模拟模型别名变化与路由规则热更新,确认触发固定回归集,运行中任务不混用控制。故障测试让模型端限流、响应畸形和工具结果未知,验证降级选择只读、拒绝或人工队列,并在切换前查询已有副作用。
验收报告按风险层给出任务成功、违规动作、尾延迟、完整成本和接管率,不用总体均值遮蔽关键失败,并保留每次路由决定的规则原因供抽样复核与追责。灰度停止和恢复事件也绑定同一策略版本、时间与审批依据。只有高风险无法绕过确认、模型变化触发评测、降级不削弱契约且指标可追踪到版本,路由器才真正按任务损失分配推理预算。
实现片段
const route = policy.select({ risk, reversible, requiresTools })
评论 · 0