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

開発者が108のツールを備えたPower Automate MCPサーバーを構築、クロスプラットフォーム対応
ある開発者が、ベンダー提供のソリューションを断り、カスタムのPower Automate MCPサーバーを構築し、ツールを12から108に拡張しました。これにより、ODataを介したDataverseのCRUD操作、Graphを介したSharePoint管理、Power Appsのバージョン管理と権限設定、環境管理(作成、コピー、バックアップ、復元)、そしてWindows、macOS、Linuxのクロスプラットフォームサポートをカバーするようになりました。

オープンソースのセカンドブレインシステム、Claude Codeを基盤としたタスク管理
オープンソースシステム「Kipi System」は、Claude Codeを使用して未解決のスレッドを追跡し、フォローアップを下書きし、カレンダー、メール、CRM、ソーシャルフィードからデータを取得してタスクを管理します。摩擦度(最も簡単なものから順に)でソートされた事前作成済みのアクションを含む日次HTMLファイルを生成します。

ClaudeMeter:リアルタイムClaude使用状況トラッキングのためのオープンソースmacOSメニューバーアプリ
ClaudeMeterは、Claude Maxのサブスクライバー向けの無料でオープンソースのmacOSメニューバーアプリです。ワークフローを中断することなく、セッションと週間の使用率、リセットタイマー、ペースインジケーターを表示します。このアプリ全体は、Swiftコード、Supabaseバックエンド、Edge FunctionsのためにClaude(Claude Code/Opus)を使用して構築されました。

Visual Studio 2022拡張機能がローカルLLM向けにネイティブOllama統合を追加
Visual Studio 2022用の無料拡張機能は、ローカルのOllamaエンドポイントに直接接続し、ツール間の切り替えなしでプライベートなAIコーディング支援を可能にします。DeepSeekやLlama 3などのモデルをサポートし、クラウドフォールバックオプションも備えています。