Код Клода переписывает SQL-парсер PostHog с ускорением в 70 раз – как работают тестирование на основе свойств и параллельные агенты

Инженер PostHog Робби Кумбер использовал несколько длительных параллельных сессий Claude Code для переписывания своего SQL-парсера, добившись ускорения примерно в 70 раз по сравнению с существующим ANTLR-парсером на C++. Новый парсер содержит 16 тысяч строк вручную написанного кода на Rust, а также 5 тысяч строк инструментов и тестов.
Зачем переписывать?
PostHog транслирует пользовательский SQL в сырой ClickHouse SQL для логических представлений данных и оптимизаций. Парсер преобразует SQL в AST для последующего контроля доступа и оптимизации. Старый ANTLR-парсер использовал универсальный интерпретатор обхода графа (ATN — NFA со стеком) с произвольным динамическим просмотром вперед, что было медленно, несмотря на реализацию на C++. Собственные рекурсивные парсеры с нисходящим разбором по умолчанию быстрее.
Подход: параллельные сессии агентов + оракул TDD
- Тестировались два подхода параллельно: один, ориентированный на производительность (рекурсивный спуск с синтаксическим анализом Пратта), другой — на корректность (имитация поведения ANTLR с явным кодом). Оба сработали одинаково хорошо.
- Существующий C++-парсер использовался как оракул для выявления расхождений — находились SQL-запросы, где парсеры различались, новый парсер исправлялся, и процесс повторялся.
- Property-based тестирование генерировало бесчисленные вариации SQL, включая тест на
SELECT SELECT FROM FROM WHERE WHERE AND AND(допустимый SQL). - Новый парсер согласуется с оракулом для всех реалистичных запросов; различия возникают только для патологических запросов.
Результаты
Ускорение в 70 раз при парсинге. Итоговый парсер использует рекурсивный спуск с просмотром вперед и возвратами только там, где это необходимо. Кумбер отмечает, что без ИИ написание и поддержка такого собственного парсера заняли бы месяцы и, вероятно, не оправдали бы усилий. С Claude Code это стало возможным.
Ключевой вывод
Этот пример показывает, что параллельные сессии ИИ-кодирования в сочетании с property-based тестированием и оракулом для разработки через тестирование могут радикально улучшить производительность критического кода. Метод — использование агентов для переписывания ключевой инфраструктуры с опорой на автоматическое обнаружение расхождений — применим и для других проектов.
📖 Источник: HN AI Agents
👀 Смотрите также

Engram v1.0.0: Постоянная память для локальных LLM через граф знаний
Engram — это единый бинарный файл, который обеспечивает постоянную память для локальных LLM через систему графа знаний. Он включает MCP-сервер для интеграции с Claude Code, Cursor и Windsurf, хранит все данные в одном файле .brain и работает полностью офлайн.

Mímir: Система памяти на Python, основанная на 21 механизме нейронауки
Mímir — это система памяти на Python для ИИ-агентов, реализующая 21 механизм когнитивной науки, такие как флэшбэк-память и забывание, вызванное извлечением. Она использует гибридный индекс BM25 + семантический + датированный и демонстрирует улучшения в тестах, включая на 13% более высокую точность инструментов на Mem2ActBench по сравнению с VividnessMem.

Mneme: Предварительный хук, блокирующий правки кода Claude, нарушающие архитектурные решения
Mneme — это PreToolUse-хук для Claude Code, который проверяет каждое действие Edit/Write/MultiEdit по локальному файлу решений перед записью на диск, блокируя нарушения без ручного вмешательства.

Марми: Самостоятельно размещаемое мобильное приложение для управления несколькими сессиями ИИ-агентов программирования
Marmy — это инструмент с открытым исходным кодом и возможностью самостоятельного хостинга, созданный на основе Claude Code, который позволяет управлять несколькими сессиями ИИ-агентов для программирования прямо с телефона. Он включает в себя агент на Rust для ваших машин, приложение для iOS, просмотр файлов с подсветкой синтаксиса, push-уведомления и архитектуру «менеджер-агент».