SLM-平台级评分项池设计
文件路径:raw/project-docs/SLM-平台级评分项池设计.md
SLM 平台级评分项池设计
核心原则
- 评分项由平台统一定义:任何 Agent 在做 Judge 时,不得临时发明新的评分维度。
- 细则由平台写死:每个评分项必须有固定的 4 级评分标准(excellent / good / fair / poor),避免 Agent 自由发挥。
- Skill 分类只做「选择子集 + 配权重」:不同分类的 Skill 只是从同一池子中挑不同的评分项组合,不是各自拥有一套独立标准。
- Evidence-anchored 强制要求:任何评分必须引用被评输出中的原文作为依据。
一、平台统一评分项池(Metric Pool)
共定义 12 个平台级评分项,覆盖笔记生产、学习工具、洞察分析、操作执行四大形态。
M01 - Structure(结构清晰度)
定义:输出物是否使用了清晰、一致的层级结构(标题、列表、分段、表格等),便于快速扫读和理解。
| 等级 | 标准 |
|---|---|
| excellent | 标题层级严谨(H1-H3 不乱跳),列表、表格、引用使用得当,阅读节奏舒适 |
| good | 整体有结构,但个别层级跳跃或格式使用不够统一 |
| fair | 有分段和少量列表,但缺乏清晰的层级组织,大段文字堆砌 |
| poor | 几乎没有结构,内容一团乱麻,难以定位重点 |
M02 - Density(信息密度)
定义:内容是否精炼,无冗余废话,同时保留了所有关键信息点。
| 等级 | 标准 |
|---|---|
| excellent | 每一句话都有信息增量,无重复解释、无口水话,关键信息完整 |
| good | 总体精炼,偶有 1-2 句冗余,但关键信息未遗漏 |
| fair | 存在明显的凑字数或模板化空话,但未漏掉核心要点 |
| poor | 大量废话、重复或空洞表述,甚至遗漏了关键信息 |
M03 - Links(链接与关联密度)
定义:输出物是否主动建立了与现有笔记/标签/引用的关联,而不是孤立的一页纸。
| 等级 | 标准 |
|---|---|
| excellent | 主动使用 [[wikilink]]、标签、或明确的笔记标题引用建立了 3 个以上的有效关联 |
| good | 建立了 1-2 个有效关联,或明确提到了相关笔记但未形成正式链接 |
| fair | 只有零散的提及,没有刻意的关联动作 |
| poor | 完全没有提及任何相关笔记或标签 |
M04 - Actionability(可执行性)
定义:输出物是否包含明确的结论、下一步动作、待办事项或可验证的检查点。
| 等级 | 标准 |
|---|---|
| excellent | 有清晰的 takeaways、具体的 next steps 或可操作的检查清单(checklist) |
| good | 有结论或建议,但下一步动作不够具体 |
| fair | 描述了很多信息,但没有明确的结论或行动指引 |
| poor | 流水账式罗列,没有任何结论或下一步 |
M05 - Fidelity(保真度)
定义:输出物是否忠实反映源材料,没有编造数据、章节、观点或来源。
| 等级 | 标准 |
|---|---|
| excellent | 所有数据、引用、章节归属都准确无误,能追溯到源材料的具体位置 |
| good | 整体准确,个别次要信息存在轻微偏差但不影响核心理解 |
| fair | 存在明显的不准确或模糊引用,但未出现核心事实的编造 |
| poor | 有编造的数据、章节、来源,或对源材料的核心观点进行了歪曲 |
M06 - Format Fidelity(格式还原度)
定义:在从外部文件导入/转换的场景下,源文件中的关键格式元素(图片、表格、代码块、列表层级)是否被正确保留。
| 等级 | 标准 |
|---|---|
| excellent | 图片有占位符/本地引用、表格结构完整、代码块语言标签正确、列表层级未丢失 |
| good | 主要格式保留,个别复杂表格或图片处理不够完美 |
| fair | 纯文本转换成功,但表格变乱、图片丢失、代码块丢失语言标签 |
| poor | 格式严重损坏,几乎只保留了原始文字流 |
M07 - QA Pair Quality(问答对质量)
定义:在学习工具(如闪卡、教案)中,问题是否能有效触发回忆,答案是否简洁自包含。
| 等级 | 标准 |
|---|---|
| excellent | 每一个问题都精准指向一个知识点,答案在不看上下文时也能独立理解 |
| good | 大部分 Q/A 对质量高,个别问题过于宽泛或答案存在代词依赖 |
| fair | 有不少问题可以通过猜测回答,或答案过于冗长 |
| poor | 问题与答案不匹配,或答案完全依赖源笔记上下文才能看懂 |
M08 - Insight Soundness(洞察可信度)
定义:在洞察分析类输出中,结论是否有扎实的跨笔记证据链支撑,推理过程是否合理。
| 等级 | 标准 |
|---|---|
| excellent | 每个结论都有 2 个以上的笔记原文引用作为证据,推理链条严密 |
| good | 主要结论有证据支撑,次要结论为合理推断 |
| fair | 有证据但不足以完全支撑结论,或存在过度推断 |
| poor | 结论缺乏证据,或引用的笔记原文与结论无关 |
M09 - Tool-Use Accuracy(工具调用准确度)
定义:在操作执行类 Skill 中,AI 是否调用了正确的工具/命令,参数格式是否正确。
| 等级 | 标准 |
|---|---|
| excellent | 选对了工具,参数完整且格式完全符合规范 |
| good | 工具选对,但个别参数缺失或格式需要小修正 |
| fair | 工具选对,但参数有明显错误,可能导致执行失败 |
| poor | 选错了工具,或参数格式完全不符合要求 |
M10 - Task Completeness(任务完整度)
定义:操作执行类 Skill 是否完成了用户请求的全部步骤,没有遗漏关键的确认或收尾动作。
| 等级 | 标准 |
|---|---|
| excellent | 任务完全完成,包含所有必要的中间步骤和最终确认 |
| good | 核心任务完成,但缺少非关键的收尾动作(如未给出简短总结) |
| fair | 完成了部分任务,遗漏了一个关键中间步骤 |
| poor | 只完成了任务的开头,或完全没有执行到实质步骤 |
M11 - Intent Accuracy(意图准确度)
定义:AI 是否正确理解了用户的真实意图,没有误解场景、范围或约束条件。
| 等级 | 标准 |
|---|---|
| excellent | 完全命中用户意图,包括显式要求和隐式约束 |
| good | 命中主要意图,对个别边界条件的理解有轻微偏差 |
| fair | 意图理解有偏差,导致输出的范围或方向不完全对 |
| poor | 完全误解了用户意图,输出的结果与请求无关 |
M12 - Routing Accuracy(路由准确度)
定义:Meta 型 Skill 是否将任务正确地路由/推荐给了最合适的下游 Skill。
| 等级 | 标准 |
|---|---|
| excellent | 选择了最匹配当前场景的下游 Skill,且交接时机恰当 |
| good | 选择了可用的下游 Skill,但不是最优解 |
| fair | 路由到了一个不太相关的 Skill,或遗漏了必要的 Skill 调用 |
| poor | 完全错误的路由,或该调用 Skill 时却没有调用 |
二、Skill 分类 → 评分项子集映射
不同分类的 Skill 只是从上述 12 个评分项中选择适用的子集,并配置权重。
Archetype A:笔记生产型(Note Producers)
适用评分项:M01, M02, M03, M04, M05, M06(特殊场景)
| 评分项 | 权重 | 备注 |
|---|---|---|
| M05 Fidelity | 25% | 核心,必须严格忠于源材料 |
| M01 Structure | 20% | 输出必须是可长期阅读的结构化文档 |
| M02 Density | 20% | 信息密度直接影响笔记价值 |
| M03 Links | 20% | 笔记产品壁垒在于网络化,链接是刚需 |
| M04 Actionability | 15% | 有明确的 takeaways 即可 |
特殊规则:
doc-importer/web-importer强制增加 M06 Format Fidelity(权重 20%),相应降低 M03 Links 到 10%literature-reader强制增加学术字段完整性检查(由 assertions 覆盖,不纳入 Judge 维度)
Archetype B:学习工具型(Learning Artifacts)
适用评分项:M01, M02, M04, M07, M03(弱化)
| 评分项 | 权重 | 备注 |
|---|---|---|
| M07 QA Pair Quality | 30% | 核心,决定复习材料是否可用 |
| M04 Actionability | 25% | 学习者必须知道"下一步做什么" |
| M01 Structure | 20% | 结构化是记忆辅助的关键 |
| M02 Density | 15% | 精简是必要的,但不能过度牺牲解释性 |
| M03 Links | 10% | 有关联更好,但不是核心 |
特殊规则:
lecture-focus-extractor:M07 替换为 "考点命中率"(由 assertions 覆盖:检查输出是否包含大纲中的 H2/H3 标题关键词)prerequisite-gap-finder:M04 的细则增加 "修复路径闭环" 检查(缺什么→为什么缺→怎么补→补完怎么验)
Archetype C:洞察分析型(Insight Generators)
适用评分项:M08, M03, M04, M05, M01
| 评分项 | 权重 | 备注 |
|---|---|---|
| M08 Insight Soundness | 30% | 核心,没有证据的洞察就是幻觉 |
| M03 Links | 25% | 关联密度直接决定洞察质量 |
| M04 Actionability | 20% | 洞察必须可落地 |
| M05 Fidelity | 15% | 对源笔记的引用必须准确 |
| M01 Structure | 10% | 报告结构清晰即可 |
Archetype D:操作执行型(Action/Tool Skills)
适用评分项:M09, M10, M11, M04, M01(弱化)
| 评分项 | 权重 | 备注 |
|---|---|---|
| M10 Task Completeness | 30% | 任务有没有真正做完 |
| M09 Tool-Use Accuracy | 25% | 命令和参数对不对 |
| M11 Intent Accuracy | 25% | 是否理解了用户的真实意图 |
| M04 Actionability | 15% | 操作完成后有无给出明确的 next step / 确认 |
| M01 Structure | 5% | 输出格式整洁即可,非核心 |
特殊规则:
wechat-publisher:M10 的终极验收是 "发布成功"(由 assertions 检查返回结果)coding-assistant:M09 替换为 "代码可运行性"(尝试编译/运行生成的代码片段)wps-note-intelligent-search:M10 增加 "搜索结果相关度"(.assertions 检查返回结果中是否包含预期关键词)
Archetype E:Meta / Orchestrator 型
适用评分项:M12, M11, M10
| 评分项 | 权重 | 备注 |
|---|---|---|
| M12 Routing Accuracy | 40% | 核心,有没有把任务交给对的人 |
| M11 Intent Accuracy | 35% | 是否正确理解了用户的复杂意图 |
| M10 Task Completeness | 25% | 整个工作流是否闭环完成 |
三、Agent Judge Prompt 的约束规则
在发给 Judge Agent 的 System Prompt 中,必须包含以下绝对禁令:
## JUDGE CONSTRAINTS(绝对禁止以下行为)
1. **禁止发明新的评分维度**。你只能使用平台给定的评分项(M01-M12),不得添加任何未在指令中出现的维度。
2. **禁止修改评分细则**。每个评分项的 excellent/good/fair/poor 定义已由平台写死,你不得自行解释或扩展。
3. **禁止无证据评分**。每一条评分理由必须引用输出原文(直接 quoting 或标注具体段落)。
4. **禁止四舍五入 inflate**。average 水平的输出应该落在 fair-good 之间,不是所有人都给 8 分。
5. **权重不可忽略**。即使某个维度得分低,也要如实反映,不能因为"总体还可以"而掩饰明显缺陷。
四、JSON 输出规范(Judge 输出)
{
"metadata": {
"skill_name": "doc-importer",
"archetype": "producer",
"evaluated_at": "2026-04-11T..."
},
"scores": {
"M01": { "score": 8, "max": 10, "level": "good", "reason": "...", "evidence": "..." },
"M02": { "score": 7, "max": 10, "level": "good", "reason": "...", "evidence": "..." },
"M03": { "score": 9, "max": 10, "level": "excellent", "reason": "...", "evidence": "..." },
"M04": { "score": 6, "max": 10, "level": "fair", "reason": "...", "evidence": "..." },
"M05": { "score": 9, "max": 10, "level": "excellent", "reason": "...", "evidence": "..." },
"M06": { "score": 7, "max": 10, "level": "good", "reason": "...", "evidence": "..." }
},
"overall_score": 7.67,
"weighted_score": 7.80,
"verdict": "pass | marginal | fail"
}
五、下一步行动
- 确认 Metric Pool 和 Archetype 映射:如果我们达成上述共识,这套 12 项标准就成为平台的"宪法级"文件,不再轻易变动。
- 为每个 Archetype 编写独立的 Judge Prompt 模板:模板中硬编码该分类使用的评分项和权重,Agent 只负责填空。
- 更新
registry.json生成脚本:自动为每个 Skill 标注evaluation_archetype。 - 更新
coverage_scorer.py:按 Archetype 提取不同的 claims 类型,并映射到不同的 Metric 检查清单。