이 문서에서는 Gemini CLI와 MCP 도구 상자를 사용하여 에이전트 컨텍스트 파일을 빌드하는 방법을 설명합니다. 이러한 파일에는 자연어에서 SQL 쿼리를 생성하기 위한 컨텍스트를 제공하는 템플릿, 패싯, 값 검색이 포함되어 있습니다. DB 컨텍스트 보강 확장 프로그램도 사용합니다.
컨텍스트 세트에 대해 알아보려면 컨텍스트 세트 개요를 참고하세요.에이전트 컨텍스트 파일을 빌드하려면 다음 상위 수준 단계를 실행하세요.
- 개발 환경 준비
- 타겟팅된 템플릿 생성
- 타겟팅된 패싯 생성
- 타겟팅된 값 검색 생성
- 선택사항입니다. 대량 템플릿 생성
시작하기 전에
에이전트를 만들기 전에 다음 기본 요건을 완료하세요.
필수 서비스 사용 설정
프로젝트에 다음 서비스를 사용 설정합니다.Cloud SQL 인스턴스 준비
기존 Cloud SQL 인스턴스에 액세스할 수 있는지 확인하거나 새 인스턴스를 만듭니다. 자세한 내용은 Cloud SQL 인스턴스 만들기를 참고하세요.이 튜토리얼에서는 Cloud SQL 인스턴스에 데이터베이스가 있어야 합니다. 자세한 내용은 Cloud SQL 인스턴스에서 데이터베이스 만들기를 참고하세요.
필수 역할 및 권한
- 인스턴스에 IAM 사용자 또는 서비스 계정을 추가합니다. 자세한 내용은 Cloud SQL용 IAM 데이터베이스 인증으로 사용자 관리를 참고하세요.
- 프로젝트 수준에서 IAM 사용자에게
cloudsql.studioUser,cloudsql.instanceUser,geminidataanalytics.queryDataUser역할을 부여합니다. 자세한 내용은 프로젝트의 IAM 정책 바인딩 추가를 참고하세요. - 또한
postgres사용자와 같은 슈퍼 사용자 권한이 있는 사용자로 로그인하여 IAM 사용자 또는 서비스 계정에 읽기 전용 데이터베이스 권한을 부여해야 합니다.GRANT SELECT ON ALL TABLES IN SCHEMA public TO USER_NAME;
USER_NAME를 사용자의 이메일 주소로 바꿉니다. 특수문자 (@ 및 .)가 포함되어 있으므로 이메일을 따옴표로 묶어야 합니다.
자세한 내용은 개별 IAM 사용자 또는 서비스 계정에 데이터베이스 권한 부여를 참고하세요.
Cloud SQL 인스턴스에 executesql 권한 부여
Cloud SQL 인스턴스에 executesql 권한을 부여하고 Cloud SQL Data API를 사용 설정하려면 다음 명령어를 실행합니다.
gcloud config set project PROJECT_ID gcloud components update gcloud beta sql instances patch INSTANCE_ID --data-api-access=ALLOW_DATA_API
PROJECT_ID: Google Cloud 프로젝트의 ID입니다.INSTANCE_ID: Cloud SQL 인스턴스의 ID입니다.
개발 환경 준비
로컬 개발 환경 또는 IDE에서 에이전트 컨텍스트 파일을 빌드할 수 있습니다. 환경을 준비하려면 다음 단계를 따르세요.
- Gemini CLI 설치
- DB 컨텍스트 보강 확장 프로그램 설치
- 데이터베이스 연결 설정
Gemini CLI 설치
Gemini CLI를 설치하려면 Gemini CLI 시작하기를 참고하세요.
DB 컨텍스트 보강 MCP 확장 프로그램 설치
DB 컨텍스트 보강 확장 프로그램은 데이터베이스 스키마에서 구조화된 NL2SQL 컨텍스트를 생성하는 안내 대화형 워크플로를 제공합니다.
DB 컨텍스트 보강 확장 프로그램 설치에 대한 자세한 내용은 DB 컨텍스트 보강 확장 프로그램을 참고하세요.
DB 컨텍스트 보강 확장 프로그램을 설치하려면 다음 단계를 따르세요.
MCP Toolbox 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에서 다음 명령어를 실행하여 도구 상자 MCP 서버에
tools.yaml구성을 적용합니다./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
postgresql를 입력하여 AlloyDB를 데이터베이스 엔진으로 선택합니다.사용할 PostgreSQL 버전을 입력합니다.
default을 선택하여 PostgreSQL 16을 선택합니다.
다음과 같이 값 검색 구성을 입력합니다.
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: 정규화된 트라이그램 거리를 계산하는 퍼지 일치입니다. 사용자 검색 및 이름 수정에 가장 적합합니다.
SEMANTIC_SIMILARITY_MATCH: 문자열 값에 대한 시맨틱 검색 교차 언어 및 동의어 검색에 가장 적합합니다. 지원되는 모델 목록은 지원되는 Google 모델을 참고하세요.SEMANTIC_SIMILARITY_MATCH을 사용하려면vector및google_ml_integration확장 프로그램을 사용 설정해야 합니다.
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와 비슷한 컨텍스트 설정 파일이 명령어를 실행한 디렉터리에 저장됩니다.
컨텍스트 세트 파일에 관한 자세한 내용은 컨텍스트 세트 개요를 참고하세요.
다음 단계
- 컨텍스트 세트에 대해 자세히 알아보세요.
- Cloud SQL Studio에서 컨텍스트 세트를 만들거나 삭제하는 방법 알아보기
- 컨텍스트 세트를 테스트하는 방법 알아보기