What Makes Large Language Models Reason in (Multi-Turn) Code Generation?
Kunhao Zheng, Juliette Decugis, Jonas Gehring, Taco Cohen, Benjamin Negrevergne, Gabriel Synnaeve
TL;DR
This work systematically analyzes how reasoning, instruction, and execution-feedback prompts shape multi-turn code generation across large language models and competitive-programming benchmarks. By performing a large-scale grid search and introducing CoT-retry and Rejection Sampling Fine-tuning, the authors identify where prompting strategies improve performance and how models can internalize reasoning through finetuning. The findings show that single-turn CoT helps hard problems and large models, while multi-turn benefits from adaptive reasoning prompts, simple execution feedback, and, crucially, that RFT enables CoT-level reasoning without explicit prompts during inference. The study advances understanding of how to balance reasoning and code generation under compute constraints and points toward deployable, environment-aware code-generation agents.
Abstract
Prompting techniques such as chain-of-thought have established themselves as a popular vehicle for improving the outputs of large language models (LLMs). For code generation, however, their exact mechanics and efficacy are under-explored. We thus investigate the effects of a wide range of prompting strategies with a focus on automatic re-prompting over multiple turns and computational requirements. After systematically decomposing reasoning, instruction, and execution feedback prompts, we conduct an extensive grid search on the competitive programming benchmarks CodeContests and TACO for multiple LLM families and sizes (Llama 3.0 and 3.1, 8B, 70B, 405B, and GPT-4o). Our study reveals strategies that consistently improve performance across all models with small and large sampling budgets. We then show how finetuning with such an optimal configuration allows models to internalize the induced reasoning process and obtain improvements in performance and scalability for multi-turn code generation.
