关于 advanced-evaluation
面向评估模型输出的团队,提供构建 LLM-as-a-Judge 评估的方法,涵盖评分与成对比较、偏差控制、量规设计及与人工判断的验证。
主要功能
- 01直接评分与成对比较
- 02位置与长度偏差控制
- 03量规设计与校准
- 04置信度与指标选择
- 05对照人工判断验证
适用场景
- 01比较模型回答的主观质量
- 02按明确标准评估事实准确性
- 03排查自动评估结果不一致
- 04设计提示词或模型 A/B 评估
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ guanyang/ open-agent-hub --skill advanced-evaluation安装后在 Claude Code 中输入/advanced-evaluation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/bias-mitigation.mdevaluation-pipeline.mdimplementation-patterns.mdmetrics-guide.mdscripts/evaluation_example.py详细介绍
高级评估
本技能介绍使用大模型作为评审来评估大模型输出的生产级技术。它综合了学术论文、行业实践和实际实施经验,提炼出可操作的模式,帮助构建可靠的评估系统。
核心观点:LLM-as-a-Judge 并非单一技术,而是一系列适用于不同评估场景的方法。选择合适的方法并缓解已知偏差,是本技能培养的核心能力。
何时启用
在以下情况下启用本技能:
- 为大模型输出构建 LLM-as-Judge 系统
- 比较多个模型的回答并选出最佳答案
- 在评估团队中建立一致的质量标准
- 调试结果不一致的评估系统
- 为提示词或模型变更设计 A/B 测试
- 专门为大模型评审或人类与大模型混合评审创建评分标准
- 分析自动评判与人工评判之间的相关性
对于其他技能负责的相关工作,不要启用本技能:
- 通用确定性检查、回归测试套件、生产质量门槛或结果指标:
evaluation。 - 自主循环治理、锁定评分标准、回滚或 PR 审批边界:
harness-engineering。 - 评估工具的工具 API 契约:
tool-design。
核心概念
评估分类
根据是否存在真实标注结果,在两种主要方法中进行选择:
直接评分 —— 用于存在客观标准的情况(事实准确性、遵循指令、毒性)。由单个大模型按既定量表为一份回答评分。对于定义明确的标准,该方法具有中等到较高的可靠性。注意评分校准漂移和量表解读不一致的问题。
成对比较 —— 用于主观偏好(语气、风格、说服力)。由大模型比较两份回答并选出更好的一份。对于主观任务,与开放式直接评分相比,成对比较通常与人类偏好更为一致(claim-advanced-evaluation-position-swap)。注意位置偏差和长度偏差。
偏差类型
在每个评估系统中缓解以下系统性偏差:
位置偏差:排在第一位的回答更容易获得优待。可通过交换位置进行两次评估,然后采用多数投票或一致性检查来缓解。
长度偏差:回答越长,得分往往越高,无论质量如何。可通过在提示词中明确要求忽略长度,并采用长度归一化评分来缓解。
自我提升偏差:模型会给自己的输出更高的评分。可通过使用不同的模型生成和评估来缓解。
冗长偏差:即使不必要,过多的细节也会获得更高评分。可通过针对具体标准制定评分规则,对无关细节扣分来缓解。
权威偏差:无论准确性如何,自信的语气都更容易获得高分。可通过要求引用证据并增加事实核查环节来缓解。
指标选择框架
根据评估任务的结构选择指标:
| 任务类型 | 主要指标 | 次要指标 |
|---|---|---|
| 二元分类(通过/失败) | 召回率、精确率、F1 | Cohen's kappa |
| 序数量表(1-5 分) | Spearman's rho、Kendall's tau | Cohen's kappa(加权) |
| 成对偏好 | 一致率、位置一致性 | 置信度校准 |
| 多标签 | Macro-F1、Micro-F1 | 各标签的精确率/召回率 |
应优先关注系统性分歧模式,而不是绝对一致率,因为在特定标准上持续与人类评判不一致的评审,比存在随机噪声的评审问题更大。
评估方法
直接评分实现
直接评分包含三个部分:明确的标准、经过校准的量表和结构化输出格式。
标准定义模式:
Criterion: [Name]
Description: [What this criterion measures]
Weight: [Relative importance, 0-1]
量表校准 — 根据评分细则的详细程度选择量表粒度:
- 1-3:提供中立选项的二元量表,认知负担最低
- 1-5:标准李克特量表,在粒度和可靠性之间取得最佳平衡
- 1-10:仅在各级评分细则详尽时使用,因为校准难度更大
直接评分的提示词结构:
You are an expert evaluator assessing response quality.
## Task
Evaluate the following response against each criterion.
## Original Prompt
{prompt}
## Response to Evaluate
{response}
## Criteria
{for each criterion: name, description, weight}
## Instructions
For each criterion:
1. Find specific evidence in the response
2. Score according to the rubric (1-{max} scale)
3. Justify your score with evidence
4. Suggest one specific improvement
## Output Format
Respond with structured JSON containing scores, justifications, and summary.
在评分提示词中,要求先提供证据再给出分数,这样评判者必须先根据可观察到的输出特征做出判断,再给出数字。
两两比较实现
在每次两两评估中,都要缓解位置偏差:
- 先运行确定性预检查:两个候选项必须满足相同的架构、源证据要求和范围限制。
- 第一轮评判:回复 A 排在第一位,回复 B 排在第二位。
- 第二轮评判:回复 B 排在第一位,回复 A 排在第二位。
- 一致性检查:如果两轮结果不一致,则返回 TIE,并降低置信度。
- 最终结论:给出一致的获胜者、平均置信度和明确的平局判定理由。
两两比较的提示词结构:
You are an expert evaluator comparing two AI responses.
## Critical Instructions
- Do NOT prefer responses because they are longer
- Do NOT prefer responses based on position (first vs second)
- Focus ONLY on quality according to the specified criteria
- Ties are acceptable when responses are genuinely equivalent
## Original Prompt
{prompt}
## Response A
{response_a}
## Response B
{response_b}
## Comparison Criteria
{criteria list}
## Instructions
1. Analyze each response independently first
2. Compare them on each criterion
3. Determine overall winner with confidence level
## Output Format
JSON with per-criterion comparison, overall winner, confidence (0-1), and reasoning.
置信度校准 — 根据位置一致性映射置信度:
- 两轮结果一致:置信度 = 各轮置信度的平均值
- 两轮结果不一致:置信度 = 0.5,结论 = TIE
评分细则生成
与开放式评分相比,生成评分细则可以减少评估差异。除非在目标评估集上进行测量,否则应将具体的差异减少幅度视为取决于工作负载。
评分细则应包含以下组成部分:
- 等级描述:明确界定各评分等级
- 特征:定义各等级的可观察特征
- 示例:各等级的代表性文本(可选,但很有价值)
- 边缘情况:为模糊情形提供指导
- 评分指南:确保评分一致性的通用原则
根据使用场景校准严格程度:
- 宽松:及格门槛较低,适合鼓励迭代
- 平衡:符合常见的生产环境预期
- 严格:适用于安全关键或高风险评估的高标准
根据领域调整评分细则,使用特定领域的术语。代码可读性评分细则应提及变量、函数和注释;医疗准确性评分细则应引用临床术语和证据标准。
实用指南
评估流水线设计
构建生产级评估系统时,应包含以下层级:标准加载器(评分细则 + 权重)-> 主评分器(直接评分或两两比较)-> 偏差缓解(交换位置等)-> 置信度评分(校准)-> 输出(分数 + 理由 + 置信度)。完整的可视化布局请参阅 评估流水线图。
决策框架:直接评分与两两比较
应用以下决策树:
Is there an objective ground truth?
+-- Yes -> Direct Scoring
| Examples: factual accuracy, instruction following, format compliance
|
+-- No -> Is it a preference or quality judgment?
+-- Yes -> Pairwise Comparison
| Examples: tone, style, persuasiveness, creativity
|
+-- No -> Consider reference-based evaluation
Examples: summarization (compare to source), translation (compare to reference)
扩展评估规模
对于高吞吐量评估,可采用以下策略之一:
-
LLM 评审团(PoLL):使用多个模型作为评判者并汇总投票,以减少单个模型的偏差。成本更高,但在高风险决策中更可靠。
-
分层评估:使用快速、低成本的模型进行筛查,并使用高成本模型处理边缘情况。需要校准筛查阈值。
-
人工参与的闭环:自动处理明确的情况,并将低置信度的决策转交人工审核。设计反馈循环,逐步改进自动评估。
示例
示例 1:准确性的直接评分
输入:
Prompt: "What causes seasons on Earth?"
Response: "Seasons are caused by Earth's tilted axis. As Earth orbits the Sun,
different hemispheres receive more direct sunlight at different times of year."
Criterion: Factual Accuracy (weight: 1.0)
Scale: 1-5
输出:
{
"criterion": "Factual Accuracy",
"score": 5,
"evidence": [
"Correctly identifies axial tilt as primary cause",
"Correctly explains differential sunlight by hemisphere",
"No factual errors present"
],
"justification": "Response accurately explains the cause of seasons with correct
scientific reasoning. Both the axial tilt and its effect on sunlight distribution
are correctly described.",
"improvement": "Could add the specific tilt angle (23.5 degrees) for completeness."
}
示例 2:交换位置的两两比较
输入:
Prompt: "Explain machine learning to a beginner"
Response A: [Technical explanation with jargon]
Response B: [Simple analogy-based explanation]
Criteria: ["clarity", "accessibility"]
第一轮(A 在前):
{ "winner": "B", "confidence": 0.8 }
第二轮(B 在前):
{ "winner": "A", "confidence": 0.6 }
(注意:获胜者是 A,因为 B 排在第一位)
映射后的第二轮结果:
{ "winner": "B", "confidence": 0.6 }
最终结果:
{
"winner": "B",
"confidence": 0.7,
"positionConsistency": {
"consistent": true,
"firstPassWinner": "B",
"secondPassWinner": "B"
}
}
示例 3:评分标准生成
输入:
criterionName: "Code Readability"
criterionDescription: "How easy the code is to understand and maintain"
domain: "software engineering"
scale: "1-5"
strictness: "balanced"
输出(节选):
{
"levels": [
{
"score": 1,
"label": "Poor",
"description": "Code is difficult to understand without significant effort",
"characteristics": [
"No meaningful variable or function names",
"No comments or documentation",
"Deeply nested or convoluted logic"
]
},
{
"score": 3,
"label": "Adequate",
"description": "Code is understandable with some effort",
"characteristics": [
"Most variables have meaningful names",
"Basic comments present for complex sections",
"Logic is followable but could be cleaner"
]
},
{
"score": 5,
"label": "Excellent",
"description": "Code is immediately clear and maintainable",
"characteristics": [
"All names are descriptive and consistent",
"Comprehensive documentation",
"Clean, modular structure"
]
}
],
"edgeCases": [
{
"situation": "Code is well-structured but uses domain-specific abbreviations",
"guidance": "Score based on readability for domain experts, not general audience"
}
]
}
指南
-
始终要求先提供证据,再给出分数——以证据为先的提示词更便于审查判断,也能减少缺乏依据的数值评分
-
成对比较时始终交换位置——单轮比较会受到位置偏差的影响
-
让评分尺度的细粒度与评分标准的具体程度相匹配——没有详细的等级说明时,不要使用 1-10 分制
-
区分客观标准与主观标准——客观标准直接评分,主观标准采用成对比较
-
纳入置信度评分——根据位置一致性和证据强度校准置信度
-
明确定义边界情况——模糊情况会导致最大的评估差异
-
使用特定领域的评分标准——通用评分标准会产生通用(实用性较低)的评估结果
-
根据人工判断进行验证——只有与人工评估结果相关时,自动评估才有价值
-
监测系统性偏差——按标准、回答类型和模型跟踪意见分歧模式
-
为迭代而设计——评估系统通过反馈循环不断改进
注意事项
-
评分却不提供理由:分数缺乏依据,难以调试。始终要求在给出分数前提供基于证据的理由。
-
单轮成对比较:位置未交换时,结果会受到位置偏差的影响。始终交换位置评估两次,并检查一致性。
-
标准过载:同时衡量多项内容的标准会产生不可靠的分数。确保一个标准只对应一个可衡量的方面。
-
缺少边界情况指南:没有明确说明时,评估者对模糊情况的处理会不一致。在评分标准中纳入边界情况,并明确解决规则。
-
忽略置信度校准:高置信度的错误判断比低置信度的判断更糟。根据位置一致性和证据强度校准置信度。
-
评分标准漂移:随着质量标准演变或模型能力提升,评分标准会变得不再准确。定期审查评分标准,并根据新的人工作注释示例重新校准各分数等级。
-
评估提示词敏感性:评估提示词中细微的措辞变化可能导致分数显著波动。对评估提示词进行版本控制,并在部署提示词变更前运行回归测试。
-
长度偏差不受控制:即使更偏好简洁,较长的回答也会系统性地获得更高分数。在评估提示词中加入明确的长度中立说明,并使用控制长度的测试回答对进行验证。
集成
此技能负责评判标准设计和偏差缓解。相关技能负责更广泛的质量门控和基础设施:
evaluation:通用确定性检查、回归套件、质量门控和生产监控。context-fundamentals:评判提示词的上下文结构。tool-design:评估工具的架构和错误处理。context-optimization:高频评估的令牌和延迟效率。harness-engineering:自主循环的评估器接口锁定和治理。
参考资料
内部参考资料:
- LLM-as-Judge 实现模式 - 适用场景:从头构建评估流水线,或将 LLM 裁判集成到 CI/CD 中
- 偏差缓解技术 - 适用场景:评估结果显示评分模式不一致或可疑时
- 指标选择指南 - 适用场景:选择用于验证评估可靠性的统计指标
- 评估流水线图 - 适用场景:设计多阶段评估系统的架构
外部研究:
- Eugene Yan:评估 LLM 评估器的有效性 - 适用场景:了解 LLM 评估领域的最新进展
- 评判 LLM-as-a-Judge(Zheng 等,2023) - 适用场景:了解位置偏差和 MT-Bench 方法
- G-Eval:使用 GPT-4 评估 NLG(Liu 等,2023) - 适用场景:实现思维链评估打分
- 大语言模型并非公平的评估器(Wang 等,2023) - 适用场景:诊断评估输出中的系统性偏差
此集合中的相关技能:
- evaluation - 评估基础概念
- context-fundamentals - 评估提示词的上下文结构
- tool-design - 构建评估工具
技能元数据
创建日期:2025-12-24 最近更新:2026-05-15 作者:Agent Skills for Context Engineering Contributors 版本:2.1.0