확장 가능한 Text-to-SQL을 위한 통합 컨텍스트-의도 임베딩
과거 SQL을 의도와 구조로 임베딩해 더 정확한 Text-to-SQL을 만든다.
Pinterest는 100,000개+ 분석 테이블과 2,500명+ 분석 사용자가 있는 환경에서 단순 키워드 검색만으로는 신뢰할 수 있는 Text-to-SQL을 만들 수 없다고 봤다. 테이블 이름이나 문서 설명이 비슷해도, 실제 분석 의도와 올바른 조인 패턴을 이해하지 못하면 답을 찾지 못하기 때문이다.
핵심 해법은 두 축이다.
- Unified context-intent embeddings: 과거 SQL을 단순 요약이 아니라, 비즈니스 질문과 분석 의도를 담은 자연어 설명으로 바꾼 뒤 임베딩한다.
- Structural & statistical patterns: 쿼리에서 검증된 join key, filter, aggregation, 사용 빈도, 성공률 같은 패턴을 추출하고, 테이블 tier, 최신성, 문서 품질 같은 governance metadata와 함께 랭킹한다.
의도 임베딩은 세 단계로 만든다. 먼저 PinCat과 glossary, metric 정의, 도메인 지식을 SQL 주변에 주입해 문맥을 보강한다. 그다음 LLM이 SQL을 summary, analytical questions, detailed breakdown으로 변환해 “이 쿼리가 무엇을 해결하려 했는지”를 텍스트로 복원한다. 마지막으로 이 자연어 설명을 벡터화해, 사용자의 새 질문과 의미적으로 비슷한 과거 쿼리를 찾는다.
예를 들어 광고 성과 SQL은 “특정 advertiser의 keyword별 impressions, CPC, CPM을 계산하는 쿼리”처럼 바뀌고, “top-performing keywords”, “CPC”, “ad effectiveness” 같은 질문과 연결된다. 날짜나 특정 ID 같은 임시 정보는 제거하고, metric 종류와 엔터티 의미는 남겨 재사용성을 높인다.
동시에 쿼리의 구조적 사실도 따로 저장한다. 어떤 테이블을 어떤 키로 join하는지, 어떤 WHERE 조건이 자주 쓰이는지, 어떤 집계 방식이 검증됐는지, 성공한 쿼리인지 실패한 쿼리인지, 최근 자주 쓰였는지 같은 신호를 모아 신뢰도를 만든다. 여기에 Tier 1/2/3 같은 거버넌스 정보를 결합해, 의미상 비슷해도 오래됐거나 문서가 부실한 테이블보다 더 믿을 수 있는 테이블을 우선한다.
결과적으로 시스템은 단순히 “비슷한 테이블”을 찾는 것이 아니라, 무엇을 물으려는지와 어떻게 안전하게 답해야 하는지를 함께 학습한 Analytics Agent가 된다. Pinterest는 이를 “your analysts already wrote the perfect prompt”라고 요약한다. 즉, 분석가들이 남긴 SQL이 곧 도메인 지식의 라이브러리이며, 새 쿼리마다 그 지식이 누적되는 자기강화형 학습 구조다.
문서화도 자동화가 필요하다. 그래서 AI-generated table docs, lineage, glossary propagation, search-based semantic matching을 활용해 테이블·컬럼 설명을 계속 보강하며, 방대한 warehouse를 AI가 사용할 수 있는 형태로 정리해 간다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.