Hace dos semanas después de desplegar nuestro revisor de código AI personalizado detectó un bug que habría colapsado el procesamiento de pagos. Un pull request de un ingeniero senior parecía impecable: compilaba, pasaba lint, seguía los idioms de Go. Pero la inteligencia artificial identificó un patrón sutil: habíamos convertido una dependencia blanda en una dependencia dura. Si el servicio de configuración fallaba, nuestro servicio principal moría. La reacción del ingeniero fue un simple oh y en ese momento el equipo dejó de ver Archbot como un juguete.
En Q2BSTUDIO, empresa especializada en desarrollo de software a medida, aplicaciones a medida, inteligencia artificial, ciberseguridad y servicios cloud aws y azure, nos enfrentamos a un problema concreto: ejecutamos GitHub Enterprise detrás de una VPN y las herramientas modernas de revisión AI asumen repositorios en la nube. No podíamos enviar código propietario a servicios externos, pero queríamos revisión AI en cada PR, así que la construimos internamente.
Lecciones clave de este proyecto que compartimos para equipos que desarrollan software a medida y soluciones IA para empresas
Por qué un diff de git a secas no sirve El primer intento fue enviar el git diff al modelo con un prompt simple pídeme bugs y enseguida vimos falsos positivos: la AI decía que la variable userRepository era indefinida cuando en realidad estaba importada en la cabecera. El diff solo muestra líneas cambiadas y un poco de contexto; sin definiciones, imports y el scope circundante la AI adivina. Contexto es rey.
Problemas con la API de GitHub y límites de velocidad La siguiente versión intentó descargar archivos completos vía API. Funcionó hasta que un PR tocó 40 archivos y el bot lanzó 40 llamadas secuenciales provocando un 429 Too Many Requests. Era lento y poco fiable; estábamos recreando git clone sobre HTTP de forma ineficiente.
Empaquetando contexto con Repomix La solución fue Repomix que convierte un árbol de repo en un documento con límites claros entre archivos, respetando gitignore e incluyendo metadatos. Repomix es Node.js y Archbot está en Go, y por motivos de concurrencia y despliegue preferimos un binario Go estático. La solución pragmática fue usar una imagen Docker multi stage que compila el binario Go y lo ejecuta en un runtime Node para poder invocar repomix localmente. No fue purista pero funcionó rápido y seguro.
Ganancia de rendimiento Con Repomix clonamos el repo una vez, generamos el paquete localmente y evitamos martillear la API de GitHub. El cuello de botella pasó a ser disco en lugar de red y el cache S3 de los paquetes Repomix absorbió la carga mucho mejor que la API on-prem.
Gestión de la ventana de contexto para repos grandes El empaquetado completo falla con el Monolito con millones de líneas porque excede la ventana de tokens y además sería caro. La alternativa fue replicar cómo revisa un humano: miro el diff, la estructura de directorios y solo abro archivos relevantes. Implementamos una arquitectura en dos fases.
Fase 1 selección inteligente de archivos En vez de enviar el código, enviamos la estructura de directorios y el diff y preguntamos a la AI qué archivos necesita para verificar la corrección. El prompt está diseñado para hacer que el modelo sea selectivo y tenga en cuenta imports, definiciones de interfaces, tests y la lógica relacionada. La AI suele acertar al listar 5 a 10 archivos relevantes.
Respuestas estructuradas con Bedrock Tools Para evitar parseos frágiles forzamos la salida a un esquema JSON usando las capacidades de herramientas de Bedrock. Definimos select_files con un array de rutas y un reasoning. La salida cumple el esquema y se deserializa directamente en estructuras Go, evitando regex y trabajo manual de parsing. Mismo patrón para la fase 2 donde pedimos comentarios de revisión estructurados con severidad y sugerencias inline.
Fase 2 revisión enfocada Con la lista de archivos seleccionados ejecutamos Repomix para empaquetarlos y aplicamos listas de exclusión para quitar ruido como código generado, dependencias vendorizadas, fixtures grandes o binarios. El contexto pasa de 100k tokens a ~5k tokens, baja la tasa de alucinaciones y reduce coste. Un cálculo aproximado muestra pasar de ~0.18 USD por revisión en un enfoque ingenuo a ~0.02 USD por revisión con la arquitectura de dos fases, escalando mucho mejor para equipos que publican PRs a diario.
Patrones de producción En la implementación real es clave añadir timeouts, logging estructurado, límites máximos de archivos seleccionables y manejo robusto de errores para que el sistema no se rompa con PRs masivos o respuestas inesperadas del modelo. También cacheamos la salida de Repomix y usamos builds multi stage para un despliegue sencillo en contenedores distroless conforme a buenas prácticas de ciberseguridad.
Por qué construir en vez de comprar Existen herramientas comerciales potentes pero no encajaban con nuestro entorno por requisitos de infraestructura y residencia de datos. Construir nos dio control para integrar documentación interna, aplicar fitness functions arquitecturales y optimizar costes. Para empresas que necesitan atender cumplimiento y seguridad, una solución dentro del VPC y enlazada a servicios gestionados tiene sentido. En Q2BSTUDIO ofrecemos servicios para integrar IA corporativa y despliegues seguros en la nube, tanto en AWS como Azure, visite nuestra página de servicios cloud para más detalles Servicios cloud AWS y Azure.
El primer salvado Dos semanas tras el despliegue Archbot detectó una implementación de loader de feature flags que, aunque compilaba y pasaba linters, haría que la aplicación fallara si el servicio remoto de configuración parpadeaba. El patrón devolvía error en caso de fallo remoto en vez de usar un fallback seguro. Ese hallazgo convirtió a Archbot en una herramienta respetada en el flujo de revisión.
Impacto en la revisión de código Archbot no reemplaza al ingeniero humano sino que quita la carga cognitiva de buscar errores obvios. Los revisores humanos pasan a centrarse en la intención arquitectónica y en decisiones de diseño. Archbot destaca complejidad, errores mundanos y cobertura de tests, ayudando a priorizar el tiempo experto en preguntas de alto nivel.
Resultados La experiencia global fue contundente: menos alucinaciones, coste controlado, detección de bugs con impacto en producción antes del merge y cero fuga de datos fuera de nuestro entorno controlado. La siguiente fase será implementar fitness functions arquitecturales que codifiquen reglas como no llamadas directas a BD desde handlers o uso obligatorio de circuit breakers en integraciones externas.
En Q2BSTUDIO combinamos experiencia en inteligencia artificial, servicios inteligencia de negocio y ciberseguridad para construir soluciones a medida que incluyen agentes IA, power bi y servicios de automatización. Si buscas integrar IA para empresas o construir revisores de código seguros y personalizados podemos ayudarte, conoce nuestras soluciones de Inteligencia Artificial aquí IA y servicios para empresas.

.jpg)

.jpg)
.jpg)