Claude Code réécrit l'analyseur SQL de PostHog pour un gain de vitesse de 70x – Comment le test basé sur les propriétés et les agents parallèles ont fonctionné

L'ingénieur de PostHog Robbie Coomber a utilisé plusieurs sessions Claude Code de longue durée en parallèle pour réécrire son analyseur SQL, obtenant une accélération d'environ 70x par rapport à l'ancien analyseur C++ généré par ANTLR. Le nouvel analyseur est un code Rust de 16 000 lignes écrit à la main, plus 5 000 lignes d'outils et de tests.
Pourquoi réécrire ?
PostHog transcrit le SQL utilisateur en SQL ClickHouse brut pour les vues logiques de données et les optimisations. L'analyseur transforme le SQL en AST pour le contrôle d'accès en aval et l'optimisation. L'ancien analyseur généré par ANTLR utilisait un interpréteur générique de parcours de graphe (un ATN — NFA avec pile) avec une anticipation dynamique arbitraire, ce qui était lent malgré le C++. Les analyseurs écrits à la main avec descente récursive sont intrinsèquement plus rapides.
Approche : sessions agents parallèles + TDD par oracle
- Testé deux approches en parallèle : l'une axée sur la performance (descente récursive avec analyse d'expression Pratt), l'autre sur la correction (imitant le comportement d'ANTLR avec du code explicite). Les deux ont bien fonctionné.
- Utilisé l'ancien analyseur C++ comme oracle pour générer des désaccords — trouver du SQL où les analyseurs différaient, corriger le nouvel analyseur, répéter.
- Les tests basés sur les propriétés ont généré d'innombrables variations SQL, y compris un test pour
SELECT SELECT FROM FROM WHERE WHERE AND AND(SQL valide). - Le nouvel analyseur est en accord avec l'oracle pour toutes les requêtes réalistes ; les différences n'apparaissent que pour des requêtes pathologiques.
Résultats
Accélération de 70x en analyse syntaxique. L'analyseur final est une conception en descente récursive avec anticipation et retour arrière uniquement là où nécessaire. Coomber note que sans IA, écrire et maintenir un tel analyseur manuel prendrait des mois et n'en vaudrait probablement pas la peine. Avec Claude Code, cela est devenu pratique.
Enseignement clé
Cette étude de cas montre que les sessions de codage IA en parallèle, combinées à des tests basés sur les propriétés et un oracle pour le développement piloté par les tests, peuvent améliorer considérablement le code critique pour la performance. La technique — utiliser des agents pour réécrire l'infrastructure centrale tout en s'appuyant sur la détection automatisée des désaccords — est réutilisable pour d'autres projets.
📖 Lire la source complète : HN AI Agents
👀 See Also

Compétence de code Claude open-source diagnostique les obstacles à l'adoption de l'IA
Une compétence Claude Code sous licence MIT analyse où les entreprises rencontrent des difficultés dans l'adoption de l'IA—outillage, culture ou mesure—et élabore des plans sur 90 jours avec des responsables désignés. Basé sur des entretiens avec plus de 100 fondateurs et membres de conseils d'administration.

French: Serveur MCP Local pour Claude Code avec Réduction de 98% des Tokens
Semble est un serveur MCP open source pour Claude Code qui remplace les workflows grep+read, en utilisant les embeddings, BM25 et le reclassement pour réduire l'utilisation des tokens d'environ 98% tout en indexant les dépôts en ~250ms.

Brainstorm MCP Server Permet à Claude de Consulter D'autres LLM pour de Meilleures Réponses
Un développeur a créé un serveur MCP qui permet à Claude Code de consulter d'autres modèles d'IA comme GPT-5.2 et DeepSeek avant de fournir des réponses. Les modèles s'engagent dans des débats en plusieurs tours où ils lisent les réponses des autres, expriment leurs désaccords et affinent leurs positions pour converger vers de meilleures solutions.

Mneme : un client de chat Claude gratuit, local en priorité, avec mémoire persistante
Mneme est un client de chat Claude gratuit, open-source et local d'abord, avec mémoire à plusieurs niveaux, suivi d'entités, résumés quotidiens et prise en charge de Sonnet 4.5 via l'API Anthropic.