Coding with LLMs in the summer of 2025 (an update) Complete
blog comments powered by Disqus
Extended Summary
Resumen Principal
Los LLMs de frontera, como Gemini 2.5 PRO y Claude Opus, están redefiniendo las capacidades de los programadores, actuando como potentes amplificadores en lugar de soluciones autónomas. Según la experiencia del autor, estas herramientas permiten una eliminación temprana de bugs, facilitan la exploración rápida de ideas mediante código desechable para pruebas de rendimiento, y promueven actividades de codiseño donde la intuición y experiencia humana se complementan con el conocimiento profundo del LLM. Además, aceleran significativamente la escritura de código bajo especificaciones claras y posibilitan trabajar con tecnologías ajenas a la propia experiencia, utilizando el LLM como una extensión cognitiva. Este avance representa un cambio radical respecto a hace solo un año y medio, destacando que la clave para aprovechar su potencial reside en las habilidades de comunicación del humano y su experiencia en la interacción con la IA, priorizando una ecuación humano+LLM sobre el "vibe coding".
Elementos Clave
- Amplificación de Capacidades del Programador: Los LLMs transforman la programación al permitir a los desarrolladores eliminar bugs antes de que el código llegue a los usuarios, explorar rápidamente la viabilidad de nuevas ideas mediante la generación de código de prueba desechable, y participar en actividades de codiseño que fusionan la intuición y el gusto del programador con el vasto conocimiento de la IA, a veces derivando en "ideas increíblemente brillantes" que el humano debe saber identificar y explotar.
- Requisitos para una Colaboración Humano-LLM Exitosa: Para maximizar la productividad y calidad, el autor enfatiza que la interacción debe basarse en la ecuación humano+LLM, donde el humano posee habilidades de comunicación extensivas y experiencia con estas herramientas. Se desaconseja el "vibe coding" para proyectos complejos, ya que los LLMs tienden a producir código frágil, excesivamente grande y subóptimo cuando se les deja solos con objetivos no triviales, subrayando la necesidad de una supervisión estricta y una comunicación eficiente.
- Importancia Crítica del Contexto Extenso: Para que un LLM razone eficazmente y proponga soluciones precisas o correcciones de código, es fundamental proporcionarle un contexto abundante. Esto incluye enviar documentos relevantes, grandes secciones (o la totalidad) de la base de código objetivo, y un "brain dump" detallado de la comprensión humana, con indicaciones sobre posibles soluciones buenas o malas, objetivos claros, y el estilo de código deseado, incluso incluyendo documentación específica para tecnologías menos comunes.
- Selección Estratégica de LLMs para Codificación: El autor destaca que no todos los LLMs son igualmente aptos para tareas de programación. Recomienda específicamente Gemini 2.5 PRO por su superior potencia semántica, lo que le permite detectar bugs más complejos y razonar sobre problemas intrincados. Por otro lado, Claude Opus puede ser preferible para la generación de código nuevo en ciertos escenarios, enfatizando que la elección del LLM adecuado es crucial para optimizar la eficiencia y la calidad en el desarrollo.
Análisis e Implicaciones
La adopción de LLMs de frontera implica una reconfiguración fundamental del flujo de trabajo de desarrollo de software, donde la sinergia humano-IA se convierte en el estándar para la eficiencia y la innovación. Esta colaboración no solo acelera la creación de código, sino que eleva la calidad general del producto al permitir una detección temprana de errores y una exploración más profunda de soluciones, lo que podría reducir significativamente los ciclos de desarrollo y los costes asociados a la depuración.
Contexto Adicional
El autor, antirez, una figura prominente en el mundo de la programación (reconocido por su trabajo en Redis), subraya que los avances de los LLMs en el último año y medio han "cambiado por completo el juego" desde su evaluación inicial a principios de 2024, evidenciando una rápida y profunda evolución tecnológica.