AI coding assistants

  • Training a Model for Code Edit Predictions


    A deep dive into how I trained an edit model to show highly relevant code suggestions while programmingDeveloping a coding agent like NES, designed to predict the next change needed in a code file, is a complex task that requires understanding how developers write and edit code. The model considers the entire file and recent edit history to predict where and what the next change should be. Capturing real developer intent is challenging due to the messy nature of real commits, which often include unrelated changes and skip incremental steps. To train the edit model effectively, special edit tokens were used to define editable regions, cursor positions, and intended edits, allowing the model to predict the next code edit within a specified region. Data sources like CommitPackFT and Zeta were utilized, and the dataset was normalized into a unified format with filtering to remove non-sequential edits. The choice of base model for fine-tuning was crucial, with Gemini 2.5 Flash Lite selected for its ease of use and operational efficiency. This managed model avoids the overhead of running an open-source model and uses LoRA for lightweight fine-tuning, ensuring the model remains stable and cost-effective. Flash Lite enhances user experience by providing faster responses and lower compute costs, enabling frequent improvements without significant downtime or version drift. Evaluation of the edit model was conducted using the LLM-as-a-Judge metric, which assesses the semantic correctness and logical consistency of predicted edits. This approach is more aligned with human judgment than simple token-level comparisons, allowing for scalable and sensitive evaluation processes. To make the Next Edit Suggestions responsive, the model receives more than just the current file snapshot at inference time; it also includes the user's recent edit history and additional semantic context. This comprehensive input helps the model understand user intent and predict the next edit accurately. This matters because it enhances coding efficiency and accuracy, offering developers a more intuitive and reliable tool for code editing.

    Read Full Article: Training a Model for Code Edit Predictions