Volver al inicio

Código AI en devtools: lecciones de un ingeniero de Google sobre Claude

El ingeniero de Google Lalit Maganti describió el desarrollo de syntaqlite con Claude Code: la primera iteración en C falló por caos, la segunda en Rust con control manual tuvo éxito. AI es bueno para implementación pero débil en arquitectura. Clave — pruebas y revisión.

250h con Claude: por qué el ingeniero de Google descartó el código AI
Advertisement 728x90

# 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:

Google AdInline article slot
  • 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:

Google AdInline article slot
  • 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.

Google AdInline article slot

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

Advertisement 728x90

Leer después