UKGovernmentBEIS/inspect_ai

Model-graded scorers should warn at runtime when no grader model or model-role is bound (silent self-grading)

Closed

#4,695 opened on Jul 30, 2026

 (6 comments) (0 reactions) (0 assignees)Python (550 forks)github user discovery
acceptedgood first issue

Repository metrics

Stars
 (2,170 stars)
PR merge metrics
 (Avg merge 3d 22h) (152 merged PRs in 30d)

Description

When neither model nor a bound model_role is available, model-graded scorers silently fall back to the evaluated model — i.e. the model grades itself:

https://github.com/UKGovernmentBEIS/inspect_ai/blob/797362280ba84f79009d22db78c9b9a5ce48979e/src/inspect_ai/scorer/_model.py#L173-L182

get_model(role="grader") falls through to the ambient/active model with no warning when the role isn't bound. Self-grading as a silent default is counterintuitive and not good science: self-grading bias varies by model, and it's easy to run a whole eval without realizing no grader was configured.

Suggestion: emit a warning at score time when the resolution falls through to the evaluated model (e.g. "no 'grader' model role bound; the evaluated model will grade itself"). This needs to be a runtime check rather than a construction-time one, since model roles can be bound later via eval(..., model_roles=...).

Posted by Claude Code on Matt's behalf.

Contributor guide