{{ verdict.label }}
{{ verdict.sentence }}
-
{%- if cmp and not cmp.not_comparable %}
- 按任务配对:{{ cmp.worse }} 题变差、{{ cmp.better }} 题变好、{{ cmp.same }} 题不变。 {%- if cmp.noise %}
- 判定变好或变差还要求差值超过基础设施噪声 ±{{ '%.1f'|format(100 * cmp.noise) }} 个百分点。 {% endif %} {%- if cmp.only_in_base or cmp.only_in_now %}
- 只在一边出现的任务不参与比较:基线独有 {{ cmp.only_in_base|length }} 题,本次独有 {{ cmp.only_in_now|length }} 题。 {% endif %} {%- if cmp.broken %}
- {{ cmp.broken|length }} 道题以前全过、现在全挂:{{ cmp.broken[:5]|join('、') }}。 {% endif %} {%- if cmp.by_tag|length > 1 %}
- 按标签比较时置信水平按比较的组数校正({{ cmp.by_tag|length }} 组),避免"总有一组碰巧变差"。 {% endif %} {%- endif %} {%- if gate_reasons %}
- 门禁({{ gate }})不通过:{{ gate_reasons|join(';') }}。 {% endif %} {%- if saturation_sentence %}
- {{ saturation_sentence }}。 {% endif %} {%- if s.judge_checks %}
- 模型评委的 {{ s.judge_checks }} 条判定只展示,不参与成功率和结论{% if s.judge_uncertain %};其中 {{ s.judge_uncertain }} 条"不确定"{% endif %}。 {% endif %} {%- if s.infra %}
- {{ s.infra }} 次试验因基础设施问题没有结果,不计入成功率。 {% endif %} {%- if s.infra_attempts %}
- 基础设施错误率 {{ '%.1f' % (100 * s.infra_rate) }}%({{ s.attempts }} 次尝试里 {{ s.infra_attempts }} 次{% if s.retried %},{{ s.retried }} 次试验重试过{% endif %})。重试只针对基础设施错误,agent 自己的失败不重试。 {% endif %} {%- set sc_fails = selfcheck|selectattr('kind', 'equalto', 'fails')|list %} {%- set sc_grader = selfcheck|selectattr('kind', 'equalto', 'grader')|list %} {%- set sc_missing = selfcheck|selectattr('kind', 'equalto', 'missing')|list %} {%- set sc_task = selfcheck|selectattr('kind', 'equalto', 'task')|list %} {%- if sc_fails %}
- {{ sc_fails|length }} 道题的参考解判不过,这些题上的失败归为"任务有问题"。 {% endif %} {%- if sc_grader %}
- {{ sc_grader|length }} 道题的评分器在参考解上报错或没有给出判定,先修评分器。 {% endif %} {%- if sc_task %}
- {{ sc_task|length }} 道题的写法评分器读不了(键拼错、文件不存在……),这些题没有结论,先修题目。 {% endif %} {%- if sc_missing %}
- {{ sc_missing|length }} 道题没有参考解,无法自检;这些题上的失败仍算 agent 的。 {% endif %}
- 对比基线
- {% if cmp %}
{{ cmp.baseline_run or '—' }}{% else %}无用--update-baseline写入{% endif %} - 评测集
{{ manifest.dataset_hash[:12] or '—' }}内容哈希;划分 {{ manifest.split or '全部' }} {%- if manifest.dataset_description %}{{ manifest.dataset_description }}{% endif %} {%- if manifest.dataset_meta %}{% for k, v in manifest.dataset_meta|dictsort %}{{ k }}:{{ v }}{% if not loop.last %} · {% endif %}{% endfor %}{% endif %}- 环境
- {% if manifest.resources %}{% for k, v in manifest.resources|dictsort %}{{ k }}={{ v }}{% if not loop.last %} · {% endif %}{% endfor %}{% else %}未记录资源配置{% endif %}
成功率 · {{ s.decided }} 次试验
{{ pct(s.success_rate) }}
{%- if s.interval %}95% 区间 {{ pct(s.interval[0]) }} – {{ pct(s.interval[1]) }}(按题重采样){% endif %}
稳定性 · pass^{{ s.k }}
{{ pct(s.pass_hat_k) }}
{{ s.tasks_all_k }} / {{ s.tasks }} 题 {{ s.k }} 次全过
pass@{{ s.k }} {{ pct(s.pass_at_k) }}
平均分 · 含部分分
{{ '—' if s.mean_score is none else '%.2f'|format(s.mean_score) }}
必需判定全成立才算成功
判定来源
{{ s.deterministic_checks }}条确定性
模型评委 {{ s.judge_checks }} 条,不计入
成本 · 每次试验
{%- if s.cost_per_trial %}
{%- for key, value in s.cost_per_trial|dictsort %}{{ '%.3g'|format(value) }} {{ key }}{% endfor %}
{%- else %}—agent 没有报告成本{% endif %}
{{ '按标签对比基线' if cmp else '按标签' }}
{% if cmp %}横条是差值的 95% 区间;跨过 0 就是"无法区分"{% endif %}| 标签 | 任务 | {% if cmp %}基线 | {% endif %}本次 | {% if cmp %}差值 | 区间 | 判断 | {% else %}95% 区间 | {% endif %}
|---|---|---|---|---|---|---|---|
| {{ r.value }} {{ r.tag }} |
{{ r.tasks }} | {%- if cmp %}{{ pct(r.base_rate) }} | {% endif %}{{ pct(r.now_rate) }} | {%- if cmp %}{{ '%+.1f'|format(100 * r.difference) }} | {{ '不可比' if cmp.not_comparable else {'worse': '变差', 'better': '变好'}.get(r.verdict, '无法区分') }} | {%- else %}{% if r.interval %}{{ pct(r.interval[0]) }} – {{ pct(r.interval[1]) }}{% else %}—{% endif %} | {%- endif %}
没有成功的试验 · 按归因
规则能分的先分;分不了的是"待人工阅读",附轨迹
{%- for c in by_category %}
{{ c.label }}{{ c.count }}次
{%- endfor %}
变差的任务
| 任务 | 基线 | 本次 |
|---|---|---|
| {{ w.task_id }} | {{ w.base[0] }} / {{ w.base[1] }} | {{ w.now[0] }} / {{ w.now[1] }} |
参考解自检
参考解判不过,说明任务或评分器有问题,不是 agent 的问题;没有参考解的题无法自检,只列出来。
- {% for p in selfcheck %}
{{ p.task_id }}{{ p.problem }}{% for c in p.checks %}{{ c.name }}:{{ c.expr }}{% endfor %} {% endfor %}
没有成功的试验
{{ failed_total }} 次{% if failed_total > failed_trials|length %},列出前 {{ failed_trials|length }} 次{% endif %}
{%- for t in failed_trials %}
{%- endfor %}
{{ category_label.get(t.category, t.category) }} {{ t.task_id }}第 {{ t.index + 1 }} 次试验 · {{ t.trajectory|length }} 步 · {{ '%.1f'|format(t.seconds) }} s{% if t.score is not none %} · 得分 {{ '%.2f'|format(t.score) }}{% endif %}
{%- if t.error %}
{%- endif %}
{%- if jud %}
{%- endif %}
{%- if t.output is not none %}{% endif %}
{{ t.error }}{% endif %}
{%- set det = t.checks|rejectattr('src', 'equalto', 'llm_judge')|list %}
{%- set jud = t.checks|selectattr('src', 'equalto', 'llm_judge')|list %}
{%- if det %}
判定
| 结果 | 判定 | 实际 | 权重 |
|---|---|---|---|
| {{ '成立' if c.ok else '不成立' }} | {{ c.name }}{% if not c.required %}(非必需){% endif %} | {{ c.expr or '—' }} | {{ '%g'|format(c.weight) }} |
模型评委 · 只展示,不计入
{%- for c in jud %}{{ '不确定' if c.uncertain else ('成立' if c.ok else '不成立') }} {{ c.name }}{% if c.expr %} · {{ c.expr }}{% endif %}{% endfor %}
{%- endif %}
{%- if t.trajectory %}
轨迹
-
{%- for e in t.trajectory %}
- {{ '%.1f'|format(e.t or 0) if e.t is number else (e.t or '') }}{{ e.kind or '' }}{% if e.name %} · {{ e.name }}{% endif %}{{ e.text or '' }}{% if e.error %} — {{ e.error }}{% endif %} {%- endfor %}
agent 的输出
{{ t.output }}版本清单
分数依赖的一切。两次运行的数据集哈希、划分或资源不同,分数不可比。
| {{ key }} | {{ value if value not in (none, '', {}) else '—' }} |
|---|