不要只给最终回答打一个总分。先拆出容易定位的组件,再用端到端案例检查业务结果;这样失败时才能知道该改检索、 工具、Prompt 还是 Runtime。
五个评测对象
| 对象 | 核心问题 | 例子 |
|---|---|---|
| Model/Prompt | 输出是否符合指令 | JSON 是否完整 |
| Retrieval | 找到的证据是否相关 | Recall@k |
| Tool | 工具和参数是否正确 | 是否查询 A1042 |
| Trajectory | 步骤和顺序是否安全 | 审批先于退款 |
| Outcome | 真实任务是否完成 | 账本存在退款记录 |
**Trajectory(轨迹)**是 Agent 的可观察步骤序列;不需要也不应记录隐藏思维过程。
三种评测粒度
- Unit:单个函数、Tool 或节点,快且易定位。
- Component:检索器、Agent 子图或完整工具循环。
- End-to-end:从用户输入到真实业务状态,最接近价值但成本最高。
CI 中先跑便宜的确定性检查,再抽样运行模型和端到端案例。
硬门禁与软指标
def release_allowed(scores: dict) -> bool:
hard_gates = scores["cross_tenant_reads"] == 0 and scores["schema_pass"] == 1
quality = scores["task_success"] >= 0.90
return hard_gates and quality
越权、重复扣款和 Schema 错误是硬门禁,不能用平均质量分补偿。文风和简洁度等软指标适合比较版本。
离线与在线
离线评测在发布前运行固定数据集,适合回归和版本比较。在线评测对生产 Trace 抽样,适合发现漂移和未知问题。 线上案例经脱敏和人工确认后,再加入离线数据集形成闭环。
最小指标契约
每个指标写清名称、输入、算法、方向、阈值和版本。例如 tool_selection_accuracy/v1,范围 0—1,越高越好,
发布阈值 0.95。没有契约的“质量分”无法长期比较。
下一步
阅读 Golden Dataset,建立第一组可信输入和期望结果。