Este artículo explora cómo el autor está utilizando modelos de lenguaje grandes (LLMs) para desarrollar software de manera más eficiente y efectiva. El punto central es que, en lugar de reemplazar a los programadores, los LLMs están transformando el rol, desplazando el enfoque de la escritura de código a la arquitectura y diseño de sistemas.
Inicialmente, la dificultad radicaba en la baja calidad del código generado y la rápida pérdida de mantenibilidad. Sin embargo, con la evolución de los LLMs (desde Codex 5.2 hasta Opus 4.6) y la mejora de las técnicas de interacción, el autor ha logrado crear proyectos de gran tamaño (decenas de miles de líneas de código) con una tasa de error significativamente menor que la que obtendría escribiendo el código manualmente. Esto se debe a que el autor se concentra en la estructura general del sistema, mientras que el LLM se encarga de la implementación detallada.
El autor destaca que la clave está en la comprensión profunda de las tecnologías utilizadas, ya que los LLMs tienden a generar código deficiente cuando se aplican a áreas con poca familiaridad. Además, enfatiza la importancia de la interacción con el LLM, sugiriendo que diferentes enfoques pueden producir resultados muy variados. La necesidad de revisión humana persiste, aunque el nivel de detalle requerido ha disminuido con el tiempo: inicialmente se revisaba cada línea, luego cada función, y ahora principalmente la arquitectura general.
El artículo presenta ejemplos concretos de proyectos desarrollados con LLMs, incluyendo Stavrobot (un asistente personal enfocado en seguridad), Middle (un grabador de notas de voz), Sleight of Hand (un reloj de pared con comportamiento irregular) y Pine Town (un lienzo multiplayer). El autor utiliza OpenCode como herramienta (harness) para interactuar con los LLMs, destacando la necesidad de una herramienta que permita el uso de múltiples modelos de diferentes proveedores y la definición de agentes autónomos que puedan interactuar entre sí. Finalmente, el autor anticipa que la necesidad de intervención humana disminuirá aún más en el futuro, aunque por ahora sigue siendo esencial para garantizar la calidad y la coherencia del software.
