Back to Trabajo y tecnología
Vista de un puesto de trabajo de desarrollo de software con un editor de código mostrando cambios y una lista de control de calidad completada en papel.
Trabajo y tecnología

Cómo validar el código de la IA: 8 principios para desarrolladores en solitario

Errores en base de datos, mocks olvidados y APIs rotas al crear AttractiveWebAI y apps de Shopify. 8 principios prácticos para verificar código generado por IA sin perder el control.

Creciendov1.0VersiónCreado 13 jul 2026Actualizado 13 jul 2026

El espejismo de la interfaz perfecta

Cuando logré compilar por primera vez mi aplicación de membresías para ShopifyShopifyUna plataforma de comercio global que aloja tiendas digitales y físicas, apoyando traducciones localizadas, pagos y aplicaciones personalizadas.Read More → sin ningún error, sentí una euforia inmensa. En el navegador apareció un panel de control impecable. Los botones interactivos respondían al instante y los formularios para asignar puntos funcionaban con total fluidez. Cada clic desencadenaba una transición visual perfecta. Solo me había tomado dos días de darle instrucciones en lenguaje natural a un asistente de programación con IA. A ese ritmo, calculé que podría publicar la aplicación en la tienda de ShopifyShopifyUna plataforma de comercio global que aloja tiendas digitales y físicas, apoyando traducciones localizadas, pagos y aplicaciones personalizadas.Read More → la semana siguiente.

La emoción desapareció en cuanto intenté realizar una transacción real. Usando una cuenta de prueba para simular una compra y acumular puntos, la aplicación no hizo absolutamente nada. Al revisar el código fuente, me topé con una realidad decepcionante: todos los datos del panel eran mocks (datos simulados) que la IA había introducido directamente en los componentes. Las integraciones con la API de pagos, los webhooks y los activadores de descuentos no existían. No se había escrito ni una sola línea de lógica real en el backend. Era una fachada hermosa, pero vacía.

No soy ingeniero de software de profesión. Trabajo como Product Manager (PM) y, en mi tiempo libre, actúo como creador independiente, lanzando proyectos con la ayuda de agentes de IA como Gemini, Claude y Codex. En el último año he desarrollado AttractiveWebAI (un SaaS de analítica web), complementos para tiendas de ShopifyShopifyUna plataforma de comercio global que aloja tiendas digitales y físicas, apoyando traducciones localizadas, pagos y aplicaciones personalizadas.Read More → y una utilidad de gestión de ventanas para macOS.

Al principio, la velocidad me tenía deslumbrado. Describía una funcionalidad y en segundos obtenía cientos de líneas de código. Pero a medida que los proyectos crecían y los sistemas se conectaban, los cabos sueltos ocultos bajo la superficie empezaron a pasar factura al mismo tiempo.


10 maneras en que la IA rompió mis proyectos

Mi registro de desarrollo está lleno de fallos específicos y dolorosos que las herramientas de compilación pasaron por alto:

  1. La base de datos fantasma: La interfaz mostraba un mensaje de "Guardado con éxito", pero los datos nunca llegaban a Supabase; vivían y morían en la memoria temporal del cliente.
  2. API desconectadas: Formularios y botones maquetados de forma impecable, pero sin las funciones de comunicación con los endpoints del backend.
  3. Mocks olvidados en producción: Datos de prueba y respuestas simuladas que se quedaron activos en el servidor de producción.
  4. Duplicación de lógica: La IA, al no tener la estructura completa en mente, creaba funciones auxiliares repetidas con nombres ligeramente distintos, llenando el repositorio de código innecesario.
  5. Errores de regresión: Arreglar un pequeño detalle visual en una sección rompía de manera silenciosa la gestión del estado global en una ruta completamente diferente.
  6. La trampa del build exitoso: La aplicación compilaba sin errores en la terminal, pero al abrirla en el navegador mostraba una pantalla en blanco debido a un caso límite no controlado.
  7. Código incompleto: El asistente aseguraba haber terminado la tarea, pero al revisar el archivo, la lógica de negocio estaba sustituida por un comentario: // TODO: Implementar lógica de facturación real.
  8. Esquemas de base de datos ausentes: Al cambiar de una base de datos de pruebas a la de producción, actualicé las variables de entorno, pero olvidé migrar las tablas de SQL, relaciones e índices.
  9. Lógica de negocio omitida: La interfaz de la app de ShopifyShopifyUna plataforma de comercio global que aloja tiendas digitales y físicas, apoyando traducciones localizadas, pagos y aplicaciones personalizadas.Read More → estaba lista, pero los procesos críticos de la API de cobros y webhooks no estaban enlazados.
  10. Permisos de sistema ignorados: En la herramienta para macOS, la configuración mostraba los permisos de accesibilidad activos, pero el código en ejecución no detectaba la autorización del sistema operativo.

Resolver estos problemas me enseñó una lección fundamental: el verdadero cuello de botella al programar con IA no es escribir el código. Es el proceso humano de verificación: demostrar que un cambio realmente funciona y es seguro. Si no aplicas esta disciplina, tu código se convierte en un pantano imposible de mantener.

Aquí están las 8 reglas de verificación que utilizo para proteger la calidad de mis desarrollos.


Regla 1: Define los criterios de aceptación antes de preguntar

Pedirle a una IA que "cree una pantalla de registro" es una invitación a que tome atajos. En su lugar, incluyo en el prompt una lista de criterios de aceptación detallada:

[Criterios de Aceptación]
1. El usuario debe poder registrarse con su cuenta de Google OAuth.
2. La sesión debe mantenerse activa al recargar la página o reiniciar el navegador.
3. Al hacer clic en \"Cerrar sesión\", el token debe eliminarse y redirigir a la página de inicio.
4. Las llamadas no autorizadas a endpoints privados deben devolver un estado 401 Unauthorized.
5. Las políticas RLS de la base de datos deben limitar el acceso a la información solo al dueño de la sesión.
6. Ningún token o credencial sensible debe imprimirse en la consola del navegador.

Al marcar límites claros, la IA escribe código de validación y gestión de errores desde el primer intento.

Regla 2: Desconfía siempre del estado "Terminado"

Cuando la IA afirma que una funcionalidad está completa, es cuando más debes dudar. Siempre respondo exigiendo un desglose detallado:

  • Lista de todos los archivos modificados o creados.
  • Cambios específicos en cada archivo y la razón técnica detrás de ellos.
  • Indicación de cualquier dato simulado (mock) o marcador que se haya quedado en el código.
  • Ubicación de comentarios TODO o sentencias console.log.
  • Limitaciones o casos extremos que no se hayan cubierto.

Hacer que la IA explique su trabajo revela con frecuencia soluciones a medias y la obliga a reescribir bloques que había dejado pendientes.

Regla 3: Separa el éxito de compilación del éxito funcional

Que el proyecto compile sin errores es solo el punto de partida. Una vez finalizado el build, hago una validación manual rigurosa:

  • Prueba de persistencia: Introduce información, guarda, recarga la pestaña del navegador y confirma que los datos se lean correctamente desde la base de datos real.
  • Prueba de estrés: Envía formularios vacíos, haz clic repetidamente en los botones de acción y escribe caracteres no válidos para comprobar la robustez.
  • Prueba de accesos: Cierra la sesión e intenta ingresar directamente a las rutas del panel de control para comprobar que no se filtre información.
  • Auditoría de consola: Mantén abierta la consola de desarrollador durante las pruebas para detectar advertencias silenciosas o errores de red.

Regla 4: Reduce el alcance de cada solicitud

Pedir "un panel de control completo con gráficos y métricas en tiempo real" suele terminar en código desordenado y partes incompletas. Prefiero avanzar en tareas pequeñas y secuenciales:

  1. Diseñar el esquema de base de datos e implementar las tablas.
  2. Crear y probar los endpoints de la API de forma independiente.
  3. Construir la interfaz de usuario con datos estáticos.
  4. Conectar los endpoints de la API real a la interfaz de usuario.
  5. Añadir componentes de control de errores para gestionar caídas de red.
  6. Validar el funcionamiento en staging y refactorizar.

Regla 5: Usa una IA para escribir y otra diferente para revisar

El mismo hilo de chat que generó el código suele tener un sesgo cognitivo hacia sus propias respuestas y pasará por alto los errores de lógica.

Para solucionarlo, copio el código generado, abro una conversación completamente nueva (o uso un modelo de IA diferente) y le asigno un rol crítico:

"Eres un ingeniero de sistemas sénior y un especialista en control de calidad muy exigente. Revisa este código en busca de posibles fallos de seguridad, excepciones no controladas, problemas de rendimiento y lógica ineficiente. Sé estricto."

Este método me ha permitido detectar fugas de conexiones a bases de datos y fallos de seguridad críticos antes de que llegaran a producción.

Regla 6: Gestiona el estado del desarrollo en una matriz detallada

Decir que una sección está "lista" es demasiado ambiguo. Como desarrollador en solitario, necesito claridad absoluta. Mantengo una matriz de estados para cada funcionalidad:

  • No iniciado: Planificado, sin código escrito.
  • Solo Interfaz: Componentes visuales maquetados, sin conexión con el backend.
  • Simulado (Mock): Elementos interactivos operando con datos estáticos locales.
  • API Conectada: Comunicación funcional con los servicios del servidor.
  • DB Persistida: Escritura y lectura correctas en la base de datos real.
  • Validado en QA: Pruebas de errores y casos límite superadas.
  • Validado en Prod: Comprobado y en funcionamiento en el servidor real.

Esta matriz evita que dé por terminado un proyecto solo porque la interfaz se ve bonita.

Regla 7: Exige un análisis del contexto antes de modificar el código

Si le pides a una IA que cambie un archivo directamente, creará parches que ignorarán las decisiones de diseño previas. Primero pídele que analice el entorno:

"Quiero modificar este archivo. Antes de escribir código, analiza los patrones de diseño existentes, el flujo de datos y cómo interactúa con otras partes de la aplicación. Identifica qué funciones se verán afectadas."

Solo cuando el asistente ha mapeado correctamente las relaciones, le permito proponer los cambios en el código.

Regla 8: Registra la deuda técnica de forma visible

A veces es inevitable tomar atajos para cumplir con una fecha límite. Lo peligroso es olvidar dónde dejamos esos parches. Mantengo un archivo llamado tech-debt.md en la raíz de mis proyectos:

## Deuda Técnica Activa

* [AttractiveWebAI] El gráfico principal usa datos simulados (conectar la API real antes del lanzamiento oficial).
* [ShopifyShopifyUna plataforma de comercio global que aloja tiendas digitales y físicas, apoyando traducciones localizadas, pagos y aplicaciones personalizadas.Read More → App] Falta validación de firma en el webhook de cobros (riesgo de seguridad alto; corregir antes de enviar a revisión).
* [macOS Utility] Tiempo de espera para verificar permisos en disco hardcoded a 3 segundos (cambiar por un detector de eventos del sistema).

Tener esta lista visible asegura que la siguiente sesión de desarrollo comience con prioridades claras.


Hacia un producto de calidad real

El desarrollo asistido por IA da la sensación de que programar es una tarea ligera. Ver cómo aparecen cientos de líneas de código a partir de frases sencillas genera un falso sentimiento de control.

Sin embargo, el éxito de un software no se mide por la cantidad de líneas que genera, sino por las excepciones controladas, los casos extremos probados y las simulaciones eliminadas. Un software construido sobre supuestos de IA sin revisar se desmorona en cuanto el primer usuario real interactúa con él.

La IA es una asistente excelente y escribe a una velocidad increíble. Pero la tarea de definir qué es correcto y asegurar la calidad sigue estando en manos del ser humano. Revisar los registros, analizar la base de datos y leer el código sigue siendo la verdadera esencia de la ingeniería de software.

Historial de Revisiones

v1.0

Eight verification principles from Shopify and AttractiveWebAI builds.

  • Published AI code quality checklist

Relaciones de conocimiento

Evolución de ideas

Referencia
  • how-i-built-three-products-faster-with-ai

Pregunta a DailySay

Related Posts

Continuar Leyendo

Cómo crear un producto solo con IA: de la idea al lanzamiento
Trabajo y tecnología11 min

Cómo crear un producto solo con IA: de la idea al lanzamiento

Un proceso práctico para usar IA en investigación, planificación, desarrollo, pruebas y lanzamiento sin delegar el criterio ni la responsabilidad del producto.

Leer Artículo

Notas que vale la pena guardar.

Actualizaciones ocasionales sobre gestión de proyectos, IA, productos, viajes y las cosas que estoy construyendo.

Sin spam — solo notas ocasionales. Consulta nuestra Privacidad.