Chpmoreno

Programando con inteligencia artificial luego de un año sin ordenador

Aprendizajes luego de utilizar la "nueva IA" por algo más de un mes

Programando con inteligencia artificial luego de un año sin ordenador
chpmoreno

Cuando arrancamos El Viaje, Daisy y yo teníamos algo claro: no queríamos ser esclavos de la tecnología mientras vivíamos nuevas aventuras y explorábamos nuevos mundos. Por esto decidimos no llevar un computador portátil (y yo cerré Instagram). En su lugar llevaríamos un iPad con teclado que, además de gestionar el día a día, nos permitiría dibujar, leer y ver series de vez en cuando.

Sin duda fue una buena decisión, ya que nunca extrañamos esos kilos de más que suponía un portátil. Y aún sin ese peso de más, me fue posible crear un deck inicial para mi emprendimiento y utilizar algo de inteligencia artificial (IA) mediante Gemini, ChatGPT y Claude. Hasta pude programar algo pequeño con firebase studio.

En este contexto, durante casi un año estuve al margen de la IA. Si bien iba escuchando podcasts que me actualizaban sobre el estado de este nuevo paradigma, y chateaba de vez en cuando con alguna IA para pedir recomendaciones o informarnos sobre los sitios que visitamos, no llegué a utilizar ninguna de las herramientas modernas hasta hace un mes.

Me compré un Mac Mini en Estados Unidos para “estar a la vanguardia” y al volver a España empecé a actualizarme. Lo primero que hice fue instalar Antigravity, VS Code y Claude Code. Acto seguido empecé a crear una página web en React, un backend en Python con FastAPI y una plataforma en Flutter para un proyecto relacionado con El Viaje del cual sabrán más detalles pronto (aunque de este post se pueden deducir cosas). Lo hice con cada una de las herramientas de IA mediante vibecoding.

Vibecoding es (para mí) dar instrucciones mediante la interfaz de chat hasta que estés conforme con el resultado final. Al vibecodear empecé a entender parte de lo que la IA hace actualmente a la hora de programar. La primera lección fue que la IA pregunta antes de actuar y busca feedback constantemente. La segunda fue que planea y sigue pasos con más estructura. La tercera fue que entre mejor contexto, mejor resultado. La cuarta fue que ya no te hace scripts sueltos o te autocompleta el código; levanta todo el framework, estructura tu proyecto y ejecuta código. La quinta, hay que hablar demasiado para conseguir algo que te guste.

Estas lecciones las obtuve mediante varios proveedores y sus planes y herramientas de programación: 1) Google con su plan AI Pro y Antigravity, 2) Microsoft y la versión gratuita de Copilot en VS Code, 3) Anthropic con la versión Pro utilizando Claude Code, y 4) OpenAI con su plan Plus y Codex.

El prompt inicial fue el siguiente:

  Quiero aprender a usar IA. No he programado en 1 año porque estuve viajando con mi esposa por Asia (9.5 meses), EE. UU. (10as) y Colombia (1.5 meses). He estado leyendo y escuchando podcasts sobre la evolución de la IA, especialmente para codificación y programación. Solía programar en Python y conozco frameworks como React y Flutter. Soy economista y científico de datos, con experiencia en desarrollo de software. Me interesa usar IA para programar. Estoy planeando crear una startup siendo el primer programador, así que realmente necesito empezar a aprender a usar IA lo antes posible. Planifícame una forma en que pueda aprender a usarla. Antes de empezar a aprender IA con mi idea de startup, tengo un proyecto paralelo en el que quiero trabajar y aprender IA. El proyecto paralelo es crear una especie de libro sobre el viaje. Estaba pensando en un sitio web donde pueda tener un blog (como marketing) para vender el libro + algunos recursos como nuestro archivo de presupuesto y reservar sesiones con personas interesadas en hacer un viaje similar. Quiero aprender con este proyecto. Me encantaría tener una página de inicio (React) para marketing y blog, además de una plataforma (Flutter) para el libro, recursos y fotos. El backend debería estar hecho en Python. Me gustan mucho las buenas prácticas como el diseño guiado por pruebas, el código limpio y la arquitectura hexagonal. Me gusta trabajar con Python y TypeScript, utilizando tipado estricto. Usaré FastAPI, UV y Pydantic para Python. En React y Flutter (conocimientos básicos), usa las mejores prácticas de 2026. Usaré la idea del viaje como mi forma de aprender para el próximo paso con mi startup.

Google con Gemini 3.1 Pro, en su enfoque de desarrollo impulsado por revisión, realizó un plan inicial y luego ejecutó teniendo en cuenta una lista de tareas que revisó conmigo. Era casi project manager y programador al mismo tiempo. También dividió el trabajo en frontend, backend y app. De tal manera que se concentró en cada uno por separado, aunque en el contexto se cargaban los tres proyectos. No obstante, noté que creó la estructura más básica en cada una de las partes, con lo cual le faltó sustancia. Luego de iterar y pedir muchos cambios, finalmente llegamos a un resultado más interesante: mejor diseño, integración backend-frontend y una app básica con un diseño coherente. Sin embargo, cuando la cosa mejoraba, se me acabaron los tokens… ¡por dos semanas! Me imagino que tener tres proyectos en uno consume mucho más contexto y a la vez tokens.

Resultado después de varias iteraciones utilizando Antigravity y Gemini 3.1 Pro
Resultado después de varias iteraciones utilizando Antigravity y Gemini 3.1 Pro.

Microsoft con Copilot desarrolló un plan en el que pude modificar y añadir mis comentarios antes de iniciar el desarrollo. No obstante, el plan parece ser que no fue seguido como se esperaba. Primero optó por no desarrollar el backend en Python, sino directamente en Dart. Luego, creó una plataforma para que personas que han hecho ya un año sabático puedan vender su libro, lo cual no fue lo especificado. Finalmente, a nivel de diseño utilizó uno bastante estándar a pesar de darle instrucciones para adaptarlo a los colores que se ven en el resultado de Antigravity. De esta manera, la sensación en general fue mucho peor que la anterior, así que decidí no continuar. Dicho esto, para algo completamente gratuito, el resultado obtenido, comparado con lo que yo hubiese hecho desde cero, fue muy bueno.

Resultado después de varias iteraciones utilizando Copilot
Resultado después de varias iteraciones utilizando Copilot.

Anthropic con Claude Code y Opus 4.8, fue diferencial en su forma de actuar. En primer lugar, preguntó mucho más, pero nunca desarrolló planes completos de lo que se quería hacer. Lo positivo de esto, no asumió mucho, lo negativo, era difícil ver una foto global al principio. No obstante, esta foto se podía deducir mediante los archivos Claude.md que generó; uno general y otro por cada pieza: backend, frontend y app. El resultado fue correcto, pero no tan increíble y rápido como esperaba. No obstante el diseño mejoró. Otro aspecto a mencionar fue que en este caso hubo más foco lo cual en parte explica que el resultado fuera mucho más completo para el frontend, sin embargo, no hubo nada de avance en los otros frentes.

Resultado después de varias iteraciones utilizando Claude Code y Opus 4.8
Resultado después de varias iteraciones utilizando Claude Code y Opus 4.8.

OpenAI con Codex y GPT-5.5 me dio la sensación de arrojar el mejor resultado a nivel de funcionalidad y diseño. Fue el único que realmente conectó backend y frontend explicando sus decisiones. Codex arrancó sugiriendo prompts para hacer distintas tareas y sus primeras acciones fueron crear un Agents.md y el primer backend funcional mediante TDD. La estructura del código era más interesante y complicada, lo cual me generó dudas que muy ilustrativamente resolvió el modelo. Con este modelo sentí que la arquitectura la decidíamos los dos. Esto fue algo bastante positivo porque reflexionamos sobre los distintos objetos y entidades y esto dio más claridad de los pasos a seguir. Creamos un verdadero backlog a partir de nuestras conversaciones. Adicionalmente, hasta que no contamos un backend realmente funcional, no pasamos a diseñar el frontend.

En cuanto al frontal, la dinámica de interacción fue muy similar. En este frente, iniciamos creando un sistema de diseño implementado como librería. Tomamos como inspiración elementos de El Viaje e incluso fotos. Aunque el diseño fallaba en algunos aspectos, en general estaba bien logrado y era reactivo a distintos tamaños de pantalla. A nivel de textos le costó un poco entender la idea, pero llegamos a un buen primer contenido.

Sin embargo, no todo fue color de rosa. A medida que avanzábamos se veía el deterioro de sus respuestas y de su forma de actuar y pensar. A pesar de que reinicié la sesión y tomamos apuntes del proceso, su deterioro fue evidente. Es casi como un humano cuando arranca un proyecto con toda la energía, pero luego de un tiempo, con la monotonía, las recurrentes correcciones y la repetitividad, pierde el interés.

Resultado después de varias iteraciones utilizando Codex.

Como ñapa (extra para los no colombianos), mientras escribía este texto, salió Fable 5 de Anthropic. ¿Cómo no probarlo si según los medios es el mejor modelo de la historia (como cada nuevo que publica un laboratorio de IA) y además es una edición limitada? Pues en este caso no llegamos a generar el frontend pero creo que nunca había aprendido tanto de TDD, Domain-Driven Design, Event Sourcing, CQRS y muchos otros principios de arquitectura de software (perdón tanta sigla y anglicismo, pero toca sonar pro). Adicionalmente, y teniendo en cuenta que no he desarrollado cientos de backends, nunca había arrancado uno tan bien como este. Fable fue sin duda el único de todos los modelos que entendió que mi misión con este proyecto, además de desarrollar el mejor side-project posible, era aprender a usar la IA para construir producto en mi emprendimiento. Sin duda, dado mi pequeño caso de uso y rango de modelos, Fable es a día de hoy el modelo publicado que más sabe de programación. Como el acceso al modelo fue suspendido por directivas del Gobierno de los Estados Unidos, no pudimos continuar desarrollando el frontal; justo la tarea que continuaba. No obstante, seguiré contándoles el resultado más adelante.

No soy para nada un experto, ni en IA ni en desarrollo de software, pero daré mi veredicto y conclusiones de aprendiz de IA. 1) En un año la IA ha cambiado radicalmente la forma de desarrollar código en el mundo. 2) Anthropic, principalmente, y OpenAI de cerca son los mejores para programar (de los evaluados hasta ahora). 3) El contexto importa, y mucho, pero también la forma en la que nos relacionamos con la IA; es decir, cómo generamos archivos de contexto, damos instrucciones y feedback, almacenamos memoria y decisiones, establecemos patrones. 4) No hay mejor profesor de IA que la misma IA. 5) Si quieres aprender de verdad, tienes que poner las manos en el fuego y construir algo real. 6) Las bases de desarrollo de software son cada vez más importantes, relevantes y fáciles de implementar.

Si llevas tiempo sintiéndote atrás, mi única recomendación: pon las manos en el fuego y construye algo de verdad. No para hacerlo como yo, sino para encontrar tu propia forma.

Estaré escribiendo más entradas sobre mi proceso de aprendizaje y utilización de la IA para mi día a día mientras creo mi propia compañía. No te pierdas el recorrido. Hasta la próxima.

chpmoreno

Suscríbete a chpmoreno para reaccionar

Suscribirse

Comentarios

Aún no hay comentarios. ¡Sé el primero en comentar!

Suscríbete a Chpmoreno para recibir actualizaciones directamente en tu correo