서비스
home

데이터 스튜디오 빅쿼리 대화형 분석 AI Agent 세팅하기

구글 빅쿼리(BigQuery)의 대화형 분석(Conversational Analytics) API가 2026년 6월 23일 정식 버전으로 출시되었습니다. 어떻게 세팅하고 사용할 수 있는지 알아보도록 하겠습니다.
구글의 정식 문서는 다음의 링크에서 확인하실 수 있습니다.

1. 분석 대상 테이블 준비하기

대화형 분석은 분석 대상이 되는 테이블들을 지정하고, AI 에이전트를 이용해서 대화하면서 인사이트를 얻는 과정으로 진행됩니다. 분석 대상 테이블을 잘 지정하는 것이 중요한데요. 잘 지정한다는 것은 무엇을 의미할까요?
공식 문서의 테이블 준비 관련 권장사항은 다음과 같습니다. (링크)
표를 데이터 소스로 추가하기 전에 표에서 데이터 정리 작업을 실행하세요.
에이전트가 데이터를 조인하는 올바른 방법을 결정하도록 하는 대신 뷰에서 관련 테이블을 조인하고 해당 뷰를 데이터 소스로 사용하세요.
쉽게 말하면, 에이전트가 이해하기 쉬운 데이터로 테이블을 구성한 뒤에 제공하라는 의미입니다.
대화형 분석에는 여러 테이블을 넣을 수 있고, 테이블 간의 조인 관계도 안내해서 에이전트가 알아서 조인도 하며 데이터 분석 결과를 내놓을 수 있습니다. 하지만 더 빠르고, 더 나은 결과를 위해서는 사용자가 데이터를 정리를 하는 과정이 필요합니다.
분석과 무관한 컬럼은 빼고, 테이블간의 조인이 필요한 부분은 해두어서 에이전트가 빠르게 분석할 수 있는 소스를 제공해주는 것이 중요합니다.

2. 에이전트 세팅하기

2-1. 에이전트 추가하기

분석 대상 테이블이 준비가 되면, 이제 빅쿼리에서 에이전트를 추가합니다.
빅쿼리 메뉴 중에 에이전트라는 메뉴에 들어갑니다. 예제 에이전트가 4개 보이는데, 테스트해보실 수 있습니다. 새로운 에이전트를 추가하기 위해서는 +에이전트 만들기 버튼을 클릭합니다.
다음 화면에서 에이전트 이름과 설명을 추가합니다. 이 설명은 에이전트를 쓰는 모든 사람에게 표시됩니다.

2-1. 소스(테이블) 추가하기

이제 소스 추가를 눌러서 분석 대상이 되는 테이블을 추가합니다.
지식 소스로 테이블만이 아니라 UDF(사용자 지정 함수), 그래프 등을 추가할 수 있습니다.
테이블을 추가할 때 유의할 점이 있는데, 만약 테이블이 구글 시트를 연동한 테이블(외부 테이블 기능, External Table)이라면, 나중에 에이전트를 사용할 때에 사용자에게 해당 구글 시트에 대한 권한도 부여해야 합니다. 뷰를 여러 구글 시트로 만들었다면, 모든 구글 시트를 사용자에게 공유해야 하는데, 그렇게 하기는 번거롭죠.
저희의 경우에는 로우(Raw) 데이터는 구글 시트에 있고, 뷰도 구글 시트를 기반으로 만들지만, 정기적으로 예약 쿼리로 뷰의 데이터를 빅쿼리 네이티브 테이블로 변경해주는 방법을 사용합니다. 그렇게 되면 구글 시트와의 연결이 끊어진 빅쿼리 테이블이 생성되니, 이 테이블에 대한 권한만 설정하면 됩니다.
테이블에 대한 권한을 설정할 때에도 사람의 계정별로 할 수도 있고, 서비스 계정 (Service Account) 별로도 할 수 있습니다. 이후에 설명할 공개용 데모 버전은 서비스 계정을 활용해서 누구나 이용할 수 있게 개발했습니다. 사람별로 대화를 따로 관리하고자 한다면 사람 계정별로 공유해주고, Oauth 방식으로 개발을 해야 합니다.
테이블을 추가하고 나면 맞춤설정에 들어가서 테이블 및 필드 설명을 구체적으로 추가합니다.
Gemini 가 데이터를 분석해서 어떻게 설명을 적을지 추천해주니 읽어보고 괜찮다면 수락을 눌러서 적용할 수 있습니다. 하지만 언제나 정확한 것은 아니기 때문에 사람의 의도를 입력해주어야 할 때가 있습니다. 여기서 입력하는 설명을 에이전트가 읽고 분석에 활용하기 때문에 시간을 들여서 정확하게 설명하는 것이 필요합니다.

2-2. 안내 추가하기

지식 소스 아래에 안내를 추가할 수 있게 되어있는데, 시스템 프롬프트의 역할을 합니다.
안내에는 다음과 같은 내용을 담을 수 있습니다.
동의어: 주요 필드의 대체 용어
주요 필드: 분석에 가장 중요한 필드입니다.
제외된 필드: 데이터 에이전트가 피해야 하는 필드
필터링 및 그룹화: 에이전트가 데이터를 필터링하고 그룹화하는 데 사용할 필드입니다.
조인 관계: 공통 필드를 기준으로 둘 이상의 테이블이 결합되는 방식입니다.
필드의 관계에 대해 설명하거나, 어떤 필드는 사용하지 않아야 하는지를 안내할 수 있습니다. 조인의 조건도 이쪽에 입력해둘 수 있는데, 에이전트가 이 조건을 확인해서 조인을 합니다.
예시로 재무분석 에이전트에는 다음과 같이 안내를 추가했습니다.
당신은 재무 분석가입니다. 재무 상태를 분석해서, 과거를 평가하고, 미래에 어떻게 재무를 관리해 나가면 좋을지 제언을 하세요. 한글을 주된 언어로 사용하고, 용어의 경우에는 영문도 병기하세요. - 재무상태표: 자산, 부채, 자본의 흐름은 LS_finStatCompare에서 조회할 수 있습니다. lastYearAmount, diffAmount 컬럼은 사용하지 않음. - 현금및현금성자산, 단기채권의 흐름은 LS_cashFlow에서 조회할 수 있습니다. - 현금흐름표: 영업활동비, 재무활동비, 투자활동비 흐름은 LS_cashStatCompare에서 조회할 수 있습니다. lastYearAmount, diffAmount 컬럼은 사용하지 않음.
에이전트와 대화를 하면서 무언가 가이드를 주어야겠다고 생각되면, 여기 안내에 입력해주면 됩니다.
안내에 기록하는 예시 (링크)
정보 유형
설명
예시
주요 필드
분석에 가장 중요한 필드입니다.
'이 표의 가장 중요한 필드는 고객 ID, 제품 ID, 주문 날짜입니다.'
필터링 및 그룹화
에이전트가 데이터를 필터링하고 그룹화하는 데 사용할 필드입니다.
'질문이 타임라인 또는 '시간 경과'에 관한 경우 항상 order_created_date 열을 사용하세요.' '사용자가 '제품별'이라고 말하면 product_category 열을 기준으로 그룹화해 줘.'
기본 필터링
기본적으로 필터링할 필드입니다.
'별도로 명시되지 않는 한 항상 order_status = 'Complete'로 데이터를 필터링하세요.'
동의어 및 비즈니스 용어
주요 필드의 대체 용어입니다.
'누군가 '수익' 또는 '매출'에 대해 묻는 경우 total_sale_amount 열을 사용해' '구매 횟수가 5회를 초과하는 고객을 '충성도'가 높은 고객으로 간주합니다.'
제외된 필드
데이터 에이전트가 사용하지 않아야 하는 필드입니다.
'파생된 거래 날짜, 파생된 도시 필드는 사용하지 마세요.'
조인 관계
둘 이상의 테이블이 서로 관련되는 방식과 테이블을 조인하는 데 사용되는 열입니다. 에이전트는 열 쌍에서 표준 SQL JOIN을 사용하여 데이터를 결합해야 합니다. 예시 열을 참고하세요.
고객 활동order_items.user_id = users.id (판매를 고객에게 연결) • events.user_id = users.id (로그인한 고객에게 웹사이트 활동을 연결)

2-3. 확인된 쿼리 추가하기

다음으로 세팅해야 하는 부분은 확인된 쿼리입니다. 이 쿼리는 예전에는 골든 쿼리라고 불렸었는데요, 사람이 확정하는 질문과 답이라고 보면 됩니다.
어떤 것을 넣어야 할지 잘 모르겠다면, Gemini가 생성한 추천 보기를 확인해보세요. 적절한 질문과 그 질문에 대한 답을 SQL로 어떻게 써야하는지를 보여줍니다. 꽤 괜찮은 추천을 해줍니다.
저희 같은 경우에는 사용자가 질문할 내용을 미리 뽑아보고, 그에 맞는 쿼리를 작성해서 넣어주었습니다.
사용자가 질문할 내용을 미리 뽑는 것도 쉬운 일은 아닌데요, 쉽게 만들어 내는 방법이 있으면 좋지 않을까요?
간단하게는 AI에게 질문을 뽑아보라고 할 수도 있습니다. 그러려면 AI에게 데이터를 보여줘야겠죠? 빅쿼리에서 샘플링 할 정도만 CSV로 전환해서 다운로드 합니다. 그리고 AI 에게 CSV를 주고, 분석을 위한 질문들을 생성하라고 요청할 수 있습니다. 매우 민감한 자료라면 이런 방식으로 하면 안되겠지만, 마스킹이 적절하게 되어 있도록 추출한 자료라면 사용해볼 수 있는 방법 같습니다.
그리고 답변인 SQL을 생성하는 것도 AI에게 요청할 수 있습니다. 직접 작성해야 하는 경우도 있지만, 많은 경우 AI가 좋은 답변을 생성해줍니다. 사람은 결과가 맞는지 검증하면 되겠지요.

2-3. 용어집 추가하기

다음으로는 중요한 용어집 추가를 해야 합니다.
기업마다 내부에서 사용하는 용어가 다릅니다. 재무분석을 한다고 했을 때, 안전성/건전성과 같은 용어가 무엇을 의미하는지 정의해줄 필요가 있습니다. 또한 매출 금액과 판매 금액이 동일한 금액을 가리키는 것인지 정의할 필요도 있겠죠.
용어집은 기업에서 사용하는 용어를 정의하고 동의어를 세팅하는 메뉴입니다.
용어집이 올바르게 세팅이 되어야 사용자가 하는 말을 찰떡같이 알아듣고 분석을 진행해주게 됩니다.
에이전트와의 대화에서 용어집이 잘 적용되는 것을 다음과 같이 볼 수 있는데요. 용어집에 추가한 단어는 화살표로 표시되면서 정의된 내용을 확인할 수 있게 됩니다.
용어집의 경우에도 처음에 세팅하기가 어렵다면, 에이전트를 사용해 가면서 추가해도 괜찮습니다. 또는 AI에게 분석에 사용할 용어들의 정의와 동의어를 생성해달라고 할 수도 있습니다.

2-3. 저장과 게시 및 공유

에이전트 세팅이 여기까지 완료되면 이제 저장과 게시를 할 수 있습니다.
그런데 저장할 때 청구 가능한 최대 바이트를 입력하는 것을 잊지 마세요. 에이전트에게 쿼리의 한도를 정해주는 것입니다. 데이터가 작을 때는 큰 문제가 안되지만 테라 단위의 테이블이 분석 대상인 경우, 쿼리 한도를 정해주지 않으면 과도하게 쿼리를 돌리고, 요금이 청구 될 수 있습니다.
에이전트를 우측 창에서 테스트를 해보고 세팅을 바꿔가면서 저장하고 게시를 반복할 수 있습니다.
저장만 한다고 다른 사람들이 사용할 수 있게 되는 것은 아닙니다. 게시까지 해야 사람들이 사용할 수 있게 됩니다. 게시를 누르면 에이전트가 게시되는 곳이 표시됩니다. 빅쿼리, API, 데이터 스튜디오에 게시가 됩니다. A2A를 통합은 Gemini Enterprise 앱과 연동할 때 사용합니다.
게시를 하면 공유를 하도록 안내 문구가 표시됩니다. 에이전트를 공유할 계정을 주 구성원으로 추가를 눌러서 Gemini 데이터 분석 데이터 에이전트 사용자로 추가해줍니다. 사람 계정을 추가할 수도 있고 서비스 계정을 추가할 수도 있습니다.
이제 사용자에게 에이전트를 공유해줍니다. 일반적인 사용자는 빅쿼리로 들어오기는 복잡하기 때문에 데이터 스튜디오의 에이전트 링크 복사로 공유하면 됩니다.

3. 에이전트 사용하기

에이전트를 생성했고 게시했으니 사용하면 됩니다. 자연어로 질문을 하면 에이전트는 세팅 정보를 토대로 분석을 하고 결과를 보여줍니다.
결과는 표, 차트 등을 포함하며 과거 분석 만이 아니라 미래 예측도 가능합니다. 예를 들면 다음과 같은 질문을 할 수 있습니다. (링크)
사용 사례
사용 예시
예측
'다음 달 여행 수를 예측해 줘.'
이상 감지
'2017년을 기준으로 2018년의 일별 이동에서 이상치를 찾아 줘.'
주요 동인
'2017년과 2018년 사이의 이동량 변화의 주요 요인을 파악해 줘.'
LLM 텍스트 생성
'스포츠' 카테고리의 각 기사에 대해 본문 열을 1~2문장으로 요약해 줘.'
의미 기반 필터링
'기술 카테고리의 기사 중에서 인공지능의 획기적인 발전에 대해 설명하는 기사를 필터링해 줘.'
시맨틱 스코어링
'엔터테인먼트 카테고리의 기사에 긍정적 감정의 정도를 나타내는 등급을 제공해 줘.'
의미론적 분류
"각 리뷰에 리뷰어의 주요 관심사(연기, 줄거리, 촬영, 연출, 기타)를 태그해 줘."
시맨틱 검색
'긴장감을 조성하는 심리 스릴러와 가장 유사한 리뷰 5개 찾아줘'
시맨틱 집계
'잉글리쉬 페이션트의 리뷰를 요약해 줘'
에이전트가 답변을 제공할 때에는 어떻게 쿼리를 했는지 SQL 문도 보여줍니다. 이렇게 생성되는 SQL을 확인하고 맞는 답변이라면 확인된 쿼리에 질문과 SQL로 입력해둘 수 있습니다.
그래프도 그려주는데, 아직까지 한글 지원은 좀 약한 것 같습니다. 대부분 영어로 그려주고, 빅쿼리 테이블 필드를 참고해서 표시해줍니다.
예측의 경우에는 단순 예측을 요청하면 선형 예측을 해주어서 잘 맞지 않지만, 결과를 본 뒤에 더 잘 맞는 모델로 분석해달라고 하면 모델을 바꾸어서 (여기서는 TimesFM 2.5) 좀 더 맞게 예측해 줍니다.
시스템 프롬프트(안내)에 분석 및 제언을 해달라고 기록해두면 과거를 분석한 것에 더해 AI의 제언이 추가됩니다. 개인적으로는 이 부분이 좋았습니다. 분석이라는 것이 항상 “그래서 무엇을 해야하지?” 라는 질문에 대한 답을 줘야 하는데, AI가 이 부분까지 제언을 해주니 편리했습니다.
에이전트가 답변을 하고 나면 후속 질문의 예시를 제공해주는 것도 분석을 이어나가는 데 도움이 됩니다. 언제나 가장 좋은 답변을 해주는 것은 아니겠지만, 이런식으로 분석을 이어나갈 수 있다는 것은 장점인 것 같습니다.
에이전트도 결국 발전하는 LLM 모델이기 때문에 실수를 하곤 합니다. 600억을 6조로 읽는다든가 하는 실수들을 발견하곤 하는데, 그 점을 지적하면 잘못을 시인하고 다시 정확하게 답변합니다.
요금도 생각해보아야 하는데요. 현재 요금가격이 공개되어 있습니다. 사실 토큰을 얼만큼 쓰는지 가늠하기가 잘 어렵기 때문에 과다한 요금이 청구되지 않게 하기 위해서는 여러 가드레일을 만들어 둘 필요가 있어보입니다.
구글 클라우드의 데이터 클라우드 에이전트(Data Cloud Agents) 및 대화형 분석 API(Conversational Analytics API)의 토큰당 비용은 종량제(Pay-as-you-go) 기준 다음과 같습니다:
입력 토큰 (Input Tokens): $3 / 백만(M) 토큰 (1천 토큰당 $0.003)
출력 토큰 (Output Tokens): $20 / 백만(M) 토큰 (1천 토큰당 $0.02)
구글에서는 프로젝트 및 사용자의 할당량을 설정하고, 개별쿼리의 비용을 제한하라고 제안합니다. 갑작스러운 비용 청구에 놀라지 않으려면 미리 설정해두어야 하겠죠?

4. 에이전트 서비스 개발하기

대화형 분석 API가 공개되었기 때문에 데이터 스튜디오나 빅쿼리를 이용하지 않고도 대화형 분석 서비스를 이용할 수 있습니다.
저희는 Codex 를 사용해서 웹에서 이용가능한 형태로 만들어봤는데요. 데이터 스튜디오의 에이전트에서 이용하는 것처럼 동일한 기능들을 모두 사용할 수 있었습니다.
데이터 스튜디오나 빅쿼리에서의 에이전트는 모바일 화면을 지원하지 않기 때문에 불편함이 있는데요, 이렇게 반응형으로 개발을 하면 모바일에서도 쾌적하게 이용할 수 있습니다.
대화형 분석 (Conversational Analytics) 가 있기 전까지는 빅쿼리 테이블로 데이터 분석을 하기 위해서 시맨틱 레이어를 설정하는 복잡한 작업이 필요했었는데요, 이제 API까지 제공되면서 훨씬 쾌적하게 AI 분석이 가능하게 되었습니다. 가지고 계신 빅쿼리 테이블로 대화형 분석을 시작해보시면 어떨까요?

업무 효율성 200% 올리기, with autooffice

데이터 스튜디오 개발 문의는 구글폼을 이용해주세요!