Anthropic-定义成功标准与构建评测


核心观点

构建成功的 LLM 应用必须先定义可衡量的成功标准(SMART 原则),再设计对应的评测;评测应覆盖任务保真度、一致性、相关性、语调、隐私、上下文利用、延迟、成本等多维度,优先自动化、量大于精。


1. 定义成功标准(SMART 原则)

维度要求反例 ❌正例 ✅
Specific明确定义目标”表现好""情感分类 F1 ≥ 0.85”
Measurable量化指标或定性量表”安全输出""10,000 次试验中毒性标记 < 0.1%“
Achievable基于基准/前沿能力设定”100% 准确""比当前基线提升 5%“
Relevant对齐业务/用户需求医疗应用只看延迟医疗应用强引用准确率

多维度组合示例(情感分析):

  • F1 ≥ 0.85(任务保真度)
  • 99.5% 非毒性(安全)
  • 90% 错误仅造成不便而非严重错误(风险分级)
  • 95% 响应时间 < 200ms(延迟)

2. 常见成功标准维度

维度关注点
任务保真度核心任务完成质量、边缘情况处理
一致性同义/改写输入的输出语义一致性
相关性与连贯性直接回答用户问题、逻辑清晰
语调风格共情/专业/耐心等主观质量
隐私保护敏感信息处理、不泄露指令
上下文利用有效引用/构建历史信息
延迟可接受响应时间(实时 vs 批处理)
成本API 调用成本、模型规模、使用频次

大多数场景需多维组合评测,单一指标易产生 Goodhart 陷阱。


3. 评测设计原则

  1. 贴近真实任务分布:含边缘案例(无关输入、超长输入、恶意输入、人类也难判断的模糊案例)
  2. 优先自动化:选择可自动评分的题型(选择题、精确匹配、代码执行、LLM 打分)
  3. 数量优于质量:更多略低信噪比的自动评测 > 少量高质量人工标注

4. 四类典型评测示例

场景评测方法核心指标关键代码片段
情感分类精确匹配Accuracy / F1model_output.strip().lower() == label.lower()
FAQ 机器人一致性余弦相似度Sentence-BERT embedding 平均余弦相似度np.mean(cosine_similarity(embeddings))
摘要生成ROUGE-LLCS-based F1Rouge().get_scores(pred, ref)['rouge-l']['f']
客服语调LLM Likert 1-5目标语调(共情/耐心/专业)打分均值用另一模型打分:Rate 1-5 for being empathetic

边缘案例必含

  • 讽刺/反语、混合情感
  • 拼写错误、冗长啰嗦、无关信息干扰
  • 多主题文章、误导性标题
  • 愤怒用户、复杂问题、夸奖投诉

5. 评测实施清单

  • 列出 3-5 个核心成功标准(SMART)
  • 收集/构建 ≥ 500 条测试样本(含 20%+ 边缘案例)
  • 选择自动化指标(精确匹配/ROUGE/余弦相似度/LLM 打分)
  • 建立基线(当前 prompt / 竞品 / 人类表现)
  • 迭代:改 prompt → 跑评测 → 对比基线 → 定版
  • 最终验证:在 held-out 测试集确认无过拟合

关键心法
  • “模糊”也要量化:安全/伦理可转化为”毒性标记率 < 0.1%”
  • LLM 当评委:主观维度(语调、连贯)用强模型 + 明确 rubric 打分
  • 分模型评测:生成模型 ≠ 评测模型,避免自夸偏差
常见坑
  • 只测”快乐路径”,忽略边缘案例
  • 成功标准与业务价值脱节(如追求高 BLEU 但用户真要准确引用)
  • 评测集泄露到训练/提示词调优中
  • 单一指标优化导致其他维度退化(需多维守门)