Claude Code reescribe el analizador SQL de PostHog para lograr una aceleración de 70x – Cómo funcionaron las pruebas basadas en propiedades y los agentes paralelos

El ingeniero de PostHog, Robbie Coomber, utilizó múltiples sesiones de Claude Code de larga duración en paralelo para reescribir su analizador SQL, logrando una aceleración de ~70x respecto al analizador C++ generado por ANTLR. El nuevo analizador tiene 16K líneas de código Rust hecho a mano, más 5K líneas de herramientas y pruebas.
¿Por qué reescribirlo?
PostHog transpila SQL de usuario a SQL raw de ClickHouse para vistas de datos lógicas y optimizaciones. El analizador convierte SQL en un AST para control de acceso y optimización posteriores. El antiguo analizador generado por ANTLR usaba un intérprete genérico de recorrido de grafos (un ATN — NFA con pila) con lookahead dinámico arbitrario, que era lento a pesar de estar en C++. Los analizadores recursivos descendentes hechos a mano son inherentemente más rápidos.
Enfoque: sesiones de agente paralelas + TDD con oráculo
- Se probaron dos enfoques en paralelo: uno centrado en rendimiento (recursivo descendente con análisis de expresiones Pratt), el otro en corrección (imitando el comportamiento de ANTLR con código explícito). Ambos funcionaron igual de bien.
- Se usó el analizador C++ existente como oráculo para generar discrepancias — encontrar SQL donde los analizadores diferían, corregir el nuevo analizador, repetir.
- Las pruebas basadas en propiedades generaron innumerables variaciones de SQL, incluyendo una prueba para
SELECT SELECT FROM FROM WHERE WHERE AND AND(SQL válido). - El nuevo analizador coincide con el oráculo para todas las consultas realistas; las diferencias ocurren solo para consultas patológicas.
Resultados
Aceleración de 70x en el análisis. El analizador final es de diseño recursivo descendente con lookahead y retroceso solo donde es necesario. Coomber señala que sin IA, escribir y mantener un analizador hecho a mano así tomaría meses y probablemente no valdría la pena. Con Claude Code, se volvió práctico.
Conclusión clave
Este caso de estudio muestra que las sesiones de codificación de IA en paralelo, combinadas con pruebas basadas en propiedades y un oráculo para desarrollo basado en pruebas, pueden mejorar drásticamente el código crítico para el rendimiento. La técnica — usar agentes para reescribir infraestructura central mientras se confía en la detección automatizada de discrepancias — es reutilizable para otros proyectos.
📖 Lee la fuente completa: HN AI Agents
👀 Ver también

OpenLobster: Agente de IA Autohospedado en Go con Huella de Memoria de 30MB
OpenLobster es un asistente de IA autohospedado escrito en Go que se ejecuta como un solo binario con un uso de 30 MB de RAM y un arranque en frío de 200 ms. Admite múltiples proveedores de LLM, incluidos Ollama, OpenRouter y cualquier endpoint compatible con OpenAI, con la memoria almacenada en una base de datos de grafos.

Desgarrasado: Scanner de Malware OpenClaw Impulsado por la Comunidad
Declawed es un nuevo escáner de malware SKILL.md de OpenClaw enfocado en detectar inyecciones arbitrarias de comandos, contenido malicioso y robos de información en las habilidades de ClawHub.

Interact MCP: Navegación Web Más Rápida para Claude Code con Chromium Persistente
Interact MCP es una herramienta del Protocolo de Contexto de Modelo que mantiene un navegador Chromium persistente en proceso, reduciendo los tiempos de acción del navegador de 2-5 segundos a 5-50 ms después de la llamada inicial. Cuenta con un sistema de referencias para la interacción con elementos sin selectores CSS e incluye 46 herramientas para la automatización web.

agentcache: Biblioteca de Python para Caché de Prefijos de LLM Multi-Agente
agentcache es una biblioteca de Python que permite a los marcos de trabajo de LLM multiagente compartir prefijos de prompts en caché, logrando tasas de acierto de caché de hasta el 76% y reduciendo el tiempo de inferencia a más de la mitad en pruebas con GPT-4o-mini.