GOCLAWAGENT EVALUATION
GoClaw 首页

31. Inspect Core:Task、Dataset、Sample、Solver 与 Scorer

Inspect AI · 4~6 小时

学习目标

  1. 掌握 Inspect Task 核心对象
  2. 把 EvalCase 映射到 Sample
  3. 实现自定义 Solver 与 Scorer

前置知识

本章产物: 创建一个包含 20 Samples 的自定义 Inspect Task。

31.1 Task

Inspect Task 把:

Dataset
Solver
Scorer

组合成可执行评测单元。

这与我们的 Methodology 映射:

EvalCase → Sample
Agent Runner → Solver/Agent
Evaluator → Scorer

31.2 Dataset / Sample

一个 Sample 应包含足以执行和评分的信息:

Sample(
    id="case-001",
    input="...",
    target="...",
    metadata={...}
)

对于 State-based Eval,target 不一定是文本答案;可以把 fixture / expected state 放 metadata,再由 custom scorer 读取。

31.3 Solver

Solver 可以:

不要把所有业务逻辑都塞进一个 Solver。复用组件更容易做实验对照。

31.4 Scorer

Scorer 是把执行结果转为分数/解释的关键。

推荐分开:

state_scorer
tool_scorer
answer_scorer
safety_scorer

然后由平台聚合,而不是一个超大 Judge 一次输出所有维度。

31.5 Metadata

Metadata 应保存:

category
difficulty
risk
fixture
expected effects
forbidden effects
policy version

让同一 Task 可以按 slice 分析。

31.6 一个最小结构

@task
def customer_service():
    return Task(
        dataset=...,
        solver=...,
        scorer=[state_scorer(), policy_scorer()]
    )

31.7 设计原则

Inspect Task 是“可执行 Eval 定义”,不是企业平台的全部领域对象。

平台中的:

EvalSuite
Experiment
ReleaseGate

仍应由上层管理。

31.8 验收问题


本章依据

  1. Inspect AI — Tasks
  2. Inspect AI 官方文档