SuperAPI AI 工具集

llm-as-a-judge

测试与质量

查看项目

更新于 10-16 00:05

技能介绍

用途:为 LLM 流水线输出构建可靠的自动化评估器,由独立于应用的另一个 LLM 担任裁判。每个评估器只针对错误分析中识别出的单一二元(Pass/Fail)失败模式,不把多个标准合并进同一提示。

何时用代码、何时用 LLM 裁判:客观且确定性的失败(JSON/SQL 语法、正则或字符串匹配、结构约束、执行错误、逻辑检查)用代码评估器,快、便宜、确定、可解释;需要解释或细微判断的失败(语气、摘要忠实度、回答有用性、解释清晰度、创意质量)用 LLM-as-Judge。

工作流:1) 编写裁判提示模板;2) 划分标注数据(训练/开发/测试);3) 迭代优化提示(在开发集上测 TPR/TNR);4) 在测试集与无标注数据上估计并校正成功率。

裁判提示四要素:清晰任务与单一评估标准;精确的 Pass/Fail 定义(含边界条件);少样本示例(至少一个 Pass、一个 Fail,取自人工标注轨迹,用清晰案例而非边缘案例);结构化输出,先 reasoning 后 answer,如 {"reasoning": "...", "answer": "Pass"}。

数据划分:训练集 10–20% 用于少样本示例;开发集 40–45% 用于迭代优化并测与人工标签一致度;测试集 40–45% 用于最终无偏测量。开发集示例不得出现在提示中;测试集在提示定稿前保持隔离;开发与测试各宜含 30–50 个 Pass 和 Fail。

迭代循环:写基线提示→在开发集运行→用 TPR、TNR 衡量一致度→检查分歧(假通过、假失败)→细化定义、替换示例、补充边缘案例→重复至 TPR/TNR 稳定(通常 >90%)。停滞时可换更强模型、拆分标准、改进标注数据或核查标签质量。建议先手动迭代再自动化(如 DSPy)。

成功率估计:在测试集测 TPR/TNR,在无标注数据观察原始成功率 p_obs=k/m,用 Rogan-Gladen 公式校正 θ̂=(p_obs+TNR-1)/(TPR+TNR-1),并裁剪到 0–1;用 Bootstrap 重采样测试集标签 B 次取 2.5/97.5 百分位得置信区间。若 TPR+TNR-1≈0,校正无效。

常见陷阱:提示中省略示例;单提示评估多标准;跳过对齐验证;对标注轨迹过拟合;从不复查裁判;未固定裁判模型版本(CI 中应固定,如 claude-sonnet-4-5-20250929)。

长文档:不要把整篇文档喂给裁判,只用相关片段;可做分块评估并聚合;评分标准需明确“正确”含义。

CI 集成:建立含参考输出的黄金数据集,每次流水线变更时运行全部输入并用代码加 LLM 裁判评估,固定裁判模型版本,覆盖核心功能、已知失败模式与边缘案例;它用于捕捉回归、保证稳定性,不预测整体生产准确率。

限制:资料未提供具体收费、价格、平台支持范围与安装命令等信息。