AboutOpinionesBlogContacto

Software Crafters® 2026 | Creado con 🖤 para elevar el nivel de la conversación sobre programación en español | Legal

Cuando el machine learning entró al autocompletado

Entre 2009 y 2014, tres papers académicos plantaron una idea que cambiaría el código para siempre: en vez de escribir reglas, aprende patrones de cómo se escribe código en miles de repositorios. No salió ningún producto. Pero el paradigma estaba sobre la mesa.

Miguel A. Gómez1 min read

En la newsletter hablo de ingeniería en tiempos de agentes de IA. Porque generar código no es lo mismo que construir buen software.

Al suscribirte te envío mi guía de Spec Driven Development para definir qué debe construir el agente y qué debe respetar para que el software sea testable, mantenible y escalable.

Mientras los IDEs mainstream se apoyaban en el compilador y los lenguajes dinámicos en heurísticas, en la academia se cocinaba algo distinto. Aplicar machine learning al code completion.

El primer paso lo dieron en 2009 Marcel Bruch, Martin Monperrus y Mira Mezini en la conferencia ESEC/FSE. Su paper, Learning from Examples to Improve Code Completion Systems, proponía algo muy directo. En vez de listar todos los métodos disponibles de un objeto por orden alfabético, listarlos por probabilidad de uso aprendida de repositorios reales. Lo integraron en Eclipse, hicieron un estudio con usuarios y demostraron que era mejor que el completion estándar.

Tres años después, en 2012, llegó el paper seminal de esta línea. Abraham Hindle y compañía, en la ICSE, publicaron On the Naturalness of Software. La idea era que el código fuente es más repetitivo que el lenguaje natural, así que se puede modelar con las mismas técnicas. Concretamente, con modelos de lenguaje basados en n-grams. Los mismos que se usaban entonces para predecir la siguiente palabra de un mensaje de texto.

Y en 2014, Veselin Raychev, Martin Vechev y Eran Yahav publicaron en PLDI Code Completion with Statistical Language Models, llevando la idea a su expresión más afinada para el caso concreto del autocompletado.

Cinco años, tres papers, una conclusión común. En vez de escribir reglas, aprende patrones de cómo se escribe código en miles de repositorios.

No salió ningún producto de aquello. Pero el cambio de paradigma ya estaba sobre la mesa.


Este post forma parte de la serie Evolución de la IA para programar.

¿Quiéres leer más artículos como éste? Pues suscríbete a la newsletter

Quizás también te interese

LSP: el último gran avance del autocompletado antes de la IA

Microsoft IntelliSense, el autocompletado mainstream