Koda Mostrou Como Treinou o Modelo Next Edit Suggestions para Prever Alterações de Código
Koda explicou como treinou um modelo Next Edit Suggestions para IDE: em vez de prever a continuação da linha, ele prevê a próxima alteração no código baseado…
Processado por IA de Habr AI; editado por Hamidun News
Koda compartilhou como treinou um modelo Next Edit Suggestions para autocompletar que tenta prever não o próximo token, mas a próxima correção significativa de código por um desenvolvedor. Esta abordagem move a IDE de um completamento ordinário para um assistente que compreende o fluxo de refatoração, renomeação e pequenas correções em lote. NES difere do autocompletar clássico porque leva em conta o histórico de mudanças recentes e opera não apenas sob o cursor, mas em qualquer lugar do arquivo.
O modelo pode não apenas adicionar código, mas também excluir ou substituir fragmentos. Os cenários práticos para este modo são claros: renomeação em massa, atualização de chamadas após mudanças de assinatura, continuação de uma refatoração em andamento, replicação de correções semelhantes, alinhamento de estilo, remoção de código morto e até pequenas correções de lint. Na Koda, acreditam que, diante do boom dos agentes de IA, tal ferramenta permanece útil: muitas pequenas correções são mais rápidas de confirmar com uma única tecla do que formular um prompt separado.
Durante o treinamento, a equipe primeiro selecionou um modelo base sob restrições rigorosas de latência. Seus servidores GPU alvo mediram a velocidade de inferência e reduziram a seleção a Qwen2.5-Coder-1.
5B e DeepSeek-Coder-1.3B. Com base em métricas combinadas, Qwen foi escolhido como base para fine-tuning supervisionado.
A fonte de dados foi registros parciais anonimizados de seu próprio modelo de completamento de código acumulados ao longo de um ano. Estes logs FIM foram agrupados por usuário, sessão e arquivo para reconstruir cadeias de mudanças de código local. O problema era que uma correção real do programador nos logs frequentemente se desintegrava em dezenas de micro-eventos.
Então os engenheiros colavam tais subsequências em mudanças únicas significativas usando o algoritmo Incremental Difference Detecting descrito no artigo de pesquisa NES. Depois disso, filtraram separadamente exemplos onde a correção de destino estava realmente vinculada causalmente ao histórico de edição, em vez de ser simplesmente outro pedaço lógico de código. No final, de milhões de amostras candidatas, apenas dezenas de milhares permaneceram.
Além disso, a equipe aumentou a amostragem de edições de substituição para equilibrar melhor os tipos de inserção, substituição e exclusão. A seguir, Koda comparou seu modelo de 1,5 bilhão de parâmetros com soluções NES abertas de Continue, Zed e Sweep, e mencionou Cursor Tab, GitHub Copilot NES e JetBrains AI Assistant como benchmarks fechados. Em seu próprio conjunto de teste de 500 exemplos, Koda-next-edit mostrou 27,2% para Exact Match e 28,2% para Judge, enquanto Zeta 2 obteve 17,0% e 20,4% respectivamente.
Em vários conjuntos de dados, a empresa dá prioridade mais alta à avaliação Judge, pois é mais adequada para comparar modelos com formatos de resposta diferentes. Por média simples, seu modelo ficou em primeiro lugar, e por resultado de média ponderada permaneceu entre os líderes mesmo contra modelos maiores de 7B e 8B parâmetros. Separadamente, Koda destaca o conjunto de dados NEP como um benchmark mais independente, pois não é 'nativo' de nenhum dos sistemas comparados.
O recurso já apareceu no modo beta no plugin KodaCode 0.9.0 para VS Code.
A equipe planeja enriquecer ainda mais o contexto com fragmentos de código semelhantes e dicas de linter, e testar modelos maiores se conseguirem manter a latência necessária. Outra direção de desenvolvimento é a interface do plugin: para NES é importante não apenas prever a correção, mas também mostrá-la de forma que permita ao desenvolvedor aceitar ou rejeitar rapidamente a sugestão sem perder o ritmo. A história da Koda mostra que o mercado de ferramentas de IA para programadores não se limita a agentes que tentam fazer tudo de uma vez.
Entre a edição manual e a execução totalmente autônoma, há uma grande camada de tarefas onde o maior valor vem de conselhos rápidos, locais e previsíveis diretamente no editor. Se tais modelos continuarem a crescer em qualidade sem perder velocidade, essa classe de assistentes poderia se tornar o formato mais difundido de IA no desenvolvimento cotidiano.
Quer parar de ler sobre IA e começar a usar?
AI News é um feed curado de notícias de IA. A Hamidun Academy ensina você a usar IA no trabalho.