← 返回题目列表

Prompt 上线前如何评估?怎样做版本管理和回归测试?

高频 困难 第 15 / 25 题 更新于 2026/07/25
Prompt 评估版本管理A/B 测试

简化版

Prompt 要像代码一样管理:保存模板、模型版本、采样参数、Schema,用含正常/边界/无答案/攻击样本的固定评估集做离线回归,再用灰度或 A/B 观察线上指标。不能只凭几个示例或一次 LLM-as-a-Judge 打分决定上线。核心认知:固定 Prompt 并不能固定系统结果——模型升级了行为就会变,必须重跑回归

详细版

完整流程:

  1. 从真实日志和业务规则建评估集
  2. 定义任务正确率、格式通过率、忠实度、安全、延迟、成本指标;
  3. 固定 Prompt、模型版本、参数、工具、知识库快照;
  4. 优先用确定性 Grader(精确匹配、Schema 校验、程序执行);
  5. 开放文本用模型评审,但用人工标注校准
  6. 旧版 vs 候选版做成对比较 + 失败分析
  7. 达标后灰度,监控分布变化和严重错误;
  8. 保留版本、变更说明、评估报告、一键回滚

完整版教学

一、为什么”人工试几次”不够

开发者自测有两个天然偏差:爱挑熟悉的问题测对期待的新版本更宽容。加上模型输出有随机性,少量成功案例覆盖不了长尾、歧义、异常输入。

自测 5 个例子都过 → 上线 → 线上遇到没测过的边界/攻击/长输入 → 翻车

评估集的价值是:让不同 Prompt 在同一批问题上公平比较,还能防止「修好一个案例却弄坏其他能力」(回归)。

二、评估集该包含什么

类别例子
高频正常请求日常主流问题
业务边界/易混类别容易分错的情况
应拒答的问题缺信息、越权
异常输入超长、乱码、多语言
安全攻击Prompt Injection、越权请求
历史线上失败真实翻车案例
高危低频风险影响大但少见

关键做法:测试集持续增长,但正式比较时保留稳定核心集——否则基准一直变,结果不可比。

三、指标要和任务对应,且必带成本

任务关键指标
分类准确率/精确率/召回率
抽取字段级正确率
结构化输出Schema 通过率
RAG 问答忠实度、引用支持率
Agent工具选择、参数、任务成功率

所有任务都要记延迟、token、成本——一个准确率略高却成本翻倍的 Prompt,不一定该上线。

四、Grader 怎么选:能确定就别用 LLM

优先确定性 Grader(快、稳、可复现):
  JSON Schema 验证格式 / 精确匹配或正则查固定答案
  / 单元测试验代码 / 数据库核验 ID / 规则引擎查权限

开放文本才用 LLM-as-a-Judge,但要:
  明确 rubric、随机交换候选顺序(防位置偏差)、用人工样本校准一致性

警惕:评审模型会偏爱长答案、特定风格、甚至自己生成的内容——高风险事实不能只靠另一个通用模型评分。

五、版本要记录什么(可复现的关键)

只存一段 Prompt 文本,无法解释系统行为变化。一次可复现调用至少要记:

Prompt 模板 + 变量 / 模型和具体版本 / Temperature、Top-p、最大输出
/ Few-shot 示例版本 / 工具定义与输出 Schema
/ RAG 索引和检索配置 / 安全策略 / 评估集与代码版本

记忆钩子:真正需要复现的不是”一段 Prompt”,而是”Prompt + 模型 + 参数 + 工具 + 数据”的完整系统。模型厂商升级默认别名,也要先在候选环境回归。

六、离线评估 + 线上实验 + 失败分析

  • 离线评估:快、可重复,挡明显回归——先过离线门槛;
  • 线上 A/B:观察真实满意度、完成率、业务指标,但有风险和噪声——小流量灰度 + 高危错误熔断
  • 失败分析别只看平均分:按任务类型、输入长度、语言、风险等级分桶,看候选版在哪些组退化。保存输入、渲染后 Prompt、模型输出、工具轨迹、Grader 理由,才能定位是「模板/模型/检索/解析」哪一环的问题。

注意:线上用户反馈有选择偏差(爱反馈的人不代表全体),不能只看点赞率。

七、常见误区与追问

  • 误区:自测几个例子就能上线。 有挑样本/宽容偏差 + 随机性,要固定评估集公平比较。
  • 误区:固定了 Prompt 结果就固定。 模型升级会改变行为,必须重跑回归。
  • 误区:LLM-as-a-Judge 打个分就够。 会偏爱长答案/特定风格,要 rubric + 人工校准 + 换顺序防偏差。
  • 追问:评估集为什么要保留稳定核心集? 基准不断变会导致结果不可比,核心集保证可比性。
  • 追问:Grader 优先用什么? 能确定就用确定性 Grader(Schema/精确匹配/单元测试/DB 核验),别先上 LLM。
  • 追问:版本要记哪些才可复现? Prompt+变量、模型版本、采样参数、示例、工具/Schema、RAG 配置、安全策略、评估集版本。
  • 追问:离线和线上评估如何配合? 先过离线门槛挡回归,再小流量灰度看真实指标,高危错误设熔断。

八、加强记忆

Prompt 上线记「像代码发布」:有版本、有测试集、有自动检查、有人工校准、有灰度监控、有回滚。核心认知钉死:固定 Prompt ≠ 固定结果(模型升级要重跑回归)、需要复现的是”Prompt+模型+参数+工具+数据”整个系统、能确定就用确定性 Grader(LLM 评审会偏爱长答案要人工校准)。评估集含正常/边界/无答案/攻击/历史失败并保留稳定核心集,指标必带延迟和成本,失败分析按维度分桶定位是模板还是模型还是检索的问题。