
AI 에이전트가 구조화된 데이터를 이해하고 분석할 수 있는 능력은 게임 체인저라고 할 수 있어요. 🤖 기존의 대형 언어 모델(LLM)은 자연어를 이해하는 데 뛰어나지만, 정량적 분석이나 구조화된 데이터를 다루는 데는 한계가 있었죠. 특히, 데이터를 단순히 텍스트로 제공하면 계산이나 분석이 제대로 이루어지지 않았어요.
이 문제를 해결하기 위해 등장한 것이 바로 Query Tables입니다. 이 기능은 AI 에이전트가 SQL 쿼리를 실행해 구조화된 데이터를 분석하고, 정확한 답변을 제공할 수 있도록 도와줍니다.
먼저, 우리가 해결하려는 문제를 이해하는 것이 중요해요. 의미 검색(semantic search)은 비구조화된 텍스트에서 관련 정보를 찾아내는 데는 유용하지만, 정량적 분석에서는 다음과 같은 한계가 있어요:
"사용자들이 CSV 파일, Notion 데이터베이스, Google Sheets에 대해 정량적 질문을 할 때, 에이전트는 전체 데이터를 '볼 수' 없거나 필요한 계산을 수행할 수 없어서 종종 불완전하거나 부정확한 답변을 제공했습니다."
처음에는 사용자들이 CSV 파일을 Dust에 업로드하고 싶어 했어요. 하지만 이 데이터를 단순히 텍스트로 처리하면 두 가지 큰 문제가 발생했죠:
그래서 우리는 SQLite를 사용해 데이터를 메모리 내 데이터베이스로 변환하고 SQL 쿼리를 실행하는 방식을 도입했어요. 이 선택은 다음과 같은 이유에서 이루어졌습니다:
이 시스템은 다음과 같은 과정을 거칩니다:
"2MB 크기의 CSV 파일을 처리하는 데 걸리는 시간은 1초도 채 되지 않았습니다. 파일 읽기: 14ms, 스키마 추론: 162ms, 데이터 삽입: 약 600ms, 쿼리 실행: 15ms."
또한, 데이터베이스를 캐싱하여 초기 쿼리 이후 몇 분 동안 데이터베이스를 유지함으로써 후속 질문에 빠르게 응답할 수 있도록 했어요. 이 방식은 성능과 자원 관리를 모두 고려한 최적의 선택이었죠.
CSV 파일을 처리하는 데 성공한 후, 사용자들은 Notion 데이터베이스, Google Sheets, Office 365 스프레드시트 등 연결된 데이터 소스를 질의하고 싶어 했어요. 하지만 이 데이터들은 지속적으로 변경되며, 수동으로 업로드하기에는 비효율적이었죠.
이 과정에서 다음과 같은 새로운 도전 과제가 생겼습니다:
Notion 데이터베이스는 일관된 속성을 가진 페이지들의 집합으로, Query Tables와 잘 맞는 구조를 가지고 있었어요. 하지만 Notion의 유연한 속성 타입(텍스트, 숫자, 날짜 등)을 SQL 데이터 타입으로 변환하는 로직을 개발해야 했습니다.
Google Sheets와 Office 365는 또 다른 도전을 안겨줬어요:
우리는 모든 데이터 소스를 단일 테이블 형식으로 추상화하는 아키텍처를 유지했어요. 데이터가 CSV, Notion, Google Sheets 어디에서 오든, 다음과 같은 공통 구조를 가집니다:
"이 통합 추상화 덕분에 사용자는 CSV 파일, Notion 데이터베이스, Google Sheets 데이터를 단일 SQL 쿼리로 결합할 수 있습니다. 이는 수작업으로는 거의 불가능한 작업이죠."
다음 단계는 Snowflake와 BigQuery 같은 엔터프라이즈 데이터 웨어하우스와의 연결이었어요. 이 데이터 웨어하우스는 테라바이트 이상의 데이터를 포함하며, 복잡한 권한 모델과 방화벽 뒤에 위치해 있어 새로운 접근 방식이 필요했죠.
우리는 데이터를 SQLite로 가져오는 대신, 원격 데이터베이스 패턴을 채택했어요:
EXPLAIN 명령어로 접근 권한을 확인쿼리 결과를 즉석 테이블(JIT, Just-In-Time)로 처리하는 기능은 다단계 데이터 분석을 가능하게 합니다. 예를 들어, Snowflake에서 쿼리한 결과를 Google Sheets 데이터와 결합해 추가 분석을 수행할 수 있어요.
"모든 쿼리 결과를 다음 작업의 입력으로 사용할 수 있게 함으로써, 사용자는 대화 내에서 복잡한 분석 워크플로를 구축할 수 있습니다."
현재 개발 중인 Salesforce는 또 다른 독특한 도전을 제공합니다:
우리는 구조화된 데이터는 SOQL로, 긴 텍스트 필드는 의미 검색으로 처리하는 방식을 결합하고 있어요.
Query Tables 에이전트 도구의 가장 큰 강점은 통합 추상화 계층이에요. 데이터가 CSV, Notion, Google Sheets, Snowflake 어디에 있든, 에이전트는 동일한 인터페이스로 데이터를 다룰 수 있습니다.
"우리는 구조화된 데이터를 어디에 있든, 어떤 형식이든 AI 에이전트가 접근 가능하게 만드는 데 전념하고 있습니다."
이러한 접근 방식은 데이터를 이해하고 분석하는 새로운 세대의 AI 에이전트를 가능하게 하며, 데이터를 누구나 활용할 수 있는 강력한 도구로 만들어줍니다. 🚀