Andrej Karpathy lleva años poniendo nombre a los cambios que otros tardan en ver. En 2017 acuñó «Software 2.0» para describir el momento en que las redes neuronales entrenadas empezaron a sustituir al código escrito a mano en tareas donde especificar las reglas explícitamente es imposible. En su charla en Sequoia Ascent 2026, ha ido un paso más allá y ha definido Software 3.0: la era en la que los LLMs son el intérprete y el texto en tu contexto es el programa.
Los tres paradigmas
Software 1.0 es el software que todos hemos escrito: instrucciones explícitas, lógica determinista, el programador especifica exactamente qué tiene que pasar. Automatiza lo que los humanos pueden describir como reglas.
Software 2.0 es el que aprende: redes neuronales entrenadas con datos que aprenden a reconocer imágenes, traducir texto o jugar al ajedrez mejor que cualquier conjunto de reglas escritas a mano. Automatiza lo que los humanos pueden describir con ejemplos.
Software 3.0, en palabras de Karpathy, automatiza lo que los humanos pueden verificar. Si el resultado correcto puede comprobarse con un test suite, con una puntuación de un juego, con un compilador o con una prueba formal, un LLM puede ser entrenado o dirigido para producirlo. El programa ya no es código: es el texto en el contexto del modelo. El intérprete es el propio LLM.
De vibe coding a agentic engineering
Karpathy señala diciembre de 2025 como el punto de inflexión en que la programación con agentes pasó de experimental a fiable. Hasta entonces, el «vibe coding» (describir lo que quieres y dejar que la IA lo interprete) era útil para prototipos pero se desmoronaba en producción.
Lo que viene ahora lo llama agentic engineering: la disciplina de coordinar agentes de codificación para construir software profesional a escala, manteniendo seguridad, mantenibilidad y calidad. La diferencia con el vibe coding no es solo de madurez: es de actitud. En el vibe coding el desarrollador acepta la salida de la IA casi sin cuestionar. En el agentic engineering, el desarrollador diseña los bucles, define los criterios de verificación y actúa como arquitecto del sistema que genera el código.
En el sitio tenemos artículos que cubren exactamente esta capa: construir un mini framework de agentes en Python o LangGraph y agentes ReAct en producción son buenos puntos de entrada a la práctica de lo que Karpathy describe en teoría.
La «inteligencia irregular» y sus consecuencias prácticas
Uno de los conceptos más útiles de la charla es lo que Karpathy llama jagged intelligence (inteligencia irregular): los LLMs son superhhumanos en algunas tareas y sorprendentemente malos en otras, y la frontera entre ambas no sigue ningún patrón intuitivo. Un modelo puede escribir código de producción complejo pero fallar en aritmética simple; puede razonar sobre filosofía medieval pero confundirse con una referencia de índice en un array.
Para el desarrollador esto tiene implicaciones directas: no puedes delegar ciegamente ni puedes descartarlos por sus fallos obvios. Necesitas conocer el contorno de lo que el modelo hace bien, que es diferente para cada modelo y cambia con cada nueva versión.
Lo que sigue siendo tuyo
Karpathy es explícito en un punto que conviene no perder de vista: en Software 3.0 hay cosas que siguen siendo responsabilidad del desarrollador humano. El diseño del sistema, la definición de qué significa que algo funcione, la arquitectura de los bucles de verificación, la seguridad y los criterios éticos. Los agentes pueden generar el código, pero no pueden decidir qué problema vale la pena resolver ni qué nivel de riesgo es aceptable.
Su argumento de fondo es que el perfil del buen desarrollador no desaparece en Software 3.0: se desplaza. De escribir cada línea a diseñar sistemas que las generan, revisarlas y asegurarse de que el resultado hace lo que tiene que hacer. Para quien lleva años trabajando con LLMs en producción, esa descripción probablemente resuena más que sorprende.
Imagen: Pexels / Daniil Komov
