목록 보기
AI가 쓴 SQL을 안전하게 쓰는 법
AI

AI가 쓴 SQL을 안전하게 쓰는 법

아임웹
아임웹
2026년 6월 22일

두줄요약

자연어를 SQL로 바꾸는 과정에서 LLM이 만든 쿼리를 그대로 믿지 않고 여러 단계로 검증하는 구조를 소개했습니다. 도메인 지식은 DB에 담고, 실행 전후 게이트와 회귀 평가로 안전성과 품질을 지켰습니다.

문제 상황

  • 판매자가 자연어로 매출·고객·상품 데이터를 묻지만, SQL 작성은 데이터 담당자에게 의존하는 구조
  • 자연어를 SQL로 바꾸는 과정에서 테이블·집계·조건절까지 LLM이 통째로 생성하며, 잘못된 쿼리와 안전성 문제가 발생

원인 분석

  • SQL 보안의 입력값 파라미터화 전제가 자연어 질의에서는 깨져 쿼리 전체를 검증해야 하는 상황
  • 스키마만으로는 순매출 같은 도메인 정의를 알 수 없어, 모델이 그럴듯하지만 틀린 컬럼·지표를 생성
  • 비결정적인 LLM 출력과 조용히 틀리는 정상 쿼리까지 함께 다뤄야 하는 구조적 문제

해결 방법

  • 판단하는 두뇌와 실행하는 도구함을 분리하고, 테넌트 격리·허용 테이블·SQL 검증을 데이터 앞단에 집중
  • 도메인 지식을 PostgreSQL + pgvector 기반 백과사전 테이블에 저장하고, 고정 규칙과 벡터 검색으로 주입
  • AST 파싱, 존재성 검사, 정책 검사, 출력 가드, 자가 수정 루프, 골든셋 회귀 평가로 실행 전후를 다중 검증

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...