논문 리뷰 · 2026년 10월 20일
반복 자기 수정을 활용한 NL2SQL
NL2SQL with Iterative Self-Refinement
보험 도메인용 멀티 에이전트 NL2SQL 파이프라인에 구문 오류 수정과 SQL→자연어 역변환 검증을 넣어, 60개 질의에서 약 90% 정확도를 얻었다.
문제
보험사는 오래 쌓인 데이터를 관계형 DB에 보관하지만, SQL을 모르는 실무자는 직접 조회하기 어렵다. LLM으로 자연어를 SQL로 바꾸면 없는 테이블이나 컬럼을 지어내거나(환각), 문법이 틀리거나, 의도와 다른 질의를 만드는 문제가 있다.
방법
고객·보험계약·청구·설계사·청약의 5개 테이블로 합성 보험 DB를 만들고, KPI 공식 사전과 의미 설명·통계를 담은 스키마 사전을 프롬프트에 넣었다. 파이프라인은 다섯 단계다. (1) CoT 기반 도메인 관련성 판별, (2) 쓸 테이블·컬럼·KPI 공식과 단계별 계획을 담은 지식 생성, (3) SQL 생성, (4) sqlite 실행 오류를 받아 고치는 구문 수정 루프, (5) SQL을 자연어로 다시 풀어 원래 질문과 LLM-as-a-Judge로 비교하는 의미 검증. 이 과정을 반복해 질의를 다듬는다. 모델은 mistral-large-2411을 썼다.
결과
- 저자들은 HuggingFace 합성 text-to-SQL 데이터 50개와 직접 만든 KPI 질의 10개, 총 60개에서 약 90% 정확도를 얻었다고 보고했다.
- 단순 조회(Data Retrieval) 과제는 100%, 다단계 집계와 KPI 계산이 필요한 분석·리포팅 과제는 약 85%였다.
- 질의 하나에 평균 7회 LLM 호출, 약 20초 지연이 필요해 직접 프롬프팅보다 느리다.
한계
평가 질의가 60개뿐이고, 합성 DB에서 한 모델(Mistral)로만 실험했다. 직접 프롬프팅이나 기존 방법과의 정량 비교 수치가 본문에 없어서 개선 폭을 확인할 수 없다. 정확도를 어떻게 판정했는지도 자세히 나와 있지 않다. 다른 모델과의 비교는 향후 과제로 남겼다.
의미
사내 DB에 자연어 질의를 붙이려는 실무자에게 참고가 된다. 스키마·KPI 사전 주입, 실행 피드백 기반 수정, 역변환 검증을 조합하는 실용적인 설계와 그에 따른 지연·호출 비용을 보여 준다.
핵심 용어
- NL2SQL
- 자연어 질문을 데이터베이스에서 실행할 수 있는 SQL 질의로 바꾸는 과제다.
- SQL→NL 역변환 검증
- 생성한 SQL을 다시 자연어 설명으로 풀어서 원래 질문과 의미가 같은지 비교해, 실행은 되지만 의도와 다른 질의를 잡아내는 방법이다.
- LLM-as-a-Judge
- LLM에게 두 결과물의 일치 여부나 품질을 판정하게 하는 평가 방식이다.
원문
저자: Anjali Vemula, Akshat Dasula · 게시 2026-10-16 · 라이선스 CC BY 4.0 · 본문 기준 분석
이 리뷰는 AI가 논문을 읽고 작성한 요약이며, 정확한 내용은 원문을 기준으로 확인해 주세요.