Cactus kan uw bedrijf helpen voordeel te halen uit AI via “StartAI”, het AI-programma van Agoria en Vlaio

Un experimento honesto en desarrollo asistido por IA, velocidad y escala

 

”Hay un nuevo tipo de programación que llamo ‘vibe coding’, donde te entregas completamente a las vibras, abrazas los exponenciales y te olvidas de que el código siquiera existe.” – Andrej Karpathy

Algo está cambiando en la forma en que construimos software. No son solo nuevas herramientas o frameworks más rápidos, es un cambio en lo que es posible lograr con los mismos recursos. Los equipos se mueven más rápido, piensan de manera diferente y logran un ritmo de producción de software tan rápido que permite a las startups entregar versiones MVP de sus productos a los clientes en semanas, si no en días en algunos casos. Con toda esta velocidad de producción, habrá más espacio para la creatividad, la intuición e incluso la diversión.

Este cambio va a requerir una nueva mentalidad donde el flujo y la velocidad importan tanto como el proceso, donde las mejores ideas a menudo surgen de momentos que no encajan perfectamente en una sesión de planificación de sprint. Esto no es solo una disrupción por la tecnología; es una sacudida más profunda en cómo escribimos código y diseñamos sistemas de software. Y ya está sucediendo, y comenzaremos a ver cómo esta explosión de soluciones más personalizadas y de nicho inunda el mercado pronto.

 

Introducción

Se ha dicho mucho sobre el estado de la programación con IA y el «vibe coding». Incluso YCombinator, el reputado acelerador americano, advierte en este reciente podcast sobre el riesgo de volverse obsoleto si las empresas de software no adoptan el desarrollo asistido por IA.

Pero, ¿de qué se trata todo esto? ¿Y cómo funciona cuando lo ponemos a prueba e intentamos crear una aplicación real utilizándolo? ¿La calidad es solo exageración, o es solo un problema de habilidad de quienes lo critican? Profundicemos y obtengamos una idea de cómo nos fueron las cosas.

 

Our Experimentation

Motivation

Nuestros clientes a menudo se enfrentan a una elección difícil: ¿deberían invertir en una solución personalizada adaptada a sus necesidades exactas, u optar por un producto estándar que cubre la mayoría de los aspectos pero que quizás no resuelva su problema perfectamente? No es solo una decisión técnica, involucra presupuesto, plazos y estrategia comercial. Porque al final del día, el efectivo es el alma de una empresa y toda empresa debe vigilar de cerca tanto los costos como los ingresos. Tomar la decisión correcta significa equilibrar el valor a largo plazo con las limitaciones a corto plazo. Y ahí es donde ayudamos a nuestros clientes.

En un mundo de recursos limitados, plazos ajustados y competencia implacable, la velocidad lo es todo.

Una forma más rápida y fiable de construir software puede ser un cambio radical.
Es por eso que estamos adoptando el desarrollo impulsado por IA para acelerar la creación de prototipos, aumentar la flexibilidad y reducir los gastos generales habituales.

Con la IA, las empresas pueden:

  • Moverse más rápido

  • Probar ideas de manera más eficiente

  • Entregar valor antes

No se trata solo de cambiar cómo programamos. Se trata de transformar cómo las empresas interactúan con los clientes, se adaptan a los comentarios y evolucionan sus productos a gran velocidad.

Así que decidimos poner a prueba las expectativas. Elegimos un proyecto piloto y nos comprometimos a construirlo completamente siguiendo «la vibra», totalmente impulsados por IA, creatividad y ejecución eficiente.

Veamos a dónde nos llevó.

 

Goal of the project

El objetivo de nuestro proyecto era crear una plataforma que permita a los usuarios subir imágenes tomadas desde ubicaciones específicas en playas seleccionadas. Utilizando visión por computadora, la plataforma analiza estas imágenes para proporcionar información valiosa sobre la presencia humana y la distribución de objetos en el área.

Para lograrlo, construimos la aplicación con una pila tecnológica moderna: React con TypeScript para el frontend, FastAPI (Python) para el backend y SQLite3 como base de datos. Todo el sistema está desplegado dentro de un contenedor Docker para garantizar portabilidad y facilidad de implementación.

 

Setup

En nuestro enfoque, exploramos varias herramientas durante el desarrollo, incluyendo Windsurf, Cursor, Lovable y Anthropic. Sin embargo, en este artículo nos centramos específicamente en nuestra experiencia utilizando Cursor y Claude 3.7.

Utilizamos la versión Pro de Cursor, que nos proporcionó suficientes acciones de Agente para llevar a cabo las tareas requeridas para el proyecto.

Desde nuestra experiencia, el código frontend generado en Cursor no cumplió con nuestras expectativas de calidad. Para abordar esto, recurrimos a V0 de Vercel, una herramienta diseñada específicamente para React y TypeScript. V0 nos impresionó con su capacidad para generar diseños dinámicos y bien estructurados desde el principio.

Otro punto destacado de nuestro desarrollo frontend fue la inclusión automática de una opción de modo oscuro, una característica a menudo considerada «agradable de tener» pero típicamente dejada para las etapas finales de un proyecto. En este caso, se integró desde el principio, ahorrándonos tiempo y mejorando la experiencia del usuario.

 

Vibe Coding Scheme

Proceso seguido

Para desarrollar un Documento de Requisitos del Producto (PRD) completo, utilizamos Claude Chat para generar una especificación detallada basada en nuestros objetivos funcionales iniciales. Se esperaba que la aplicación incluyera autenticación de usuarios, capacidad de carga de imágenes, detección de personas mediante análisis de imagen y un panel de administración para mostrar los resultados.

Una vez que el PRD estuvo finalizado y revisado, lo utilizamos como base para el desarrollo y lo importamos a Cursor para guiar la implementación.

Durante nuestras primeras iteraciones con Cursor, cometimos un error común: presentamos un prompt completo y esperábamos que el modelo de lenguaje grande (LLM) manejara toda la base de código con precisión. Si bien el LLM produjo rápidamente una primera versión funcional de la aplicación, surgieron problemas cuando intentamos escalar el proyecto—añadir nuevas funciones o arreglar las que no funcionaban como se esperaba resultó ser un desafío. Esto puso de relieve las limitaciones de depender únicamente del LLM para bases de código complejas o en evolución.

Los Desafíos

Aquí es donde comenzaron a surgir los verdaderos desafíos. Cuando le pedíamos a la herramienta que ajustara o ampliara funciones, la IA a menudo revisitaba y alteraba partes del código que ya estaban resueltas—a veces reintroduciendo errores, duplicando funciones o creando lógica redundante y conflictiva. El resultado era una base de código progresivamente caótica e inconsistente.

Pero, ¿por qué sucede esto? ¿Y hay alguna manera de evitarlo?

La raíz del problema radica en la ventana de contexto de los modelos de lenguaje grandes (LLM) modernos, que suele ser de alrededor de 250,000 tokens. Aunque pueda parecer suficiente, rápidamente se vuelve limitante una vez que la IA tiene que manejar un frontend, un backend y un historial de chat creciente. Una vez que el modelo se queda sin contexto, simplemente «olvida» partes de la base de código. Como dice el refrán, «ojos que no ven, corazón que no siente»—y para la IA, cualquier cosa fuera de su contexto actual podría muy bien no existir en absoluto.

La Solución

El «vibe coding» y los IDE asistidos por IA pueden acelerar significativamente el desarrollo, especialmente cuando se construyen prototipos y MVP.

Sin embargo, el IDE asistido por IA aún no resuelve los desafíos complejos de arquitectura de software. Las perspectivas de expertos humanos siguen siendo esenciales. Un desarrollador de software experimentado debe asegurarse de que cualquier solución sea escalable, segura, eficiente y esté construida siguiendo las mejores prácticas. El panorama está evolucionando rápidamente, y en Cactus, estamos siguiendo muy de cerca estas tendencias.

Nos gusta pensar en nuestro programador asistido por IA como un desarrollador junior sin miedo—aumenta la velocidad, escala nuestros esfuerzos y nos ayuda a entregar más rápido. ¡Y sí, definitivamente hemos decidido subirnos a esta ola!

Nuestra aplicación se implementó con éxito gracias a la supervisión de nuestro equipo de desarrollo senior, que revisó minuciosamente la base de código y solicitó correcciones donde fue necesario—incluso en áreas donde encontramos dificultades, como con Docker. En última instancia, este proyecto se convirtió en una valiosa experiencia de aprendizaje, enseñándonos cómo guiar eficazmente a la IA utilizando las herramientas disponibles hoy en día. ¿La conclusión clave? Es absolutamente posible construir aplicaciones sólidas con IA—siempre que haya humanos con conocimiento involucrados en el proceso.

Se ha dicho mucho sobre que la IA aún no está lista para programar de forma independiente, y eso sigue siendo cierto. Sin embargo, con el enfoque adecuado y una ingeniería reflexiva, la IA puede mejorar drásticamente tu productividad y la calidad de los resultados. Siguiendo un método disciplinado y paso a paso—sí, incluso si es un poco repetitivo—puedes obtener resultados mucho mejores que aquellos que dependen de prompts ad hoc y esperan lo mejor.

Si tienes curiosidad sobre cómo el «vibe coding» puede ayudar a acelerar tu prototipo, validar tu caso de uso o evaluar el potencial del mercado, nos encantaría saber de ti. Ponte en contacto a través de nuestros canales y exploremos cómo el desarrollo asistido por IA puede funcionar para tu equipo.

 

Inconvenientes Aún No Resueltos

Uno de los principales desafíos que enfrentamos involucró trabajar con APIs o herramientas específicas para las cuales el LLM tenía datos de entrenamiento desactualizados—Docker siendo un excelente ejemplo. El modelo generaba con frecuencia configuraciones incorrectas o obsoletas, y después de múltiples intentos fallidos para obtener algo funcional, finalmente tuvimos que reescribir toda la implementación de Docker manualmente.

Esta experiencia resalta una realidad importante sobre el estado actual del «vibe coding» con IA. Trabajar con un LLM a menudo se siente como colaborar con un desarrollador junior entusiasta y sin miedo—ansioso por ayudar, pero carente de la disciplina y cautela de un ingeniero experimentado. Si no se controla, enviará cambios no probados a producción, romperá toda la base de código y hará commit forzado sin dudarlo ni arrepentirse.

Esto hace que el papel de un desarrollador senior sea más crítico que nunca. Si bien la IA puede acelerar el desarrollo, también introduce un nuevo tipo de riesgo: la facilidad de implementar código aparentemente funcional que carece de la validación, seguridad o adhesión a las mejores prácticas adecuadas. Lo que solía ser difícil debido a la falta de conocimiento técnico ahora es engañosamente fácil de construir—y potencialmente peligroso si no se revisa cuidadosamente.

 

Conclusión

Nuestra aplicación se implementó con éxito gracias a la supervisión de nuestro equipo de desarrollo senior, que revisó minuciosamente la base de código y solicitó correcciones donde fue necesario—incluso en áreas donde encontramos dificultades, como con Docker. En última instancia, este proyecto se convirtió en una valiosa experiencia de aprendizaje, enseñándonos cómo guiar eficazmente a la IA utilizando las herramientas disponibles hoy en día. ¿La conclusión clave? Es absolutamente posible construir aplicaciones sólidas con IA—siempre que haya humanos con conocimiento involucrados en el proceso.

Se ha dicho mucho sobre que la IA aún no está lista para programar de forma independiente, y eso sigue siendo cierto. Sin embargo, con el enfoque adecuado y una ingeniería reflexiva, la IA puede mejorar drásticamente tu productividad y la calidad de los resultados. Siguiendo un método disciplinado y paso a paso—sí, incluso si es un poco repetitivo—puedes obtener resultados mucho mejores que aquellos que dependen de prompts ad hoc y esperan lo mejor.

Si tienes curiosidad sobre cómo el «vibe coding» puede ayudar a acelerar tu prototipo, validar tu caso de uso o evaluar el potencial del mercado, nos encantaría saber de ti. Ponte en contacto a través de nuestros canales y exploremos cómo el desarrollo asistido por IA puede funcionar para tu equipo.

Share this page
Dianas picture 2x
If there is a project needing help or even a skill set you are missing, contact us.

Similar Articles

Contact us today to explore how Cactus
can support your digital journey