Claude Code, PostHog의 SQL 파서를 70배 속도 향상으로 재작성 – 속성 기반 테스트와 병렬 에이전트의 작동 방식

✍️ OpenClawRadar📅 게시일: June 25, 2026🔗 Source
Claude Code, PostHog의 SQL 파서를 70배 속도 향상으로 재작성 – 속성 기반 테스트와 병렬 에이전트의 작동 방식
Ad

PostHog 엔지니어 Robbie Coomber는 여러 장기 실행 Claude Code 세션을 병렬로 사용하여 SQL 파서를 재작성, 기존 ANTLR 생성 C++ 파서 대비 약 70배의 속도 향상을 달성했습니다. 새로운 파서는 16K 라인의 수제 Rust 코드와 5K 라인의 도구 및 테스트로 구성됩니다.

왜 재작성했나?

PostHog는 사용자 SQL을 ClickHouse SQL로 트랜스파일하여 논리적 데이터 뷰와 최적화를 제공합니다. 파서는 SQL을 AST로 변환하여 다운스트림 접근 제어 및 최적화에 사용합니다. 기존 ANTLR 생성 파서는 일반적인 그래프 워킹 인터프리터(ATN — 스택이 있는 NFA)를 임의의 동적 선행 검사와 함께 사용했으며, C++로 작성되었음에도 느렸습니다. 수제 재귀 하강 파서는 본질적으로 더 빠릅니다.

접근 방식: 병렬 에이전트 세션 + 오라클 TDD

  • 두 가지 접근 방식을 병렬로 테스트: 하나는 성능(Pratt 표현식 파싱을 사용한 재귀 하강), 다른 하나는 정확성(ANTLR의 동작을 명시적 코드로 모방)에 초점. 둘 다 동등하게 잘 작동했습니다.
  • 기존 C++ 파서를 오라클로 사용하여 불일치를 생성 — 파서 간 차이가 있는 SQL을 찾고, 새 파서를 수정하고, 반복.
  • 속성 기반 테스트로 수많은 SQL 변형을 생성했으며, SELECT SELECT FROM FROM WHERE WHERE AND AND (유효한 SQL) 테스트도 포함.
  • 새 파서는 모든 실제 쿼리에 대해 오라클과 일치; 차이는 병리적 쿼리에서만 발생.

결과

파싱 속도 70배 향상. 최종 파서는 필요한 경우에만 선행 검사 및 역추적을 사용하는 재귀 하강 설계입니다. Coomber는 AI 없이는 이러한 수제 파서를 작성하고 유지하는 데 몇 달이 걸리며 노력할 가치가 없었을 것이라고 언급합니다. Claude Code를 통해 실용적이 되었습니다.

주요 시사점

이 사례 연구는 병렬 AI 코딩 세션과 속성 기반 테스트 및 오라클을 사용한 테스트 주도 개발이 성능이 중요한 코드를 극적으로 개선할 수 있음을 보여줍니다. 에이전트를 사용하여 핵심 인프라를 재작성하고 자동화된 불일치 감지에 의존하는 이 기법은 다른 프로젝트에도 재사용 가능합니다.

📖 전체 소스 읽기: HN AI Agents

Ad

👀 See Also

데이터베이스 PostgreSQL 백업 도구에 Anthropic 오픈소스 지원 추가
Tools

데이터베이스 PostgreSQL 백업 도구에 Anthropic 오픈소스 지원 추가

Anthropic은 Claude for Open Source 프로그램을 통해 오픈소스 데이터베이스 백업 도구 Databasus를 인정하며, 유지관리자들에게 Claude Max 무료 접근권을 제공했습니다. 이 도구는 PostgreSQL, MySQL, MariaDB, MongoDB를 지원하며 예약 백업, 70개 이상의 저장소 대상, AES-256-GCM 암호화 기능을 갖추고 있습니다.

OpenClawRadar
LLM 비용 프로파일러: API 지출을 추적하여 로컬 모델 도입 근거를 마련하는 오픈소스 도구
Tools

LLM 비용 프로파일러: API 지출을 추적하여 로컬 모델 도입 근거를 마련하는 오픈소스 도구

LLM 비용 프로파일러는 OpenAI/Anthropic에 대한 모든 API 호출을 추적하여 정확히 어디에 얼마를 지출하고 있는지 보여주는 파이썬 도구입니다. 이 도구는 복잡도 대비 과도하게 비싼 작업을 드러내며, 로컬 모델로 전환을 정당화할 구체적인 금액을 제공합니다.

OpenClawRadar
Detrix MCP 서버, AI 코딩 에이전트에 런타임 디버깅 기능 추가
Tools

Detrix MCP 서버, AI 코딩 에이전트에 런타임 디버깅 기능 추가

Detrix는 무료 오픈소스 MCP 서버로, MCP 호환 에이전트가 재시작이나 코드 변경 없이 실행 중인 코드의 실시간 변수를 관찰할 수 있게 합니다. 로컬 또는 Docker에서 실행되는 Python, Go, Rust 애플리케이션을 지원합니다.

OpenClawRadar
soul.py는 간단한 파일 기반 접근 방식으로 로컬 LLM에 영구 메모리를 추가합니다.
Tools

soul.py는 간단한 파일 기반 접근 방식으로 로컬 LLM에 영구 메모리를 추가합니다.

soul.py는 두 개의 마크다운 파일을 사용하여 신원 정보와 대화 기록을 저장함으로써 Ollama, OpenAI, Anthropic 모델과 함께 작동하며 데이터베이스나 서버가 필요 없는 LLM에 지속적인 메모리를 추가하는 Python 라이브러리입니다.

OpenClawRadar