#AI

LLM이 만든 SQL을 믿고 실행하기까지: A2A 기반의 대화형 BI 애플리케이션 개발기

LLM이 만든 SQL을 믿고 실행하기까지: A2A 기반의 대화형 BI 애플리케이션 개발기
01

Summary

가끔 틀리는 SQL은 이제 그만! LLM이 만든 쿼리를 100% 신뢰하고 실행하는 법

라인게임즈가 에이전트 협업 체계와 온톨로지 RAG, 가드레일로 완성한 대화형 BI 서비스 개발 비하인드

본 아티클은 현업 부서의 데이터 접근성을 혁신하기 위한 대화형 BI 애플리케이션 'ChatGamesight'의 개발 여정을 담고 있습니다. LLM을 실제 운영 데이터 환경에 적용할 때 마주친 신뢰성과 안전성 한계를 극복하기 위해 아키텍처 관점에서 다각도로 해결책을 제시합니다. 에이전트의 책임 분리, 지식 기반의 구조화, 그리고 철저한 보안 가드레일을 통해 단순한 SQL 생성을 넘어 실무에서 작동 가능한 신뢰를 확보한 노하우를 공유합니다.

  • 01에이전트 책임을 명확히 규정하는 A2A(Agent-to-Agent) 오픈 프로토콜 도입으로 디버깅과 개선이 유연한 아키텍처 설계
  • 02지표 정의, 이벤트 정보, 대시보드 메타데이터를 정규화하여 관계를 구조화한 온톨로지 기반 RAG 구축
  • 03초기 구축 비용 절감을 위해 Vector DB에 연관 관계를 텍스트로 임베딩하여 온톨로지를 실용적으로 구현한 전략
  • 04쿼리 실행 전 독립된 서비스에서 RLS(행 보안) 및 CLS(열 보안)를 파싱 및 대조 검증하는 Query Guardrail 개발
  • 05보안 규정 위반 시 단순 에러가 아닌 구체적인 피드백과 수정 방향 힌트를 에이전트와 사용자에게 제공하여 피드백 루프 완성

RECOMMENDATION

LLM을 활용한 데이터 조회 및 SQL 자동 생성 서비스를 기획하는 아키텍트에게 단일 프롬프트 개선을 넘어 에이전트 분할과 온톨로지 기반 지식 관리체계를 선제적으로 구축할 것을 권장합니다.

The Problem

자연어 질문을 SQL로 변환하여 실행하는 대화형 BI 시스템 구축 시, LLM이 사내 비즈니스 지표의 고유한 의미나 암묵적 규칙을 이해하지 못해 '그럴듯한 오답'을 내는 문제와 권한 외 자원 조회, 민감정보 노출, 과도한 리소스 소모 등 실행 안전성 위협 문제가 존재했습니다.

The Solution

이를 해결하기 위해 에이전트의 역할을 Domain, Retrieval, SQL, Guardrail, Report 등으로 분리하여 A2A(Agent-to-Agent) 프로토콜로 협업하게 했으며, 사내 지식을 정형화하여 제공하는 온톨로지 기반 RAG와 SQL 실행 직전 RLS/CLS 및 리소스를 검증·차단하는 Query Guardrail을 도입했습니다.

The Result

정식 출시 이후 사용자들이 자연어 한 줄로 수치와 배경 맥락을 함께 얻을 수 있게 되어 반복적인 데이터 문의와 수작업 리포팅 부담이 일부 감소했으며, 실행 전 안전성 검증과 작성된 쿼리의 직접 확인 프로세스를 도입하여 전체 시스템 신뢰도를 크게 향상했습니다.

Trade-off

초기 개발 부담을 낮추기 위해 Graph DB 대신 Vector DB 기반으로 온톨로지를 설계함에 따라, 2~3홉 떨어진 간접적 관계 추론 시 LLM의 추론 성능에 의존하게 되어 다차원 관계 탐색 시 답변의 정확도가 일부 불안정해질 수 있는 한계를 지닙니다.

03

Key Concepts

Concept · 01

A2A (Agent-to-Agent) 프로토콜

에이전트 간의 통신과 입출력 스키마를 표준화하여 각 에이전트가 특정 도메인 분석, 근거 수집, SQL 생성 등의 개별 책임을 완수하게 하는 아키텍처 방식입니다.

  • Domain, Retrieval, SQL, Guardrail, Report 등으로 에이전트 역할을 세분화하여 시스템 복잡성을 통제하고 개별 배포가 가능하도록 적용했습니다.
Concept · 02

온톨로지 기반 RAG (Ontology-based RAG)

단순 문서 검색을 넘어 데이터 간의 의미, 지표 정의, 예외 규칙, 비즈니스 관계를 공통 스키마로 정규화하고 이를 구조적으로 모델링하여 정확한 맥락 데이터를 검색하는 기법입니다.

  • Tableau, OpenMetadata 등 분산된 소스의 데이터를 수집 및 중앙화하여 질문에 필요한 다차원적 컨텍스트를 검색하고 쿼리를 구체화하는 지식 기반으로 활용했습니다.
Concept · 03

Query Guardrail

생성된 SQL이 실제로 실행되기 직전에 보안 정책(RLS, CLS) 및 리소스 한도를 준수하는지 파싱하여 분석하고, 검증 실패 시 피드백과 함께 쿼리를 차단하는 독립된 안전장치 메커니즘입니다.

  • REST 및 MCP 도구 형태로 호출되도록 구현하여 에이전트의 자기 수정 루프와 시스템 경로 강제 검증에 동시에 재사용했습니다.