From Guessing to Placeholding: A Cost-Theoretic Framework for Uncertainty-Aware Code Completion
Abstract
While Large Language Models (LLMs) have demonstrated exceptional proficiency in code completion, they typically adhere to a Hard Completion (HC) paradigm, compelling the generation of fully concrete code even amidst insufficient context. Our analysis of 3 million real-world interactions exposes the limitations of this strategy: 61% of the generated suggestions were either edited after acceptance or rejected despite exhibiting over 80% similarity to the user's subsequent code, suggesting that models frequently make erroneous predictions at specific token positions. Motivated by this observation, we propose Adaptive Placeholder Completion (APC), a collaborative framework that extends HC by strategically outputting explicit placeholders at high-entropy positions, allowing users to fill directly via IDE navigation. Theoretically, we formulate code completion as a cost-minimization problem under uncertainty. Premised on the observation that filling placeholders incurs lower cost than correcting errors, we prove the existence of a critical entropy threshold above which APC achieves strictly lower expected cost than HC. We instantiate this framework by constructing training data from filtered real-world edit logs and design a cost-based reward function for reinforcement learning. Extensive evaluations across 1.5B--14B parameter models demonstrate that APC reduces expected editing costs from 19% to 50% while preserving standard HC performance. Our work provides both a theoretical foundation and a practical training framework for uncertainty-aware code completion, demonstrating that adaptive abstention can be learned end-to-end without sacrificing conventional completion quality.
Lay Summary
AI coding assistants have become incredibly helpful for software developers, but they suffer from a frustrating flaw: they hate leaving things unfinished. Even when they lack enough context to know exactly what a programmer intends to do, they will confidently guess the rest of the code. For developers, reading, tracking down, and fixing these subtle AI mistakes often takes more time and mental energy than simply writing the code from scratch. To solve this, we propose a more collaborative approach called "Adaptive Placeholder Completion." We trained the AI to recognize its own uncertainty. Instead of making hazardous guesses, the AI generates the correct overarching framework of the code but leaves clear "placeholders" (fill-in-the-blanks) at the exact spots where information is missing. We achieved this by teaching the AI to understand human effort—specifically, that leaving a blank space is much "cheaper" and less annoying for a developer to handle than a hallucinated error. In a massive test involving 1.8 million real-world coding interactions, this "scaffold-and-fill" strategy reduced developers' mental review and physical typing time by over 30%. Ultimately, our work transforms AI coding tools from overconfident guessers into considerate collaborators, making software development faster and less frustrating.