# Ingeniero de Google sobre los escollos de los agentes de IA en DevTools: Del código espagueti a la refactorización en Rust
El ingeniero de Google Lalit Maganti pasó tres meses y ~250 horas desarrollando syntaqlite, una suite de herramientas para SQLite: parser, formateador, linter y servidor LSP. El primer enfoque con delegación total a Claude llevó a un código ingobernable que tuvo que ser descartado. Cambiar a Rust con IA como autocompletado produjo una versión 0.1 funcional.
Primera iteración: Delegación a la IA y caos en el código
Maganti comenzó con la máxima automatización: Claude diseñó e implementó, mientras el autor actuaba como gerente. En un mes, crearon:
- Parser en C.
- Formateador.
- Interfaz web.
- Más de 500 pruebas.
El resultado funcionaba, pero la revisión reveló problemas:
- Funciones dispersas de forma caótica por los archivos.
- Módulos que crecieron hasta miles de líneas.
- El pipeline para extraer código de las fuentes de SQLite se volvió incomprensible incluso para el autor.
El código se convirtió en «espagueti». Solución: demolición completa y reinicio.
Segunda iteración: Rust, diseño manual, autocompletado con IA
Al cambiar la pila a Rust, Maganti tomó la arquitectura en sus propias manos. Claude se usó para generar código basado en especificaciones precisas con revisiones estrictas.
Prácticas clave:
- Pruebas automatizadas: Un driver verificaba cada consulta SQL contra 1390 pruebas upstream de SQLite, comparando con el parser de syntaqlite.
- Refactorización constante: Cada cambio pasaba por revisión manual.
- Diario: Un diario (~4000 palabras), transcripciones de sesiones, historial de commits.
El núcleo se ensambló en febrero, con la versión 0.1 a mediados de marzo. El proyecto, que había estado madurando durante 8 años, se implementó como un proyecto paralelo.
Escollos de los agentes de IA: De la adicción a la pérdida de control
Maganti compara trabajar con Claude con una máquina tragamonedas:
- «Un prompt más» se prolongaba hasta la noche.
- El cansancio reducía la calidad de los prompts.
- Perder el « feeling » por el codebase lo convirtió en gerente de código ajeno.
La comunicación se rompió: descripciones vagas llevaron a interpretaciones erróneas. La IA destaca a nivel de funciones/clases, pero lucha con la arquitectura, el diseño de API y el contexto del proyecto.
Lecciones clave
- La IA acelera la implementación, pero no reemplaza el diseño: los modelos carecen de «gusto» e historia.
- La delegación total lleva a código ingobernable: la revisión manual es esencial.
- Rust + autocompletado con IA supera a C + agente: la arquitectura es clave.
- Probar contra pruebas upstream es crítico para parsers de SQLite.
- Llevar un diario acelera las iteraciones: publica diarios en lugar de historias de un solo tiro.
Recomendaciones para desarrolladores intermedios/senior
- Usa IA para tareas rutinarias: autocompletado, refactorización de partes pequeñas.
- Mantén el control sobre la arquitectura: los modelos no captan el contexto a largo plazo.
- Implementa pipelines automatizados: compara contra pruebas de referencia (upstream de SQLite).
- Registra sesiones: analiza prompts, commits, errores.
El enfoque de Maganti demuestra: la IA acelera proyectos paralelos, pero exige disciplina. Syntaqlite es un ejemplo de equilibrar humano y agente en herramientas complejas de DevTools.
— Editorial Team
Aún no hay comentarios.