The Laws of Context Allocation: Causal Measurement and Closed-Loop Orchestration in Generative Search
Organizations: National Engineering Research Center for Software Engineering, Peking University, China · Peking University, China · Tencent, China
Abstract
As Retrieval-Augmented Generation (RAG) shifts toward diverse portfolio generation, it is stymied by two critical bottlenecks: flawed measurement of evidence utilization, and suboptimal context budget allocation. We resolve both sequentially. To resolve measurement, we expose a pervasive ``diagnostic illusion'': standard relevance proxies fail catastrophically on hard negatives. We replace them with an efficient causal leave-one-out probe that accurately isolates generative reliance and formally calibrates the structural dilution of LLM attention. To resolve allocation, we deploy this causal probe in a deconfounded factorial grid. We prove that the prevailing strategy of monolithic context widening is an architectural trap penalized by relevance decay. Instead, allocating compute iteratively across multiple sequential generations drives transformative portfolio recall gains of 16.7--20.5 absolute percentage points, scaling robustly up to 32B models. Finally, we unify these solutions into a deployable closed-loop submodular scheduler. Augmented by an attribution-steered contrastive decoder to override LLM attention inertia, our architecture systematically forces fresh evidence integration. By dominating classical open-loop baselines, we establish sequential, feedback-driven orchestration as the definitive paradigm for generative search. Our code, data, and causal measurement instruments are available at https://github.com/PeiYangLiu/ascp.
Figures & tables
| vs. PR@ | vs. groundedness | |||||
|---|---|---|---|---|---|---|
| Family | Measure | |||||
| coverage | Evidence coverage rate | 23682 | +0.097 | 2.8e-50 | -0.167 | 9.7e-148 |
| Utilisation concentration | 23682 | -0.023 | 3.0e-04 | -0.146 | 2.7e-112 | |
| diversity | Semantic diversity | 23682 | +0.089 | 6.1e-43 | -0.111 | 9.3e-66 |
| Distinct-1 | 23682 | +0.106 | 3.7e-60 | -0.100 | 1.7e-53 | |
| Distinct-2 | 23682 | +0.128 | 2.4e-87 | -0.134 | 9.4e-96 | |
| policy | ECR | used | offered | PR@ |
|---|---|---|---|---|
| Ascp scheduler | 0.626 | 6.76 | 10.55 | 0.300 |
| deep rotation | 0.375 | 9.37 | 25.00 | 0.303 |
| vanilla RAG | 0.578 | 2.89 | 5.00 | 0.237 |
| MMR | 0.587 | 3.13 | 5.28 | 0.239 |
| DPP-RAG | 0.526 | 4.71 | 8.83 | 0.274 |
| xQuAD | 0.571 | 2.85 | 5.00 | 0.238 |
| Task | gold units | head-5 share | head-5 share | |||
|---|---|---|---|---|---|---|
| per query | (any) | (new) | ||||
| ASQA | 3.4 | 0.469 | 0.211 | 0.290 | 0.713 | -0.40 |
| QAMPARI | 13.6 | 0.295 | 0.170 | 0.247 | 0.398 | -0.27 |
| RECIPES | 20.7 | 0.890 | 0.870 | 0.170 | 0.391 | -0.01 |
| offered | PR@ | PR@ | 95% CI | |||||
|---|---|---|---|---|---|---|---|---|
| rotation | fixed | rotation | fixed | |||||
| 2 | 1 | 2 | 2.0 | 2.0 | 0.204 | 0.204 | +0.000 | |
| 2 | 5 | 10 | 10.0 | 2.0 | 0.328 | 0.238 | +0.090 † | |
| 2 | 12 | 24 | 24.0 | 2.0 | 0.397 | 0.257 | +0.140 † | |
| 5 | 1 | 5 | 5.0 | 5.0 | 0.218 | 0.218 | +0.000 | |
| 5 | 5 | 25 | 25.0 | 5.0 | 0.339 | 0.266 | +0.073 † | |
| condition | count T12 vs T1 at k24 | count T12 vs T1 at k2 | width k24 vs k2 at T12 | width k24 vs k2 at T1 | rot over fix at k24T12 |
|---|---|---|---|---|---|
| asqa/llama | +0.204 † | +0.289 † | -0.061 ∗ | +0.023 | +0.066 † |
| asqa/qwen | +0.144 † | +0.229 † | -0.042 | +0.043 | +0.074 † |
| qampari/llama | +0.187 † | +0.141 † | +0.139 † | +0.093 † | +0.117 † |
| qampari/qwen | +0.134 † | +0.115 † | +0.058 † | +0.039 † | +0.082 † |
| estimate | |||
|---|---|---|---|
| asqa/llama | |||
| asqa/qwen | |||
| qampari/llama | |||
| qampari/qwen | |||
| grand mean | |||
| between-condition SD |
| contrast | ASQA | QAMPARI | ||
|---|---|---|---|---|
| vs , | ∗ | 120 | 120 | |
| vs , | 30 | 29 | ||
| vs , | 58 | 59 | ||
| vs , | † | 60 | † | 60 |
| vs , | † | 60 | † | 60 |
| task | head-5 | top-5 | width | width | count | |
|---|---|---|---|---|---|---|
| share | at | at | at | |||
| ASQA | 3.4 | 0.713 | 0.469 | ∗ | † | |
| QAMPARI | 13.6 | 0.398 | 0.295 | † | † | † |
| ELI5 | – | – | – | † | † | |
| HotpotQA | 1.0 | 0.630 | 0.169 | † | ∗ | † |
| task | generator | count at k2 | count at k24 | width at T12 | budget (2,12) vs (24,1) | rot over fix at k24T12 |
|---|---|---|---|---|---|---|
| eli5 | llama | † | † | † | † | – |
| eli5 | qwen | † | † | ∗ | † | – |
| baseline | baseline PR | Ascp PR | PR | BH | ECR | ground |
|---|---|---|---|---|---|---|
| Ascp without steering | 0.300 | 0.309 | +0.009 | +0.056 | +0.029 | |
| deep rotation | 0.303 | 0.309 | +0.006 | +0.307 | +0.050 | |
| vanilla RAG | 0.237 | 0.309 | +0.072 | +0.104 | +0.003 | |
| MMR | 0.239 | 0.309 | +0.070 | +0.095 | +0.011 | |
| DPP-RAG | 0.274 | 0.309 | +0.035 | +0.156 | +0.011 | |
| xQuAD | 0.238 | 0.309 | +0.071 | +0.111 | +0.002 |
| baseline | baseline PR | scheduler PR | PR | BH |
|---|---|---|---|---|
| deep rotation | 0.303 | 0.300 | -0.003 | |
| vanilla RAG | 0.237 | 0.300 | +0.063 | |
| MMR | 0.239 | 0.300 | +0.061 | |
| DPP-RAG | 0.274 | 0.300 | +0.026 | |
| xQuAD | 0.238 | 0.300 | +0.062 | |
| PM-2-RAG | 0.228 | 0.300 | +0.072 |
| contrast | PR@ | seed- CI | ECR | ground | words | |
|---|---|---|---|---|---|---|
| full decoder off | +0.0107 | +0.0555 | +0.0275 | -1.0 | ||
| contrast, APC held on | +0.0116 | +0.0583 | +0.0232 | -0.6 | ||
| APC only | -0.0009 | -0.0028 | +0.0042 | -0.4 | ||
| contrast, APC held off | +0.0187 | +0.1012 | +0.0366 | -0.2 | ||
| APC, contrast held on | -0.0080 | -0.0457 | -0.0092 | -0.8 | ||
| contrast APC | -0.0071 | -0.0429 | -0.0134 | -0.5 |
| model | task | 95% CI | |||
|---|---|---|---|---|---|
| qwen14 | asqa | 0.569 | 0.401 | ||
| qwen14 | pooled | 0.400 | 0.266 | ||
| qwen14 | qampari | 0.231 | 0.131 | ||
| qwen32 | asqa | 0.560 | 0.380 | ||
| qwen32 | pooled | 0.429 | 0.291 | ||
| qwen32 | qampari | 0.298 | 0.202 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| contrast | seed 0 | seed 1 | seed 2 | mean | s.d. |
|---|---|---|---|---|---|
| count T12 vs T1 @k2 | 0.141 | 0.137 | 0.154 | 0.144 | 0.0090 |
| count T12 vs T1 @k24 | 0.159 | 0.160 | 0.141 | 0.153 | 0.0109 |
| width k24 vs k2 @T12 | 0.097 | 0.099 | 0.090 | 0.095 | 0.0049 |
| width k24 vs k2 @T1 | 0.092 | 0.094 | 0.097 | 0.094 | 0.0024 |
| rot over fix @k2T12 | – | – | – | – | – |
| rot over fix @k24T12 | – | – | – | – | – |
| Variant | ASQA | QAMPARI | ELI5 | Recipes | ||||
|---|---|---|---|---|---|---|---|---|
| PR@ | ECR | PR@ | ECR | PR@ | ECR | PR@ | ECR | |
| Ascp (full) | 0.493 | 0.331 | 0.162 | 0.324 | 0.273 | 0.459 | 0.238 | 0.371 |
| attribution feedback | 0.465 | 0.320 | 0.163 | 0.309 | 0.248 | 0.459 | 0.242 | 0.398 |
| submodular selection | 0.470 | 0.264 | 0.158 | 0.265 | 0.257 | 0.408 | 0.220 | 0.319 |
| steered decoding | 0.488 | 0.325 | 0.161 | 0.321 | 0.278 | 0.465 | 0.231 | 0.378 |
| steered decoding only | 0.398 | 0.150 | 0.107 | 0.122 | 0.232 | 0.177 | 0.221 | 0.197 |
| commit PR@ | integrate PR@ | 95% CI | |||
|---|---|---|---|---|---|
| 2 | 1 | 0.203 | 0.253 | ||
| 2 | 5 | 0.326 | 0.394 | ||
| 2 | 12 | 0.393 | 0.453 | ||
| 5 | 1 | 0.219 | 0.292 | ||
| 5 | 5 | 0.336 | 0.406 | ||
| 5 | 12 | 0.411 | 0.475 |
| instruction | portfolio | structured | gap | 95% CI | ||
|---|---|---|---|---|---|---|
| commit | 2 | 480 | 0.398 | 0.289 | † | |
| 5 | 480 | 0.423 | 0.335 | † | ||
| 12 | 480 | 0.426 | 0.371 | † | ||
| 24 | 480 | 0.416 | 0.381 | † | ||
| integrate | 2 | 480 | 0.398 | 0.295 | † | |
| 5 | 480 | 0.423 | 0.342 | † |