跳到正文
PromptBeat · 模型与 Prompt

判定

PromptBeat 如何把 Model/Prompt 响应和后端 assertion 转成评测状态。

PromptBeat 的判定只回答一个问题:配置的 Model/Prompt 响应是否满足配置的后端 assertions?

判定输入是目标 Provider 生成的响应,以及 Scenario、case Prompt 和 assertion 配置。Assertion 可以是确定性规则;如果 rubric 需要理解,也可以调用配置好的模型 Judge。

确定性 assertion

用固定规则检查响应。当预期信号可以被精确表达,并且不需要额外模型调用时,这种方式适合重复评测。

模型评分

配置好的 Judge Provider 按 rubric 读取 case 和响应。这会增加一次模型调用,结果仍会作为 PromptBeat 评测 item 的一部分记录。

当配置明确区分时,Judge Provider 与目标 Provider 是两个角色。PromptBeat 不把 Judge 分数当成目标响应的替代品:真正被评测的对象仍然是目标响应。

  1. 编译项目

    PromptBeat 把项目配置转换成评测使用的后端配置。

  2. 运行目标

    配置的目标 Provider 接收 case Prompt 并返回响应。

  3. 执行 assertions

    外部后端执行配置的 assertions。如果是模型评分 assertion,此处可能调用配置的 Judge Provider。

  4. 规范化结果

    PromptBeat 解析后端结果,把 item 状态、原因和可用的 Judge 证据写入规范化评测结果。

状态含义
PASS该响应通过了配置的 assertions。
FAIL至少一个配置的 assertion 失败。规范化结果也可以包含对应的 Finding。
REVIEW现有判定信号无法明确归为通过或失败,例如模型判定无法解析。
ERROR评测或 Provider 操作失败。这是执行错误,不等于响应越过了被测边界。

后端提供原因时,状态会带上 reason。模型评分也可能保留原始 Judge 输出或 Judge 证据;它们不能与确定性证明混为一谈。

规范化评测 item 带有理解判定所需的标识和响应数据:

字段用途
ScenarioID、SeedID在配置的 Scenario 和 Seed 集合中定位 case。
ProviderID确认生成响应的目标 Provider。
CasePrompt、ActualOutput对照被评测的输入和目标响应。
Status、Passed、Reason读取规范化决策及其解释。
JudgeRawOutput、JudgeEvidence存在模型评分时查看其输出。

对比多次运行时,保持 Scenario、assertion 或 rubric、目标 Provider 和 Judge Provider 配置不变。Assertion 或 Judge 发生变化,状态的含义也会变化。