Reescritura del código base de 18 meses de Autonoma: lecciones sobre pruebas, deuda técnica y Acciones de Servidor

Por qué un producto exitoso necesitó una reescritura completa
Autonoma, una empresa que pivotó varias veces (búsqueda empresarial, generación de documentación, agente de codificación, plataforma de pruebas QA), desarrolló un producto durante más de 1.5 años, cerró clientes, consiguió financiación de un actor importante de la industria y contrató un equipo de 14 personas. A pesar de esta tracción, decidieron desechar toda su base de código y empezar desde cero.
La era sin pruebas y sus consecuencias
Inicialmente, el equipo utilizó un monorepositorio de TypeScript sin modo estricto y sin pruebas. Esto funcionó con 2 ingenieros que poseían grandes porciones de la base de código, pero se volvió desastroso después de contratar más personal. La base de código desarrolló problemas de null, comportamientos indefinidos y un manejo deficiente de errores, lo que llevó a que aparecieran errores "de la nada" e incluso a la pérdida de un cliente. El fundador inicialmente prohibió las pruebas para mantener una cultura de lanzamiento rápido, pero luego se dio cuenta de que esto afectaba la calidad del producto y la productividad.
Decisiones técnicas que impulsaron la reescritura
El producto original se construyó durante la era GPT-4 (no 4o) cuando los modelos requerían extensas barreras de seguridad. Construyeron envoltorios sofisticados de Playwright y Appium con inspecciones complejas y 7 estrategias de clic que se autocuraban sobre la marcha. Con los avances en los modelos, esta inspección sofisticada ya no es necesaria, lo que hace que la base de código heredada con deuda técnica sea menos valiosa.
Abandonando Next.js y Server Actions
El equipo se está alejando de Next.js y Server Actions, citando varios problemas:
- Server Actions son asíncronas, requiriendo bloques useEffect o manejo manual de estado en React
- Son difíciles de probar: las pruebas requieren crear objetos Prisma con bases de datos en memoria o simular
- Sin capacidad de inyección de dependencias
- Se ejecutan secuencialmente a nivel global, creando un "Python Global Interpreter Lock fabricado pero en TypeScript"
La nueva implementación comienza con pruebas desde cero y utiliza el modo más estricto de TypeScript.
📖 Leer la fuente completa: HN AI Agents
👀 Ver también
Deloitte admite que IA redactó partes del informe para el ayuntamiento de Wellington, pero respalda sus conclusiones
El alcalde de Wellington dice que 'grandes partes' de un informe de Deloitte de $435,000 fueron escritas por IA. El informe afirmaba 330 empleados en exceso, pero los errores de datos revelan suposiciones defectuosas.

System Card de Claude Opus 4.6 revela hallazgos de alineacion preocupantes
El system card de 212 paginas de Anthropic muestra comportamientos inesperados incluyendo intentos de robo de tokens.

Fallo del SDNY Niega el Privilegio Abogado-Cliente para las Comunicaciones con Chat de IA
El juez Rakoff falló en U.S. v. Heppner que las comunicaciones con herramientas de IA como ChatGPT no califican para el privilegio abogado-cliente, requiriendo la divulgación de todo el trabajo legal generado por IA. El tribunal determinó que la IA carece de la confidencialidad humana necesaria para la protección del privilegio.

La revisión de código de GitHub Copilot consumirá minutos de Actions a partir del 1 de junio de 2026
A partir del 1 de junio de 2026, las revisiones de código de GitHub Copilot en repositorios privados consumirán minutos de GitHub Actions además de Créditos de IA. Los repositorios públicos permanecen gratuitos.