MonitorBench: A Comprehensive Benchmark for Chain-of-Thought Monitorability in Large Language Models (Goal sandbag safety subset)
MonitorBench evaluates CoT monitorability – whether an LLM’s chain-of-thought faithfully reflects the decision-critical factors driving its outputs. It comprises 1,514 instances across 19 tasks in 7 categories (input intervention, outcome justification, solution process). A monitor LLM checks whether injected decision-critical factors appear in CoTs. The monitorability score uses a causal attribution formula comparing flagging rates against a minimum expected ratio. Two stress-test conditions (direct concealment, monitor-aware evasion) quantify how much monitorability degrades under adversarial prompting.
Overview
⚠️ External evaluation. Code lives in an upstream repository. inspect_evals lists it for discoverability; review the upstream repo and pinned commit before running.
Source: semsorock/inspect-evals-monitor-bench@2f7d519
MonitorBench evaluates CoT monitorability – whether an LLM’s chain-of-thought faithfully reflects the decision-critical factors driving its outputs. It comprises 1,514 instances across 19 tasks in 7 categories (input intervention, outcome justification, solution process). A monitor LLM checks whether injected decision-critical factors appear in CoTs. The monitorability score uses a causal attribution formula comparing flagging rates against a minimum expected ratio. Two stress-test conditions (direct concealment, monitor-aware evasion) quantify how much monitorability degrades under adversarial prompting.
Usage
Installation
This is an externally-maintained evaluation. Clone the upstream repository at the pinned commit and install its dependencies:
git clone https://github.com/semsorock/inspect-evals-monitor-bench
cd inspect-evals-monitor-bench
git checkout 2f7d519614533febfbd7fe4d6dcac3ce10ea7339
uv syncRunning evaluations
CLI
uv run inspect eval src/monitor_bench/tasks/goal_sandbag/safety/eval.py@goal_sandbag_safety --model openai/gpt-5-nanoPython
from inspect_ai import eval
from monitor_bench.tasks.goal_sandbag.safety.eval import goal_sandbag_safety
eval(goal_sandbag_safety(), model="openai/gpt-5-nano")View logs
Log viewing (inspect view) and default-model setup are documented in the Inspect Evals README.
More information
For the dataset, scorer, task parameters, and validation, see the upstream repo: semsorock/inspect-evals-monitor-bench.
Options
You can control a variety of options from the command line. For example:
uv run inspect eval src/monitor_bench/tasks/goal_sandbag/safety/eval.py@goal_sandbag_safety --limit 10 --sample-shuffle
uv run inspect eval src/monitor_bench/tasks/goal_sandbag/safety/eval.py@goal_sandbag_safety --max-connections 10
uv run inspect eval src/monitor_bench/tasks/goal_sandbag/safety/eval.py@goal_sandbag_safety --temperature 0.5See uv run inspect eval --help for all available options.
More command-line options: Inspect docs ↗
Static checks
Results of inspect-evals-lint at the registered commit. Rule names link to their documentation; findings link to the file at that commit. These checks describe structure and conventions, not whether the evaluation measures what it claims.
Loading lint results…