¿Qué significan los LLM de código para el futuro del desarrollo de software?

Hemos entrado en una era de código coescrito con máquinas.

Cuando ChatGPT de OpenAI irrumpió en la escena tecnológica, dio inicio a la era de la IA generativa, siendo la generación de código uno de los primeros casos de uso. Posteriormente surgieron los asistentes de codificación con inteligencia artificial (IA), desde el pionero GitHub Copilot hasta otros como Amazon Q Developer, Claude Code de Anthropic, Gemini Code Assist de Google, IBM Bob y Mistral Code.

Pero bajo estas herramientas de codificación se esconde una potente tecnología: los modelos de lenguaje de gran tamaño (LLM) para código. Y están cambiando la forma en que se construye el software.

Hablamos con algunos expertos de IBM para conocer de cerca cómo los LLM de código están redefiniendo el papel de los desarrolladores de software y sus previsiones para el futuro de estos modelos. Quienes comparten sus perspectivas son:

  • Bridget McGinn, ingeniera de software de investigación, IA para código

  • Fumiko Satoh, miembro sénior del personal técnico y gerente sénior, IA para código y seguridad

¿Qué son los LLM para código?

Los LLM de código son modelos especializados entrenados en código fuente. Pueden crearse desde cero o crearse a partir de un modelo previamente entrenado y afinado a conjuntos de datos de codificación. Estos datos de entrenamiento deben ser de alta calidad y lo suficientemente diversos como para garantizar que los LLM de código puedan manejar varios escenarios de codificación en diferentes lenguajes de programación.

Como los LLM para código suelen derivarse de modelos de IA diseñados para procesamiento del lenguaje natural (NLP), a menudo toman descripciones en lenguaje natural como instrucciones. Son capaces de realizar estas tareas de codificación reales:

  • Finalización de código (también conocida como autocompletar)

  • Resumen de código

  • Generación de documentación (como comentarios inline para fragmentos de código)

  • Sugerir optimizaciones de código

  • Traducir el código existente de un lenguaje de programación a otro (como de Python a JavaScript)

Algunos ejemplos populares de LLM de código son CodeGemma de Google, Code Llama de Meta y Codestral y Devstral de Mistral. Mientras tanto, entre los modelos de código abierto se incluyen DeepSeek Coder, IBM Granite Code y Qwen3 Coder.

Otros LLM que no son exclusivamente para programación, pero que han sido entrenados y optimizados para la codificación incluyen Claude Sonnet y Opus de Anthropic y Gemini Pro de Google.

AI Academy

Conviértase en un experto en IA

Obtenga los conocimientos necesarios para priorizar las inversiones en IA que impulsan el crecimiento empresarial. Dé sus primeros pasos hoy mismo con nuestra AI Academy gratuita y lidere el futuro de la IA en su organización.

El papel transformador de los desarrolladores de software

Los másteres en programación (Code LLMs) democratizan el acceso a la creación de software, apoyando a programadores aficionados, expertos en la materia y otros desarrolladores no tradicionales que no tienen formación o educación formal en informática. Permiten la creación rápida de prototipos, ciclos de iteración más ágiles y una incorporación más rápida para los nuevos ingenieros de software.

Más allá de remodelar el desarrollo de software, los LLM de código están redefiniendo el papel de los desarrolladores de software.

De bajo nivel a alto nivel

Según El Maghraoui, los ingenieros de software están evolucionando de productores de código a curadores de código. "Aunque la codificación sigue siendo esencial, el énfasis se está desplazando hacia el prompt engineering. ¿Cómo enmarcamos las consultas correctas en el contexto de estos LLM? Y en lugar de escribir cada línea de código, los desarrolladores están orquestando cada vez más el código generado por la IA, uniendo las piezas".

Sin embargo, esta evolución es solo la punta del iceberg. El Maghraoui cree que los roles de los desarrolladores progresarán hacia lo que ella denomina "ingeniería basada en intenciones". La idea es alejarse de la sintaxis y centrarse en la estructura, dejar los detalles más finos y hacer zoom en el conjunto, y pasar del qué al por qué, destacando objetivos, resultados e impacto.

Para McGinn, los LLM de código pueden tratarse como bibliotecas importadas a un programa. "Los problemas se pueden resolver más rápidamente de la misma manera que las bibliotecas nos ayudan a los ingenieros a aprovechar la funcionalidad que ya se ha creado y no tener que reinventar la rueda".

Este punto de vista se alinea con la computación generativa. En este marco, un modelo de código se integra en los sistemas como un componente de software modular y se maneja como una interfaz programable. Como tal, puede abstraer tareas de bajo nivel, y los desarrolladores dirigen más esfuerzos hacia la resolución de problemas de orden superior.

"Necesitan considerar el design thinking en lugar de escribir código", dice Satoh. "Necesitamos ingenieros de alto nivel que puedan crear la arquitectura de un sistema".

Es un rol que se está volviendo más multidisciplinario, incorporando no solo el diseño y la arquitectura, sino también otras dimensiones como la ética y la seguridad. "Es menos manual y hay más automatización, pero es más estratégico", dice El Maghraoui. "Está combinando la ingeniería de software con el pensamiento a nivel de sistema, el pensamiento de producto y el razonamiento ético. Ahora no solo sabemos de codificación, sino que nos estamos convirtiendo en ingenieros expertos en IA y en ingenieros que priorizan la IA.

Esto abre nuevas posibilidades para mejorar las habilidades en esas tareas de mayor nivel, especialmente para los desarrolladores junior. "Los objetivos de muchas referencias son estar al nivel de un desarrollador junior. Así que si esa es una métrica que buscamos, entonces la idea es no tener tanta necesidad de eso", dice McGinn. "Necesitamos personas que tengan un nivel más profundo que un desarrollador junior, o es posible que ya no necesiten haber pasado por el papel de desarrollador junior para entender lo que hace un desarrollador sénior".

Los programadores humanos deben permanecer al tanto

Panda señala que, como ocurre con cualquier modelo de lenguaje de gran tamaño, los LLM de código tienen sus inconvenientes. Sugiere cautela en lo que respecta a los derechos de autor, los sesgos y la seguridad, especialmente cuando se trabaja en aplicaciones cruciales en sectores como las finanzas y la sanidad.

“No puedes confiar ciegamente en ellos”, dice Panda. “Siempre hay que tomar el código que generan con pinzas”.

Este escepticismo también debe ir acompañado de mecanismos de optimización del rendimiento y medidas de validación para verificar la solidez y la precisión. "Aún quiere asegurarse de que está escribiendo casos de prueba y de que está comprobando el código tan a fondo como lo haría si se escribiera manualmente", afirma McGinnis.

El Maghraoui hace hincapié en el apoyo que brindan los LLM de código, en lugar de la dependencia de ellos. “Si los utilizamos como herramienta didáctica, para programar en pareja o como generador de ideas, pueden potenciar nuestro aprendizaje, creatividad y productividad. Pero si los usamos como muleta, sin introspección, sin validación, pueden erosionar nuestro juicio y responsabilidad".

La programación fundacional importa aún más

La validación solo es posible si los desarrolladores comprenden los principios informáticos subyacentes. Después de todo, si no comprende los fundamentos de la programación, ¿cómo puede confirmar la validez del código generado por estos modelos?

"Es una codificación rápida, pero no siempre es sólida, correcta o segura", afirma El Maghraoui. Añade que usar el código generado tal como está puede ser peligroso. “Esto puede provocar fragilidad en las bases de código. Si confía demasiado en estos modelos o en sus outputs, esto puede propagar errores sutiles o ineficiencias, especialmente en sistemas críticos. Por eso es importante entender lo que está sucediendo".

Aquí es donde entra en juego una profunda experiencia, posible gracias a conceptos cardinales de desarrollo de software.

"En las escuelas, todavía enseñamos a la gente a hacer divisiones largas manualmente, pero ¿de qué sirve eso si van a usar una calculadora? Es similar a la codificación. ¿Cuáles son las piezas fundamentales que creemos que son importantes para entender lo que está pasando?", dice McGinn.

Algunos de estos fundamentos técnicos pueden incluir compiladores, arquitectura informática, bases de datos, gestión de memoria y sistemas operativos. "Los desarrolladores podrían empezar a omitir profundamente el aprendizaje de estos conceptos porque los LLM de código los están abstrayendo", afirma El Maghraoui. Sin embargo, es esencial comprender el funcionamiento interno del desarrollo de software por sus implicaciones en la funcionalidad y el rendimiento del código fuente, añade.

Y aunque los LLM de código pueden reducir la sobrecarga cognitiva mediante la automatización de tareas repetitivas, también tienen el potencial de aumentar la "atrofia cognitiva", como la llama El Maghraoui. Ella lo compara con el mayor uso del GPS que erosiona nuestro sentido natural de la navegación. "Si los desarrolladores confían en gran medida en las sugerencias de código, serán menos fluidos en la depuración. Los LLM de código pueden debilitar nuestra capacidad de pensar algorítmicamente si no los equilibramos con la práctica o el conocimiento fundamentales".

Predicciones para la próxima frontera de los LLM de código

A medida que avancen los LLM de código, irán desvelando nuevas características e incluso casos de uso novedosos, como demuestra la tendencia vibe coding. Entonces, ¿qué les espera a estos modelos en el futuro? Nuestros expertos exponen sus predicciones.

El auge de los agentes

En el mundo se habla mucho de que los agentes de IA transforman el futuro del trabajo en casi todos los sectores, incluido el desarrollo de software.

"Veo el cambio hacia estos sistemas de codificación multiagente con bases de código de autorreparación", dice El Maghraoui. Estos sistemas de IA agéntica ya están tomando forma. Por ejemplo, los agentes de ingeniería de software (SWE) de IBM pueden resolver de forma autónoma los problemas de GitHub "localizando" primero el lugar donde se encuentran los errores en una base de código y luego editando esas líneas de código para resolverlos.

Pequeño y sostenible

McGinn espera una estrategia más eficiente energéticamente "en la que no todo lo haga el modelo más grande, pero podamos ahorrar algo de energía con un enfoque agéntico más pequeño" que implique que diferentes agentes realicen tareas de programación específicas.

De manera similar, Panda está entusiasmada por poner a disposición pequeños modelos de lenguaje (SLM) como Granite Code en dispositivos con recursos limitados como ordenadores portátiles y Edge. "Al mismo tiempo, hay algunas cosas que son difíciles de resolver para los SLM, por lo que los modelos Granite más grandes entrarán en escena. Es un equilibrio entre varios modelos, no solo un modelo para resolverlo todo".

Mejora de memoria y razonamiento

Integrar la memoria contextual y el razonamiento en los LLM de código es otra mejora a tener en cuenta, señala El Maghraoui. "Pueden recordar toda la historia del proyecto y cómo evolucionó. Permite formular mejores sugerencias para el futuro".

El componente de razonamiento ayuda en las "tareas a largo plazo", como lo denomina Panda. "Los LLM de código interactuarán con sus repositorios de código para realizar muchas acciones secuencialmente, no solo una acción única. Solo si su código LLM tiene una sólida capacidad de razonamiento podrá realizar estas tareas.

Entornos e implementaciones de desarrolladores en evolución

Los entornos de desarrollo integrados (IDE) actuales incorporan modelos de código y asistentes de codificación como servicios o complementos. Pero los IDE de mañana podrían inclinarse hacia entornos de desarrollo nativos de IA. "Veremos que estos IDE se rediseñan con LLM de código desde cero, no solo como complementos, sino como parte de su núcleo", dice El Maghraoui.

También considera que el aumento de la implementación de LLM de código en infraestructuras privadas es una tendencia en aumento. Por ejemplo, el asistente de IA de Mistral Code, impulsado por Codestral y Devstral, soporta la implementación en las instalaciones.

"Las implementaciones privadas de estos LLM de código se están acelerando por problemas de rendimiento, coste y privacidad", afirma El Maghraoui. "Las empresas quieren evitar enviar código propietario a API de terceros. Las implementaciones privadas garantizan que su código fuente, bibliotecas internas y rastros de pila nunca abandonen la red interna de su empresa. También hay problemas de cumplimiento normativo, especialmente en finanzas o sanidad, y el coste de ejecutar casos de uso de alto rendimiento internamente puede ser más barato a gran escala".

Cerrar la brecha entre las fases de codificación y pruebas

Escribir código y crear pruebas son partes distintas del proceso de desarrollo de software. Satoh imagina que los LLM de código ayudan a enlazar estas dos etapas de manera fluida, facilitando tanto la generación de código como la de pruebas.

“Deberíamos conectarlas con el mismo modelo para crear un producto integrado”, afirma. Satoh va aún más lejos, previendo modelos de código que "respaldan todo el ciclo de vida del desarrollo de software", incluidas fases anteriores como la especificación y el diseño de requisitos.

Pero no importa a dónde nos lleve esta creciente era del código en coautoría con las máquinas, El Maghraoui sigue siendo cautelosa pero optimista. “Es como un cuchillo que tiene dos caras. Podría ser algo que nos perjudique como desarrolladores o algo que nos ayude. Así que es muy importante entender cómo utilizar correctamente estos LLM de código para no perder su ventaja y ser más creativo". Y cree que los que probablemente prosperarán serán "los desarrolladores y las empresas que adopten estos flujos de trabajo y traten la IA no solo como una herramienta, sino como un socio".

Techsplainers | Pódcast

Escucha: "What code LLMs mean for the future of software development"

Siga a Techsplainers en: Spotify y Apple Podcasts

Autores

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Soluciones relacionadas
IBM Bob

Acelere la entrega de software con Bob, su socio de IA para un desarrollo seguro y consciente de la intención.

Explore IBM® Bob
Soluciones de codificación de IA

Optimice los esfuerzos de desarrollo de software con herramientas impulsadas por IA de confianza que minimizan el tiempo dedicado a escribir código, depurar, refactorizar código o completar código y dejar más espacio para la innovación.

Explore soluciones de codificación con IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de consultoría de IA
Dé el siguiente paso

Aproveche la IA generativa y la automatización avanzada para crear código listo para uso empresarial con mayor rapidez. Los modelos de Bob aumentan las habilidades de los desarrolladores, simplificando y automatizando sus esfuerzos de desarrollo y modernización.

  1. Descubra IBM® Bob
  2. Explore soluciones de codificación con IA