Koda mostra como treinou um modelo de Next Edit Suggestions para prever edições de código

A Koda contou como treinou um modelo de Next Edit Suggestions para IDEs. Em vez de continuar a linha atual, ele prevê a próxima edição em um arquivo com base no histórico de alterações. A base é o Qwen2.5-Coder-1.5B. Depois de filtrar milhões de logs, a equipe chegou a dezenas de milhares de amostras NES e já comparou o resultado com modelos open source maiores. O recurso está disponível em beta no plugin KodaCode para VS Code.

Processado por IA de Habr AI; editado por Hamidun News
Koda mostra como treinou um modelo de Next Edit Suggestions para prever edições de código
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo

A Koda contou como treinou um modelo de Next Edit Suggestions para autocompletar que tenta adivinhar não o próximo token, mas a próxima edição significativa do desenvolvedor. A abordagem leva a IDE do completion comum a um assistente que entende o andamento de uma refatoração, de uma renomeação ou de pequenas correções em série. O NES difere do autocomplete clássico por levar em conta o histórico de alterações recentes e funcionar em qualquer ponto do arquivo, não só sob o cursor.

O modelo pode não apenas adicionar código, mas também remover ou substituir trechos. Os cenários práticos desse modo são claros: renomeação em massa, atualização de chamadas após mudança de assinatura, continuação de uma refatoração já iniciada, replicação de uma correção repetida, ajuste de estilo, remoção de código morto e até pequenas correções de lint. Na Koda, acredita-se que, apesar do boom em torno dos agentes de IA, a ferramenta continua útil: muitas correções pequenas são mais rápidas de confirmar com uma tecla do que de descrever em um prompt separado.

No treinamento, a equipe primeiro escolheu um modelo base sob uma restrição rígida de latência. Nos servidores com GPU de destino, os desenvolvedores mediram a velocidade de inferência e reduziram a escolha ao Qwen2.5-Coder-1.

5B e ao DeepSeek-Coder-1.3B. Pelo conjunto de métricas, escolheram o Qwen como base para o supervised fine-tuning.

A fonte dos dados foram logs parciais anonimizados, acumulados ao longo de um ano, do modelo próprio de code completion. Esses logs FIM foram agrupados por usuário, sessão e arquivo para reconstruir cadeias de alterações locais no código. O problema era que uma única edição real de um programador muitas vezes se desfazia em dezenas de microeventos nos logs.

Por isso, os engenheiros juntaram essas subsequências em alterações únicas e significativas com o algoritmo Incremental Difference Detecting, descrito na pesquisa sobre NES. Depois, filtraram separadamente os exemplos em que a edição-alvo realmente tem relação causal com o histórico de edição, e não é apenas mais um trecho lógico de código. No fim, de milhões de amostras candidatas sobraram apenas algumas dezenas de milhares.

Além disso, a equipe fez upsampling das edições do tipo replace para equilibrar melhor os tipos de inserção, substituição e remoção. Em seguida, a Koda comparou seu modelo de 1,5 bilhão de parâmetros com as soluções NES abertas da Continue, da Zed e da Sweep e, como referências fechadas, citou Cursor Tab, GitHub Copilot NES e JetBrains AI Assistant. No seu próprio conjunto de teste, com 500 exemplos, o Koda-next-edit marcou 27,2% em Exact Match e 28,2% em Judge, enquanto o Zeta 2 obteve 17,0% e 20,4%, respectivamente.

Em vários conjuntos de dados, a empresa dá mais prioridade à métrica Judge, porque ela é mais adequada para comparar modelos com formatos de resposta diferentes. Pela média simples, seu modelo ficou em primeiro lugar e, pela média ponderada, permaneceu entre os líderes mesmo diante de modelos maiores, de 7B e 8B parâmetros. Separadamente, a Koda destaca o dataset NEP como um benchmark mais independente, porque não é «nativo» de nenhum dos sistemas comparados.

O recurso já chegou em modo beta ao plugin KodaCode 0.9.0 para VS Code.

Em seguida, a equipe planeja enriquecer o contexto com trechos de código semelhantes e dicas do linter, além de testar modelos maiores, se conseguir manter a latência necessária. Outra frente é a interface do plugin: no NES, não basta prever a edição, é preciso mostrá-la de modo que o desenvolvedor aceite ou rejeite a sugestão rapidamente, sem perder o ritmo. A história da Koda mostra que o mercado de ferramentas de IA para programadores não se resume a agentes que tentam fazer tudo de ponta a ponta.

Entre a edição manual e a execução totalmente autônoma, há uma grande camada de tarefas em que o maior valor vem de uma sugestão rápida, local e previsível, direto no editor. Se esses modelos melhorarem em qualidade sem perder velocidade, essa classe de assistentes pode se tornar o formato mais difundido de IA no desenvolvimento do dia a dia.

História
ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Private AI Builders Community · Vibe Club

Ship AI Faster with Founders, Engineers & Weekly Architecture Reviews

Inside Vibe Club (hamidun.com/club) — weekly live masterminds with Zhemal Khamidun, Tech Radar, full LMS access, and 370+ production Claude Code skills.

Join Vibe Club →Explore Hamidun Academy
O que você acha?
Carregando comentários…