채널톡 아이콘

사내 데이터 챗봇 실전 — RAG와 Text-to-SQL을 운영 DB에 안전하게 붙이기

데모는 하루, 운영은 다른 문제입니다. 로컬 Claude Code로 Text-to-SQL 챗봇을 만들고, 정답 50문항으로 정확도를 재고, 가드·읽기 전용 계정·개인정보·권한으로 운영 DB를 지키는 과정을 실측으로 보여 줍니다.

1명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

text-to-sql
text-to-sql
챗봇
챗봇
dba
dba
실습 중심
실습 중심
text-to-sql
text-to-sql
챗봇
챗봇
dba
dba
실습 중심
실습 중심

수강 후 이런걸 얻을 수 있어요

  • 스키마 설명·업무 용어 사전으로 Text-to-SQL 정확도를 올리고, 그 효과를 정답 세트로 숫자로 확인합니다.

  • SQL 문장이 아니라 실행 결과로 채점하는 평가 세트와 회귀 테스트를 만듭니다.

  • SELECT 한 문장·위험 함수·EXPLAIN 비용·LIMIT·실행 시간을 검사하는 운영 안전 가드를 테스트와 함께 만듭니다.

  • 개인정보 컬럼(SELECT *·별칭·조건절)과 역할별 테이블 권한을 막고, 감사 로그를 남깁니다.

  • 되묻기·답에 SQL 보여 주기·재시도·모델 비교로 운영에 붙이고, 비용과 응답 시간을 측정합니다.

데모는 하루, 운영은 다른 문제입니다. 로컬 Claude Code로 Text-to-SQL 챗봇을 만들고, 정답 50문항으로 정확도를 재고, 가드·읽기 전용 계정·개인정보·권한으로 운영 DB를 지키는 과정을 실측으로 보여 줍니다.

데모는 하루, 운영은 다른 문제입니다

스키마를 프롬프트에 넣고 LLM 이 만든 SQL 을 실행하면 하루 만에 데모가 나옵니다. 문제는 운영 DB 에 붙이는 순간입니다.

틀린 숫자를 자신 있게 답하고, 운영 DB 를 통째로 읽고, 개인정보를 그대로 보여 줍니다. 이 강의는 그 데모를 "운영에 붙여도 사고가 나지 않는 버전"으로 바꿉니다.

모든 숫자를 직접 잽니다 (정답 50문항, Claude Sonnet 실측)

  • 컬럼 이름만 넣은 데모: 50문항 중 20개 정답

  • 스키마 설명(값 목록·한 행의 뜻·조인 경로)을 넣으면: 42개

  • 업무 용어 사전(매출·활성 회원·재구매율 정의)까지 넣으면: 48개 (정답 값 포함 기준 50개)

  • 실패를 모아 사전을 고친 개선판: 50개

정확도를 결정한 것은 모델이 아니라 우리가 준 자료였습니다. 실패가 어떻게 생기는지(없는 값 지어내기, 결제 상태 누락, 정의 오해, 답 모양)도 실제 출력으로 보여 드립니다.

가드가 막는 것과 못 막는 것

  • SELECT 한 문장만, 잠금 조회·위험 함수 금지, EXPLAIN 으로 실행 전에 비싼 쿼리 차단, LIMIT·실행 시간 제한, 읽기 전용 계정까지 세 겹으로 막습니다. 가드는 테스트로 증명합니다.

  • 하지만 틀린 숫자는 가드를 그대로 통과합니다. 반대로 한도를 너무 빡빡하게 잡으면 정답 SQL 13개까지 막습니다.

  • 거절 사유를 돌려주고 다시 쓰게 하면 정답은 33개에서 48개로 회복되지만, Claude 는 FORCE INDEX 를 넣어 가드 기준을 맞췄고 실행 시간을 잰 7개 중 6개가 오히려 느려졌습니다. DBA 가 직접 확인한 결과입니다.

개인정보와 권한, 그리고 운영

  • 개인정보 컬럼을 메타데이터(COMMENT)에서 찾고, SELECT *·별칭·조건절로 새는 경로까지 막습니다. 역할별 허용 테이블과 감사 로그(값은 남기지 않음)를 만듭니다.

  • 모호한 질문에는 되묻고(실측: 모호한 질문 7/7 되묻기, 분명한 질문 0/4), 답에는 "이 SQL로 계산했습니다"를 함께 보여 줍니다.

  • 웹 채팅에 붙이고, 비용·응답 시간을 재고, 모델(Sonnet·Haiku)을 같은 정답 세트로 비교해 결정합니다. DB 쪽에서 챗봇 계정을 어떻게 지켜볼지도 다룹니다.

이런 분께 권합니다

  • 회사에서 "우리 데이터에 물어볼 수 있는 챗봇 만들어 봐"라는 과제를 받은 백엔드·데이터 개발자

  • LLM 이 만든 SQL 을 운영 DB 에 붙여도 되는지 판단해야 하는 DBA·플랫폼 엔지니어

  • 문서 RAG 는 해 봤고, 이제 관계형 DB 를 대상으로 만들어 보려는 분

선수 지식과 준비물

SELECT·JOIN 을 읽을 수 있으면 충분합니다. 실행계획은 필요한 만큼 강의에서 설명합니다. Docker, Python 3.11 이상, 로컬 Claude Code(로그인)가 필요합니다.

Claude 호출에는 사용하시는 계정의 요금이 적용됩니다. 실습 자료에는 강의에서 받은 Claude 답이 캐시로 들어 있어, 강의와 같은 질문은 비용 없이 같은 결과가 나옵니다. 50문항 한 바퀴를 새로 재면 약 0.4~0.9달러가 들었습니다.

제공 자료

실습 DB(가상 쇼핑몰 「모아샵」, 회원 10만·주문 40만, Docker 한 줄로 생성) · 안전 가드 · 파이프라인 · 채점기 · 정답 50문항과 평가 실행기 · 스키마 설명과 용어 사전 · 웹 채팅 · 테스트(정상·경계·실패) · 강의 화면 숫자의 원본 실측 기록 · 33강 과제 참고 답안

알려 드립니다

  • 모든 데이터는 자체 제작 가상 데이터이며 실제 회사·고객과 무관합니다.

  • 무료 강의(5가지 장면)의 챗봇 SQL 은 흔히 나오는 형태를 강사가 쓴 예시입니다. 본편의 Claude 출력은 실제 호출 결과이며, 예시와 다른 결과(조인 중복 실수는 실측에서 나오지 않음)도 그대로 보여 드립니다.

  • LLM 의 답은 매번 조금씩 다를 수 있고, EXPLAIN 예상 행 수는 실습 DB 를 만들 때마다 달라집니다.

  • 원고·코드·슬라이드 초안에 AI 도움을 받았고, 내레이션은 AI 합성 음성입니다.

  • 영상 40개 · 약 94분. 강의마다 2~3분 안팎으로 핵심만 담았고, 실습은 제공 자료로 직접 따라 합니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 회사에서 '우리 데이터에 물어볼 수 있는 챗봇'을 만들라는 과제를 받은 백엔드·데이터 개발자

  • LLM이 만든 SQL을 운영 DB에 붙여도 되는지 판단해야 하는 DBA·플랫폼 엔지니어

선수 지식,
필요할까요?

  • SELECT·JOIN을 읽을 수 있는 SQL

안녕하세요
데이터장인입니다.

커리어인증

20년 이상 데이터베이스와 IT 분야에서 경력을 쌓아온 데이터장인입니다. DBA 및 DB Platform 팀 매니저로 데이터베이스 플랫폼을 다루며, MySQL·PostgreSQL·Oracle·MongoDB와 SQL 튜닝, AWS·Terraform·Python을 전문 분야로 삼고 있습니다. 게임·금융·IT 서비스 분야의 경력을 바탕으로 데이터베이스와 클라우드 아키텍처를 설명합니다. 『오라클 실무튜닝 SQL 패턴 학습』과 『Oracle Pro*C 실무프로젝트 활용서』를 출간했으며, AWS Summit 2018·2019와 데이터야 놀자 2020에서 서버리스·데이터베이스 선택·멀티데이터베이스 전략을 발표했습니다. 최근에는 Bedrock LLM을 이용한 슬로우 쿼리 분석·튜닝 권고, DB 스펙 산정 자동화, DB 메타 MCP 서버와 Slack 봇을 통한 조회 흐름을 다루고 있습니다. 개발자를 위한 데이터베이스 자동화와 비개발자를 위한 AI 업무 활용을 각 과정의 대상과 목적에 맞는 실습으로 설명합니다. AI 제안을 그대로 적용하기보다 결과 동일성·실행 계획·관측 조건을 확인하고, 근거가 부족하면 보류하는 판단 기준을 전달합니다. 회사 운영 데이터와 인증값은 강의 자료에 포함하지 않습니다.

더보기

커리큘럼

전체

40개 ∙ (1시간 33분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

데이터장인님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

₩61,600

20%

₩77,000

평생교육이용권 지원 강의