CHiL(L)Grader: Calibrated Human-in-the-Loop Short-Answer Grading
Organizations: Department of Computer and Systems Sciences, Stockholm University, 164 25 Kista, Sweden
Abstract
Scaling educational assessment with large language models requires not just accuracy, but the ability to recognize when predictions are trustworthy. Instruction-tuned models tend to be overconfident, and their reliability deteriorates as curricula evolve, making fully autonomous deployment unsafe in high-stakes settings. We introduce CHiL(L)Grader, the first automated grading framework that incorporates calibrated confidence estimation into a human-in-the-loop workflow. Using post-hoc temperature scaling, confidence-based selective prediction, and continual learning, CHiL(L)Grader automates only high-confidence predictions while routing uncertain cases to human graders, and adapts to evolving rubrics and unseen questions. Across three short-answer grading datasets, CHiL(L)Grader automatically scores 35-65% of responses at expert-level quality (QWK >= 0.80). A QWK gap of 0.347 between accepted and rejected predictions confirms the effectiveness of the confidence-based routing. Each correction cycle strengthens the model's grading capability as it learns from teacher feedback. These results show that uncertainty quantification is key for reliable AI-assisted grading.
Figures & tables
| Dataset | Domain | Train | Cal | Test | MaxGrade | Eval Type |
|---|---|---|---|---|---|---|
| DAMI | Data Mining | 3,770 | 260 | 261 | 5/8/10 | UA + UQ |
| SciEntsBank | Science (K–6) | 4,969 | 540 | 733 | 4 | UQ |
| EngSAF | Engineering | 3,650 | 405 | 1,743 | 2 | UA + UQ |
| Method | Model | QWK |
|---|---|---|
| Zero-shot | Llama-3.1-8B | 0.289 |
| Few-shot (k=3) | Llama-3.1-8B | 0.587 |
| Few-shot (k=5) | Llama-3.1-8B | 0.603 |
| RAG only | Llama-3.1-8B | 0.443 |
| RAG + Few-shot (k=3) | Llama-3.1-8B | 0.491 |
| Fine-tuning (LoRA) | Llama-3.1-8B | 0.677 † |
| Dataset | Baseline | Calibrated | Optimal | ECE |
|---|---|---|---|---|
| ECE | ECE | T* | Reduction | |
| DAMI | 0.270 | 0.094 | 0.337 | -65% |
| SciEntsBank | 0.089 | 0.084 | 1.170 | -6% |
| EngSAF | 0.097 | 0.046 | 1.816 | -53% |
| Dataset | Split | Iteration | Coverage | Baseline | Acc. | Rej. | |
| (%) | QWK | QWK | QWK | ||||
| DAMI | 0 | 97.7 | — | 0.721 | — | — | |
| 1 | 35.1 | 0.458 | 0.882 | +0.424 | 0.535 | ||
| SciEntsBank | 0 | 70.1 | — | 0.436 | — | 0.000 | |
| 1 | 36.1 | 0.426 | 0.764 | +0.338 | 0.253 | ||
| 2 | 43.2 | 0.390 | 0.410 | +0.020 | 0.327 |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Prompt | Zero | FS-1 | FS-3 | FS-5 |
|---|---|---|---|---|---|
| Llama-3.1-8B | basic | 0.289 | 0.549 | 0.587 | 0.603 |
| detailed | 0.477 | 0.482 | 0.537 | 0.524 | |
| json_strict | 0.316 | 0.490 | 0.560 | 0.541 | |
| rubric | 0.425 | 0.532 | 0.507 | 0.506 | |
| Llama-3.2-3B | basic | 0.256 | 0.383 | 0.324 | 0.337 |
| detailed | 0.365 | 0.416 | 0.388 | 0.355 |
| Model | Type | QWK | EM (%) | Off-by-1 (%) | MAE | |
|---|---|---|---|---|---|---|
| Baseline | UA | 89 | 0.705 | 41.6 | 61.8 | 1.427 |
| UQ | 42 | 0.365 | 19.0 | 47.6 | 2.310 | |
| Post-HiL | UA | 89 | 0.719 | 30.3 | 66.3 | 1.472 |
| UQ | 42 | 0.474 | 23.8 | 47.6 | 2.024 |
| # | Model | Replay | QWK ( ) | QWK ( ) | Coverage ( ) | |
|---|---|---|---|---|---|---|
| 1 | Llama-3.2-3B | 0.5 | ✓ | 0.854 | 10.7% | |
| 2 | Llama-3.1-8B | 0.5 | 0.863 | 0.025 | 39.7% | |
| 3 | Qwen-2.5-7B | 0.5 | ✓ | 0.925 | 0.916 | 17.6% |
| 4 | Qwen-2.5-7B | 0.4 | ✓ | 0.721 | 0.882 | 35.1% |
| Original scale | Normalized (3-class) | |
|---|---|---|
| Val QWK | 0.826 | 0.768 |
| Test QWK | 0.705 | 0.430 |
| Val Test gap | 0.121 | 0.338 |
| coverage | 35.1% | 4.6% |
| accepted QWK | 0.882 | 0.519 |
| Question (truncated) | Student Response (truncated) | Grade |
|---|---|---|
| To what extent do the following methods allow constituent models to be generated in parallel: Bagging, Random Forests, Boosting, Stacking? | Generated in parallel: Bagging and Random Forests. Some steps can be generated in parallel: Stacking. Not generated in parallel: Boosting. | 5/10 |
| The standard K-Means algorithm loads all data into memory. Data instead arrives in a streaming manner. What modification would you suggest? | Not necessary to modify the algorithm, just do each part individually with a constant stream of information. Use threads to treat, analyse, and send the data… | 1/10 |
| Consider a CNN with three consecutive 2 2 conv. layers (stride=1, no pooling). How many original pixels activate a single neuron in the 2nd non-image layer? What if stride=2? | Layer 1: . Striding right: , down: , diagonal: . Total . With stride 2: . | 5/5 |
| Graph has 20 nodes and 190 edges (complete). Compute the indegree. What is the PageRank of any node? If half the edges are removed at random, what is the new PageRank? | Indegree . Initial PageRank (complete graph). After removing half the edges, probability halves: PageRank . | 2.5/5 |
Automated Grading
Automated grading uses machine learning and language models to score student work against answer keys or rubrics and provide feedback.
See all 88 papers