LLM 线上评测、灰度实验与质量运营面试题
LLM 评测与发布门禁实战 回答“候选版本是否有资格试运行”;本页回答“进入真实流量后,凭什么继续扩量,何时必须停下”。高分回答不是“先放 10% 流量”,而是说明一套有稳定分桶、证据、停止规则和回滚演练的控制面。
建议与 LLMOps 生产运营高频问答、Agent 评测与安全合规高频问答、RAG、Memory 与评测安全高频问答、大模型应用线上排障手册 连起来学习。
一、30 秒总答法
面试官:离线评测通过以后,你怎么灰度新模型或 Prompt?
我会把离线通过看作“允许试”,而不是“允许全量”。线上阶段先按租户、场景、地区、语言、读写权限和客户风险做稳定分桶,避免同一会话跨版本。候选版本先处理影子流量,比较新旧输出、引用、工具计划、延迟和成本;无副作用场景再进入 canary 和 A/B。发布前明确主指标、护栏、硬红线、最小样本量、观察窗口和停止规则。越权、敏感外发、未确认写操作属于立即中止;质量、转人工、成本和延迟则在固定窗口按分桶做基线差分。模型有随机性,所以关键样本和在线探针要重复运行,报告稳定成功率与最差尾部。异常 trace 经脱敏、归因和人工复核后进入 bad case 候选池,最终回灌到回归集。
关键词:稳定分桶、影子、主指标、护栏、停止规则、非确定性、回灌。
二、离线与线上各自回答什么
| 阶段 | 主要问题 | 证据 | 天然盲区 |
|---|---|---|---|
| 离线 Golden / Regression | 基线是否守住、历史问题是否复发 | 标准答案、规则、沙箱状态 | 真实输入分布与真实偏好 |
| Shadow | 真实请求下行为差异多大 | 新旧 trace、候选输出、成本 | 用户体验与写工具副作用 |
| Canary | 少量用户能否安全使用 | 错误、人工接管、质量代理指标 | 小样本偶然性 |
| A/B | 是否提升业务价值 | 解决率、时长、满意度、转化 | 实验污染和观察窗口不足 |
| 全量运营 | 是否长期稳定、合规、可控成本 | 趋势、漂移、投诉、账单、审计 | 根因仍需回到 trace |
面试表达:离线像回归测试,守住功能基线;线上实验验证真实用户、真实流量和真实成本。二者不能互相替代。
三、分流单位:请求、会话、用户还是租户
| 分流单位 | 适用场景 | 好处 | 主要风险 |
|---|---|---|---|
| 请求 | 无状态问答、embedding、离线批处理 | 收样本快 | 同一用户体验跳变、缓存干扰 |
| 会话 | 聊天、客服 Copilot | 上下文、风格一致 | 长会话收样本较慢 |
| 用户 | 个人助手、内容产品 | 可观察留存与满意度 | 多端与多账号需要一致哈希 |
| 租户/部门 | 企业 RAG、MaaS | 知识、权限和成本归因清晰 | 租户差异大,必须分层对比 |
| 场景/工作流 | 审批、退款、外部写工具 | 可独立设门禁和人审 | 分桶太细时样本不足 |
企业 RAG 和 Agent 推荐用 tenant_id + user_id + conversation_id 做一致性哈希,并将 release_id 固定在会话或任务生命周期。这样同一个 Agent 不会前半段按旧工具 Schema 推理、后半段突然切新版本。
实验污染怎么避免
- 一个用户或会话在观察窗口内只进入一个版本。
- 对共享知识库和 Memory,记录并固定
index_version、memory_policy_version。 - 不让实验组产生的长期记忆污染对照组。
- 对重点客户、高危场景采用白名单,先低风险租户再扩大范围。
- 不把离线批任务、内部测试流量与真实用户数据混在同一结论里。
四、Shadow、Canary、A/B 的边界
| 方式 | 用户是否看见输出 | 是否允许真实副作用 | 目标 |
|---|---|---|---|
| Shadow | 否 | 不允许,必须 sandbox 或 dry-run | 看真实输入下的行为差异 |
| Canary | 少量用户 | 仅风险可控范围 | 早发现安全、可用性、成本问题 |
| A/B | 实验用户 | 需明确实验协议和兜底 | 证明业务主指标提升 |
Shadow 的工程约束
- 对退款、邮件、创建工单、修改 CRM 等写工具,替换为 dry-run 或 sandbox 适配器,只保留拟执行计划。
- 对影子请求单独配置身份、最小权限、网络出口、凭据和预算,不能复用生产高权限 Key。
- 检查数据分级,输入、检索上下文和工具观察值必须脱敏或最小化。
- 候选版本超时、降级、工具回调失败时也要记录,否则新旧比较会产生幸存者偏差。
- 影子 trace 设置单独访问控制和保留周期,不能为了评测裸存敏感对话。
五、主指标、护栏、样本量与停止规则
每次实验先写清楚四件事:
| 类型 | 含义 | 例子 |
|---|---|---|
| 主指标 | 定义业务价值的唯一核心指标 | 自助解决率、任务最终成功率 |
| 护栏指标 | 主指标不能以牺牲它为代价 | 延迟、成本、投诉、误拒、转人工 |
| 硬红线 | 任何一例都不可接受 | 越权、PII 外发、未确认高危写操作 |
| 停止规则 | 何时 hold、rollback、promote | 连续窗口退化、错误预算耗尽 |
一个可复述的策略:
hard_redline > 0
-> 立即停止候选版本,关闭写权限或切只读
critical_bucket 质量低于基线预算
-> 停止扩量,回滚并人工复核
达到最小样本量和最小观察时长,主指标稳定改善且护栏不恶化
-> 提升到下一流量档位
结论不明确
-> 保持小流量继续采样,不能把“没有报警”当作成功不要迷信固定百分比。推荐顺序是:离线/sandbox -> shadow -> 内部员工或测试租户 -> 低风险只读场景 -> 多区域多语言 -> 高价值客户 -> 高危写操作。金融、医疗、支付和法律类 Agent 应最后解锁写权限,并保留人工审核。
六、非确定性 LLM 的回归判定
同一输入可能因采样、供应商灰度、检索、工具和并发而产生不同结果。一次跑分通过无法证明稳定性。
| 指标 | 说明 | 适用场景 |
|---|---|---|
| pass@1 | 用户第一次就成功的比例 | 常规交互 |
| pass^k | 连续 k 次都成功的比例 | 高可靠结构化流程 |
| mean / P5 score | 平均质量与最差尾部质量 | 开放文本 |
| output variance | 结论、格式、工具轨迹的变化 | Prompt/模型比较 |
| route consistency | 是否稳定命中预期路由 | MaaS 与 fallback |
关键 case 要进行多次运行,报告均值、方差、最差值和失败类型。比较新旧版本时,让二者处理同一输入、同一检索快照、同一 sandbox 初始状态,输出 win/tie/lose,而不是各跑一批不同难度的请求。
LLM Judge 适合比较开放回答,但权限、金额、JSON、引用 ID 和最终业务状态必须使用规则、Schema 与系统断言。Judge 自身也要维护版本、人工一致性和偏差校准。
七、按风险和区域分层灰度
全局平均正常,不等于每个客户正常。至少按以下维度切片:
| 维度 | 原因 |
|---|---|
| 租户、部门、客户等级 | 知识、权限、成本和业务规则不同 |
| 场景、工具权限、风险等级 | 闲聊不能抵消退款或审批错误 |
| 地区、语言、数据驻留等级 | 模型可用性、政策、延迟和合规不同 |
| 输入与上下文长度 | 长上下文暴露引用、延迟和 OOM 风险 |
| 模型、Prompt、索引、工具版本 | 必须归因到具体变更资产 |
| 路由与 fallback 原因 | 防止静默降级掩盖质量问题 |
分区域发布还要明确:区域可用模型白名单、数据是否允许跨境、容量预留、跨区域 fallback 禁止条件,以及区域故障是否能隔离。高敏数据不能为了“提高可用性”而自动切到不允许的数据通道。
八、质量 SLO 与错误预算
LLM 的运行目标不只包含 99.9% 可用性,也要有质量、安全和成本约束。SLO 的意义不是承诺模型不犯错,而是定义错误出现后何时必须冻结扩量。
| SLO | 例子 | 错误预算耗尽后的动作 |
|---|---|---|
| 可用性 | 请求成功率、P95 延迟 | 冻结发布、扩容、降级 |
| 结构化契约 | JSON/schema 通过率 | 回滚 Prompt/模型,切规则兜底 |
| RAG 证据 | citation support、越权召回率 | 冻结索引发布,切旧索引或只读 |
| Agent 安全 | 未确认写操作、越权执行数 | 立即关写工具,转人工 |
| 业务质量 | 解决率、工单重开、转人工 | 暂停扩量,抽样复核 |
| 成本 | P95 单请求成本、预算燃尽速度 | 限制 token/步骤,调整路由 |
一次短暂波动未必立刻回滚,但若在预设窗口内持续消耗错误预算,就应该自动 hold 候选版本,直到根因、修复和回归证据完整。
九、RAG 索引、Agent/MCP 与依赖漂移
RAG 索引发布
新索引上线时不能只看入库任务成功。要验证正确文档、表格、附件和版本可召回;已删除或撤销权限的 chunk 完全不可见;向量、BM25、Rerank 和缓存都携带 tenant/ACL/index_version;引用能定位到正确文档版本。索引问题先切回旧 index_version,再定位解析、Embedding、ACL、缓存还是 Rerank。
工具与 MCP 漂移
| 漂移源 | 线上信号 | 防线 |
|---|---|---|
| Tool/MCP Schema | 参数校验失败、字段为空 | 契约测试、trace 回放、兼容矩阵 |
| 外部 API | 429、超时、返回语义变化 | sandbox、限流、重试分类、fallback |
| 权限策略 | deny 激增或误放行 | 角色/租户回归、policy version 对比 |
| 模型供应商 | 格式、拒答、工具调用漂移 | 固定探针、路由回退 |
| Dify 节点/插件 | 分支缺失、变量映射变更 | 导出 diff、跨环境配置报告 |
高危工具必须有 server-side 策略校验、idempotency_key、prepare/confirm/commit 和“关闭写权限但保留只读服务”的开关。先止住副作用,再解释模型为什么答错。
十、反馈回灌、数据治理与评测成本
用户点赞、点踩和人工接管是线索,不是直接可用于训练的真相。建议流程:
反馈/告警/人工接管
-> 关联 trace 与 release manifest
-> 脱敏、去重、风险分级与复现
-> 归因:知识、Prompt、模型、工具、权限或体验
-> 领域专家复核和标注仲裁
-> 进入候选 case、regression 或对抗集
-> 修复版本必须回归通过每个 case 记录来源、授权与保留期、标注人、仲裁记录、过期时间、拒绝入库理由和 owner SLA。知识更新、政策失效或工具 Schema 变化时应重新复核旧 case,防止评测集变成过期知识的集合。
评测成本同样需要分级:低风险改动可运行规则和抽样 Judge;高风险租户、写工具、模型切换、索引替换必须跑全量安全集、sandbox 和人工复核。不能把昂贵 Judge 放进同步用户链路,也不能为了省钱跳过高风险证据。
十一、回滚演练、故障注入与审计回放
回滚能力必须在事故之前被验证。建议定期演练:
| 演练 | 注入 | 期望结果 |
|---|---|---|
| Prompt 退化 | 提升误拒率或格式失败 | 自动停止扩量,回退 Prompt |
| 索引 ACL 错误 | 移除过滤或替换解析器 | 越权探针告警,切旧索引 |
| 高价路由 | 强制走旗舰模型 | 成本熔断,核心业务保留 |
| 工具超时 | 注入 429/timeout | 分类重试,不重复写入 |
| MCP Schema 漂移 | 改名/缺失关键字段 | 契约失败,禁止写操作 |
| 供应商异常 | 注入 5xx 或长尾延迟 | failover 或只读模式,trace 完整 |
验收不只是“按钮能点”:要验证 RTO、会话粘性、缓存、异步任务、补偿操作和审计时间线。演练结论应产出 runbook 与新的 regression case。
十二、系统设计与项目讲法
线上质量控制面可以由以下组件构成:
| 组件 | 职责 |
|---|---|
| Experiment Registry | 假设、稳定分桶、流量档位、窗口、owner、停止规则 |
| Assignment Service | 一致性哈希、Feature Flag、会话粘性、租户白名单 |
| Shadow Adapter | 脱敏复制、dry-run、预算与身份隔离 |
| Online Evaluator | 固定探针、采样 Judge、规则/状态断言、人评任务 |
| Slice Metrics Store | 按租户、场景、区域、版本、长度聚合证据 |
| Guardrail Controller | 错误预算、硬红线、自动 hold/promote/rollback |
| Feedback Triage | trace 关联、脱敏、去重、标注与 case 准入 |
| Drill Runner | 故障注入、回滚演练、审计回放 |
项目表达模板:
我们发现 Golden 集通过不等于线上体验稳定,因为真实输入更长、更模糊,不同租户的知识库差异也很大。所以我把发布拆为 shadow、canary、A/B 三段,按租户、场景和风险等级做会话粘性分流。每次实验预先登记主指标、质量/成本/延迟护栏、硬红线、观察窗口和回滚条件;写工具在 shadow 阶段只跑 dry-run。所有线上信号通过 release manifest 关联到模型、Prompt、索引与工具版本;异常样本经过脱敏和领域复核后进入 regression 集,后续改动必须证明同类问题不再复发。
速记问题
- 离线通过能直接全量吗?不能,离线是准入,线上验证真实分布和业务价值。
- Shadow 能执行退款吗?不能,只能 dry-run、sandbox 或记录拟执行计划。
- 为什么要会话粘性?防止上下文、缓存、Memory 和策略跨版本污染。
- 什么应立即中止?越权、敏感外发、未确认高危写操作、审计缺失。
- 模型随机性怎么处理?重复运行、成对比较,关注稳定成功率、方差和最差值。
- 为什么按租户/地区切片?全局平均会掩盖重点客户、语言、政策和数据驻留问题。
- 错误预算耗尽意味着什么?暂停扩量和高风险发布,先修复并回归。
- 回滚只回模型吗?不是,还要能精确回滚 Prompt、索引、工具、策略和工作流。
继续阅读
- LLM 评测与发布门禁实战:离线准入、门禁矩阵和发布证据。
- LLMOps 生产运营高频问答:版本、监控、成本与 bad case 飞轮。
- Agent 评测与安全合规高频问答:工具轨迹、沙箱和高危动作。
- RAG、Memory 与评测安全高频问答:检索、权限、引用和知识版本。