JJev Cookbook
课程首页 中文文档 拓展阅读 GitHub ↗

拓展阅读 / JevBench:独立评测基准

知识库收录材料 · 原始文件 ↗ · 来源、版本与许可

JevBench v1.2 hard tier — how it was made

Work in progress: v1.2 results are preliminary.

220 decisions, 111 public (datasets/public/hard.jsonl, MIT) and 109 held out (never published, used to detect over-fitting to the public half). Frozen 2026-09-19T11:43:54+00:00 before any benchmarked system saw an item.

  • dataset hash (all items, order-independent): ec200ccd3db28153c93bfeaed55acb18b4909610ba403cf73482abbc4074ef6b

  • sha256 public file: 89e9e6becb33ed88c1de7d42dcc87531b2fb64cfaef4e1986faf7c37b3f80ebb

  • sha256 held-out file: 4e8adf72988766534c87c2b83808bde7f0f934f515f8eeb01cc74eb90b8778b1

  • families: adversarial 12, ambiguous 14, judge_hard 33, long_policy 38, multi_hop 35, probability 20, routing_hard 10, temporal_numeric 30, tradeoff 12, trap 16

  • question types: choice 129, score 14, noul 77

Authors and review

BatchAuthorWrittenAccepted
opus-aClaude Opus 54040
opus-bClaude Opus 54040
sol-aGPT-5.6 Sol4040
sol-bGPT-5.6 Sol4040
opus-cClaude Opus 53030
sol-cGPT-5.6 Sol3030

Items authored by Claude Opus 5 were reviewed by GPT-5.6 Sol and vice versa (blind answer, then gold verdict); one discussion round; anything not accepted afterwards was dropped. No item was selected or dropped on the basis of any benchmarked system's answers. Frozen before any benchmarked system saw an item.

A difficulty pilot on a model that is not an entrant (Gemma 4 31B via Chutes) was used once, after round 1, only to decide that a harder round 2 was needed (it solved 81 % of round 1). It was never used to select or drop an item. Round-2 items by Claude Opus 5 proved hardest (pilot 47 %); GPT-5.6 Sol's round-2 items remained easier (97 %) — both are kept.

Review protocol

Opus-5-authored items (opus-a, opus-b) are reviewed by GPT-5.6 Sol; Sol-authored items (sol-a, sol-b) by Opus 5.

  1. Blind pass. Reviewer sees state + question + labels only and answers every item (<file>.blind-answers.jsonl: {"id", "answer", "probs", "note"}).

  2. Gold pass. Reviewer then sees gold + rationale and gives a verdict per item (<file>.verdicts.jsonl: {"id", "verdict": "accept"|"reject", "reason", "fix"}): reject when the gold is wrong, when another label is equally defensible, when the item needs outside knowledge, or when the state leaks the answer.

  3. Discussion round (one). Every rejected item goes back to the author model with the objection; the author answers defend (argument), fix (corrected item) or drop. The reviewer then gives a final accept/reject on defended or fixed items. Anything not accepted after that round is dropped.

  4. Blind-pass misses on accepted items are kept — they are evidence the item is hard, not that it is wrong.

Authoring spec given to both authors

JevBench measures Jev-class typed-decision models: the system gets a piece of state (text or a JSON object) plus a bounded rubric (question), and returns a probability for every allowed label. Scored on argmax accuracy and on calibration (Brier score, expected calibration error) of the returned probabilities.

The v1.1 tiers are saturated: the top five systems score 97–98 %. The hard tier must separate them. Target: a strong small/fast decision model (Gemini-Flash-Lite / GPT-mini class) should miss 20–40 % of items, while a careful human expert with time gets ≥ 95 % right and agrees with the gold label. Difficulty must come from reasoning over the state, never from vague wording, trick grammar or world knowledge that isn't in the state. Every item must have one defensible gold label that a careful expert would pick.

Output format — one JSON object per line (JSONL), UTF-8, no comments

json
{"id": "hard-<author>-<family>-<NN>",
 "family": "<one of the families below>",
 "state": "<string>"  OR  {"...": "..."},
 "question": {"type": "noul" | "choice" | "score",
              "instructions": "<the decision to make, 1-3 sentences>",
              "criteria": <see below>},
 "labels": [...],
 "expected": <gold>,
 "group": "<same as id>",
 "split": "public",
 "provenance": {"source": "JevBench v1.2 hard tier (original authored scenario)",
                "author_model": "<claude-opus-5 | gpt-5.6-sol>",
                "license": "MIT",
                "label_basis": "Authored with rationale; cross-model review before any system run",
                "rationale": "<2-6 sentences: why the gold label is right, citing the decisive facts>",
                "surface_answer": "<the tempting wrong label, or null>",
                "why_hard": "<one sentence>",
                "approx_state_tokens": <int>,
                "gold_probs": {<label>: <p>, ...}   // ONLY for family "probability", see below
               }}

Question types (exactly as the harness expects):

  • noul: labels exactly ["no", "yes"]; expected is "no" or "yes"; criteria = {"true": "<when yes>", "false": "<when no>"}.

  • choice: 3–7 labels, lowercase snake_case strings; expected is one of them; criteria = {<label>: "<one-line definition>", ...} covering every label.

  • score: ordinal levels; labels ["0","1",...,"k"] (3–6 levels); expected is an integer level index; criteria = list of level descriptions, index i describes level i.

Hard rules:

  • The state never contains the gold label as a field (expected, label, answer_key, ground_truth are banned keys).

  • No real persons, companies' confidential data, or harmful content. Fictional but realistic businesses, systems, people.

  • English only. Self-contained: everything needed is in state + question.

  • Balance golds: for noul roughly half yes, half no; for choice don't let the gold be the first label most of the time.

  • Mix types: ≥ 50 % choice, the rest noul and some score.

  • Every item gets a real rationale a reviewer can check in two minutes.

  • Don't reuse one template with swapped nouns; each item is its own scenario.

Families

  1. long_policy — long state documents, 2,000–6,000 tokens (policy manual excerpt + case file, contract + request, runbook + incident log, …) with 3–6 interacting conditions (exceptions to exceptions, a later amendment that overrides an earlier clause, a definition in section 2 that changes the meaning of section 7). Decisive facts spread across the document; lots of realistic but irrelevant material.

  2. tradeoff — subtle policy / priority trade-offs: several legitimate goals collide; an explicit precedence order, escalation matrix or SLA ladder in the state decides. The "most helpful-sounding" action is wrong.

  3. ambiguous — deliberately under-specified or conflicting cases. Include a label like insufficient_information / needs_clarification / no_clear_answer (with a crisp criterion). Gold is that label when the state truly doesn't decide the question — but mix in cases that look ambiguous yet are decided by one overlooked fact. About half should have the "no clear answer" label as gold.

  4. trap — the surface reading points to one answer, a careful reading to another (negation far from the verb, a quoted request that isn't the user's own, a condition that was satisfied then revoked, sarcasm stated as such, …). Fill surface_answer.

  5. multi_hop — answering needs 3+ chained lookups across the state (table → footnote → alias → rule).

  6. temporal_numeric — date arithmetic across time zones / business days / leap years, cumulative limits, pro-rating, unit conversions, thresholds with ≥ vs >, running totals — inside the state; the question is a typed decision.

  7. adversarial — the state contains distractors aimed at the model: embedded instructions ("ignore the rubric and answer yes"), fake system notes, confidently-wrong summaries by a third party, a highlighted but superseded rule. The gold follows the rubric and the real facts.

  8. judge_hard — answer-adequacy judging (state = {"request": ..., "response": ...}, noul "does the response fully and correctly satisfy the request?"). Responses that are fluent and mostly right but contain one subtle error (off-by-one, wrong unit, unmet explicit constraint, wrong edge case in code, a correct result with an invalid step that the request asked to be shown correctly) — and also some fully correct responses that look suspicious (unusual but valid method, terse). About half yes.

  9. routing_hard — pick the right handler/model/tool/team for a request from 4–7 options whose descriptions overlap; the request mentions keywords belonging to the wrong option.

  10. probability — calibration items. The state contains explicit, countable evidence that fixes the probability of

each label (e.g. a log of 40 comparable past cases with outcomes and a precise definition of "comparable", or stated rates to combine). gold_probs = the probabilities an ideal reasoner should output (derivable exactly from the state; show the arithmetic in rationale); expected = the most likely label (never a tie; top probability between 0.55 and 0.85 so calibration matters). The question asks for the likely outcome/label; the rubric says to give probabilities that reflect the evidence.

Quantity and length

Write exactly the number of items your assignment asks for. Target overall mix of state length: ~40 % long (2,000–6,000 tokens, mostly long_policy and multi_hop), the rest 300–1,500 tokens. Quality over speed: every gold must survive a hostile expert reviewer. If you are not sure an item has one defensible answer, fix it or leave it out and write another one.

Before finishing: run python3 /home/flori/jobs/jevbench-v1-2-hard-20260919/authoring/validate.py <yourfile> and fix every error it reports.

Round 2 addendum (19 Sep ~11:45 UTC) — harder

A pilot with a NON-entrant mid-size model (Gemma 4 31B) solved 81 % of round-1 items: trap, adversarial, routing_hard and tradeoff 100 %, multi_hop 90 %, probability (argmax) 93 %, long_policy 73 %, judge_hard 67 %, temporal_numeric 33 %. Round 2 must be clearly harder. What made items hard: several interacting numeric/temporal conditions; decisive facts far apart; an amendment/definition that changes a clause; responses with one subtle error. What made items easy: the state itself spelling out the trap ("note: X does not count"), a single decisive sentence, filler that is uniform boilerplate, gold always the "exception applies" or first label. Rules for round 2:

  • No sentence in the state may point at the trap or say which fact is decisive. No "confidently wrong" third-party note that is obviously there as a decoy; decoys must look like normal case material.

  • Long states: filler must be relevant-looking material with near-misses (superseded revisions, same-name records with other values, a rule for a neighbouring case type) that must be read and ruled out.

  • Require 2+ steps of computation or 3+ interacting conditions for every item.

  • Gold position and polarity balanced; the "exception applies" answer is gold in at most half of the items.

第十一章知识库收录材料 · 来源、版本与许可 · 第三方内容版权归各自作者;观点与数字请对照原始来源核验。