当 Agent 采用不同模型后端时,如何归一化打分?

解读

在真实业务里,一个 Agent 往往要对接 通义千问、文心一言、GLM-4、Llama3、自研百亿模型 等多套后端。不同模型的输出分布、置信度尺度、长度偏好差异极大:有的模型把 0.8 当“还行”,有的 0.4 就“非常确定”;有的倾向长答案,有的极简。如果直接把原始分数喂给上游排序或决策层,会出现 “大模型霸权”——谁分高谁胜出,但分高≠业务好。因此必须做 跨模型归一化,让分数在同一标尺下可比,保证 策略一致性、可解释性、可灰度回退

知识点

  1. 概率层归一化:温度缩放、Platt Scaling、Isotonic Regression,把模型输出的 logit/概率映射到 0-1 校准空间。
  2. 排序层归一化:利用 Pairwise 或 Listwise 方式收集同一 Prompt 在不同模型上的输出,人工或规则打偏好标签,训练 Bradley-Terry 或 Plackett-Luce 模型,得到跨模型 Elo 分数。
  3. 业务层归一化:以 **线上真实业务指标(转化率、完播率、客服解决率)**为因变量,对每路模型做 加权分位数变换(Quantile Transformation),把原始分映射到“预期业务收益”空间,实现 ROI 可比
  4. 动态漂移修正:引入 滑动窗口的对抗校准网络(Calibrator Net),每天凌晨用最新回流数据重新拟合,防止模型版本升级导致分布漂移。
  5. 安全护栏:对归一化后的分数再做 截断+平滑+不确定性加权,避免极端值误导策略;同时保留 原始分、校准分、业务分 三级审计字段,方便监管飞检。

答案

给面试官一个可直接落地的 “三阶归一” 方案,时间控制在 3 分钟内讲清:

  1. 离线校准阶段
    7 天历史 Prompt-Answer 对 构建平行语料,每路模型各跑 1 万次推理,保留 Top5 概率、长度、耗时 等元数据。
    对每路模型单独做 温度缩放

    calibrated_prob = softmax(logits / T)
    

    其中 T 用 NLL 最小化在验证集上搜索,得到 模型专属 T*。
    再把校准后的概率通过 Platt Scaling 拟合到 0-1 区间,输出 cal_score ∈ [0,1]

  2. 跨模型对齐阶段
    把同一 Prompt 的各路 cal_score 做 Pairwise 标注:业务人员盲审 2000 条,标出优胜模型。
    Bradley-Terry 模型估算每路模型的 Elo 系数 β_i,再把 cal_score 映射到统一 Elo 空间:

    norm_score = sigmoid( (cal_score − 0.5) * 4 + β_i )
    

    这样 β_i 高的模型需要更高 cal_score 才能拿到同档 norm_score,实现“难度校正”。

  3. 在线服务阶段
    把 norm_score 再经过 业务权重校正

    business_score = norm_score ^ α * reward ^ (1−α)
    

    其中 reward 取最近 1 小时真实转化率,α∈[0.6,0.8] 在线动态调节,确保 分数与 GMV 正相关
    最终输出 business_score 给上游排序,同时写 三级日志(原始、校准、业务)供 实时仪表盘监管审计

该方案已在 电商客服 Agent 上线,双周迭代一次,A/B 测试显示跨模型胜率方差从 0.34 降到 0.07,人工抽检一致率提升 11%,满足 集团 LLMOps 合规基线

拓展思考

  1. 多模态场景:如果 Agent 同时调用 文本大模型+视觉大模型,需把 图文匹配得分、OCR 置信度、VQA 概率 统一拉到同一 Elo 空间,可引入 跨模态 Bradley-Terry向量相似度校准
  2. 私有化部署:在 信创 ARM 环境 里,部分模型只能 INT8 量化,概率失真严重,建议用 知识蒸馏 先让 Teacher 模型产出“软标签”,再对 Student 模型做 Platt 校准,避免量化带来的尺度偏移。
  3. 监管合规:国内 《生成式 AI 服务管理暂行办法》 要求可追溯、可解释。归一化层必须保留 完整链路签名(模型版本、校准参数、时间戳),并支持 秒级回滚到任意历史版本,防止“分数突变”引发舆情。