TL;DR
Sharding is a verification technique: instead of asking an LLM to evaluate a document against an entire checklist in a single pass, you break the criteria into small groups. Each group is checked via a separate prompt alongside the full document context, and the results are then compiled together.
When you ask an LLM to review a document against a long checklist at once, the model doesn't actually verify every point. In the study, the judge model itself reported checking only part of the list: Sonnet 4.6 said it had checked 16% of 174 criteria and 27% of 45 (on a 116-item list it claimed 100%), and on two of three submissions it reported leaving 73–84% of the criteria unchecked. Throwing more budget at it (more tokens, extended reasoning) doesn't fix the issue. It's an overload problem: too many decisions packed into a single pass.
Sharding fixes this directly: small batches of criteria (4–32 items each) are audited through separate prompts with the exact same full context. Every item actually gets dedicated attention instead of being guessed. Sharding also defends against adversarial framing—where someone tries to "charm" the review with polished presentation. If an adversary tailors persuasive arguments for each item individually (rather than exploiting cognitive overload), you simply add an "opponent" step: a dedicated prompt where the model actively searches for counterarguments against every "passed" mark.
Method Blueprint
BASELINE WORKFLOW (Sharding):
STEP 1: Split the checklist into batches of 4–32 items (separate queries).
STEP 2: For each batch, send an isolated prompt: Full document text + ONLY these items → Verdict ("Met / Not Met") + direct quote as evidence.
STEP 3: Aggregate the verdicts from all batches → generate a summary report.
HARDENED WORKFLOW (Sharding + Opposition) — For reviewing materials where someone might actively try to "sell" compliance:
STEP 4: For every item marked "Met" → send an isolated query: "Find a counterargument for why this condition is actually NOT met."
STEP 5: Final query: Compare the "pro" and "con" arguments for each point → deliver the final verdict.
Steps 1–3 require multiple separate calls (not a single monolithic prompt). Steps 4–5 are additional verification layers on top of base sharding.
Practical Example
The Scenario: You are a business owner reviewing a vendor supply contract against 30 critical terms (deadlines, penalties, liability, force majeure, payment schedules). Typically, you'd paste the entire contract and all 30 points into ChatGPT in one go—and the model would inevitably miss hidden risks, especially if the vendor's legal phrasing sounds smooth and reassuring.
Prompt (Call 1 of the series):
Here is the full contract text:
{contract_text}
Verify ONLY these 5 checklist items. Ignore everything else for now; other terms will be reviewed separately:
1. A specific delivery deadline with a calendar date is defined.
2. Late delivery penalties are explicitly stated (specific dollar amount or penalty percentage).
3. Goods acceptance and inspection procedures are clearly outlined.
4. Force majeure conditions are specifically defined, not just standard boilerplate.
5. Contract termination procedures and conditions are clearly detailed.
For each item:
— Provide a direct quote from the contract confirming or refuting the condition.
— Deliver a verdict: Met / Not Met / Not Mentioned in text.
Repeat this process with 5 more calls covering the remaining checklist batches (5 items each), passing the full contract context each time.
Final Consolidation Prompt:
Compile all verdicts from the previous verification batches into a single summary table. Highlight "Not Met" and "Not Mentioned" items in red—these are deal risks that require resolution before signing.
The Result: Instead of a vague "The contract looks fine overall, just a few minor details," you get a rigorous 30-row table where every single item is backed by a direct quote and an unequivocal verdict. Vague vendor phrasing and hidden loopholes get caught immediately—because in a small batch, the model actually has the attentional capacity to audit the text point-by-point rather than skimming the whole document at once.
Why It Works
An LLM does not scan an entire document evenly for every criterion; it has a limited attentional budget per query. Overloaded, it stops checking specific facts and falls back on general impressions, so its verdicts stop tracking the text. On honest submissions that made the overloaded judge too strict: it rejected 74–88% of the items that experts had marked as met, while almost never passing a real failure. Add a persuasive cover note and the same impression-driven judging can swing the other way and wave through items that were not met.
On the flip side, models excel at checking a narrow set of concrete items against specific source text, especially when forced to extract supporting quotes before reaching a verdict. Under low cognitive load, accuracy skyrockets.
Sharding leans directly into this strength: each prompt contains only a few criteria, forcing the model to actually trace the text and locate evidence rather than guess. Key levers: - Batch size (4–32 items): Smaller batches yield higher precision at the cost of more API calls/tokens. For high-stakes decisions (legal liabilities, enterprise deals), stick to smaller groups (4–8). For routine audits, 20–30 items per batch works fine. - Requiring evidence before verdict: Forcing the model to quote the source text prevents lazy hallucinated passes. - The "Opponent" step: Add this whenever evaluating documents from a party with an incentive to persuade you (vendor reports, employee self-evaluations, vendor RFP responses). For neutral, internal audits, this step is overkill.
Prompt Template
Here is the full document context:
{document_text}
Verify ONLY these checklist criteria (other items are evaluated separately, focus exclusively on these):
{criteria_batch}
For each item in this batch:
1. Provide an exact quote from the document confirming or refuting the condition.
2. Deliver a verdict: Met / Not Met / Not Mentioned in text.
--- (repeat for each criteria batch) ---
Final Prompt:
Aggregate all verdicts from every batch into a unified summary table. Explicitly highlight all "Not Met" and "Not Mentioned" items.
--- (Optional: For evaluating persuasive or self-serving documents) ---
For every item marked "Met": find a concrete counterargument explaining why the requirement might actually NOT be satisfied. Compare the "pro" and "con" arguments directly against the text and deliver a final verdict.
Parameters to fill in: {document_text} — the full source document (kept identical across every batch prompt), {criteria_batch} — 4 to 10 checklist criteria per call.
🚀 Quick Start — paste this into your LLM chat:
Here is a prompt engineering framework called "verification sharding." Adapt it to my use case: {describe your task — e.g., reviewing a contract, audit report, RFP response, or candidate resume against a checklist}.
Ask me clarifying questions to configure all fields.
[paste the template above]
The model will ask how many total criteria your checklist has, how critical precision is (to suggest batch size), and whether you need an "opponent" step to safeguard against persuasive framing.
Limitations
⚠️ Ineffective for purely local checks: If your criteria do not require understanding the broader context of the document (e.g., isolated fact-checks independent of each other), sharding yields no performance edge—the model handles those fine on its own.
⚠️ Redundant for small checklists: If your checklist is short (under 15–20 items) and you are using a capable frontier model, it can handle the workload without sharding. In such cases, sharding simply increases cost without improving accuracy.
⚠️ Doesn't stop point-by-point manipulation: If an adversary tailors a polished, deceptive argument for each specific item (rather than trying to overwhelm the model's global attention), sharding alone won't catch it. You must add the "opponent" counter-reasoning step.
⚠️ Higher latency and token costs: Sending the entire document context alongside multiple smaller batches requires more API calls and higher total token throughput than a single monolithic prompt.
How It Was Tested
A research team from Carnegie Mellon University evaluated this across three real-world, expert-annotated benchmark datasets: scientific research report evaluations (hundreds of criteria per paper), legal contract reviews by professional attorneys (contracts up to 183k tokens), and clinical trial risk-of-bias assessments using standard Cochrane medical guidelines. They benchmarked four setups: standard monolithic evaluation of all criteria at once, the same single-pass prompt with expanded compute budget (longer reasoning chains / more output tokens), budget-matched checks with duplicated passes, and sharding into bite-sized batches.
The key finding: scaling compute within a single prompt barely moved the needle—accuracy plateaued. Sharding the criteria into small batches, however, dramatically boosted alignment with human experts under the exact same total compute budget. In fact, a weaker judge model using sharding consistently outperformed a larger, more capable model running standard single-pass reviews.
The researchers also stress-tested adversarial framing: they prompted a model to generate multiple persuasive presentations of the same work (arguing full compliance) and selected the variant that best tricked the evaluator. Against single-pass checks, this attack raised false approvals. Sharding helped, but unevenly: on one submission the share of unmet items accepted fell from 30% to 4%, on another only from 41% to 36% (9 points on average). When the attacker crafted tailored arguments for individual items, sharding alone was not enough: only pairing it with an "opponent" model (specifically tasked with debunking positive verdicts) restored robust oversight.
Resources
Sharding Prevents LLM Oversight Failures and Adversarial Exploitation. Victor Akinwande, J. Zico Kolter, Aran Nayebi — Carnegie Mellon University (preprint). Benchmarks: PaperBench (JudgeEval), JudgmentBench, ROBoto2 (Cochrane RoB2).
Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.