Software 3.0

The new new paradigm

Antes del verano vi la charla de Andrej Karpathy y me causo una enorme impresión su visión sobre la evolución del software. Hiper-resumido en:

  • Software 1.0: código tradicional (C++, Python, etc.).

  • Software 2.0: redes neuronales programadas indirectamente ajustando datos y parámetros (weights).

  • Software 3.0: programación por “prompts” en lenguaje natural para grandes modelos de lenguaje.

 

No se trata ya de que podamos generar código (software 1.0 o 2.0 ) mediante lenguaje natural, eso es lo que llamamos “Vibe Coding”, sino que ahora los programas están escritos en lenguaje natural.

Los LLM se han convertido en máquinas virtuales que son capaces de ejecutar instrucciones escritas en lenguaje natural. Y esa idea, esa forma de ver lo que es un LLM abre un enorme mundo de posibilidades.

A nosotros nos parece que el software 3.0 va a suponer un gran cambio en la forma en que las organizaciones generan valor, porque ahora la definición de tareas y procedimientos se vuelven ejecutables y eso tiene muchas consecuencias.

La primera es que la automatización de tareas o procesos se hace mas sencilla y de menos coste. P.ej., puedo organizar el proceso de publicar esta newsletter con comandos como:

  • Buscar-nuevas-ideas

  • Registrar-idea

  • etc. 

Estos comandos tienen este aspecto:

Invocar al agente de investigación para escanear las fuentes configuradas en config/fuentes.md.
Aplicar los criterios de contenido de config/criterios.md para filtrar las ideas relevantes.
Generar 3-5 nuevas ideas de contenido con:
* Título descriptivo
* Breve resumen (2-3 frases)
* Referencia de la fuente
* Puntuación de relevancia inicial
* Alineación con el público objetivo
Crear archivos individuales en formato markdown en data/ideas/ con el estado "Creada".
Actualizar el inventario del banco de ideas.
Proporcionar un informe resumido de las ideas añadidas.

De este modo no hace falta aprender a programar para ser capaz de automatizar. Se parece mucho a cuando creamos un manual de procedimientos, o damos instrucciones a un colaborador.

La segunda es que cuando estamos escribiendo estos programas estamos capturando el know-how de la empresa. Ese proceso de análisis nos ayuda a entender como hacemos las cosas, y eso dispara un proceso de mejora continua. Ese know-how almacenado en esos programas ahora es gestionable y, por tanto, puede mejorar. Además, ese know-how ya no depende de personas concretas, y entonces  podemos estar seguros de como se hacen las cosas en nuestra organización (esto da para mucho debate). 

La tercera es que podemos tener sistemas híbridos donde conviven las 3 generaciones de software. Podemos construir un director comercial (escrito en software 3.0) que utiliza una IA especializada en predicciones de ventas y que dirige su equipo comercial apoyado en un CRM tradicional. 

Y por último, la caída del coste de esas automatizaciones va a hacer que muchos procesos y tareas que antes no se automatizaban pro que era demasiado caro y costoso en tiempo, ahora se empiecen a automatizar. 

Nadie se escribiría, o casi nadie, un programa para automatizar la compra semanal. La ecuación coste vs. beneficio no sale. La única forma de que esa programación fuera rentable es consiguiendo hacer una programa que fuera útil a muchas personas, y esa es la industria del software que conocemos. 

Hace muchos años, cuando explicaba Internet, todo el mundo decía que la potencia de internet era que podáis acceder a cualquier contenido, y yo siempre dije que la potencia de internet era que cualquiera podía publicar contenido. 

Con la aparición del Vibe Coding, el coste de programación ha caído radicalmente y casi cualquiera puede programar su propia aplicación siempre que no sea muy grande. La tecnología y la experiencia está haciendo que cada vez se pueden hacer aplicaciones más grandes, pero todavía queda camino por recorrer, aunque sin duda la productividad de los equipos de desarrollo aumenta.

Yo creo que con esta visión de software 3.0 esto se va a ver multiplicado y veremos incluso aplicaciones informáticas que se usan solo una vez.

Cuando hemos explicado esto en las sesiones de Teito (la comunidad de antiguos alumnos de nuestros cursos) ha despertado un enorme interés y nos han pedido que organicemos un curso para explicar con un poco más de calma y nos hemos tirado a la piscina.

El próximo día 9 de octubre, y durante 3 jueves, vamos a hacer un curso que hemos llamado “Desarrollando con IA” donde hablaremos de: 

  • Sesión 1: Primeros pasos en Vibe Coding y herramientas fundamentales

  • Sesión 2: Procesos de desarrollo y el papel de los agentes

  • Sesión 3: Software 3.0, agentes avanzados y workflows personalizados

Si quieres saber más déjanos tus datos en https://entaina.ai/contacto/ y te llamamos.