REVIEW 4 major objections 5 minor 2 cited by
RefineCoder: Iterative Improving of Large Language Models via Adaptive Critique Refinement for Code Generation
T0 review · 4 major / 5 minor · reviewed 2026-08-07 · deepseek-v4-flash
Pith's one-line read Iteratively applying Adaptive Critique Refinement makes code LLMs continuously improve without imitating a teacher.
desk verdict A credible SFT-only iterative refinement method for code LLMs with a real empirical payoff, but the judge-dependent data gate is validated only indirectly and no artifacts are released. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The carrying mechanism is the ACR dataset update rule (Equation 10), gated by a composite scoring system. The composite score for each response combines a normalized weighted sum of point-wise judge scores over five criteria with a binary executability check from a code executor, and a pairwise judge plus executor score decides the winner between the best self-generated response and the teacher response. Depending on which side wins, the original sample $(x,y)$ is replaced either by the self-generated response $(x,y_w)$ or by a two-turn critique sample $(x, y_{l1}, c, y_w)$ generated by an LLM-as-a-Critic that explains the weakness and the better solution. Training on the resulting dataset with a plain supervised fine-tuning loss is what encodes the refinement into the weights, so inference-time calls are not needed for the gain.
What would settle it
Take the 80K dataset, run one ACR iteration with the declared winners from the original judge, and on a held-out subset have hidden unit tests decide the true winner. If a nontrivial fraction of declared winners fails while the declared loser passes, or if swapping the judge for the hidden-test oracle removes the pass@1 gain, the claimed improvement depends on judge accuracy rather than on self-refinement per se.
Extended reading notes
Core claim
The paper's central claim is that iterative application of Adaptive Critique Refinement yields continuous, measurable improvement in one-shot code generation. In each round, the current model samples several code responses per instruction, a composite scoring system (multi-faceted LLM-as-a-Judge plus a code executor) selects the best self-generated response, a pairwise judge decides whether it beats the original teacher-generated response, and a selective critique step either promotes the self-generated winner as new single-turn data or generates a two-turn critique sample in which a critic explains why the weaker self-generated code failed. The updated dataset, still 80K samples, is used to SFT the base model from scratch for the next round. The paper reports that the largest jump comes in the first iteration, that gains continue but shrink over three iterations, and that the final models beat same-size baselines on the harder, leakage-analyzed benchmarks using less data. The authors also show the loop improves multilingual generalization despite Python-only training.
Load-bearing premise
The load-bearing premise is that the LLM-as-a-Judge combined with the code executor reliably tells which response is truly better; if the judge is biased or noisy, the loop keeps training on mediocre self-generated code and critique data whose declared winner is not actually better.
Editorial extensions
If this is right
- Three refinement rounds improve RefineCoder-DS-6.7B average pass@1 on LiveCodeBench and BigCodeBench-hard by 2.7 points and RefineCoder-QW-7B by 3.1 points, with the largest single gain at iteration one.
- The 80K instruction set is reused every round, so the method improves capacity without expanding data or distilling new teacher responses.
- Because only SFT is used, ACR is orthogonal to preference-based self-improvement and to inference-time debugging methods, and can be combined with either.
- The critique data, not just the self-generated winner, carries part of the gain: ablating the second-turn critique data hurts more than removing the selective critiquing module.
- The gains transfer to out-of-distribution languages on MultiPL-E even though the instruction set is Python-only.
Reading between the lines
- Going beyond the paper, the same gated winner-selection loop should transfer to other reasoning domains, such as mathematics or structured logic, whenever a composite judge can be built; the paper notes the idea is general but does not test it.
- The fixed 80K dataset means each iteration's ceiling is set by instruction diversity; a natural extension is to inject fresh instructions or hard negatives each round to slow the reported diminishing returns after iteration three.
- The paper's validation of the judge is indirect; a stronger test would be to compare judge-chosen winners against hidden-test execution on a sample of the 80K instructions, and to publish judge agreement statistics.
- If judge noise is low enough, the method implies a data-efficiency argument for self-improvement: teacher data is a seed, not a ceiling, and the marginal value of additional teacher-generated samples may drop once the self-refinement loop is in place.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. This paper proposes Adaptive Critique Refinement (ACR), an iterative SFT pipeline for code LLMs. At each iteration the current model samples n responses per instruction; a composite scoring system (LLM-as-a-judge plus a code executor) selects the best self-generated response and compares it pairwise with the existing teacher response. Depending on the winner, the dataset is updated to either a single-turn (x, y_w) example or a two-turn critique example (x, y_l, c, y_w), and the next model is fine-tuned on the updated dataset from the original base model. Applied for three iterations to DeepSeek-Coder-6.7B-Base and Qwen2.5-Coder-7B-Base, the method yields RefineCoder-DS-6.7B and RefineCoder-QW-7B. The paper reports monotone gains on LiveCodeBench, BigCodeBench(-hard), HumanEval(+), and MBPP(+), claims better or comparable results than same-size baselines with only 80K data, and includes additional analyses of data leakage, scoring effectiveness, ablations, multilingual OOD transfer, and refinement with external feedback.
Significance. The contribution is potentially significant: if the conclusions hold, a code model can improve itself through iterative SFT on self-generated responses and teacher-generated critiques, without DPO/RLHF and without directly imitating teacher code, while using only 80K instructions. The paper has several commendable elements: the constructed dataset is checked for contamination with the TLI metric, the two data-construction branches are ablated, an OOD multilingual benchmark is included, and an appendix honestly documents diminishing returns. The method is simple and the pipeline is transparent. However, the evidence is currently limited by single-run evaluations, largely copied baseline numbers, and an indirect validation of the judge that gates the entire data update; these issues need to be addressed before the claimed continuous improvement can be fully accepted.
major comments (4)
- [§5.2 and Eqs. (6)–(10)] The dataset update rule in Eq. (10) is gated entirely by the pairwise judge decision in Eqs. (6)–(8), yet §5.2 validates the composite scoring system only by comparing the highest- and lowest-scoring self-generated responses on HumanEval+ and MBPP+ for the final Iter3 model. This does not measure pairwise decision accuracy on the training distribution, does not report judge agreement, and does not cover the M0, M1, and M2 models that actually generated the training data. Since the executor in Eq. (4) only checks executability rather than correctness, a judge that is wrong on even a modest fraction of pairwise comparisons will mislabel winners and misdirect the iterative SFT. The paper should provide pairwise accuracy against unit-test ground truth on a held-out subset of the training questions, or an explicit analysis of judge errors and their propagation across rounds; without this the central claim rests on an unvalidated oracle.
- [§4.4 and Tables 1–2] All reported improvements come from a single pass with no variance, confidence intervals, or multiple seeds, and the paper states that baseline results are prioritized from leaderboards or original papers rather than re-evaluated. The headline increments on Table 1 (2.7 and 3.1 average points) and Table 2 (2.7 and 4.5 average points) are small enough that prompt-format differences, sampling temperature, and judge stochasticity could shift them. The paper should report at least three seeds or bootstrap intervals over generated samples, and should re-evaluate the principal baselines under the same evaluation harness. This is load-bearing because the 'less data while outperforming baselines' conclusion in §4.5 assumes the baseline numbers are commensurable with the paper's own evaluation settings.
- [§5.4, Table 5] The MultiPL-E results for RefineCoder-DS-6.7B are not monotone: the average pass@1 goes 57.2 (Iter0), 58.2 (Iter1), 57.5 (Iter2), 57.8 (Iter3). Since Section 1 and Section 3.1 claim continuous improvement from iterative ACR, this OOD result contradicts the claim as stated. The claim should either be restricted to the in-distribution benchmarks where monotonicity is observed, or the paper should explain the non-monotonicity and provide error bars to show whether the fluctuations are meaningful.
- [§4.4 and §4.5] Baseline fairness is a load-bearing concern. The paper takes baseline numbers from leaderboards or original papers when available, and one baseline (Qwen2.5-Coder-7B-Instruct) is listed only as using 'Millions' of data, without an exact count. Because HumanEval(+) and MBPP(+) results are highly sensitive to the exact prompting harness and sampling procedure, the comparison 'outperforms baselines of the same size using only 80K data' is stronger than the evidence currently supports. I would like to see the main baseline numbers reproduced locally with the same evaluation code, together with an explicit statement of which numbers are taken from which source and what differences remain.
minor comments (5)
- [Figure 3] The y-axis labels in Figure 3 are garbled unicode sequences; the ablation curves are much harder to read than they should be, and the text '(without 3.1 module or without 3.2 module)' is not a substitute for readable axis labels.
- [Figure 8 and Section 4.5] There are several typos: 'provied' should be 'provided' in the pointwise judge prompt, and 'Similarity' should be 'Similarly' in Section 4.5.
- [Section 3.2] The criterion weights alpha_j in Eq. (2) are never specified; if they are all equal, state this explicitly, and if not, give the values used in the experiments.
- [Appendix A] The pairwise judge prompt allows a 'tie' verdict, but Eqs. (7)–(8) in Section 3.2 only define outcomes for strictly greater scores; the paper should state how ties are resolved.
- [Availability] No link to code, data, prompts, or model weights is provided. Given that the method's value depends on reproducing the dataset construction and judging pipeline, releasing these artifacts is important for the paper's utility.
Circularity Check
No significant circularity: ACR is an empirical iterative pipeline whose judge and critic are external fixed models, and whose improvement claims are measured on independent benchmarks, so no central result reduces to its inputs by construction.
full rationale
The derivation chain is: D0 is an 80K GPT-4o-synthesized instruction set; M0 is SFT on D0; for each iteration the current model samples seven responses, the fixed external Qwen2.5-32B-Instruct judge/critic scores them via Eqs. 1-8, and Eq. 10 selects single-turn or two-turn training data; the next model is SFT on the updated dataset. No equation defines a target quantity in terms of a fitted output, and no benchmark pass@1 value is used to train, select, or score the data. The judge and critic are not the refined model and are not fitted to the reported benchmarks, so the claim of continuous improvement is an empirical outcome rather than a tautology. The only overlapping-author citations (Chen et al. 2025; Wang et al. 2024b) are related-work context or a contamination metric used post hoc to explain benchmark shortfalls; neither is needed to establish the central improvement claim, which is supported by external LiveCodeBench and BigCodeBench-hard evaluations. The paper's own Appendix E notes diminishing returns and possible overfitting, which is an empirical caveat, not circular reasoning. The residual concern that LLM-as-a-Judge preferences could bias data selection is a validity risk, not a logical circularity, because the final evaluations are independent of the judge's scores.
Assumptions & free parameters
free parameters (3)
- Scoring criterion weights alpha_j =
Not reported
- Number of self-sampled responses n =
7
- Sampling temperature =
0.7
assumptions (3)
- domain assumption The composite scoring system and LLM-as-a-Critic accurately identify quality differences and produce useful critiques.
- domain assumption The initial 80K dataset D0 is high-quality and contamination-free.
- domain assumption Fine-tuning on the updated single-turn and two-turn samples improves one-shot pass@1 on held-out benchmarks.
Cite this review
Pith. "Pith review of RefineCoder: Iterative Improving of Large Language Models via Adaptive Critique Refinement for Code Generation." pith.science (2026). https://pith.science/paper/D5F6ZXKH
@misc{pith2026250209183,
author = {Pith},
title = {Pith review of: RefineCoder: Iterative Improving of Large Language Models via Adaptive Critique Refinement for Code Generation},
year = {2026},
howpublished = {\url{https://pith.science/paper/D5F6ZXKH}},
note = {Machine review of arXiv:2502.09183}
}
read the original abstract
Code generation has attracted increasing attention with the rise of Large Language Models (LLMs). Many studies have developed powerful code LLMs by synthesizing code-related instruction data and applying supervised fine-tuning. However, these methods are limited by teacher model distillation and ignore the potential of iterative refinement by self-generated code. In this paper, we propose Adaptive Critique Refinement (ACR), which enables the model to refine itself by self-generated code and external critique, rather than directly imitating the code responses of the teacher model. Concretely, ACR includes a composite scoring system with LLM-as-a-Judge to evaluate the quality of code responses and a selective critique strategy with LLM-as-a-Critic to critique self-generated low-quality code responses. We develop the RefineCoder series by iteratively applying ACR, achieving continuous performance improvement on multiple code generation benchmarks. Compared to the baselines of the same size, our proposed RefineCoder series can achieve comparable or even superior performance using less data.
Figures
Figures from the paper (20 more)
Forward citations
Cited by 2 Pith papers
-
AutoCodeBench: Large Language Models are Automatic Code Benchmark Generators
AutoCodeBench is an LLM-generated, sandbox-verified code benchmark with 3,920 problems across 20 languages, where top models reach only 52.4% pass@1.
-
OpenCodeReasoning-II: A Simple Test Time Scaling Approach via Self-Critique
A 2.5M-example code reasoning dataset with critique traces enables Qwen2.5-based models to surpass prior open-weight distilled models on LiveCodeBench via test-time self-critique selection.
Reference graph
Works this paper leans on
-
[1]
Question&Answer Consistency: Whether Q&A are consistent and correct
-
[2]
Code Exist: Whether the code is provied in question or answer
-
[3]
arXiv preprint arXiv:2406.15877
Bigcodebench: Benchmarking code genera- tion with diverse function calls and complex instruc- tions. arXiv preprint arXiv:2406.15877. A Prompts for Judge and Critic The prompt for point/pair-wise LLM-as-a-Judge and LLM-as-a-Critic are shown in Figure 8, 9 and 10. B Prompts for Constructing SFT Dataset We called GPT-4o to create the SFT dataset, with the f...
-
[4]
Code Clarity: Assess how clear and understandable the code is
-
[5]
Code Comments: Evaluate the presence of comments and their usefulness in explaining the code’s functionality [QUESTION] {Programmin Question} [The start of RESPONSE] {The Response} [The end of RESPONSE] You need to use the following output format: <<<OUTPUT>>> Explanation: Here is a explanation Question&Answer Consistency: [[0-10]] Code Exist: [[0-10]] Co...
-
[6]
Code Correctness: Evaluate whether the provided code is free from syntax errors and logical flaws
-
[9]
Round1_from_User: The user asks a programming question, namely [Instruction]
-
[10]
Round1_from_Assistant: AI assistant give response, but the response is not a perfect code solution, namely [Response 1]
Show all 12 references
-
[11]
The executive results of the code interpreter and suggestions for improvement are then sent to the AI assistant, and ask AI to generate better responses
Round2_from_User: The user analyzes whether the code meets the instruction and executes the code using the code interpreter. The executive results of the code interpreter and suggestions for improvement are then sent to the AI assistant, and ask AI to generate better responses
-
[12]
**Note**: You must focus on whether the code conforms to the instruction and the correctness of the code
Round2_from_Assistant: AI assistant give a better response, namely [Response 2]. **Note**: You must focus on whether the code conforms to the instruction and the correctness of the code. Do not change instruction. To keep the conversation flowing and logical, you can rewrite o...
-
[2023]
In Thirty-seventh Conference on Neural Information Processing Sys- tems
Direct preference optimization: Your language model is secretly a reward model. In Thirty-seventh Conference on Neural Information Processing Sys- tems. Baptiste Roziere, Jonas Gehring, Fabian Gloeckle, Sten Sootla, Itai Gat, Xiaoqing Ellen Tan, Yossi Adi, Jingyu Liu, Romain S...
2023 arXiv
-
[2024]
Preprint, arXiv:2407.05700
Inversecoder: Self-improving instruction- tuned code llms with inverse-instruct. Preprint, arXiv:2407.05700. Can Xu, Qingfeng Sun, Kai Zheng, Xiubo Geng, Pu Zhao, Jiazhan Feng, Chongyang Tao, Qingwei Lin, and Daxin Jiang. 2024. WizardLM: Empow- ering large pre-trained language...
2024 arXiv
Reviewed August 7, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.