Su mensaje ha sido enviado.
Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.
El formulario se ha enviado correctamente.
Encontrará más información en su buzón.
Como indican los informes de toda la industria, ahora hay un sector especializado cada vez mayor de ingenieros que se dedican a corregir los errores de código generados por el AI.
El patrón se ha vuelto notablemente consistente. Las empresas recurren a ChatGPT para generar scripts de migración, integraciones o funciones completas, con la esperanza de ahorrar tiempo y reducir costes. Al fin y al cabo, la tecnología parece rápida y accesible.
Entonces los sistemas fallan.
Y nos llaman.
Últimamente, recibimos cada vez más peticiones de este tipo. No para lanzar un nuevo producto, sino para desenmarañar cualquier lío que haya quedado después de que alguien confiara un modelo de lenguaje a su código de producción.
En este punto, está empezando a parecer su propio nicho de la industria. Arreglar los fallos generados por el AI es ahora un servicio facturable. Y en algunos casos, muy caro.
Informe 2024 de GitClear confirma lo que hemos visto con los clientes: Las herramientas de codificación AI aceleran la entrega, pero también alimentan la duplicación, reducen la reutilización e inflan los costes de mantenimiento a largo plazo.
Que quede claro, sin embargo, que no estamos "en contra del AI". Nosotros también lo utilizamos. Y es útil en el contexto adecuado, con los guardarraíles adecuados. Pero lo que me frustra de la excesiva confianza en el AI y sus implicaciones generalizadas -y probablemente a usted también- es el pensamiento mágico. La idea de que un modelo lingüístico puede sustituir al verdadero trabajo de ingeniería.
No se puede. Y como dice el refrán, la prueba está en el pudín. Cuando las empresas pretenden lo contrario, acaban pagando a alguien como nosotros para que lo limpie.
¿Cómo es uno de estos trabajos de limpieza? Esto es lo que los AI-afficionados no te cuentan en cuanto a tiempo perdido y dinero malgastado.
El mensaje suele llegar así:
"Oye, ¿puedes echar un vistazo a un microservicio que hemos construido? Usamos ChatGPT para generar la primera versión. La empujamos a staging, y ahora nuestra cola RabbitMQ está completamente inundada".
Pero aquí está la cosa: los síntomas aparecen mucho más tarde. A veces días después. Y cuando lo hacen, rara vez es obvio que la causa de fondo sea el código generado por AI. Simplemente parece que... algo falla.
Tras una docena de estos casos, empiezan a surgir patrones:
Y por supuesto, cuando todo se derrumba, el AI no te deja un comentario diciendo: "Por cierto, estoy adivinando aquí".
Esa parte corre de tu cuenta.
Este vino de una empresa de tecnología financiera de rápido crecimiento.
Estaban desplegando una nueva versión de su modelo de datos de clientes, dividiendo un gran campo JSONB en Postgres en múltiples tablas normalizadas. Algo bastante estándar. Pero con plazos ajustados y pocas manos, uno de los desarrolladores decidió "acelerar las cosas" pidiendo a ChatGPT que generara un script de migración.
A primera vista tenía buena pinta. El script analizaba el JSON, extraía la información de contacto y la insertaba en un nuevo archivo contactos_usuario
mesa.
Así que lo ejecutaron.
Sin simulacro. Sin copia de seguridad. Directamente a la puesta en escena, que, como resulta, estaba compartiendo datos con la producción a través de una réplica.
Unas horas más tarde, el servicio de atención al cliente empezó a recibir correos electrónicos. Los usuarios no recibían notificaciones de pago. A otros les faltaban números de teléfono en sus perfiles. Fue entonces cuando nos llamaron.
NULL
o claves que faltan dentro de la estructura JSON.SOBRE EL CONFLICTO NO HACER NADA
por lo que cualquier inserción fallida se ignoraba silenciosamente.Ésta procede de una startup de tecnología jurídica que crea una plataforma de gestión de documentos para bufetes de abogados. Una de sus características principales era la integración con un servicio gubernamental de notificaciones electrónicas: una API REST de terceros con OAuth 2.0 y una limitación estricta de la velocidad: 50 solicitudes por minuto, sin excepciones.
En lugar de asignar la integración a un desarrollador de backend experimentado, alguien del equipo decidió hacer un prototipo con ChatGPT. Introdujeron la especificación OpenAPI, pidieron un cliente Python y obtuvieron un script de aspecto limpio con solicita
lógica de reintento mediante tenacidad
y actualización de fichas.
Parecía sólido sobre el papel. Así que lo enviaron.
Esto es lo que ocurrió en realidad:
X-RateLimit-Remaining
o Reintentar después de
cabeceras. Seguía enviando peticiones a ciegas.httpx.AsyncClient
ha implementado un acelerador basado en semáforos, ha añadido un backoff exponencial con jitter y ha gestionado correctamente Reintentar después de
y cabeceras de límite de velocidad.Dos ingenieros, repartidos en dos días y medio. Coste para el cliente: unos $3,900.
El mayor problema es que su principal cliente, un bufete de abogados con expedientes urgentes, perdió dos plazos de presentación ante los tribunales debido a la interrupción. El cliente tuvo que controlar los daños y ofrecer un descuento para mantener la cuenta.
Todo porque un modelo de lenguaje no entendía la diferencia entre "código de trabajo" y "código listo para producción". Y sin más, otra capa de deuda técnica AI se añadió silenciosamente a la pila.
Lo peor es que el código parece correcto. Es sintácticamente limpio. Pasa linters. Incluso podría ser cubierto por una prueba básica. Pero le falta la única cosa que realmente importa: el contexto.
Por eso estos fallos no aparecen de inmediato. Esperan a los despliegues del viernes por la noche, a las ventanas de alto tráfico, a los raros casos límite. Esa es la naturaleza de la deuda técnica AI - es invisible hasta que rompe algo crítico.
Lo que son no bueno es el diseño. O el contexto. O los valores predeterminados seguros.
Por eso hemos creado nuestros flujos de trabajo para tratar los resultados de LLM como sugerencias, no como fuentes de verdad. Esto es lo que ocurre en la práctica:
Bien utilizado, ahorra tiempo. Si se usa a ciegas, es una bomba de relojería.
Deja que te ayuden con el código repetitivo. Que propongan soluciones. Pero no les confíes decisiones críticas. Cualquier código generado por AI debe ser revisado por un ingeniero senior, sin excepciones.
Ya sean etiquetas de confirmación, metadatos o comentarios en el código, dejar claro qué piezas proceden del AI. Esto facilita la posterior auditoría, depuración y comprensión del perfil de riesgo.
Decidan en equipo dónde es aceptable utilizar LLM y dónde no. ¿Boilerplate? Claro. ¿Flujos de autenticación? Tal vez. ¿Sistemas transaccionales? Absolutamente no sin revisión. Explicitar la política y parte de sus normas de ingeniería.
Si dejas que el código generado por AI entre en producción, tienes que asumir que algo se romperá en algún momento. Añade comprobaciones sintéticas. Monitores de límite de velocidad. Seguimiento de dependencias. Hacer visible lo invisibleespecialmente cuando el autor original no es humano.
Los mayores fallos provocados por el AI que hemos visto no provenían de código "malo". Procedían de errores silenciosos -falta de datos, colas rotas, tormentas de reintentos- que pasaban desapercibidos durante horas. Invierta en la observabilidad, la lógica de retroceso y las reversiones. Especialmente si dejas que ChatGPT escriba las migraciones.
En resumen, AI puede ahorrar tiempo a su equipo, pero no puede asumir la responsabilidad.
Sigue siendo un trabajo humano.
Su mensaje ha sido enviado.
Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.
Al registrarse, acepta nuestra Política de privacidadincluyendo el uso de cookies y la transferencia de su información personal.