petergpt/bullshit-benchmark
BullshitBench measures whether AI models challenge nonsensical prompts instead of confidently answering them, created by Peter Gostev.
BullshitBench
BullshitBench is an open‑source benchmark that evaluates how well large language models (LLMs) notice and reject nonsensical or invalid prompts. It measures three grades of model behaviour:
- Clear pushback – the model outright rejects the broken premise.
- Partial challenge – the model flags the problem but still engages.
- Accepted nonsense – the model treats the premise as legitimate.
The benchmark ships with two suites (V1 = 55 questions, V2 = 100 questions) covering 13 “nonsense techniques” across domains like software, finance, law, medicine and physics. Results for dozens of commercial models (e.g., Gemini 4 Argon, Claude Haiku 5.5, Mistral Large 4) are visualised in an interactive dashboard.
Quick facts
| Item | Detail |
|---|---|
| Scope | Detecting and calling out nonsense in LLM outputs |
| Data | JSON question sets, manifest files, CSV leaderboards; V1 = 55 Q, V2 = 100 Q |
| Scoring | Three‑judge panel (Claude Sonnet 4.6, GPT‑5.2, Gemini 3.1 Pro). Average determines the grade. |
| How to view | No build step; run a tiny Python HTTP server and open the local dashboard. |
| How to contribute | Add new questions or model evaluations via the provided config.json/config.v2.json and the Technical Guide. |
| License | MIT (brand assets have separate notices) |
| Last update | 13 Oct 2026 |
How it works
- Question set – curated prompts that contain deliberately false premises or logical traps.
- Model runs – responses are collected via paid provider APIs (the repo includes scripts for this).
- Human‑like judges – three LLM judges grade each response; their average decides the category.
- Metrics – clear‑pushback rate =
clear answers / (attempts – candidate refusals). - Dashboard – filter by lab, reasoning level, domain; sort by push‑back; export PNG/CSV.
Getting started (viewing results locally)
# From the repo root
python3 -m http.server 8795 --bind 127.0.0.1
Then open http://127.0.0.1:8795/ in a browser. The Viewer Guide (viewer/next/README.md) explains the UI.
Running your own evaluation
- Edit
config.json(V1) orconfig.v2.json(V2) to specify which models and reasoning variants to test. - Follow the step‑by‑step instructions in
docs/TECHNICAL.mdfor data collection, API calls, and grading. - The repository already contains the manifest files that pin exact question snapshots, making results reproducible.
Data assets
- Manifests – JSON files that list every question, its metadata, and the locations of the response/grade files.
- Leaderboards – CSVs summarising scores for each model variant.
- Full responses – stored in bounded JSONL files; a helper reader (described in the Technical Guide) can re‑assemble them.
All data is released under the MIT license.
Who might use this?
- LLM developers wanting a quick sanity‑check that their model does not hallucinate confidently on nonsense.
- Researchers studying model alignment, refusal behaviour, or prompt robustness.
- Product teams evaluating commercial APIs for safety‑critical applications.
Links
- Live dashboard: https://petergpt.github.io/bullshit-benchmark/
- Technical guide:
docs/TECHNICAL.md - Changelog:
CHANGELOG.md - Star history: visual chart embedded in the README.
Related
- Project
- Project
- Dispatch
- Dispatch
- Dispatch