如何在 48 小时内评估新模型:发布日检查清单
一个新模型上线了。演示视频看起来很强,定价页面在变动,排行榜截图已经开始流传,而你的路线图频道希望你在明天之前给出答案:这个模型应该进入产品吗?
最糟糕的回答是“我们试了几个提示词,感觉更好了”。第二糟糕的回答则是一个为期一个月的评估项目,却错过了发布窗口。
本指南为 AI 产品团队提供一条实用的中间路径。将如何在 48 小时内评估新模型:发布日检查清单作为发布日的操作计划:构建一个小而有代表性的评估集,与你当前的生产路径进行比较,运行兼容性和安全门槛,对成本按已接受输出进行归一化,最后产出一份工程、产品和财务团队都能真正签字认可的决策备忘录。
目标不是证明新模型在所有场景下都更好。目标是判断它对于某一个明确定义的产品工作流来说,是否足够安全、足够有用,以及足够经济。
48 小时内的答案
如果你只有两天时间,就把新模型和一个生产任务比较,而不是和整个互联网比较。
选择一个已经有用户、日志、失败模式和当前基线的工作负载。然后回答六个问题:
| 门槛 | 问题 | 通过信号 |
|---|---|---|
| 匹配度 | 该模型是否比当前路径更好地解决目标任务? | 在符合生产场景的示例上,已接受输出率更高 |
| 契约 | 它是否保持你所需的 schema、工具调用、引用、媒体设置或响应格式? | 输出契约测试中没有阻断性失败 |
| 安全性 | 它是否引入新的政策、隐私、幻觉或品牌风险失败? | 严重失败率与基线相同或更低 |
| 可靠性 | 它能否承受延迟、重试、限流和长上下文条件? | p90 延迟和错误行为符合产品 SLO |
| 成本 | 它是否降低了每个已接受输出的成本,而不仅仅是 token 价格? | 已接受输出成本更低,或在理由充分的情况下持平 |
| 上线 | 你能否通过影子流量、金丝雀路由和回滚来发布它? | 清晰的路由策略、监控和停止条件 |
这就是如何在 48 小时内评估新模型:发布日检查清单的核心:将决策压缩为最小且可靠的生产对比。
第 0 小时之前:选择一个工作负载
不要一开始就问“新模型更好吗?”先问“对哪项任务更好?”
选择一个具有可衡量输出的工作流:
- 客服答复生成。
- 代码补丁规划。
- 搜索结果摘要。
- OCR 提取。
- 产品内容改写。
- 销售调研简报。
- 受审核的创意生成。
- 工具调用代理步骤。
- 视频或图像提示词扩展。
然后定义当前基线。它可以是直接的提供商模型、你网关中的某条模型路由、人工辅助工作流,或者之前的模型版本。基线是把发布日的兴奋转化为可衡量比较的关键。
对于 Flatkey 团队来说,这也是统一路由器发挥作用的地方:在测试新的模型路由时保持应用契约稳定,然后在同一账本中比较请求 ID、成本、错误和输出接受率。如果你的技术栈仍然分散在多个直接密钥之上,也可以手动采用同样的原则:一个任务、一个基线、一个决策记录。
第 0-3 小时:冻结决策备忘录
在任何人看到结果之前先创建这份备忘录。这可以防止团队在模型产出几个令人印象深刻的示例后,改变“好”的定义。
使用此模板:
新模型:
发布日期:
评估负责人:
目标工作流:
当前基线:
用户细分:
受影响的流量规模:
需要的决策:
[ ] 无需行动
[ ] 继续测试
[ ] 灰度流量
[ ] 金丝雀发布
[ ] 全量路由替换
硬性阻断项:
- 数据/隐私:
- 合规:
- 输出契约:
- 安全:
- 延迟/SLO:
- 成本:
- 产品质量:
通过标准:
- 质量:
- 可靠性:
- 每个已接受输出的成本:
- 回滚:
决策截止时间:
决策批准人:
这份备忘录的范围是刻意缩小的。发布日的模型评估不应决定未来一年的 AI 架构,而应决定一次路由变更。
第 3-8 小时:构建最小但有用的评估集
一个有用的 48 小时评估集包含四个部分。
| 集合 | 规模 | 用途 |
|---|---|---|
| 金标准任务 | 25-50 个示例 | 具有预期输出或经审核输出的已知示例 |
| 混乱的生产任务 | 50-100 个示例 | 来自日志、支持工单、搜索查询、上传内容或代理轨迹的真实边缘案例 |
| 契约测试 | 20-40 个示例 | JSON、工具调用、引用、格式、媒体或延迟约束 |
| 红队探测 | 20-50 个示例 | 安全、隐私、越狱、品牌、幻觉和拒绝行为 |
OpenAI 的评估指导将评估定义为带有数据集、评分器和运行的结构化测试。Anthropic 的测试指导从成功标准和测试用例开始。Google 的基于计算的评估流水线也将评估视为可重复的流水线,而不是一次即兴聊天会话。共同的经验很简单:新模型应该面对测试集,而不是凭感觉判断。
如果你已经有评估框架,就直接使用它。如果没有,在最初 48 小时内,电子表格加确定性脚本就足够了。
添加这些列:
| 列 | 示例 |
|---|---|
case_id |
support_refund_017 |
workflow |
support_answer |
input |
用户问题、工具追踪、文档、提示词或媒体规格 |
expected_behavior |
优秀答案必须做到的事 |
hard_fail_conditions |
缺少引用、JSON 错误、不安全建议、语言错误 |
baseline_output |
当前路由结果 |
new_model_output |
候选结果 |
accepted_baseline |
是/否 |
accepted_new_model |
是/否 |
reviewer_notes |
为什么通过或失败 |
不要在发布日过度优化这个测试框架。模型上线的时钟正在走动。你需要足够的结构,避免自欺欺人。
第 8-14 小时:先运行冒烟测试,再运行质量测试
第一次运行关注的不是质量,而是模型能否被调用、路由、计费、记录和解析,而不会破坏产品。
运行这些冒烟测试:
- 身份验证:密钥、基础 URL 和模型名称能在干净环境中正常工作。
- 端点兼容性:模型支持你的应用所调用的端点。
- 请求形态:系统消息、多模态输入、工具、响应格式、最大 token、流式传输和安全参数表现符合预期。
- 输出契约:必需的 JSON、XML、Markdown、引用、工具调用或文件输出可以被解析。
- 错误封装:超时、400 错误、429 错误和提供方错误能干净地映射到你的重试策略中。
- 日志记录:请求 ID、模型 ID、输入/输出单元、延迟、状态和成本字段都已捕获。
- 回滚:旧路由可以在不改代码的情况下恢复。
对于 Flatkey 用户,请从模型目录和你在生产中使用的相同 OpenAI 兼容基础 URL 模式开始。如果候选模型尚未在实时模型目录中确认,不要在文章、产品或发布说明中暗示其可用性。将其视为待定路由,并将决策备忘录保留在“继续测试”中。
第 14-24 小时:将任务质量与基线进行评分比较
现在将新模型与你当前的路由进行比较。
使用成对评审。对于每个案例,将基线输出和候选输出并排展示。如果评审者可能会被发布叙事影响而产生偏见,就隐藏模型名称。
只对所选工作流中重要的内容评分:
| 标准 | 0 | 1 | 2 |
|---|---|---|---|
| 任务完成度 | 未满足用户需求 | 部分解决 | 成功解决 |
| 事实性 | 缺乏依据或错误 | 有轻微不确定性 | 足以支持上线 |
| 格式合规性 | 违反约定 | 需要修复 | 输出有效 |
| 工具/引用使用 | 缺失或错误 | 可用但需修改 | 正确且完整 |
| 用户投入 | 比基线工作量更大 | 相近 | 比基线工作量更少 |
| 品牌/产品契合度 | 语气不可用 | 可接受 | 比基线更好 |
然后将分数转换为接受率:
accepted_output_rate =
accepted_outputs / total_cases
candidate_lift =
candidate_accepted_output_rate - baseline_accepted_output_rate
这就是许多发布日测试出错的地方。每 token 价格是可见的,但被接受的输出才是真正会交付的结果。一个每 token 便宜 30% 的模型,如果失败频率翻倍、需要修复提示,或生成的输出被评审拒绝,最终仍可能更贵。
就更广泛的方法论而言,HELM 提醒我们,模型评估应考虑的不只是准确率。它讨论了稳健性、公平性、毒性、校准和效率等场景与指标。你的 48 小时版本会更小,但仍应是多指标的。
第 24-30 小时:测试契约、工具和路由边界
大多数生产故障看起来并不像“答案很差”。它们更像是:
- JSON 架构在 7% 的请求上失败。
- 某个工具调用悄悄遗漏了必需参数。
- 模型拒绝了你的产品必须支持的安全任务。
- 模型忽略了语言或地区限制。
- 模型过度输出长链路推理,破坏了延迟目标。
- 备用路由改变了响应形状。
- 一个新的媒体模型返回了不同的宽高比、时长或文件状态字段。
在你庆祝质量提升之前,先运行一套契约测试。
contract_pass_rate =
valid_contract_outputs / total_contract_cases
fallback_mismatch_rate =
fallback_outputs_with_contract_or_semantic_mismatch / fallback_cases
如果模型只有在一切顺利时才更好,它就还没准备好用于生产路由。它也许仍然适合放在功能开关之后、人工审核工作流中,或作为备用候选,但决策备忘录里应该明确写明这一点。
第 30-36 小时:归一化延迟、限制和成本
即使在定性评审中获胜,新模型也可能在商业可行性上失败。
记录:
| 指标 | 为什么重要 |
|---|---|
| p50 和 p90 延迟 | 用户感受到的是长尾延迟,而不是平均演示结果 |
| 超时率 | 缓慢响应会变成产品错误 |
| 重试率 | 重试会增加延迟和成本 |
| 429/限流率 | 发布日需求可能超过实际配额 |
| 上下文利用率 | 大型上下文可能掩盖失控的提示词成本 |
| 输出长度 | 冗长的模型在每个被接受结果上的成本可能更高 |
| 被接受输出成本 | 面向产品团队的真实分母 |
使用这个成本公式:
cost_per_accepted_output =
total_candidate_cost / accepted_candidate_outputs
然后将其与基线进行比较:
cost_delta =
candidate_cost_per_accepted_output - baseline_cost_per_accepted_output
不要因为标题里的输入 token 价格看起来更好就批准一个模型。要因为被接受输出成本、可靠性和产品质量综合起来都合理,才批准它。
第 36-42 小时:运行影子流量或回放流量
如果模型通过了离线评估,在 canary 之前先运行回放或影子流量。
回放流量是指你将历史请求通过新模型运行,并在不影响用户的情况下比较输出。影子流量是指把实时请求复制到新路由,但用户仍然收到基线输出。
对于每个被影子处理的请求,记录:
- 用户分群或工作流。
- 基线模型和候选模型。
- 请求 ID。
- 输入大小和输出大小。
- 延迟。
- 错误类别。
- 契约有效性。
- 成本。
- 审查者或自动化接受结果。
- 任何安全或隐私标记。
这就是网关或路由器开始变得实用的地方。文章 如何在 48 小时内评估新模型:发布日检查清单 假设你的团队能够在不每次都重写应用程序的情况下切换路由。如果你使用 Flatkey,请让你的应用保持指向稳定的 OpenAI 兼容层,在受控路由中测试模型名称和策略,并在 canary 之前检查使用记录。
第 42-48 小时:只有在停用规则明确时才进行 canary
Canary 不是“先对 10% 开启,然后看 Slack”。Canary 是带有回滚规则的受控生产测试。
使用这个最小 canary 计划:
| 字段 | 示例 |
|---|---|
| 范围 | 单个工作流中 2% 的已登录 beta 用户 |
| 持续时间 | 2 小时或 1,000 个请求,以先到者为准 |
| 护栏 | 错误率低于基线加 1 个百分点 |
| 契约门槛 | JSON 解析失败率低于 0.5% |
| 安全门槛 | 没有严重且未解决的安全事件 |
| 成本门槛 | 除非质量提升已获批准,否则被接受输出成本不超过基线的 10% |
| 回滚负责人 | 值班工程师 |
| 决策负责人 | PM 加工程负责人 |
Canary 应该产生以下四种决策之一:
- 不要采用:候选模型未通过硬性门槛。
- 继续测试:有前景,但还不足以安全用于生产。
- 有限上线:对某个狭窄的细分场景或工作流有用。
- 结合路由策略采用:在所测试的工作负载上胜出,并已记录回滚条件。
发布日评分卡
将此评分卡复制到决策备忘录中。
| 维度 | 权重 | 基线 | 候选 | 决策说明 |
|---|---|---|---|---|
| 可接受输出率 | 25 | |||
| 契约通过率 | 20 | |||
| 安全严重失败率 | 15 | |||
| p90 延迟 | 10 | |||
| 429/重试行为 | 10 | |||
| 每个可接受输出的成本 | 15 | |||
| 回滚准备度 | 5 |
建议规则:
approve_for_canary =
no_hard_blockers
and candidate_accepted_output_rate >= baseline_accepted_output_rate
and candidate_contract_pass_rate >= minimum_contract_gate
and candidate_severe_failure_rate <= baseline_severe_failure_rate
and rollback_ready == true
这条规则是刻意保持保守的。新模型可能令人兴奋,但今天仍未必适合进入你的产品。
前 48 小时内应跳过什么
跳过任何看起来很严谨、但并不会改变发布决定的内容:
- 与你的产品无关的大型基准测试套件。
- 没有固定测试集的提示词实验。
- 来自模型粉丝的未盲测并排评审。
- 没有接受率的 token 价格比较。
- 在模型通过契约测试之前就进行完整迁移规划。
- 在做出金丝雀发布决定之前就撰写公开发布文案。
像 EleutherAI 的 Language Model Evaluation Harness 这样的开放基准工具,在你需要对许多任务进行可复现的基准运行时会很有价值。对于发布日的产品决策,请将它们作为证据堆栈的一部分,而不是替代你自己面向生产场景的测试。
Flatkey 的作用
当团队希望评估过程尽量贴近生产环境时,Flatkey 很有用:
- 在比较模型路由时使用一个稳定的 API 层。
- 在假设某条路由存在之前先检查模型目录。
- 将请求 ID、用量、成本和错误类别保存在同一账本中。
- 在不分散各家提供方密钥的情况下测试兜底和回滚策略。
- 按实际完成的工作量比较模型,而不只是按标价比较。
实用的 CTA 很简单:先从 Flatkey API quickstart 开始,查看 AI model catalog guide,并使用 AI routing API metrics 一文来决定在你的 48 小时评估中哪些遥测字段应为必填。
如果你的团队仍在构建更广泛的框架,下一步请阅读 AI Routing API Tools: Evaluation Framework for Production Teams。如果你正在替换供应商,可将 AI model evaluation workflow checklist 作为更长期的迁移配套指南。
常见问题
48 小时足够评估一个新模型吗?
48 小时不足以证明某个模型是最佳的长期选择。但这足以判断该模型是否值得不采取任何行动、继续测试、影子流量、有限金丝雀发布,或狭窄的生产路由。
发布日模型评估需要多少示例?
对于初步评估,使用 25-50 个黄金任务、50-100 个杂乱的生产任务、20-40 个契约测试,以及 20-50 个红队探测。若要广泛上线,在此之前增加样本集。
我们应该使用公开基准还是内部评估?
如果时间允许,两者都用。公开基准展示通用能力和可复现性。内部评估则展示模型是否适用于你的真实用户、提示词、schema、工具、延迟目标和成本约束。
48 小时评估中最重要的指标是什么?
被接受输出率通常是最实用的核心指标,因为它综合了质量、可用性和产品匹配度。最好再结合契约通过率、严重失败率、延迟以及每个被接受输出的成本。
团队应如何在发布日比较模型成本?
比较每个被接受输出的成本,而不仅仅是 token 价格。在你能够测量的范围内,还要计入重试、被拒绝的输出、修复提示、更长的输出长度以及人工复核负担。
什么时候团队应避免对新模型进行金丝雀发布?
当模型破坏了严格的输出契约、引入严重的安全失败、无法满足延迟或限流需求、缺乏回滚覆盖,或无法被充分记录以便调试时,应避免进行金丝雀发布。
最终检查清单
将 How to Evaluate a New Model in 48 Hours: A Release-Day Checklist 作为抵御发布日噪音的纪律。
在批准新模型进行金丝雀发布之前,请确认:
- 工作负载范围明确且已命名。
- 基线已冻结。
- 评估集包含黄金、杂乱、契约和红队案例。
- 输出按接受度评分,而不是凭感觉。
- 成本按每个被接受输出进行归一化。
- 已记录延迟、重试和限流行为。
- 影子流量或回放流量已经运行。
- 已写明金丝雀范围和回滚规则。
- 决策备忘录写明采用、继续测试、有限推广或不采取行动。
新模型还会不断出现。最终胜出的团队,不是第一个尝试每个模型的团队,而是能够在不破坏产品的情况下做出发布日决策的团队。



