企业测试助手上午分析同一份权限需求,能指出“普通客服不得导出完整手机号”;下午高峰期,主模型限流,路由器自动切到轻量模型。接口仍然 200,响应甚至更快,但它只生成了页面按钮用例,没有覆盖后端越权导出。
平台可用率没有下降,质量却静默降级。这是多模型路由进入生产后非常容易被忽略的新问题。
路由器不是基础设施细节,而是产品决策
不少团队按价格、延迟和健康状态选择模型:主模型慢了就切备用,预算紧张就优先便宜模型。对于聊天摘要,这可能合理;对于权限、金额、发布裁决,相同策略会改变系统风险。
模型名称不是能力证明。“备用模型能返回答案”也不等于它能完成这个任务。路由前必须知道任务是什么、最低能力在哪里、失败是否可逆、谁承担结果。
先给任务分级,再谈模型评分
可以把任务描述成一份机器可读策略:数据等级、风险等级、是否允许自动执行、最低评测版本、允许的路由和人工要求。下面是一段最小路由门禁:
TASK_POLICY = {
"log_summary": {
"min_score": 0.78, "max_data_level": 2, "allow_fallback": True},
"test_case_expand": {
"min_score": 0.84, "max_data_level": 2, "allow_fallback": True},
"permission_review": {
"min_score": 0.93, "max_data_level": 1, "allow_fallback": False},
"release_advice": {
"min_score": 0.95, "max_data_level": 1, "allow_fallback": False},
}
def eligible_models(task, data_level, registry):
policy = TASK_POLICY[task]
result = []
for model in registry:
score = model["eval_scores"].get(task, 0)
if score < policy["min_score"]:
continue
if data_level > model["max_allowed_data_level"]:
continue
result.append(model)
return result
这里的 score 不是公开榜单分数,而是企业自己的任务集结果。权限分析的评测集应覆盖横向越权、字段脱敏、角色继承、缓存权限和工具调用,不能拿通用问答准确率代替。
没有合格模型时,“停止”也是正确路由
高风险任务如果主模型不可用,系统不应为了维持绿色可用率而静默降级。更安全的结果是明确返回“当前无法完成自动分析,已转人工”,保留上下文和失败原因。
对于可逆的低风险任务,可以切轻量模型,但界面应显示能力变化,结果进入抽检;一旦备用模型质量在滚动窗口低于阈值,路由器自动停止分配。
def route(task, data_level, registry, metrics):
candidates = eligible_models(task, data_level, registry)
if not candidates:
return {
"action": "human_handoff", "reason": "no_qualified_model"}
healthy = [m for m in candidates if metrics[m["id"]]["error_rate"] < 0.02]
if not healthy:
return {
"action": "defer", "reason": "qualified_models_unhealthy"}
chosen = min(healthy, key=lambda m: (
metrics[m["id"]]["p95_ms"], m["cost_per_task"]
))
return {
"action": "invoke", "model_id": chosen["id"], "eval_version": chosen["eval_version"]}
评测单位要从模型变成“模型 × 路由 × 任务”
单独测每个模型不够。还要回放主模型限流、区域故障、配额耗尽、上下文过长和工具不兼容,验证路由选择与最终质量。尤其检查:强模型失败后是否把未完成上下文正确交给备用模型;不同模型结构化输出是否兼容;切换后是否重复执行外部工具。
每次运行保留 task_type、policy_version、candidate_models、chosen_model、route_reason、eval_version 和人工修订。这样出现坏结果时,团队能判断是模型退化、路由错误,还是任务被错误分类。
成本优化必须在质量合格集合内进行
一个常见误区是先找最便宜的模型,再看质量能不能接受。更稳的顺序是:先用企业评测集筛出满足安全和质量下限的候选,再在候选内部优化成本、延迟和容量。
报表同时展示任务级成功率、高风险漏检率、人工接管率、单任务成本、路由切换率和切换前后质量差。若成本下降 30%,但权限漏检从 0.5% 升到 3%,这不是优化。
未来企业 AI 系统不会只绑定一个模型,模型路由会成为常态。对测试行业而言,新工作不是继续比较谁的榜单更高,而是定义任务能力线、验证降级语义、建设路由级回归。
一个 AI 测试助手真正稳定,不是它始终能返回文字,而是无论路由到哪一个模型,质量边界都没有被悄悄改写。