Show HN: Sqlsure – deterministic semantic checks for AI-generated SQL
개요
Sqlsure는 AI 생성 SQL 쿼리의 잠재적인 오류를 사전에 감지하고 수정 제안을 제공하는 도구입니다.
주요 내용
* SQL 검증의 필요성: AI가 생성한 SQL 쿼리는 문법적으로 올바르더라도 논리적 오류(예: 데이터 중복 집계, 잘못된 평균 계산)를 포함할 수 있으며, 기존 데이터베이스 시스템이나 린터, LLM 자체 검증으로는 이를 잡아내기 어렵습니다.
* Sqlsure의 기능: Sqlsure는 0.1ms 이내의 짧은 시간 안에 쿼리 실행 전에 결정론적으로 의미론적 오류를 검사합니다.
* 작동 방식:
* 팀에서 이미 선언한 사실(dbt unique tests, relationship tests, 메타 태그 등)을 기반으로 SQL을 평가합니다.
* 새로운 언어나 복잡한 모델 학습 없이, 딕셔너리 조회 방식의 규칙을 사용하므로 입력이 동일하면 항상 동일한 결과가 나옵니다.
* 오류가 발견되면 기계가 실행 가능한 수정 제안을 제공하여 AI 에이전트가 자체 수리를 할 수 있도록 지원합니다 (draft → check → fix → check → execute).
* 구현 방법:
* CI 게이트로 병합 전에 오류를 차단합니다.
* MCP(Model-Centric Processing) 서버를 통해 AI 에이전트가 실행 전에 검사를 통과하도록 합니다.
* SDK 형태로 텍스트-투-SQL 제품이나 에이전트 프레임워크에 통합하여 사용할 수 있습니다.
* 규칙 (v0.1): FANOUT, CHASM, ADDITIVITY, SEMI_ADDITIVE, JOIN_KEY, CROSS_JOIN, WEIGHTED_AVG, UNDECLARED_JOIN, SENSITIVE_COLUMN 등 다양한 유형의 의미론적 오류를 탐지합니다.
* 신뢰 속성:
* 결정론적: 동일한 SQL과 규칙으로는 항상 동일한 결과가 나옵니다.
* 오프라인: 네트워크 호출 없이 작동합니다.
* 데이터 비접근: 쿼리 텍스트만 파싱하며 데이터베이스에 연결하지 않습니다.
* 텔레메트리 없음: 사용자 데이터를 수집하지 않습니다.
* 규칙 소스: dbt 테스트, PK/FK 선언, 라이브 데이터베이스 카탈로그(SQLite PRAGMAs, information_schema), JSON, OSI 및 WrenAI MDL, Cube/Snowflake Semantic Views 등을 통해 규칙을 생성할 수 있습니다.
* 검증: 16/16 규칙 테스트에서 100% 재현율 및 0% 오탐율을 기록했으며, 다양한 실제 프로덕션 레포지토리와 벤치마크에서 검증되었습니다.
시사점
Sqlsure는 AI 기반 데이터 분석 및 SQL 생성 시스템의 신뢰성과 정확성을 크게 향상시키고, 개발 및 운영 프로세스에서 잠재적인 데이터 오류를 사전에 방지하여 신뢰할 수 있는 데이터 기반 의사결정을 지원할 수 있습니다.
댓글
GitHub Discussions