이 문서에서는 Gemini CLI 및 MCP 도구 상자를 사용하여 에이전트 컨텍스트 파일을 빌드하는 방법을 설명합니다. 이러한 파일에는 자연어에서 SQL 쿼리를 생성하기 위한 컨텍스트를 제공하는 템플릿, 패싯, 값 검색이 포함되어 있습니다. 또한 DB 컨텍스트 보강 확장 프로그램을 사용합니다.
컨텍스트 집합에 대해 알아보려면 컨텍스트 집합 개요를 참조하세요.에이전트 컨텍스트 파일을 빌드하려면 다음 대략적인 단계를 수행하세요.
- 개발 환경 준비
- 타겟 템플릿 생성
- 타겟 패싯 생성
- 타겟 값 검색 생성
- 선택사항입니다. 대량 템플릿 생성
시작하기 전에
에이전트를 만들기 전에 다음 기본 요건을 완료하세요.
필수 서비스 사용 설정
프로젝트에 대해 다음 서비스를 사용 설정합니다.Spanner 인스턴스 준비
- Spanner 인스턴스를 사용할 수 있는지 확인합니다. 자세한 내용은 인스턴스 만들기를 참조하세요.
- 테이블을 만들 인스턴스에 데이터베이스를 만드는지 확인합니다. 자세한 내용은 Spanner 인스턴스에서 데이터베이스 만들기를 참조하세요.
이 가이드에서는 Spanner 인스턴스에 데이터베이스가 있어야 합니다. 자세한 내용은 데이터베이스 만들기를 참조하세요.
필수 역할 및 권한
- 클러스터에 IAM 사용자 또는 서비스 계정을 추가합니다. 자세한 내용은 IAM 역할 적용을 참조하세요.
- 프로젝트 수준에서 IAM 사용자에게
spanner.databaseReader및geminidataanalytics.queryDataUser역할을 부여합니다. 자세한 내용은 프로젝트에 IAM 정책 바인딩 추가를 참조하세요. - 역할 및 권한을 부여합니다. 필요한 데이터베이스에 대해 프로젝트 수준에서 IAM 사용자에게
개발 환경 준비
로컬 개발 환경 또는 IDE에서 에이전트 컨텍스트 파일을 빌드할 수 있습니다. 환경을 준비하려면 다음 단계를 수행하세요.
- Gemini CLI 설치
- DB 컨텍스트 보강 확장 프로그램 설치
- 데이터베이스 연결 설정
Gemini CLI 설치
Gemini CLI를 설치하려면 Gemini CLI 시작하기를 참조하세요.
DB 컨텍스트 보강 MCP 확장 프로그램 설치
DB 컨텍스트 보강 확장 프로그램은 데이터베이스 스키마에서 구조화된 NL2SQL 컨텍스트를 생성하는 안내식 대화형 워크플로를 제공합니다.
DB 컨텍스트 보강 확장 프로그램 설치에 대한 자세한 내용은 DB 컨텍스트 보강 확장 프로그램을 참조하세요.
DB 컨텍스트 보강 확장 프로그램을 설치하려면 다음 단계를 따르세요.
MCP 도구 상자 Gemini CLI 확장 프로그램을 설치합니다.
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox(선택사항) DB 컨텍스트 보강 확장 프로그램을 업데이트합니다.
설치된 확장 프로그램 버전을 확인하려면 다음 명령어를 실행합니다.
gemini extensions list버전이
0.4.2이상인지 확인합니다. DB 컨텍스트 보강 확장 프로그램을 업데이트하려면 다음 명령어를 실행합니다.gemini extensions update mcp-db-context-enrichmentDB 컨텍스트 보강 확장 프로그램을 업데이트하거나
GEMINI_API_KEY를 바꾸려면 다음 명령어를 실행합니다.gemini extensions config mcp-db-context-enrichment GEMINI_API_KEYGEMINI_API_KEY를 Gemini API 키로 바꿉니다.
DB 연결 설정
확장 프로그램은 스키마 가져오기 및 SQL 문 실행을 위한 컨텍스트 생성을 위한 데이터베이스 연결이 필요합니다. 확장 프로그램이 데이터베이스와 상호작용할 수 있도록 하려면 인증 사용자 인증 정보를 구성하고 데이터베이스 소스 및 도구를 정의해야 합니다.
애플리케이션 기본 사용자 인증 정보 구성
두 가지 주요 구성요소에 사용자 인증 정보를 제공하려면 애플리케이션 기본 사용자 인증 정보 (ADC)를 구성해야 합니다.
- 도구 상자 MCP 서버: 사용자 인증 정보를 사용하여 데이터베이스에 연결하고, 스키마를 가져오고, 유효성 검사를 위해 SQL을 실행합니다.
- DB 컨텍스트 보강 확장 프로그램: 사용자 인증 정보를 사용하여 Gemini API를 인증하고 호출합니다.
터미널에서 다음 명령어를 실행하여 인증을 수행합니다.
gcloud auth application-default logintools.yaml 파일 구성
확장 프로그램에는 컨텍스트 생성을 위한 데이터베이스 연결이 필요하며, 이는 MCP 도구 상자에서 지원되고 tools.yaml 구성 파일 내에 정의됩니다.
tools.yaml 파일은 스키마를 가져오거나 SQL을 실행하는 데 필요한 데이터베이스 소스 및 도구를 지정합니다. 확장 프로그램에는 구성을 생성하는 데 도움이 되는 사전 설치된 에이전트 기술이 포함되어 있습니다.
Gemini CLI를 시작합니다.
geminiGemini CLI에 입력하여 기술이 활성 상태인지 확인합니다.
/skillshelp me setup the database connection과 같은 프롬프트를 입력합니다. 이 기술은 현재 작업 디렉터리에서tools.yaml파일을 만드는 과정을 안내합니다.Gemini CLI에서 다음 명령어를 실행하여
tools.yaml구성을 도구 상자 MCP 서버에 적용합니다./mcp reload
tools.yaml 파일을 수동으로 구성하는 방법에 대한 자세한 내용은 MCP 도구 상자 구성을 참조하세요.
컨텍스트 생성
이전에 설치된 확장 프로그램을 사용하면 Gemini CLI를 사용하여 JSON 파일 형식으로 컨텍스트를 작성할 수 있습니다.
타겟 템플릿 생성
특정 쿼리 쌍을 컨텍스트 집합에 쿼리 템플릿으로 추가하려면 /generate_targeted_templates 명령어를 사용하면 됩니다. 템플릿에 대한 자세한 내용은 컨텍스트 집합 개요를 참조하세요.
컨텍스트 집합에 쿼리 템플릿을 추가하려면 다음 단계를 수행하세요.
동일한 디렉터리에서 Gemini CLI를 시작합니다.
geminiGemini CLI 인증 설정을 완료합니다.
MCP 도구 상자 및 데이터베이스 보강 확장 프로그램을 사용할 준비가 되었는지 확인합니다.
/mcp reload/generate_targeted_templates명령어를 실행합니다./generate_targeted_templates쿼리 템플릿에 추가할 자연어 쿼리를 입력합니다.
쿼리 템플릿에 해당하는 SQL 쿼리를 입력합니다.
생성된 쿼리 템플릿을 검토합니다. 쿼리 템플릿을 컨텍스트 집합 파일로 저장하거나 기존 컨텍스트 집합 파일에 추가할 수 있습니다.
my-cluster-psc-primary_postgres_templates_20251104111122.json과 유사한 컨텍스트 집합 파일이 명령어를 실행한 디렉터리에 저장됩니다.
컨텍스트 집합 파일 및 쿼리 템플릿에 대한 자세한 내용은 컨텍스트 집합 개요를 참조하세요.
타겟 패싯 생성
특정 쿼리 쌍을 컨텍스트 집합 파일에 패싯으로 추가하려면 /generate_targeted_facets 명령어를 사용하면 됩니다.
컨텍스트 집합 파일에 패싯을 추가하려면 다음 단계를 수행하세요.
/generate_targeted_facets명령어를 실행합니다./generate_targeted_facets쿼리 템플릿에 추가할 자연어 쿼리를 입력합니다.
쿼리 템플릿에 해당하는 SQL 쿼리를 입력합니다.
생성된 패싯을 검토합니다. 패싯을 컨텍스트 집합 파일에 저장하거나 기존 컨텍스트 집합 파일에 추가할 수 있습니다.
my-cluster-psc-primary_postgres_templates_20251104111122.json과 유사한 컨텍스트 집합 파일이 명령어를 실행한 디렉터리에 저장됩니다.
컨텍스트 집합 파일 및 패싯에 대한 자세한 내용은 컨텍스트 집합 개요를 참조하세요.
값 검색 쿼리 생성
개념 유형 내에서 시스템이 특정 값을 검색하고 일치시키는 방법을 지정하는 값 검색을 생성하려면 /generate_targeted_value_searches 명령어를 사용하면 됩니다.
값 색인을 생성하려면 다음 단계를 수행하세요.
/generate_targeted_value_searches명령어를 실행합니다./generate_targeted_value_searches
spanner를 입력하여 Spanner를 데이터베이스 엔진으로 선택합니다.
다음과 같이 값 검색 구성을 입력합니다.
Table name: TABLE_NAME Column name: COLUMN_NAME Concept type: CONCEPT_TYPE Match function: MATCH_FUNCTION Description: DESCRIPTION다음을 바꿉니다.
TABLE_NAME: 개념 유형과 연결된 열이 있는 테이블입니다.COLUMN_NAME: 개념 유형과 연결된 열 이름입니다.CONCEPT_TYPE: 정의하려는 개념 유형입니다(예:City name).MATCH_FUNCTION: 값 검색에 사용할 일치 함수입니다. 다음 함수 중 하나를 사용할 수 있습니다.EXACT_STRING_MATCH: 두 문자열 값의 정확한 일치입니다. 고유 ID, 코드, 기본 키에 가장 적합합니다.TRIGRAM_STRING_MATCH: 정규화된 트라이그램 거리를 계산하는 퍼지 일치입니다. 사용자 검색 및 이름 수정에 가장 적합합니다.
DESCRIPTION: (선택사항) 값 검색 쿼리에 대한 설명입니다.
필요에 따라 값 검색을 추가합니다. 값 색인을 추가하지 않으면 템플릿 기반 SQL 생성이 다음 단계로 이동합니다.
생성된 값 검색을 검토합니다. 컨텍스트 집합을 컨텍스트 집합 파일로 저장하거나 기존 컨텍스트 집합 파일에 추가할 수 있습니다.
my-cluster-psc-primary_postgres_templates_20251104111122.json과 유사한 컨텍스트 집합 파일이 명령어를 실행한 디렉터리에 저장됩니다.
값 색인에 대한 자세한 내용은 컨텍스트 집합 개요를 참조하세요.
선택사항: 대량 템플릿 생성
데이터베이스 스키마 및 데이터를 기반으로 컨텍스트 집합 파일을 자동 생성하려면 /generate_bulk_templates 명령어를 사용하면 됩니다.
대량 템플릿을 자동 생성하려면 다음 단계를 수행하세요.
/generate_bulk_templates명령어를 실행합니다./generate_bulk_templates데이터베이스 스키마를 기반으로 템플릿 기반 SQL 생성은 데이터베이스 정보 확인 및 데이터베이스 스키마 액세스 권한 부여와 관련된 일련의 질문을 안내합니다.
생성된 쿼리 템플릿을 검토합니다. 템플릿을 승인하거나 수정하려는 쿼리 쌍을 업데이트할 수 있습니다.
쿼리 템플릿에 추가할 자연어 쿼리를 입력합니다.
쿼리 템플릿에 해당하는 SQL 쿼리를 입력합니다.
생성된 쿼리 템플릿을 검토합니다. 쿼리 템플릿을 컨텍스트 집합 파일로 저장하거나 기존 컨텍스트 파일에 추가할 수 있습니다.
쿼리 템플릿을 승인한 후 새 템플릿 파일을 만들거나 쿼리 쌍을 기존 템플릿 파일에 추가할 수 있습니다. 쿼리 템플릿은 로컬 디렉터리에 JSON 파일로 저장됩니다.
my-cluster-psc-primary_postgres_templates_20251104111122.json과 유사한 컨텍스트 집합 파일이 명령어를 실행한 디렉터리에 저장됩니다.
컨텍스트 집합 파일에 대한 자세한 내용은 컨텍스트 집합 개요를 참조하세요.
다음 단계
- 컨텍스트 집합에 대해 자세히 알아보세요.
- Spanner Studio에서 컨텍스트 집합을 만들거나 삭제하는 방법 알아보기
- 컨텍스트 집합을 테스트하는 방법 알아보기