CIRCE Divines LLM Task Complexity from Constraint Structure
Organizations: Columbia University
Abstract
Estimating whether a problem is too complex for a large language model (LLM) before the model attempts it can guide model routing, how to allocate test-time compute, and suggest the need for new tools to aid the agent. While existing estimators rely on the problem text, LLM-annotated task difficulty labels, or signals obtained after a model attempts to solve the problem, such as its hidden states, none explicitly leverage the constraint structure inherent in the problem: the variables to assign and how the constraints over them interact. We introduce CIRCE, which extracts a problem's structure by using a cheap LLM to construct a Constraint Intermediate Representation that deterministically compiles into the constraint graph. Across seven reasoning benchmarks (including SAT, logic, and math) and four LLMs, even a randomly initialized GNN encoder improves predictions of LLM response correctness, reducing negative log-likelihood from 0.465 to 0.423 and increasing AUROC from 0.691 to 0.727 relative to the strongest baseline for each metric.
Figures & tables
| Benchmark | Pretrain | Evaluation | Thinking |
|---|---|---|---|
| SATBench ( Wei et al., 2025 ) | 900 | 200 | Default |
| FOLIO ( Han et al., 2024 ) | 900 | 200 | Default |
| NLCO (KP/QKP/MIS/MVC) ( Jiang et al., 2026 ) | 400 | 200 | Default |
| Enigmata: Hamiltonian Path ( Chen et al., 2025 ) | 900 | 200 | Low |
| Enigmata: Zebra Logic ( Chen et al., 2025 ) | 900 | 200 | Low |
| GSM8K ( Cobbe et al., 2021 ) | 900 | 200 | Off |
| SATBench | FOLIO | NLCO | Hamiltonian | Zebra | GSM8K | Logical | Avg | |
| Method | NLL / AUC | NLL / AUC | NLL / AUC | NLL / AUC | NLL / AUC | NLL / AUC | NLL / AUC | NLL / AUC |
| Qwen3.5-9B | ||||||||
| C0 | .5040/.4290 | .6692/.4855 | .5838/.4506 | .6481/.4732 | .2746/.4499 | .6224/.4748 | .6904/.4791 | .5703/.4631 |
| Self probability | .4999/.5228 | .6760/.4662 | .5683/.6240 | .6497/.4551 | .2693/.4896 | .6036/.6146 | .7034/.4347 | .5672/.5153 |
| ADeLe | .5592/.7034 | .7044/.6295 | .4895/.7641 | .5944/.6918 | .2657/.6238 | .5947/.7087 | .6158/.7243 | .5462/.6922 |
| PredictaBoard | .4517/.7093 | .6693/.4855 | .5198/.7021 | .5952/.6931 | .2701/.5956 | .6322/.5128 | .6868/.5585 | .5464/.6081 |
| Method | Parsable | Correct |
|---|---|---|
| SATBench | ||
| CIR | 198/200 = 99.0% | 194/200 = 97.0% |
| Direct graph | 197/200 = 98.5% | 192/200 = 96.0% |
| Logical | ||
| CIR | 200/200 = 100.0% | 194/200 = 97.0% |
| Direct graph | 200/200 = 100.0% | 185/200 = 92.5% |
| Benchmark | Parsable | Correct |
|---|---|---|
| FOLIO | 200/200 = 100.0% | 18/20 = 90.0% |
| NLCO | 200/200 = 100.0% | 20/20 = 100.0% |
| Zebra | 200/200 = 100.0% | 20/20 = 100.0% |
| GSM8K | 200/200 = 100.0% | 20/20 = 100.0% |
| Predictor | CIRCE-Stats | CIRCE-GNN-R | CIRCE-GNN-P |
|---|---|---|---|
| GB | .4311 / .7029 | .4227 / .7266 | .4206 / .7303 |
| LR | .4339 / .7024 | .4209 / .7172 | .4198 / .7200 |
| MLP | .4341 / .6947 | .4206 / .7158 | .4194 / .7211 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Benchmark | SSL train | SSL val. | Groups | Fold train |
|---|---|---|---|---|
| SATBench | 810 | 90 | 27 | 154–165 |
| FOLIO | 810 | 90 | 152 | 158–161 |
| NLCO | 364 | 36 | 200 | 160 |
| Hamiltonian | 810 | 90 | 200 | 160 |
| Zebra | 810 | 90 | 200 | 160 |
| GSM8K | 810 | 90 | 200 | 160 |
| Benchmark | 9B | 27B | Inkling | Luna |
|---|---|---|---|---|
| SATBench | 80.00 | 96.30 | 98.35 | 92.25 |
| FOLIO | 60.95 | 66.80 | 63.85 | 66.65 |
| NLCO | 73.15 | 88.65 | 93.55 | 89.50 |
| Hamiltonian | 65.00 | 87.25 | 94.90 | 95.95 |
| Zebra | 92.20 | 95.00 | 49.10 | 37.55 |
| GSM8K | 31.35 | 44.70 | 68.60 | 67.35 |
| Benchmark | Questions | Format repairs | Content repairs |
|---|---|---|---|
| Evaluation data | |||
| SATBench | 200 | 1 | 0 |
| FOLIO | 200 | 0 | 0 |
| NLCO | 200 | 0 | 0 |
| Hamiltonian | 200 | 0 | 15 |
| Zebra | 200 | 0 | 1 |
| Family | Features | Count |
|---|---|---|
| Size | Counts of all nodes, variable nodes, factor nodes, non-query factor nodes, and edges | 5 |
| Factor | Occurrences of variables, propositions, or entities in each factor ∗ | 4 |
| Degree | Degrees of variable nodes ∗ (4) and factor nodes ∗ (4) | 8 |
| Topology | Connected components; density; 2-core fraction; largest biconnected-component fraction; cycle rank | 5 |
| Query | Query degree; fraction of reachable constraints; mean distance to reachable constraints | 3 |
| CIR operators | Occurrence counts of , linear sum, predicate, variable, and constant | 16 |
| Encoder seed | Minutes | Train loss | Val. loss |
|---|---|---|---|
| 20260919 | 22.39 | 0.01149 | 0.01090 |
| 20260922 | 22.27 | 0.01145 | 0.01003 |
| 20260923 | 23.18 | 0.01082 | 0.01059 |
| 20260924 | 22.50 | 0.01035 | 0.02221 |
| Package | Version |
|---|---|
| torch | 2.13.0+cu130 |
| numpy | 2.4.3 |
| scipy | 1.17.1 |
| sklearn | 1.8.0 |
| networkx | 3.6.1 |
| xgboost | 3.4.1 |