feat(eval): 黄金集 + 评分器(T13 架构审查整改,OV4)
- T13 (OV4, P1): 新建 src/genesis/eval/ 包
- golden_set.py: GoldenCase/GoldenSet(YAML 加载,samples/ 真实脱敏样本作 input_ref)
- scorer.py: ChapterScorer 按 §7.2 指标体系打分
- 确定性维度: traceability(resolver 验证 source_uri 可解析率)/
placeholder_residue(无 {{...}} 残留)/chapter_completeness(章节覆盖)
- LLM 语义维度: llm_evaluators 钩子(默认中性分,待 Phase5)
- tests/fixtures/eval/golden_set.yaml 示例黄金集
- 新增 test_eval_scorer.py(9 用例)
- 同步 design.md §7.5 黄金集与评分器(定位 CI 质量门禁)
- TDD: RED(模块缺失)→ GREEN(聚焦 8 passed)→ 全量 240 passed / 100.00%(1279 stmts/308 br)
This commit is contained in:
@@ -994,6 +994,19 @@ QA 输出:
|
||||
QA 发现错误 → 将问题列表反馈给 Writer
|
||||
→ Writer 只修正错误章节(不重新生成全部)
|
||||
→ 重新 QA 校验
|
||||
|
||||
### 7.5 黄金集与评分器(T13 机制化,OV4)
|
||||
|
||||
> OV4 裁定:成功标准须有量度 → 建立黄金集 + 评分器(已实现于 `src/genesis/eval/`)。
|
||||
|
||||
- **评分器(ChapterScorer)**:按 §7.2 指标体系输出各维度 `DimensionScore(score, passed)` 与总分 `EvalReport`。
|
||||
- 确定性维度(代码可验证,无需 LLM):
|
||||
- `traceability`:所有 `source_uri` 经 `resolver.validate_source_uris` 定位(不可解析 → 扣分,防 QA#8 作弊)
|
||||
- `placeholder_residue`:渲染文本无 `{{...}}` 残留(残留即 fail)
|
||||
- `chapter_completeness`:生成章节覆盖模板期望集合(覆盖率)
|
||||
- LLM 语义维度(内容准确性/幻觉/规则遵守):通过 `llm_evaluators` 钩子注入,默认中性分,待 Phase5 接入真实推理
|
||||
- **黄金集(GoldenSet)**:从 YAML 加载回归基线,`samples/` 真实脱敏样本作 `input_ref`(审查报告 §8.2 已确认 7 个样本为黄金集基础);每条 `GoldenCase` 标注 `expected_min_score`,Phase5 后用于端到端回归
|
||||
- 评分器作为 CI 质量门禁:生成结果总分 < 阈值 → 阻断合并(与 fail_under=99 覆盖率门禁同级)
|
||||
→ 重复至全部通过或用户确认放行
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user