Skip to content

bench: rerun the v2 skill eval on Sonnet 5.5 (default model) - #41

Merged
moonweave merged 2 commits into
mainfrom
bench/skill-e2e-sonnet
Oct 9, 2026
Merged

moonweave merged 2 commits into
mainfrom
bench/skill-e2e-sonnet

Conversation

@moonweave

Copy link
Copy Markdown
Collaborator

Benchmarks only. No engine, SKILL.md, or test changes. This is the v2 set rerun on Sonnet 5.5, the current default model, with main 3083597 as the engine.

Why

On Opus 5.5 (#40), the agent without the skill reached 104/104 because it queried CrossRef itself. Whether to keep investing depends on whether the default model does the same.

Results (1 repeat per condition on Sonnet; Opus over 2 repeats)

Opus A Opus B Opus C Sonnet A Sonnet B Sonnet C
All planted errors 104/104 104/104 32/52 51/52 35/52 23/52
RETRACTED 10/10 10/10 0/5 5/5 2/5 0/5
CLAIM_NUMBER 14/14 14/14 1/7 7/7 3/7 0/7
TITLELESS_WRONG_VOLPAGE 6/6 6/6 1/3 3/3 0/3 0/3
WRONG_AUTHOR 10/10 10/10 1/5 5/5 2/5 1/5
False alarms, correct refs 0/114 1/114 5/57 0/57 0/57 1/57
Engine invoked 16/16 0/16 0/8 8/8 0/8 0/8
Median time 75 s 69 s 30 s 56 s 39 s 18 s

B's own lookups:

Opus B Sonnet B
Runs that looked anything up 16/16 7/8
Runs that called the CrossRef API from the shell 15/16 1/8
Runs that used WebFetch/WebSearch only 1/16 6/8 (publisher pages often 403)
Runs with no lookup at all 0/16 1/8
Cited records fetched 91% 48%

Semantic Scholar hedging in A:

Opus Sonnet
Answers that mention the rate limit 11/16 2/8
Answers that soften a verdict because of it 6/16 1/8
  • No planted error was missed because of the rate limit.
  • Every 429 came from the agent's own manual Semantic Scholar search (a fallback that SKILL.md lists), not from engine output.

Full tables, quotes, and limits are in benchmarks/e2e/v2/README.md, section "Sonnet 5.5 rerun".

Changes

  • score.py --adjudication: run ids repeat across models, so Sonnet runs need their own decisions file.
  • score.py: new table row counting runs that looked sources up themselves.
  • v2/adjudication-sonnet.json: every planted error decided explicitly.
  • v2/results/2026-10-09-3083597-e2e-v2-sonnet.json: per-run results.
  • The v1 and v2 Opus scores reproduce exactly.

🤖 Generated with Claude Code

moonweave and others added 2 commits October 9, 2026 16:11
Run ids repeat across models, so Sonnet runs scored with the Opus
adjudication would inherit its decisions. The adjudication file can now be
named explicitly. The table also counts runs that looked sources up on
their own, which is the behaviour that separated B from A by model.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On Opus the no-skill agent queried CrossRef itself and matched the
skill, so whether to keep investing depended on what the default model
does. On Sonnet 5.5 the no-skill agent looked up about half the cited
records, mostly through publisher pages that refused it, and caught
35/52 planted errors against 51/52 with the skill. The Semantic Scholar
rate-limit hedging comes from the agent's own searches that SKILL.md
suggests, not from the engine.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@moonweave
moonweave merged commit 506a4fe into main Oct 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant