跳转到主要内容
好的评估用例应该尽量把”是否成功”拆成可解释的信号。NiceEval 允许你混合精确断言、语义 judge、事件流检查和真实测试。

选择断言类型

值断言

includes 同时接受子串和正则;matches 只接受 Standard Schema / Zod schema,用于结构校验,不做正则匹配。值断言适合精确、稳定、低歧义的结果。

作用域断言

它们检查整次运行的事实,通常来自标准事件流或 sandbox artifacts。

LLM-as-judge

Judge 适合语义质量,但不适合替代所有确定性断言。能精确检查的地方优先精确检查。

Gate 和 soft 的取舍

  • gate:失败就是失败。
  • soft:保留分数,用于比较质量。

代码任务用测试评分

.eval.ts 里运行项目测试或临时探针:

成本和效率

对 coding agent 和长链路 agent 尤其有用,可以防止通过大量重试或工具调用掩盖质量问题。

实用建议

  • 先写 1-2 个 gate,保证任务底线。
  • 再加 soft 分数比较质量。
  • 复杂语义用 judge,但让 judge 有明确 rubric。
  • coding-agent 结果尽量用真实测试验证。
  • 把失败消息写清楚,方便从报告直接定位问题。