La nueva forma de programar con IA: el software 3.0

Hace poco más de 5 años, Andrej Karpathy acuñó la denominación “Software 2.0” para referirse a la nueva forma de programar que surge con el Machine Learning: en lugar de programar instrucción a instrucción, con el ML introducimos una muestra de datos y un resultado parcial al ordenador para que sea él quien diseñe un programa que encuentre el resultado para una muestra mucho mayor de datos.

Este año Karpathy ha escrito que el nuevo lenguaje de programación es… el idioma inglés. Con ello Karpathy hace referencia a que hoy en día el ingeniero IA pide en lenguaje coloquial (sea inglés, español o cualquier otro) al modelo LLM lo que quiere que el modelo LLM escriba en Python, Java, Javascript o el lenguaje que desee. Esto ya está pasando: hoy los ingenieros IA trabajamos codo a codo con nuestro asistente LLM para desarrollar soluciones de software IA. 

El término “Software 3.0” representa un salto cualitativo en la forma en que se desarrolla el software:

  1. Software 1.0: Aquí, los desarrolladores escriben cada línea de código. La programación es manual, y se basa en la lógica y las estructuras de control tradicionales.
  1. Software 2.0: Con la llegada del Machine Learning, la programación se convierte en una mezcla de código tradicional y modelos entrenados. En lugar de escribir lógicas explícitas, entrenamos modelos con datos para que aprendan a realizar tareas específicas.
  1. Software 3.0: Esta fase se centra en interactuar con modelos de lenguaje de gran escala (LLM) usando lenguaje natural. Los desarrolladores se comunican con los modelos en términos humanos y estos modelos generan o sugieren código. Es una colaboración entre humanos y máquinas, donde el modelo LLM actúa como un asistente de programación.

El ingeniero de IA va a ser cada vez más un director de programación que un programador: dirigirá la programación del asistente LLM, ya sea el LLM directamente o un agent construido sobre el LLM como smol-developer, Codium AI, Codegen.ai, Morph/Rift y otras iniciativas similares. 

Ojo, eso no significa que el ingeniero de IA no deba saber programar. Al igual que un director de ventas necesita saber vender para poder dirigir vendedores, el ingeniero de IA necesita saber programar para poder dirigir a un asistente LLM de programación.

Sigue vigente el papel del código escrito por personas para orquestar y suplantar el poder del LLM, motivo de la popularidad de nuevas frameworks que trabajan en esa línea como Langchain o Voyager.

A diferencia del mundo de las aplicaciones web, dominado por el lenguaje Javascript y sus librerías, el mundo IA está dominado por el lenguaje Python y sus librerías, si bien en los últimos años se está abriendo también al universo Javascript con iniciativas compatibles como Langchain, Transformers o Vercel.

El anterior es un extracto del libro “Claves de la Inteligencia Artificial” de Julio Colomer, CEO de la Aceleradora AI, disponible también en versión ebook.

En la Aceleradora AI tenemos el objetivo de poner al alcance de empresas, profesionales, startups y estudiantes de todo el mundo el enorme potencial de la Inteligencia Artificial. Mira cómo podemos ayudarte.