附录 B 工具速查表
七个主流工具一张表、常用命令一节、公式与阈值口径一节。工具能力与版本随时间变化快(信息截至 2026-09),生产决策以各家官方文档为准。
一、七工具总表
| 工具 |
一句话定位 |
形态 |
甜点场景 |
本书展开 |
| Promptfoo |
配置即评测的离线回归与红队框架 |
CLI + 库,开源,本地优先 |
回归跑分、prompt/模型对比、红队自检 |
6.1 |
| Langfuse |
开源观测 + 在线 evals 平台 |
自托管 / 托管云 |
trace 采集、三路在线评分、离线在线闭环 |
6.2 |
| DeepEval |
pytest 风格评测断言库 |
Python 库 |
断言混进已有 pytest 流水线 |
6.3 |
| RAGAS |
RAG 指标库 |
Python 库 |
忠实度 / 回答相关性 / 上下文精确率 |
6.3(指标定义见 4.3) |
| LangSmith |
LangChain 系观测+评测平台 |
SaaS 为主 |
LangChain/LangGraph 深度用户 |
6.3 |
| Braintrust |
企业评测与实验平台 |
SaaS + API |
实验管理、OTel 集成、企业权限 |
6.3 |
| Inspect-ai |
安全基准与评测编排框架(UK AISI) |
开源框架 |
严肃基准、安全研究、大规模编排 |
6.3 |
二、常用命令速查(写法示意,以官方文档为准)
# commands.sh(写法示意,以官方文档为准)
## Promptfoo(Node 工具链)
npx promptfoo@latest init # 生成配置骨架
promptfoo eval -c promptfooconfig.yaml # 跑完整张考卷
promptfoo view # 本地 Web UI 看逐条对错
promptfoo eval -c config.yaml --threshold 0.85 # 及格线:低于则退出码非 0(CI 用)
promptfoo redteam generate -c redteam.yaml # 生成红队攻击样本
promptfoo redteam eval -c redteam.yaml # 跑安全分
## Python 侧通用
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
python evals/scripts/run_regression.py --dataset evals/datasets/main_v12.jsonl
python evals/scripts/lint_dataset.py evals/datasets/main_v12.jsonl # 退出码 1 = 考卷有问题
# langfuse_quick.py(写法示意,以官方文档为准)
from langfuse import get_client, observe
langfuse = get_client() # 环境变量提供 host 与密钥
@observe() # 函数 → trace/span,嵌套随调用层级
def answer(question: str) -> str: ...
langfuse.create_score( # 在线评分写回(三路通用出口)
trace_id="...", name="judge-rubric",
value=0.9, data_type="NUMERIC", comment="五件套裁判的判决")
langfuse.flush() # 短生命周期进程退出前冲刷
三、公式速查
| 名称 |
公式 |
用途 |
展开 |
| Cohen's kappa |
κ = (p_o − p_e) / (1 − p_e) |
双人(或裁判-人工)校正常识一致率 |
3.2 / 5.3 |
| Fleiss kappa |
κ = (P̄ − P_e) / (1 − P_e),P_i = (Σ_j n_ij² − N)/(N(N−1)) |
多评定者总体一致率 |
5.3 |
| ECE |
Σ_桶 (桶样本占比 × |预测均值 − 实际命中率|) |
置信度校准误差 |
4.2 / 7.1 |
| 忠实度 |
被支持主张数 / 总主张数 |
输出可溯源程度 |
4.3 |
| 期望代价 |
Cost(t) = c_miss × 错放数(t) + c_human × 拦截数(t) |
阈值选择 |
7.2 |
| PSI |
Σ (实际占比 − 预期占比) × ln(实际占比 / 预期占比) |
分布漂移 |
7.3 |
| 两比例样本量 |
n = (z_a·√(2p̄q̄) + z_b·√(p₁q₁+p₂q₂))² / MDE² |
A/B 实验设计 |
8.1 |
| Wilson 区间 |
见 4.3 节脚本 |
小样本比例置信区间 |
4.3 |
四、阈值与口径汇总(全书统一)
| 口径 |
数值 |
属性 |
展开 |
| ECE 判档 |
<0.05 优 / 0.05~0.15 可用 / >0.15 慎用 |
与《Jev 决策编程》9.2 同一工程口径 |
4.2 / 7.1 |
| kappa 分级 |
<0.2 极差 / 0.61~0.8 好(工程合格线) / >0.8 优 |
Landis & Koch,社区通行 |
3.2 / 5.3 |
| 裁判上岗门禁 |
裁判-人工 κ ≥ 0.6 上岗 / 0.4~0.6 观察 / <0.4 停用 |
社区经验,示意 |
5.3 |
| 换序翻转率 |
<2% 可忽略 / 2~5% 观察 / >5% 必须治理 |
社区经验,示意 |
5.2 |
| 长度相关 |
|r| >0.3 必须治理 |
社区经验,示意 |
5.2 |
| PSI 三级 |
<0.10 稳定 / 0.10~0.25 观察 / >0.25 显著漂移 |
风控通行,社区 |
7.3 |
| 回归集规模 |
100~500 条;影子 60/分歧 25/hard 10/构造 5 |
社区经验起点 |
3.1 |
| 人工抽检比例 |
裁判判决的 ~5% 季度复核 |
社区经验 |
5.2 |
五、选型口诀
- 回归看打分,对比看成对,多维看分解(5.1);
- 离线跑分 + 线上观测成对出现,同一回归集只认一个跑分出口(6.3);
- 考卷 → 脚本 → 工具 → 平台,顺序不能反(0.2 / 6.3);
- 能软不硬、能硬不熔(8.3);每条告警连一页 runbook(8.2)。
更细的工具横评与决策树见 6.3 节;本书所有脚本(分层采样、kappa、ECE、sweep、PSI、样本量、lint、过拟合哨兵)均为纯标准库实现,散布在各章小节内,代码块首行注释即文件名。