groundy
models & research

DeCRIM: Decompose Constraints to Stop Silent Drops in Agent Outputs

DeCRIM shows that decomposing multi-constraint instructions into individually checkable units reduces silent drops by 7-8% on benchmarks, shifting reliability work from.

12 min···4 sources ↓

The fix for multi-constraint instruction failures is structural, not prompt-level. DeCRIM (arXiv:2410.06458) reports that even GPT-4 drops at least one constraint on over 21% of multi-constraint instructions, and that a decompose-critique-refine loop recovers a measurable share of that gap by splitting a spec into individually checkable units. Self-correction earns its keep under that decomposition.

What happens when a model satisfies four of five constraints

The dangerous failure in a production agent is rarely a refusal or a confident hallucination. It is a silent drop: the model meets four of five constraints and quietly misses the fifth, then returns the output as if it were complete. No error is raised. Pipeline telemetry records a success.

Most real agent specs are multi-constraint without anyone naming them as such. Return JSON with these fields, keep it under 200 words, cite two sources, avoid first person, include exactly three examples. The model treats that as one instruction and optimizes for plausibility across all of it. When the output budget runs short, a constraint falls off the end, and the one that falls is usually the one the developer cared least about in the phrasing, not the one that matters least downstream.

DeCRIM’s RealInstruct finding puts a number on this. Even GPT-4 fails to meet at least one constraint on over 21% of multi-constraint instructions, per the EMNLP 2024 Findings paper. One in five runs that look correct is, on a strict reading, non-compliant. For structured outputs feeding a downstream system, the dropped constraint propagates: the spec said “exactly three examples” and the payload carries two; the spec said “no first person” and the draft opens with “I”; the spec said “cite two sources” and the paragraph asserts without attribution.

The reason this slips past monitoring is that a missing constraint is invisible unless someone re-derives the constraint list and checks each item. Refusals are loud. Hallucinated facts can be caught by retrieval cross-checks. A response that is four-fifths compliant reads as a win. Silent drops are the failure mode that monitoring built on “did the model return 200 OK” will never see, which is why they accumulate in production uncounted until a downstream consumer breaks.

Where decomposition earns its keep

DeCRIM decomposes the instruction for a mechanical reason: a constraint that has not been separated out cannot be checked on its own. A single in-prompt instruction to “check your work” leaves the spec implicit, asking the model to evaluate the whole response against the whole instruction at once. The honest self-check would require holding every constraint in working memory and testing each one. Decomposition makes that test mechanical rather than implicit.

With the spec decomposed, instead of asking whether the response satisfies the instruction, you ask whether it satisfies constraint one, then constraint two, then constraint three. The dropped constraint is the one that returns false on its specific check. That is the entire mechanism, and it is enough to change the outcome because the task shifts from “evaluate everything at once” to “evaluate one predicate at a time,” which is a much easier job for the same model.

The second-order point is that the bottleneck is not the model’s willingness to self-correct. Separate work on self-correction finds that detection does not predict correction success, so a model that will happily revise its draft still needs to be told which constraint failed (arXiv:2601.00828), and that requires the constraints to have been separated first. The reliability work moves out of the prompt and into the pipeline, which is a harder sell to a team that has been treating prompt engineering as the entire reliability budget.

How does the Decompose-Critique-Refine loop actually work

DeCRIM runs a three-stage loop: split the instruction into an explicit list of constraints, run a separate Critic model to test the draft against each constraint, and refine only where the Critic flags a failure. The stages are named in the paper as Decompose, Critique, and Refine.

The first stage does the load-bearing work. A five-part spec becomes five checkable items. The quality of everything downstream depends on this step, because a constraint that is not extracted is a constraint that can never be verified. The decomposer’s recall is the ceiling on the whole loop. If it fuses two constraints into one, or drops a negative constraint entirely, the Critic has nothing to flag and the refinement never runs.

The Critic then evaluates the draft against each extracted constraint and decides when and where refinement is needed, per the paper. That phrasing matters. The Critic gates the refinement rather than blindly rewriting the whole response, which avoids the degenerate case where a model takes acceptable output and rewrites it into something worse. A bad Critic still hurts, but a gating Critic limits how much damage it can do per pass. The Critic can also decline to refine, which is what keeps well-formed drafts from being churned.

Refinement revises only the flagged portion and re-enters the loop until the Critic is satisfied or a stop condition triggers. The loop terminates on convergence, on a fixed iteration cap, or on a Critic that runs out of things to flag. Without that cap, a Critic and a generator can oscillate indefinitely, each revision introducing a new constraint violation while fixing the previous one.

The structural choice that makes this work is role separation. The Critic is not the generator grading itself in one pass. It is a distinct evaluation step applied to an enumerated constraint list, which is exactly the condition under which self-correction stops being theatre and starts catching the constraint the generator already missed. That matches separate findings that intrinsic self-correction is ‘largely ineffective’ without external feedback, which is what a distinct Critic stage supplies (arXiv:2601.00828).

How much does DeCRIM gain on RealInstruct and IFEval

On the two instruction-following benchmarks DeCRIM targets, the reported gains are real but modest under weak feedback: +7.3% on RealInstruct and +8.0% on IFEval for Mistral, per the paper. These are the headline numbers, and they describe the weak-feedback case, where the Critic is itself an LLM judge rather than a ground-truth verifier (mapping weak feedback to an LLM-judge Critic and strong feedback to a programmatic checker is this article’s reading of the setup).

Under strong feedback, where the Critic is a programmatic or oracle checker, the gains are larger and cross the GPT-4 line on both benchmarks. The weak-to-strong spread is the variable that determines whether DeCRIM reads as a small polish or as a parity result, and it is the number to keep hold of when reading any summary of this work.

Two benchmarks are worth situating. RealInstruct is presented as the first benchmark built from real user queries to AI assistants carrying multiple constraints, rather than synthetic instructions constructed to stress a specific failure, per the paper. IFEval is the established instruction-following eval. Together they define the narrow surface DeCRIM is measured on, and neither is an agentic benchmark.

For context on how much of overall model quality this slice represents, instruction-following is one narrow axis among many on aggregated leaderboards, per BenchLM’s category roster. DeCRIM improves a narrow axis well, and the rest of the leaderboard is unaffected.

Does DeCRIM-augmented Mistral really beat GPT-4

It does, but only under strong feedback. With weak feedback the improvement stays in the 7-8% range, per the paper, and does not clear GPT-4 on these benchmarks, while with strong feedback open-source Mistral augmented with DeCRIM overtakes GPT-4 on both RealInstruct and IFEval. The configuration is the entire story.

ConfigurationCritic signalReported result (RealInstruct / IFEval)What it catchesWhat it misses
GPT-4, no loopNoneDrops ≥1 constraint on 21%+ of instructionsNothingThe 21% it already drops
Mistral + DeCRIM, weak feedbackLLM-as-judge+7.3% / +8.0% over Mistral baselineIndividual constraint drops the judge can seeDrops the judge also misses (circularity)
Mistral + DeCRIM, strong feedbackProgrammatic / oracleOvertakes GPT-4 on bothDrops a verifier can confirmConstraints outside the verifier’s scope

The Mistral family shows up as the base here because it is the efficient open-weight line this kind of instruction-following research builds on, per the reference survey. The paper names only “Mistral” and does not specify which variant. The relevance is not that Mistral is special. It is that the gap to a frontier proprietary model on this narrow axis is closable with a pipeline stage rather than a new pretrain, which is a cheaper lever to pull and the actual reason the result is interesting.

The honest framing matters for a builder reading this. DeCRIM does not prove open models are better than GPT-4. It proves that for the specific task of multi-constraint instruction following, a verification loop on an open model can match a stronger frontier model that has no such loop. Add the same loop to GPT-4 and the comparison shifts in a configuration the paper does not report, so the parity claim is contingent on the frontier model running without the fix.

Do instruction-following gains transfer to real agent loops

They have not been shown to. DeCRIM is evaluated on instruction-following benchmarks, so the silent-drop reduction is demonstrated for constraint adherence, not for the reliability of agent runs whose success depends on tool use, multi-step planning, and error recovery.

The distinction is not pedantic. An agent’s failure modes are dominated by questions the instruction-following benchmarks do not ask: did it choose the right tool, sequence the calls correctly, recover from an API error, retry after a rate limit, and terminate at the right moment. A decomposition loop that catches “you forgot JSON” will not catch “you called the wrong endpoint.” The constraint it verifies is a property of the output text, not of the trajectory that produced it, and agent reliability lives mostly in the trajectory.

The transfer to agentic reliability is therefore inferred from mechanism rather than measured. Fewer dropped output constraints should mean fewer partial failures downstream, and that intuition is reasonable, but the paper does not close the loop from benchmark gain to agent task-completion rate. What would close it is an eval that scores end-to-end task success with and without the decomposition stage on a benchmark where success depends on tool calls, and that experiment is not in this work.

For teams, the implication is concrete. Deploy DeCRIM-style decomposition where the spec is genuinely a list of verifiable output constraints, and do not expect it to repair planning or tool-selection failures. This is the boundary condition that keeps the verdict conditional. The mechanism is sound inside its measured domain. The extrapolation to agent reliability is a hypothesis, and a plausible one, but it is still a hypothesis until someone runs it on an agentic benchmark and reports the task-completion delta.

Where do you put a constraint-decomposition stage, and what does it cost

Put the decompose-critique-refine loop after the generator produces its first draft and before the output is committed downstream, gated by a Critic that decides whether refinement runs at all. The practical move the work resolves on is to split the spec into individually checkable units and gate refinement through a critic, rather than relying on a single in-prompt “verify your answer” instruction to catch dropped constraints.

In pipeline terms the ordering is: author the spec, decompose it once into a constraint list (cached), generate the draft, run the Critic against each constraint, refine on flagged items, and only then hand the output to the consumer. Decompose upstream so the cost is paid once per spec rather than once per generation. Run the Critic as a gate so a clean draft ships without a rewrite.

The build cost is the real trade, and it has two regimes. Weak feedback is one extra LLM-judge call per turn: cheap to add, noisy in verdict, and capped by the judge’s own error rate. Strong feedback is a programmatic verifier per constraint type: precise, but you have to write and maintain one for each constraint family, which is where the engineering time actually goes. Every refinement iteration adds a round-trip of latency, and a loop with no iteration cap will happily burn tokens chasing a Critic that keeps finding new things to flag. Set the cap.

What you are buying is a new pipeline stage, a verifier, and a control loop in a place that previously held one prompt. That is more surface area to build, test, and observe. The return is a materially lower silent-drop rate on complex specs, paid for in build cost and a little latency rather than in a larger model. Skip the stage entirely for single-constraint prompts or free-form creative output where there is nothing to decompose; the loop earns its keep only when the spec is a list.

Verdict

DeCRIM makes a narrow, well-evidenced claim and a broader, unproven one, and the two should not be quoted interchangeably. The narrow claim holds: multi-constraint instruction following improves when the spec is decomposed into individually checked constraints and refinement is gated by a critic, and even GPT-4 is recoverable territory here given how often it drops a constraint silently. The numbers are honest about their own limits, sitting at +7.3% on RealInstruct and +8.0% on IFEval under weak feedback, per the paper, and only crossing GPT-4 under the more expensive strong-feedback setup. The broader claim, that this improves real agent reliability, is not what the benchmarks measure, because RealInstruct and IFEval test output-constraint adherence rather than tool use, planning, and error recovery. Deploy the decomposition stage for output-constraint-heavy specs where you can name the constraints and verify at least some of them programmatically. Treat the agent-reliability transfer as a hypothesis worth testing on your own task, not as a result you can cite.

Frequently Asked Questions

How does DeCRIM’s constraint decomposition differ from standard self-verification prompts?

Standard self-verification asks the model to check its own output against the original instruction in a single pass, which requires holding all constraints in working memory simultaneously. DeCRIM forces the model to split the instruction into an explicit list of constraints first, allowing the Critic to evaluate each constraint individually. This shifts the task from evaluating a complex whole to checking simple predicates one by one, which is mechanically easier for the model to execute reliably.

What is the practical cost difference between weak and strong feedback in DeCRIM?

Weak feedback uses an LLM-as-judge Critic, which adds one extra LLM call per turn but introduces circularity since the same class of model that generates the output also judges it. Strong feedback uses programmatic verifiers, which are precise and avoid circularity but require significant engineering effort to write and maintain for each constraint type. Teams must budget for this development time if they choose the strong feedback path.

Does DeCRIM improve the reliability of agentic tool use and planning?

No, the paper does not measure this. DeCRIM is evaluated only on instruction-following benchmarks like RealInstruct and IFEval, which test output constraint adherence. It does not address tool selection, API error recovery, or multi-step planning trajectories. The transfer to agentic reliability is a hypothesis based on the mechanism, not a measured result, so teams should not expect it to fix planning failures.

Why is the ‘DeCRIM beats GPT-4’ headline conditional?

The overtaking of GPT-4 only occurs under strong feedback, where open-source Mistral uses programmatic verifiers. Under weak feedback, the gain is a modest 7-3% on RealInstruct and 8.0% on IFEval, which does not surpass GPT-4. The headline result is contingent on the specific configuration of the open-source model and the feedback signal strength, not a general superiority of the architecture.

sources · 4 cited

  1. Large language model — Wikipediaen.wikipedia.organalysisaccessed 2026-08-01
  2. Large Language Model (LLM) — GeeksforGeeksgeeksforgeeks.organalysisaccessed 2026-08-01