PostHog가 인공지능(AI) 코딩 도구 클로드(Claude)를 이용해 기존 C++ 기반의 SQL 파서를 러스트(Rust)로 재작성하여 성능을 획기적으로 개선했습니다. 이 프로젝트는 수개월이 걸릴 수 있는 고성능 파서 개발을 단 며칠 만에 완료했으며, 노트북 환경에서 약 70배, 실제 프로덕션 환경에서는 평균 454배의 속도 향상을 기록했습니다. 이는 LLM(대규모 언어모델)이 복잡한 시스템 개발에 어떻게 활용될 수 있는지 보여주는 중요한 사례입니다.
PostHog는 사용자가 SQL로 데이터에 직접 접근할 수 있도록 입력 SQL을 클릭하우스(ClickHouse) SQL로 변환하는 과정에서 파서가 필요합니다. 기존에는 오픈소스 파서 생성기인 ANTLR 기반의 C++ 파서를 사용했지만, ANTLR의 범용적인 그래프 순회 방식은 성능 한계가 있었습니다. PostHog는 클로드 코드(Claude Code) 세션을 통해 예측형 재귀 하강 파서와 프랫(Pratt) 표현식 코어를 중심으로 하는 러스트 파서를 구축했습니다. 이 과정에서 클로드는 16K줄의 파서 코드와 5K줄의 도구, 수천 줄의 테스트 코드를 생성했으며, 속성 기반 테스트(PBT)와 실제 쿼리 로그를 활용하여 기존 C++ 파서와의 동등성을 검증했습니다. 특히, 프로덕션 섀도 모드에서 수백만 번의 파싱 결과가 기존 파서와 한 번도 다르지 않아 몇 시간 만에 트래픽을 전환할 수 있었습니다.
이번 사례는 파서 생성기가 문법과 기준 구현을 제공하고, LLM이 퍼징(fuzzing)을 통해 동등성을 검증하는 새로운 개발 패러다임의 가능성을 제시합니다. 이는 전문 지식이 필요한 고성능 파서 개발 기간을 획기적으로 단축시킬 수 있으며, 앞으로는 ANTLR과 같은 파서 생성기가 기준 구현을 제공하고 LLM이 PBT와 퍼징으로 동등성을 맞추면서 더 빠른 직접 구현 파서를 작성하는 방식이 일반화될 수 있음을 시사합니다. 이러한 접근 방식은 복잡한 소프트웨어 컴포넌트 개발에 AI를 효과적으로 통합하여 생산성과 성능을 동시에 향상시키는 길을 열어줄 것입니다.