Tune GitHub Copilot Inline Suggestions with Configurable Eagerness GitHub trained a single inline suggestions model for GitHub Copilot that supports three configurable eagerness modes — low, medium, and high — selected through a lightweight control tag rather than separate models per setting. The company said community feedback in a VS Code GitHub issue showed some developers wanted fewer suggestions while others wanted more, so it defined eagerness along two dimensions, suggestion frequency and edit size, and used edit distance as a measurable proxy during training. GitHub said on-policy distillation and reinforcement learning made the feature easier to carry forward to future models. Choose how proactively Copilot offers inline suggestions. A helpful suggestion at the wrong moment can still feel like an interruption. When you're completing a familiar pattern, you may want Copilot to anticipate several changes ahead. When working through delicate logic, you may prefer Copilot to scope its changes to the statement at hand and leave the next decision to you. Community feedback about inline suggestions https://github.com/microsoft/vscode/issues/283075 made both preferences clear: some developers wanted fewer suggestions, while others wanted Copilot to do more. No single default could satisfy everyone. In earlier posts about training the 3-in-1 inline suggestions model covering Completions, NES, and Long-Distance NES part one https://code.visualstudio.com/blogs/2026/09/16/building-the-github-copilot-inline-suggestions-model-part-one , part two https://code.visualstudio.com/blogs/2026/09/23/building-the-github-copilot-inline-suggestions-model-part-two , we explained how developer feedback helped us improve the default experience. This strong default is a great starting point, but developers differ in how much assistance they prefer. We wanted to let them tailor their experience to their own preferences. Configurable eagerness gives developers more control over how proactively Copilot offers inline suggestions. We trained the inline suggestions model to support three modes: low, medium, and high eagerness. In this post, we'll explain how we defined and trained those behaviors, what our first approach taught us, and how on-policy distillation OPD and reinforcement learning RL made the feature easier to carry forward to future models. Introducing configurable eagerness We define eagerness along two dimensions: how often the model offers a suggestion and the size of each proposed edit . | Eagerness setting | Intended behavior | |---|---| | Low | Offer fewer suggestions and favor smaller, more conservative edits. | | Medium | Provide the current 'default' level of assistance. | | High | Offer suggestions more proactively, including larger edits when appropriate. | These settings guide how Copilot behaves rather than imposing strict limits on suggestion timing or size. Low eagerness still offers complete, useful suggestions; it's simply more conservative. High eagerness may propose more and larger suggestions, but only when that work is relevant to the user's current task. This demo shows a simple example: from the same starting point class ModelManager: , each setting produces different behavior. Low eagerness proposes five small, incremental suggestions and leaves it to the developer to decide which methods to add and what validation they need. High eagerness proposes three larger suggestions that anticipate follow-on work, such as raising a KeyError when attempting to remove a model that doesn't exist. Figure 1. Low, medium, and high eagerness while building a ModelManager class. To train these behaviors, we needed a measurable definition of eagerness. Because our model outputs suggestions in a diff-based format, we used edit distance https://en.wikipedia.org/wiki/Edit distance the number of characters changed by a suggestion as a proxy for eagerness, capturing both edit size and frequency