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

Hemos entrado en una era en la que el código se escribe en colaboración con las 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. Luego siguieron los asistentes de codificación de inteligencia artificial (IA), desde el pionero GitHub Copilot hasta empresas como Amazon Q Developer, Claude Code de Anthropic, Gemini Code Assist de Google, IBM Bob y Mistral Code.

Pero detrás de estas herramientas de programación se encuentra una tecnología muy potente: los modelos de lenguaje grandes (LLM) para código. Y están cambiando la forma en que se construye el software.

Hablamos con algunos expertos de IBM para obtener información privilegiada sobre cómo los LLM de código están redefiniendo el rol de desarrollador de software y sus pronósticos para el futuro de estos modelos. Entre quienes comparten sus insights se encuentran:

  • 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 de 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 construirse desde cero o elaborarse a partir de un modelo preentrenado ajustado en conjuntos de datos de programació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 programación en diferentes lenguajes de programación.

Debido a que los LLM para el código generalmente se derivan de modelos de IA diseñados para el procesamiento de lenguaje natural (PLN), a menudo toman descripciones de lenguaje natural como instrucciones. Son capaces de realizar estas tareas de programación reales:

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

  • Resumen de código

  • Generar documentación (como comentarios en línea para fragmentos de código)

  • Sugerir optimizaciones de código

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

Algunos ejemplos populares de LLM de código incluyen CodeGemma de Google, Code Llama de Meta y Codestral y Devstral de Mistral. Mientras tanto, los modelos de código abierto 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 programación incluyen Claude Sonnet y Opus de Anthropic y Gemini Pro de Google.

AI Academy

Conviértase en un experto en IA

Obtenga el conocimiento para priorizar las inversiones en IA que impulsan el crecimiento del negocio. Comience hoy mismo con nuestra AI Academy gratuita y lidere el futuro de la IA en su organización.

El rol transformador de los desarrolladores de software

Los LLM de código democratizan el acceso a la creación de software, apoyando a los programadores ciudadanos, expertos en dominios y otros desarrolladores no tradicionales que no tienen educación o capacitación formal en informática. Permiten la creación rápida de prototipos, ciclos de iteración más rápidos y una incorporación más rápida para los nuevos ingenieros de software.

Más allá de transformar el desarrollo de software, los LLM de código están redefiniendo el rol 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. “Si bien la programación sigue siendo esencial, el énfasis se está desplazando hacia la ingeniería rápida. ¿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 IA, uniendo las piezas”.

Sin embargo, esta evolución es solo la punta del iceberg. El Maghraoui cree que los roles de los desarrolladores avanzarán hacia lo que ella denomina “ingeniería impulsada por la intención”. La idea es alejarse de la sintaxis y centrarse en la estructura, dejar los detalles más finos y alejarse para enfocarse en el panorama general, y pasar del qué al por qué, destacando los objetivos, los resultados y el impacto.

Para McGinn, los módulos de LLM pueden tratarse como bibliotecas importadas a un programa. “Los problemas se pueden resolver más rápidamente del mismo modo que las bibliotecas nos ayudan como ingenieros a aprovechar funcionalidades ya existentes y no tener que reinventar la rueda”.

Esta visión coincide 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 nivel superior 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. “Estamos 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 programar, sino que nos estamos convirtiendo en ingenieros expertos en IA y en ingenieros que priorizan la IA”.

Esto abre caminos para mejorar las habilidades en esas tareas de nivel superior, especialmente para los desarrolladores júnior. “El objetivo de muchos puntos de referencia es alcanzar la funcionalidad de un desarrollador júnior. Entonces, si esa es una métrica que buscamos, entonces la idea es no tener tanta necesidad de eso”, dice McGinn. “Necesitamos personas con un nivel de conocimientos superior al de un desarrollador júnior, o que ya no necesiten pasar por el rol de desarrollador júnior para comprender 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 grande, los LLM de código tienen sus inconvenientes. Recomienda precaución en lo que respecta a los derechos de autor, los sesgos y la seguridad, especialmente al trabajar en aplicaciones cruciales en sectores como las finanzas y la atención médica.

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

Este escepticismo debe ir acompañado de mecanismos de optimización del rendimiento y medidas de validación para verificar la solidez y la precisión. “Todavía hay que asegurarse de que está escribiendo casos de prueba y de que está verificando el código tan a fondo como se haría si se escribiera manualmente”, dice McGinnis.

El Maghraoui hace hincapié en el apoyo que brindan los LLM de código, en lugar de depender de ellos. “Si los usamos como material didáctico, programador de pares o generador de ideas, pueden impulsar nuestro aprendizaje, creatividad y productividad. Pero si los usamos como apoyo, sin introspección, sin validación, pueden erosionar nuestro juicio y responsabilidad”.

La programación básica es aún más importante

La validación solo puede ser 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 programación rápida, pero no siempre es robusta o correcta o segura”, dice El Maghraoui. Agrega que usar el código generado tal como está puede ser peligroso. “Puede causar fragilidad en las bases de código. Si confía demasiado en estos modelos o confía demasiado en sus resultados, 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, que es posible gracias a los conceptos cardinales de desarrollo de software.

“En las escuelas, todavía enseñamos a las personas a hacer divisiones largas manualmente, pero ¿de qué sirve eso si van a usar una calculadora? Es similar a la programació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 de computadoras, bases de datos, gestión de memoria y sistemas operativos. “Es posible que los desarrolladores empiecen a omitir el aprendizaje profundo de estos conceptos porque los manuales de programación los están abstrayendo”, afirma El Maghraoui. Sin embargo, es esencial comprender el funcionamiento interno del desarrollo de software debido a sus implicaciones en la funcionalidad y el rendimiento del código fuente, agrega.

Y si bien 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 lo llama El Maghraoui. Lo compara con el hecho de que el uso cada vez más generalizado del GPS está mermando nuestro sentido natural de la orientación. “Si los desarrolladores dependen en gran medida de 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 fundacional”.

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

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

El auge de los agentes

El mundo está lleno de conversaciones sobre agentes de IA que transforman el futuro del trabajo en casi todas las industrias, incluido el desarrollo de software.

“Veo el cambio hacia estos sistemas de programación multiagente con bases de código de autocorrecció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 manera autónoma los problemas de GitHub primero “localizando” donde están 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 “donde no todo lo haga el modelo más grande, sino que podamos ahorrar algo de energía con un enfoque agéntico más pequeño” que implique que diferentes agentes cumplan con tareas de programación específicas.

De manera similar, Panda está entusiasmada por poner a disposición modelos de lenguaje pequeños (SLM) como Granite Code en dispositivos con recursos limitados como computadoras portátiles y dispositivos 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 múltiples modelos, no solo un único modelo para resolver todo”.

Aumento de la memoria y el 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 “tareas a largo plazo”, como lo depara 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 LLM de código es sólido en el razonamiento puede realizar estas tareas”.

La evolución de los entornos de desarrollo y los despliegues

Los entornos de desarrollo integrados (IDE) actuales incorporan modelos de código y asistentes de programación en forma de servicios o complementos. Pero es posible que los IDE del futuro se orienten 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 ve el aumento de los despliegues de infraestructura privada de LLM de código como una tendencia al alza. Por ejemplo, el asistente de IA Mistral Code, impulsado por Codestral y Devstral, admite el despliegue on premises.

“Los despliegues privados para estos LLM de código se están acelerando por preocupaciones de rendimiento, costo y privacidad”, afirma El Maghraoui. “Las empresas quieren evitar enviar código propietario a API de terceros. Los despliegues privados garantizan que su código fuente, bibliotecas internas y rastreos de pila nunca salgan de la red interna de la empresa. También hay problemas de cumplimiento normativo, especialmente en finanzas o atención médica, y el costo de ejecutar casos de uso de alto rendimiento internamente puede ser más barato a gran escala”.

Acortar la brecha entre la programación y las pruebas

Escribir código y crear pruebas son partes distintas del proceso de desarrollo de software. Satoh prevé que los LLM de código ayuden a vincular perfectamente estas dos etapas, facilitando tanto la generación de código como la generación de pruebas.

“Deberíamos conectarlas con el mismo modelo para hacer un producto sin problemas”, afirma. Satoh se aventura aún más, previendo modelos de código que “admiten todo el ciclo de vida del desarrollo de software”, incluidas las fases anteriores, como la especificación de requisitos y el diseño.

Pero independientemente de adónde nos lleve esta creciente era de código coescrito con máquinas, El Maghraoui se mantiene cauta, pero optimista. “Es como un arma de doble filo”. Podría ser algo que nos perjudique como desarrolladores o algo que nos beneficie. Por lo tanto, es realmente importante entender cómo usar correctamente estos LLM de código para que no perdamos la ventaja, pero nos volvamos más creativos”. Y quienes probablemente prosperarán, según ella, 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

Escuche: "Qué significan los LLM de código para el futuro del desarrollo de software"

Siga a Techsplainers en: Spotifyy 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 programación de IA

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

Explore soluciones de programación de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones 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 empresarial listo de forma más rápida. Bob crea modelos para aumentar el conjunto de habilidades de los desarrolladores, simplificando y automatizando sus esfuerzos de desarrollo y modernización.

  1. Descubra IBM Bob
  2. Explore soluciones de programación de IA