핵심요약
티오더는 Amazon Bedrock과 LangGraph를 활용하여 자연어 질의로 사내 데이터를 조회하는 Text2SQL 에이전트 '티스푼'을 구현했습니다. 이 에이전트는 HITL 이중 승인, RAG 기반 컨텍스트 보강, 4-Stage 검색 파이프라인 등의 기술을 통해 안전하고 정확한 데이터 조회를 지원합니다.
티오더 Text2SQL 에이전트 '티스푼' 구현 사례
1. 솔루션 개요
- 티오더는 현업 실무자들이 자연어로 사내 데이터를 직접 조회하고 의사결정에 활용할 수 있도록 대화형 데이터 조회 에이전트 '티스푼'을 구축했습니다.
- 주요 목표는 △자연어 질문 기반 데이터 조회, △Human-in-the-Loop (HITL) 이중 승인 통한 안전한 SQL 실행, △멀티턴 대화 세션 관리, △처리 불가 시 자동 에스컬레이션입니다.
2. 아키텍처 및 워크플로우
- 아키텍처: Amazon Bedrock (LLM 추론, Claude 모델), Amazon Athena (SQL 검증 및 실행), Amazon S3 Vectors (RAG 벡터 스토어), Amazon S3 (쿼리 결과 저장) 활용.
- 워크플로우: LangGraph StateGraph 기반으로 구성되며, Slack @멘션을 통한 질문 입력 -> 의도 파악 및 용어 검증 -> 1차 HITL (이해 확인) -> SQL 생성 및 Athena EXPLAIN 검증 -> 2차 HITL (SQL 실행 확인) -> 결과 요약 및 후속 조치 (스프레드시트 내보내기, 문의 종료) 순으로 진행됩니다.
3. 핵심 구현 (RAG 및 SQL 파이프라인)
- RAG 설계: 문서 단위 최적화, 메타데이터 기반 검색, 4-Stage 검색 파이프라인 (스키마 검색 -> 쿼리 패턴/JSON 필드 검색 -> 누락 테이블 스키마/쿼리 패턴 백필 -> 비즈니스 용어 사전 보강)으로 LLM 컨텍스트 보완.
- SQL 파이프라인: LLM이 RAG 컨텍스트 기반 SQL 생성 -> Athena EXPLAIN 검증 -> 에러 발생 시 추가 RAG 검색 및 재시도 (최대 3회).
- 가드레일: 재시도 횟수 제한, 동일 에러 반복 감지, HITL 이중 승인, 스프레드시트 내보내기 시 이메일 도메인 검증 등으로 안정성 확보.
- 상태 관리: 멀티턴 대화 시 필드별 수명 계층을 두어 이전 턴의 불필요한 정보가 다음 턴에 영향을 주지 않도록 관리.
4. 시행착오 및 해결 방안
- 프롬프트 엔지니어링: Few-shot 예시 제공으로 의도 분류 일관성 70% -> 90% 개선.
- 날짜 처리: 멀티턴 대화 시 동적 날짜 표현 대신 절대값(YYYY-MM-DD)으로 고정하여 LLM의 연도 추론 오류 해결.
- RAG 검색 의존성 누락: Stage 3 도입으로 쿼리 패턴이 참조하는 누락 테이블 스키마/쿼리 패턴을 백필하여 SQL 생성 정확도 향상.
5. 결론
- LLM에게 제공되는 컨텍스트 자체가 시스템의 입력 데이터임을 인지하고, RAG 파이프라인 설계와 가드레일 구현으로 신뢰받는 대화형 데이터 조회 에이전트 구축.
- 향후 피드백 수집 자동화, 쿼리 등록 반자동화, 세션 내 불변 정보 캐싱을 통한 토큰 비용 최적화 계획.