AI

AI EXPO KOREA 2025 참관 후기:RAG와 Text-to-SQL 비교

개(dog)발~개발자 2025. 5. 21. 18:10

최근(2025年 5月 21日) 코엑스에서 열린 '2025 국제인공지능대전(AI EXPO KOREA 2025)'에 다녀왔다. 다양한 최신 AI 기술들을 접할 수 있는 좋은 기회였는데, 그중에서도 유독 나의 시선을 사로잡았던 기술이 바로 'Text-to-SQL(T2S)' 이었다.

특히, 전시회에서 '디피니트(DFINITE)'라는 기업이 선보인 AI 솔루션 'DARVIS'가 인상 깊었다. 이 솔루션은 기업 내 분산된 ERP 데이터부터 일반 문서까지, 사용자가 자연어로 질문하면 이를 SQL 쿼리로 변환해 원하는 정보를 데이터베이스에서 추출해주는 Text-to-SQL 기능을 핵심으로 내세웠다.

사실 요즘 내가 고민중인 '온닫이서비스'에 적용할 기술로 RAG(Retrieval Augmented Generation) 를 주로 고민하고 있었다. 그런데 Text-to-SQL을 접하고 나니, RAG와 비슷하게 사용자의 질문에 답을 찾아준다는 점은 같지만, 그 방식과 활용 데이터, 그리고 결과물에서 분명한 차이가 있다는 것을 느꼈다. 마치 RAG만 생각하며 좁은 시야에 갇혀 있다가, Text-to-SQL이라는 새로운 가능성을 보면서 생각의 폭을 넓힐 수 있게 된 계기가 된 것 같다.

그래서 이번 기회에 RAG와 Text-to-SQL, 이 두 가지 기술이 각각 무엇인지, 어떤 점이 비슷하고 또 다른지, 그리고 어떤 상황에 어떤 기술을 선택하는 것이 좋을지 한번 제대로 비교하고 정리해보고자 한다.

RAG와 Text-to-SQL, 무엇이 다르고 언제 사용할까? 🤔

최근 인공지능 분야에서 주목받는 두 가지 기술, RAG (Retrieval Augmented Generation)Text-to-SQL (T2S) 에 대해 알아보자. 이 둘은 사용자의 질문에 답변을 생성한다는 공통점이 있지만, 작동 방식과 활용 사례에서 뚜렷한 차이를 보인다.

📚 RAG (Retrieval Augmented Generation) 란?

RAG검색 증강 생성의 약자로, 대규모 언어 모델(LLM)이 보다 정확하고 최신의 정보를 바탕으로 답변을 생성하도록 돕는 기술이다. LLM 자체의 내재된 지식만으로는 답변하기 어려운 최신 정보나 특정 도메인에 국한된 질문에 대해, 외부 지식 소스에서 관련 정보를 검색(Retrieval)하고, 이 정보를 LLM에게 제공하여 답변을 생성(Generation)하도록 하는 방식이다.

쉽게 말해, LLM이 오픈북 시험을 치르도록 도와주는 것과 같다. 방대한 책(외부 지식 소스)에서 문제(사용자 질문)와 관련된 내용을 찾아 참고하여 답안(답변)을 작성하는 것이다. 이를 통해 LLM의 환각(Hallucination) 현상을 줄이고, 답변의 신뢰도를 높일 수 있다.

주요 특징:

  • LLM의 지식 한계를 외부 정보 검색으로 보완한다.
  • 답변의 근거를 제시할 수 있어 신뢰성이 향상된다.
  • 최신 정보를 반영한 답변 생성이 가능하다.
  • 다양한 종류의 문서 (텍스트 파일, PDF, 웹페이지 등)를 지식 소스로 활용할 수 있다.

⚙️ Text-to-SQL (T2S) 이란?

Text-to-SQL (T2S) 은 사용자의 자연어 질문을 SQL 쿼리문으로 변환하는 기술이다. 관계형 데이터베이스에 저장된 데이터를 사용자가 전문적인 SQL 지식 없이도 쉽게 검색하고 활용할 수 있도록 돕는다.

예를 들어, "지난 달 가장 많이 팔린 제품은 무엇인가?"라는 질문을 T2S 모델에 입력하면, 해당 질문을 데이터베이스에서 정보를 추출할 수 있는 SELECT product_name FROM sales ORDER BY sales_count DESC LIMIT 1 WHERE sale_date BETWEEN 'YYYY-MM-01' AND 'YYYY-MM-DD'; 와 같은 SQL 쿼리문으로 바꿔준다. 이 쿼리문을 실행하면 원하는 결과를 얻을 수 있다.

주요 특징:

  • 자연어를 SQL 쿼리로 자동 변환한다.
  • 데이터베이스 접근성을 향상시킨다.
  • 정형 데이터 분석 및 리포팅에 유용하다.
  • 데이터베이스 스키마(구조)에 대한 이해가 중요하다.

🤝 RAG와 T2S, 비슷한 점은?

RAG와 T2S는 다음과 같은 유사점을 가진다.

  • 자연어 이해(NLU) 기반: 두 기술 모두 사용자의 자연어 질문 의도를 파악하는 것을 기본으로 한다.
  • 정보 접근성 향상: 사용자가 복잡한 과정 없이 원하는 정보에 더 쉽게 접근하도록 돕는다. RAG는 방대한 문서에서, T2S는 구조화된 데이터베이스에서 정보를 찾아준다.
  • LLM 활용 가능성: 최근에는 두 분야 모두 LLM을 활용하여 성능을 높이는 연구가 활발히 진행되고 있다. 예를 들어, LLM을 사용하여 더 자연스러운 SQL 쿼리를 생성하거나, 검색된 정보를 바탕으로 더 풍부한 답변을 생성할 수 있다.

↔️ RAG와 T2S, 다른 점은?

구분RAG (Retrieval Augmented Generation)Text-to-SQL (T2S)
주요 목표 LLM 답변의 정확성, 신뢰성, 최신성 향상 자연어 질문을 통한 데이터베이스 질의 자동화
입력 자연어 질문 자연어 질문
처리 과정 외부 지식 소스에서 관련 정보 검색 → LLM이 정보 기반으로 답변 생성 자연어 질문을 SQL 쿼리문으로 변환
출력 자연어 답변 (검색된 정보 포함 가능) SQL 쿼리문 (및 이를 실행한 결과)
활용 데이터 비정형 텍스트 데이터 (문서, 웹페이지 등) 정형 데이터 (관계형 데이터베이스)
강점 광범위한 주제, 최신 정보 반영, 환각 감소 정확한 데이터 추출, 데이터 기반 의사결정 지원
고려 사항 검색 품질, LLM의 정보 통합 능력 데이터베이스 스키마 복잡성, SQL 생성 정확도

🎯 어떤 경우에 RAG를, 어떤 경우에 T2S를 써야 할까?

RAG를 사용하는 것이 좋은 경우:

  • 방대한 최신 정보나 특정 분야의 전문 지식에 대한 질문에 답변해야 할 때: 예를 들어, "최근 발표된 양자컴퓨팅 기술의 동향은?", "우리 회사 내부 규정에 따르면 이 경우 휴가 처리는 어떻게 해야 하나?" 와 같은 질문에 적합하다.
  • 답변의 근거를 제시해야 할 때: LLM이 어떤 문서를 참고하여 답변했는지 출처를 밝혀 신뢰도를 높이고 싶을 때 유용하다.
  • LLM의 환각을 줄이고 사실 기반의 답변을 원할 때: 모델이 지어낸 이야기가 아닌, 실제 존재하는 정보를 바탕으로 답변을 생성하고자 할 때 효과적이다.
  • 챗봇, 질의응답 시스템, 콘텐츠 생성 등 다양한 서비스에 활용될 때

T2S를 사용하는 것이 좋은 경우:

  • 데이터베이스에 저장된 특정 데이터를 조회하고 분석해야 할 때: 예를 들어, "지난 분기 서울 지역에서 20대 고객의 평균 구매액은?", "재고가 10개 미만인 상품 목록을 보여줘." 와 같은 질문에 적합하다.
  • SQL을 모르는 사용자가 데이터에 쉽게 접근하도록 돕고 싶을 때: 비즈니스 분석가나 마케터가 직접 데이터를 추출하고 인사이트를 얻고자 할 때 유용하다.
  • 반복적인 데이터 추출 및 리포팅 업무를 자동화하고 싶을 때: 정기적으로 필요한 데이터를 SQL 작성 없이 빠르게 얻고 싶을 때 활용할 수 있다.
  • BI(Business Intelligence) 도구나 데이터 분석 플랫폼에 연동하여 활용될 때

간단히 말해, 다양한 주제의 정보 탐색이나 깊이 있는 설명이 필요하면 RAG를, 데이터베이스에서 특정 수치나 기록을 정확하게 찾아야 하면 T2S를 고려하는 것이 좋다. 

물론 두 기술을 조합하여 더욱 강력한 시스템을 구축하는 것도 가능하다. 예를 들어, RAG를 통해 얻은 정보를 바탕으로 T2S를 이용해 구체적인 데이터를 요청하는 시나리오도 생각해 볼 수 있다.

자신의 목적과 활용하려는 데이터의 종류를 명확히 파악한다면 RAG와 T2S 중 어떤 기술이 더 적합한지 판단하는 데 도움이 될 텐데…

 

 

 

고민이다~
사용자에게 자연어기반의 질의를 받으면 rag로 원하는 곤텐츠를 보여줄것인가 T2s로 보여줄것인가?
당신은 뭐로 선택 할래요???