LLMCase-V4 从策划文档到测试用例 - 第 7 章 evaluator:怎么给 LLM 的产出打分

第 7 章 evaluator:怎么给 LLM 的产出打分

本章目标 :理解质量评估体系。学完你能回答:没有标准答案的考试怎么批卷?

三段评估各看什么?看门狗和 geval 双轨怎么配合?overall 怎么算、怎么判读?

7.1 评估的难题:没有标准答案的考试

测试用例生成没有"标准答案"------同一份文档可以有多套同样合格的用例集。所以评估不是"对答案",

而是从多个可判定的侧面量质量 :提的全不全(覆盖率)、结构对不对(层级/归属)、

内容忠不忠(没编造文档里没有的东西)、能不能执行(步骤规范)。

evaluator 的输入是"四件套":策划文档(planning,必填 SRC md)+ ENT/PNT/CAS 三件产物(可选)。

读 PNT/CAS 走 modules/common/artifact_io.py 双格式分派(JsonLoader 单点内部处理)------

新批次 .db 与旧批次 JSON 对评估链完全透明,调用方零改。一个关键设计:

评估的对照基准(B 集合)永远从策划文档原文重新解析 ------不信任上游产物自报家门,

分母不受产物质量污染(产物说提取了 600 实体没用,评估自己从文档里解析出段落实体集合来对照)。

7.2 三段评估:实体 / 要点 / 用例

引擎 AssessmentEngine 把三类产物合并进一个实体集合,按 EntityType 过滤出三段分别评估:

实体段(提得全不全)------五维加权:

维度 权重 量什么
段落实体覆盖 30% 文档每个段落能在实体集合里找到对应物吗(4 路匹配 + 语义兜底)
文档覆盖 30% 文档标题考核点逐个对齐(根节点强制对齐防系统性误判)
结构完整 20% 孤立节点(无任何关系)占比
属性完整 10% description/priority 完备率
LLM 辅助 10% deep 模式走 LLM 裁判;fast 模式常数占位

要点段 (测点想全没全)------权重最重的是覆盖率 (30%):分母 = 原子功能实体,

分子 = 被 TESTS 关系按精确 id 命中的原子实体数。这里有一段必知的修复史:

旧版分母取 priority≤3 全功能实体(默认 priority=3 即全体,包含 33 个非原子容器------

生成器只对原子生成要点,容器永不被测却计入分母),覆盖率被系统性低估(实测 20%→97.6% 的修复落差)。

教训:指标分母必须与生成目标集口径锁步。

用例段 (用例合格没合格)------字段级契约检查:完整性(缺步骤/缺预期)、层级归属(没挂 TESTS)、

规范性(priority 越界/status 非法词表)、映射(source 双字段悬空)。注意:四象限分布是生成端 metadata,

用例评估器不评它------A/B 判读要统计四象限时从 CAS 产物自行汇总。

7.3 双轨:看门狗(确定性)与 geval(LLM 评审)

看门狗(StaticWatchdogEvaluator)------零 LLM 的确定性扣分器,是"优先于一切 LLM 指标的可信基准":

复制代码
score = max(0, 100 − 5×未覆盖原子实体(cap 20) − 3×违规步(cap 15) − 1×缺句柄(cap 5))
overall −= (100 − score)/100    # 后置折算

它直接复用生成端的契约校验代码 (动作断言契约那套)而非重新实现------单一真相源,双端永不漂移。

判读纪律(实证教训):violations 按绝对步数 计罚,8126 步里 6 步(0.07%)瑕疵会被放大成

watchdog −12 的总分级摆动------判读 overall 波动必须先看 deductions 子分与 per-step 比例。

geval(GEvalEvaluator) ------LLM 评审轨:对采样 20 条用例逐条评三维

(faithfulness 忠实度 40% / relevance 相关性 30% / executability 可执行性 30%),

与启发式分凸组合(0.3 权重)叠进要点/用例两段。三个值得学的细节:

  1. 判定标准领域中文重写------用 DeepEval 只取壳,不吃 QA 向内置指标;
  2. 契约信号 ground 化------确定性契约合规率注入 executability 维度,LLM 判断不悬空;
  3. flakiness 根治 ------LLM 偶发输出坏 JSON 曾让整评估任务 1/60 概率炸掉,修复链 =
    剥围栏取 JSON → 空响应重试 → 单维失败只剔除出均值(可观测)→ 全失败才降级回退。

一个诚实的定性:faithfulness 是有天花板的指标 (多源合法参考对照单一文档永难满分,

实测 14.5-59 分是通病)------防幻觉的主力已转向来源标注(provenance)而非追求 faithfulness 满分。

7.4 overall 与评估报告

复制代码
overall = (实体段 + 要点段 + 用例段) 各 1/3 加权
        − 看门狗扣分(后置折算)
        → 四档评级:≥0.9 优秀 / ≥0.8 良好 / ≥0.7 一般 / <0.7 不足

落盘四件 JSON(EVAL_ENT/PNT/CAS/SUMMARY),SUMMARY 内嵌三段完整输出 + retry_advice

(score<70 或有问题 → retry_required=true + 建议动作------dashboard 的生成链读这个分数线决定要不要自动重评一次)。

判读量级感:人工验收批次 overall 72.49 算"一般偏上"(对照早期版本 52.19);历史全量批次 62~83 区间。

双层分数空间要记住:引擎内部是 0-1 学术分,落盘是 0-100 业务分,阈值判读先确认在哪层。

相关推荐
11路没有终点12 天前
MCP 协议详解:从原理到测试的完整指南
ai测试·mcp
zhangbp14 天前
LLMCase-V4 从策划文档到测试用例 - 开篇 测试用例生成三问
ai测试
zhangbp14 天前
LLMCase-V4 从策划文档到测试用例 - 第 1 章 业务背景:游戏策划文档与测试用例
ai测试
蒸鱼Yuzheng17 天前
游戏宠物系统怎么测:养成、出战、继承、AI与属性联动
ai测试·游戏测试·宠物系统·养成测试·属性测试
2601_9622841719 天前
Testin XAgent支撑下的智能测试实践:多端自动化如何真正落地
自动化测试·持续集成·ai测试·智能测试·跨平台测试
Bug 挖掘机1 个月前
网传阿里天猫超市技术近期迎来调整,前端和测试团队合并为“智能交付”团队
自动化测试·软件测试·功能测试·测试开发·ai测试
程序员龙叔1 个月前
Agent 评测到底测什么:任务、结果、轨迹与工具调用
自动化测试·软件测试·软件测试工程师·ai测试·ai测试工具
测试开发技术2 个月前
AI 测试提效 | 告别手工写脚本,分享我的 Playwright + Skill 批量生成 UI 自动化脚本方案
自动化测试·人工智能·ui·自动化·agent·skill·ai测试
Bug 挖掘机2 个月前
今年秋招,大厂招人逻辑变了
功能测试·测试开发·ai测试