튜토리얼 에이전트 – 01 Qurify로 데이터베이스와 대화 시작하기

Qurify 튜토리얼 모드가 0.4.4 업데이트로 새롭게 추가되었습니다.
데이터베이스와의 대화가 낯선 사용자부터, Qurify의 유용한 기능들을 샅샅이 알아보고 싶은 사용자들을 위해 '큐리파이 배우기' 모드를 도입했습니다. Qurify를 처음 접한 사용자들은 튜토리얼 에이전트와 함께 언제든지 Qurify의 기능을 차근차근 익힐 수 있습니다.
또한 Qurify 튜토리얼 에이전트는 SQL 학습 흐름을 제공합니다. SQL의 기본 조작법부터 그룹별 집계, 조인 등을 통한 효과적인 데이터 검색 방법까지 튜토리얼을 통해 익힐 수 있습니다. 따라서 SQL을 모르는 사용자라도 튜토리얼 에이전트와 함께 데이터를 분석하며 SQL에 익숙해지는 시간을 가질 수 있습니다.

Qurify는 언제든지 사용자가 큐리파이 배우기를 시작할 수 있도록 지원합니다. 예제 질문이나 입력 창을 통해 Qurify와 바로 대화를 시작할 수 있지만, 튜토리얼 에이전트를 실행하면 Qurify가 제공하는 데이터베이스 대화에 필요한 기능들을 모두 사용해볼 수 있습니다.
대화 화면의 좌측 상단에서도 언제든지 대화-큐리파이 배우기 전환이 가능합니다. 대화 도중 Qurify를 깊이 있게 알아보기 위해 튜토리얼을 시작하고 싶거나, 반대로 튜토리얼 도중에 Qurify와 자유롭게 대화하고 싶은 사용자들은 모드를 전환하여 원하는 기능을 이용할 수 있습니다.
또한 Qurify는 사용자의 튜토리얼 진행 상황을 저장합니다. 즉 튜토리얼을 중단하고 대화를 시작하여도, 후에 튜토리얼을 중단한 부분부터 이어서 다시 진행할 수 있습니다.
튜토리얼은 총 14단계로 이루어져 있습니다. 이 여정 동안 우리는 튜토리얼 에이전트와 함께 Qurify와 대화하는 법부터 데이터베이스로부터 정보를 얻어내고 이를 분석하는 법까지 익히게 됩니다.

1. 큐리파이 배우기 시작 - 테이블 목록 확인하기
튜토리얼은 Qurify 대화 과정에서 실제로 사용하는 환경에서 진행하게 됩니다. 튜토리얼 과정에서의 Qurify 대화 화면은 총 3가지의 요소로 구분할 수 있습니다.
| 구성 요소 | 설명 |
|---|---|
| 내비게이션 바 & 사이드 바 | Qurify 개인 맞춤 설정과 환경설정, 그리고 데이터베이스·스키마·테이블/컬럼 선택 기능 |
| 대화 화면 (대화 패널 좌측) | 입력창을 통해 Qurify와 대화하며, 좌측 상단에서 대화-튜토리얼 모드 전환 가능 |
| 도구 실행 결과 (대화 패널 우측) | Qurify 질의 과정에서 도구가 실행된 결과를 순차적으로 확인 |

튜토리얼 에이전트는 다음 항목들로 이루어진 답변을 사용자에게 제공합니다.
- 사용자가 수행해야 할 미션 제공
- 미션을 완료할 수 있는 힌트 제공
- 현재 단계 및 진행 방법 안내
- 처음으로 돌아가기 & 다음 단계로 이동 & 힌트 실행
'데이터베이스의 테이블 목록 확인하기' 태스크를 완료하기 위해, 힌트 실행 버튼을 통해 Qurify가 제안한 힌트를 직접 실행해보도록 하겠습니다.
get_table_info를 사용하여 데이터베이스에 있는 모든 테이블 목록 보여줘

Qurify가 데이터베이스의 전체 테이블 목록을 가져오는 데 성공했습니다. Qurify MCP Server가 get_table_info를 실행하여 사용자의 요청을 처리한 것입니다.
2. 주요 테이블의 컬럼 확인하기
2단계는 특정 테이블의 컬럼 목록을 확인하는 것을 목표로 합니다.
get_table_columns를 이용하여
orders테이블의 모든 컬럼 정보를 보여줘

Qurify MCP Server가 get_table_columns를 사용하여 orders 테이블의 모든 컬럼 정보를 가져왔습니다.
3. 전체 테이블 관계도 확인
테이블 목록, 칼럼 목록을 확인하는 방법을 알았으니 이번에는 테이블 간의 관계를 알아보겠습니다.
find_join_path를 이용하여 모든 테이블의 조인 관계를 보여줘

Qurify MCP Server가 find_join_path를 실행하여 테이블 간의 모든 조인 관계를 성공적으로 탐색했습니다. products 테이블과 categories 테이블, suppliers 테이블이 조인 관계에 있음을 ERD에서도 확인 가능합니다.
4. 특정 테이블 중심 관계 확인
이번에는 모든 테이블이 아닌 특정한 하나의 테이블을 중심으로 다른 테이블과의 관계를 찾아보겠습니다.
find_join_path를 이용하여
orders테이블과 직접 연결된 테이블 알려줘

도구 호출 시 전달된 인자 중 table_a를 살펴 보면, 좌측은 아무 값도 전달하지 않았으나 우측은 orders를 전달하였습니다.
5. 테이블의 샘플 데이터 확인하기
지금까지 데이터베이스와 테이블의 구조를 살펴보았습니다. 이제는 테이블의 내부에 존재하는 데이터를 본격적으로 활용할 시간입니다.
orders테이블에서 데이터 3개만 보여줘

DBHub가 execute_sql을 호출하여 orders 테이블로부터 샘플 데이터 3개를 추출했습니다.
SELECT * FROM orders LIMIT 3;
6. 특정 컬럼만 선택 조회하기
테이블 내 데이터를 조회할 때, 모든 컬럼을 대상으로 쿼리를 진행한다면 결과가 너무 방대해질 수 있습니다.
orders테이블에서customer_id와freight컬럼만 5개 보여줘

SELECT customer_id, freight FROM orders LIMIT 5
7. 문자열 기반 단일 조건 필터링
특정 조건에 해당하는 데이터만을 조회해보겠습니다.
generate_sql_query를 이용해서
orders테이블에서customer_id이(가) 'VINET'인 데이터 5개만 보여줘

SELECT * FROM orders WHERE customer_id = 'VINET' LIMIT 5
8. 숫자 기반 조건 필터링
이번에는 문자열 대신 숫자를 기준으로 하는 조건을 추가해보도록 하겠습니다.
generate_sql_query를 이용해서
orders테이블에서freight이(가) 50000보다 작은 데이터 5개만 찾아줘

SELECT order_id, freight FROM orders WHERE freight < 50000 LIMIT 5
Qurify는 자연어 입력을 분석하여 테이블과 컬럼, 필요한 조건 등을 알아내고 이를 질의 과정에 반영하여 사용자의 요구사항을 만족시킬 수 있는 응답을 제공합니다.
마치며
지금까지 튜토리얼의 처음부터 8단계까지 순서대로 진행하며 Qurify에서 사용할 수 있는 기본적인 기능부터 도구 호출 인자와 같은 유용한 추가 기능까지 알아보았습니다. 다음 포스트에서는 9단계부터 끝까지 튜토리얼을 이어서 진행하며, 아직 알아보지 못한 Qurify의 기능을 소개하도록 하겠습니다.