Claude CodeがPostHogのSQLパーサーを70倍高速化 – プロパティベーステストと並列エージェントの仕組み

PostHogのエンジニアRobbie Coomberは、複数の長時間実行Claude Codeセッションを並行して使用し、既存のANTLR生成C++パーサーに対して約70倍の高速化を達成しました。新しいパーサーは手書きのRustコード16K行と、ツールおよびテスト用の5K行から構成されています。
なぜ書き換えたのか?
PostHogは、ユーザーのSQLをClickHouse用のSQLに変換し、論理データビューや最適化を実現しています。パーサーはSQLを抽象構文木(AST)に変換し、後段のアクセス制御や最適化で利用します。旧ANTLR生成パーサーは、汎用的なグラフウォーキングインタプリタ(ATN — NFA with a stack)を採用し、任意の動的先読みを行っていたため、C++であるにもかかわらず低速でした。手書きの再帰下降パーサーは本質的に高速です。
アプローチ:並列エージェントセッション+オラクル駆動TDD
- 2つのアプローチを並行してテスト:ひとつはパフォーマンス重視(Pratt式解析を用いた再帰下降)、もうひとつは正確性重視(ANTLRの振る舞いを明示的なコードで模倣)。両方とも同等に機能しました。
- 既存のC++パーサーをオラクルとして使用し、不一致を検出—SQLの入力に対してパーサー間の差異を発見し、新しいパーサーを修正、これを繰り返しました。
- プロパティベースのテストで無数のSQLバリエーションを生成。例えば
SELECT SELECT FROM FROM WHERE WHERE AND AND(有効なSQL)のテストも含まれます。 - 新しいパーサーは現実的なクエリではオラクルと一致し、差異は病的なクエリでのみ発生します。
結果
70倍の高速化を達成。最終的なパーサーは、必要な箇所でのみ先読みとバックトラッキングを行う再帰下降設計です。Coomberは、AIなしではこのような手書きパーサーの作成と保守に数ヶ月を要し、労力に見合わなかっただろうと述べています。Claude Codeによって実用的になりました。
重要な教訓
この事例は、並列AIコーディングセッションとプロパティベースのテスト、オラクル駆動のテスト開発を組み合わせることで、パフォーマンスクリティカルなコードを劇的に改善できることを示しています。エージェントを使用してコアインフラを書き換え、自動化された不一致検出に依存するこの手法は、他のプロジェクトでも再利用可能です。
📖 元記事を読む: HN AI Agents
👀 See Also

LORE.md: AI会話から構造化された知識を抽出するためのオープンスタンダード
LORE.mdは、AI会話から構造化された形式で持続的な知識を抽出するためのオープンスタンダードです。決定事項とその根拠、洞察、パターン、未解決の疑問、次のステップを捉え、すべてがセッション間でリンクします。

スケールズ:Ollamaサポート搭載のデスクトップAIエージェント、300MBのアイドル時RAM
Skalesは、.exe/.dmgインストーラーを備えたネイティブElectronデスクトップアプリで、自律型AIエージェントを提供します。Ollamaと連携してローカル推論を行ったり、クラウドプロバイダーと連携したりでき、約300MBのアイドルRAMを使用し、データはローカルの~/.skales-dataに保存されます。

antirezのDS4:Mac MetalとDGXでDeepSeek V4 Flashを100万コンテクストで実行
Redisの作者Salvatore Sanfilippoが、Mac MetalハードウェアとDGX上で1MコンテキストウィンドウのDeepSeek V4 Flashを実行するプロジェクトDS4を公開しました。エージェンティックコーディングツール向けのOpenAI/Anthropicエンドポイントも備えています。

ClawCallが専用電話番号を取得:エージェントが発信番号を予約可能に
ClawCallは、OpenClawエージェント向けAI電話スキルで、エリアコードで電話番号を予約できるようになりました。エージェントが発信時にデフォルトで使用します。1万ダウンロード、1日300コール。