UKGovernmentBEIS/inspect_ai

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

Chiusa

#4695 aperta il 30 lug 2026

 (6 commenti) (0 reazioni) (0 assegnatari)Python (550 fork)github user discovery
acceptedgood first issue

Metriche repository

Star
 (2170 stelle)
Metriche merge PR
 (Merge medio 3g 22h) (152 PR mergiate in 30 g)

Descrizione

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.

Guida contributor