Next '26 기조연설: 통합 인텔리전스의 패브릭

1. 소개

'통합 인텔리전스의 패브릭' Codelab에 오신 것을 환영합니다. 이 Codelab은 Google Cloud Next '26 기조연설 데모의 일부입니다.

이 실습에서는 Gemini Enterprise를 사용하여 Cloud Run에 배포된 여러 에이전트를 오케스트레이션하고, 원활한 핸드오프와 간소화된 워크플로를 위해 컨텍스트를 공유하는 방법을 알아봅니다.

가상의 현대적인 가구 브랜드인 'Organic Living'의 제품 관리자라고 가정해 보겠습니다. 신제품 라인을 출시하고 싶지만 표준 시장 조사 및 설계 프로세스에 너무 많은 시간이 걸립니다. 이 실습에서는 AI 에이전트 팀을 배포하여 이 프로세스를 자동화하고 가속화합니다.

  • 제품 전략 에이전트: 시장 데이터를 기반으로 제품 개념을 구체화합니다.
  • 시장 조사 에이전트: 트렌드와 고객 의견을 분석합니다.
  • 오케스트레이터 에이전트: 다른 에이전트 간의 워크플로를 조정합니다.
  • 개발 에이전트: 티켓을 만들고 코드 스캐폴딩을 통해 계획을 실행합니다.

이 실습을 마치면 Cloud Run에 배포되고 Gemini Enterprise를 사용하여 오케스트레이션된 멀티 에이전트 시스템이 작동하며, 통합 인텔리전스의 강력한 기능을 보여줍니다.

기본 요건

  • Google Cloud 콘솔 및 gcloud CLI에 대한 기본적인 지식

실습할 내용

  • Cloud Run에 멀티 에이전트 시스템을 배포합니다.
  • Gemini Enterprise에 에이전트를 등록합니다.
  • Gemini Enterprise를 통해 다음과 같은 워크플로를 실행할 수 있습니다.
    • 데이터를 분석하고 데이터에서 유용한 정보를 생성합니다.
    • Veo로 제품 동영상을 만드세요.
    • 개발팀이 인사이트를 기반으로 웹사이트를 업데이트하도록 요구사항을 생성합니다.

필요한 항목

  • 웹브라우저(예: Chrome)
  • Google 계정

2. 환경 설정

프로젝트 설정

Google Cloud 프로젝트 만들기

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
  2. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

Cloud Shell 활성화

Cloud Shell은 Google Cloud에서 실행되는 명령줄 환경으로, 필요한 도구가 미리 로드되어 제공됩니다.

  1. Google Cloud 콘솔 상단에서 Cloud Shell 활성화를 클릭합니다.
  2. Cloud Shell에 연결되면 인증을 확인합니다.
    gcloud auth list
    
  3. 프로젝트가 구성되었는지 확인합니다.
    gcloud config get project
    
  4. 프로젝트가 예상대로 설정되지 않은 경우 설정합니다.
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

환경 변수 파일 초기화

Cloud Shell 세션 연결이 끊어질 경우 환경 변수가 유지되도록 하려면 환경 변수를 파일에 저장하고 필요할 때 소싱합니다.

  1. Cloud Shell에서 파일을 만들고 프로젝트 ID를 추가합니다.
    echo "export PROJECT_ID=$(gcloud config get-value project)" > ~/lab_env.sh
    source ~/lab_env.sh
    

AI Studio에서 Gemini API 키 가져오기

시장 조사 에이전트는 Gemini Deep Research Interactions API를 래핑합니다. deep_research 도구는 Gemini Deep Research Interactions API를 호출하며, 이 API는 현재 AI Studio 엔드포인트를 통해서만 사용할 수 있습니다. vertexai=False를 사용하여 별도의 genai.Client를 만들고 GEMINI_API_KEY 환경 변수에 저장된 API 키를 사용하여 인증합니다.

  1. Google AI Studio로 이동합니다.
  2. Google 계정으로 로그인합니다.
  3. API 키 만들기를 클릭합니다.
  4. 키 이름을 Unified Intelligence Agents로 지정합니다.
  5. 가져온 프로젝트 선택에서 프로젝트를 선택하거나 가져옵니다.
  6. 키 만들기를 클릭합니다.
  7. 세부정보 창에서 생성된 API 키를 복사합니다.
  8. Cloud Shell에서 이 키를 실습 환경 파일에 저장합니다 (YOUR_GEMINI_API_KEY를 실제 키로 대체).
    echo "export GEMINI_API_KEY=\"YOUR_GEMINI_API_KEY\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

API 사용 설정

  1. Cloud Shell에서 이 실습에 필요한 API를 사용 설정합니다.
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      aiplatform.googleapis.com \
      storage.googleapis.com \
      run.googleapis.com \
      bigquery.googleapis.com \
      cloudbuild.googleapis.com \
      iam.googleapis.com \
      discoveryengine.googleapis.com \
      geminidataanalytics.googleapis.com \
      cloudaicompanion.googleapis.com \
      secretmanager.googleapis.com
    

저장소 클론

데이터 세트와 에이전트를 설정하려면 먼저 소스 코드와 데이터 스크립트가 포함된 저장소를 클론해야 합니다.

  1. Cloud Shell에서 next-26-keynotes 저장소를 클론합니다.
    cd $HOME
    git clone https://github.com/GoogleCloudPlatform/next-26-keynotes.git
    

3. 데이터 및 리소스 구성

BigQuery 데이터 및 에이전트 설정

이 단계에서는 BigQuery 데이터 세트를 만들고, 모의 가구 인벤토리 및 판매 데이터로 채우고, 이 데이터를 분석할 BigQuery 데이터 에이전트를 만듭니다.

  1. Cloud Shell에서 data 디렉터리로 이동합니다.
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/data
    
  2. 애플리케이션 기본 사용자 인증 정보로 인증하고 다음 명령어를 실행한 후 안내를 따릅니다.
    gcloud auth application-default login
    
  3. 설정 스크립트를 실행하여 데이터 세트, 테이블, 뷰를 만듭니다.
    chmod +x setup_bigquery.sh
    ./setup_bigquery.sh
    
    이 스크립트는 다음을 만듭니다.
    • 데이터 세트: unified_intelligence_fabric_demo
    • 테이블: furniture_stock
    • 테이블: furniture_sales
    • 보기: dead_stock_view
  4. Python 스크립트를 실행하여 uv를 사용하여 샘플 데이터로 테이블을 채웁니다.
    uv run --with google-cloud-bigquery ./populate_tables.py
    
  5. BigQuery 데이터 에이전트 만들기:
    • Cloud 콘솔에서 BigQuery 에이전트 허브로 이동합니다.
    • 에이전트 카탈로그에서 새 에이전트를 클릭합니다.
    • 에이전트 이름Unified Intelligence Data Agent로 설정합니다.
    • 지식 소스를 방금 만든 데이터 세트의 테이블 (furniture_stock, furniture_sales)로 설정합니다.
      • furniture를 입력하여 표를 검색합니다.
      • Return 키를 누릅니다.
      • 두 테이블 (furniture_stock, furniture_sales)을 선택합니다.
      • 추가를 클릭합니다.
    • 게시를 클릭합니다.
    • 상담사를 공유하라는 메시지가 표시되면 '취소'를 클릭합니다. 나중에 Compute 서비스 계정에 역할을 추가합니다.
  6. 에이전트 테스트:
    • 오른쪽의 테스트 채팅에서 다음과 같은 질문을 합니다. What are the furniture items with the highest stock?
    • 샘플 데이터를 기반으로 결과를 반환하는지 확인합니다. 출력에 다음과 비슷한 표가 표시됩니다.agent-output
  7. 데이터 에이전트 ID 저장:
    • 화면 왼쪽에 방금 만든 에이전트의 ID가 표시됩니다. agent_ba43c386-ae82-45e0-a2b5-1928440f0926와 같이 표시됩니다.
    agent-id
    • ID를 복사합니다.
    • Cloud Shell에서 다음 명령어를 실행하여 저장하고 YOUR_AGENT_ID를 실제 ID로 바꿉니다.
    echo "export BQ_DATA_AGENT_ID=YOUR_AGENT_ID" >> ~/lab_env.sh
    source ~/lab_env.sh
    

공유 폴더 만들기

이 단계에서는 Google Drive에 폴더를 만들고 Cloud Run 서비스 계정과 공유합니다. 이 폴더는 에이전트가 생성된 요구사항과 같은 파일을 저장하고 공유하는 데 사용됩니다.

  1. Google Drive로 이동합니다.
  2. 새로 만들기 > 새 폴더를 클릭하고 이름을 Unified Intelligence Lab로 지정한 다음 만들기를 클릭합니다.
  3. 새로 만든 폴더를 마우스 오른쪽 버튼으로 클릭하고 공유 > 공유를 선택합니다.
  4. Cloud Shell에서 다음 명령어를 실행하여 기본 Compute Engine 서비스 계정의 이메일 주소를 가져옵니다.
    PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value project) --format="value(projectNumber)")
    echo "${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
    
  5. 출력에서 이메일 주소를 복사합니다.
  6. Google Drive 공유 대화상자에서 이 이메일 주소를 추가합니다.
  7. 역할을 편집자로 설정합니다.
  8. 폴더를 열고 URL에서 ID를 복사합니다. URL은 https://drive.google.com/drive/folders/YOUR_FOLDER_ID과 같이 표시됩니다. URL 끝에 있는 영숫자 문자열을 복사합니다. 이 문자열은 /folders/ 뒤에 표시됩니다.
  9. Cloud Shell에서 이 ID를 실습 환경 파일에 저장합니다 (YOUR_FOLDER_ID를 실제 ID로 바꿈).
    echo "export GOOGLE_DRIVE_FOLDER_ID=YOUR_FOLDER_ID" >> ~/lab_env.sh
    source ~/lab_env.sh
    

GCS 버킷 만들기

Cloud Shell에서 다음 명령어를 실행하여 아티팩트/작업, 캠페인 동영상, 로그용 GCS 버킷을 만듭니다.

gcloud storage buckets create gs://$(gcloud config get-value project)-artifacts --location=us-central1
gcloud storage buckets create gs://$(gcloud config get-value project)-videos --location=us-central1
gcloud storage buckets create gs://$(gcloud config get-value project)-logs --location=us-central1

동영상 버킷을 공개로 설정

웹사이트에서 동영상에 액세스할 수 있도록 동영상 버킷을 공개로 설정하세요.

gcloud storage buckets add-iam-policy-binding gs://$(gcloud config get-value project)-videos --member=allUsers --role=roles/storage.objectViewer

IAM 역할 부여

이 섹션에서는 사용자 및 여러 서비스 계정/에이전트에 IAM 역할을 부여합니다.

사용자에게 역할 부여

Discovery Engine (검색 및 대화) 기능을 사용하려면 Cloud Shell에서 다음 명령어를 실행하여 사용자 계정에 Discovery Engine 사용자 역할을 부여하세요.

source ~/lab_env.sh

echo "export USER_ACCOUNT=$(gcloud config get-value account)" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="user:$USER_ACCOUNT" \
  --role="roles/discoveryengine.user"

Compute Engine 서비스 계정에 역할 부여

Cloud Shell에서 다음 명령어를 실행하여 Compute Engine 서비스 계정에 역할을 부여합니다.

source ~/lab_env.sh

PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
echo "export PROJECT_NUMBER=${PROJECT_NUMBER}" >> ~/lab_env.sh
echo "export COMPUTE_SA=\"${PROJECT_NUMBER}-compute@developer.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/storage.objectAdmin"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/cloudtrace.agent"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/geminidataanalytics.dataAgentUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/geminidataanalytics.dataAgentStatelessUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/bigquery.dataViewer"

gcloud iam service-accounts add-iam-policy-binding $COMPUTE_SA \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/iam.serviceAccountTokenCreator" \
  --project=$PROJECT_ID

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/cloudbuild.builds.builder"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/run.invoker"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/secretmanager.secretAccessor"

Discovery Engine 서비스 계정에 역할 부여

Cloud Shell에서 다음 명령어를 실행하여 Discovery Engine 서비스 계정에 역할을 부여합니다.

source ~/lab_env.sh

echo "export DISCOVERY_ENGINE_SA=\"service-\${PROJECT_NUMBER}@gcp-sa-discoveryengine.iam.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$DISCOVERY_ENGINE_SA" \
  --role="roles/run.invoker"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$DISCOVERY_ENGINE_SA" \
  --role="roles/aiplatform.user"

AI Platform Reasoning Engine 서비스 에이전트에 역할 부여

Cloud Shell에서 다음 명령어를 실행하여 AI Platform Reasoning Engine 서비스 에이전트에 역할을 부여합니다.

source ~/lab_env.sh

echo "export AI_PLATFORM_RE_SA=\"service-\${PROJECT_NUMBER}@gcp-sa-aiplatform-re.iam.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AI_PLATFORM_RE_SA" \
  --role="roles/storage.objectViewer"

4. 에이전트 구성 및 배포

이 Codelab에 필요한 모든 맞춤 에이전트를 구성하고 배포합니다.

제품 전략 에이전트 구성 및 배포

이 단계에서는 제품 전략 에이전트를 Cloud Run에 배포하고 Gemini Enterprise 앱에 등록합니다. 이 에이전트는 시장 데이터를 기반으로 제품 개념을 구체화하는 역할을 합니다.

기본 요건

먼저 제품 전략 에이전트의 환경 변수를 구성합니다.

  1. Cloud Shell에서 Product Strategy Agent 디렉터리로 이동합니다.
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/product-strategy
    
  2. 다음 명령어를 실행하여 .env.sample 파일을 .env에 복사합니다.
    cp .env.sample .env
    
  3. Cloud Shell에서 다음 명령어를 실행하여 프로젝트 세부정보로 .env 파일을 채웁니다.
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_VEO_GCS_BUCKET/${PROJECT_ID}-videos/" .env
    sed -i "s/YOUR_GOOGLE_DRIVE_FOLDER_ID/${GOOGLE_DRIVE_FOLDER_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

제품 전략 에이전트 배포

  1. Cloud Run에 배포 이제 Cloud Shell에서 에이전트를 Cloud Run에 배포합니다. 저장소에는 이 프로세스를 간소화하는 Makefile이 포함되어 있습니다.
    make deploy
    
    배포가 완료되면 제품 전략 에이전트의 URL이 제공됩니다.
  2. Cloud Shell에서 다음 명령어를 실행하여 배포된 서비스의 URL을 가져와 실습 환경 파일에 저장합니다.
    source ~/lab_env.sh
    PRODUCT_STRATEGY_URL=$(gcloud run services describe product-strategy --region us-central1 --format 'value(status.url)')
    echo "export PRODUCT_STRATEGY_URL=\"${PRODUCT_STRATEGY_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

시장 조사 에이전트 구성 및 배포

이 단계에서는 시장 조사 에이전트를 Cloud Run에 배포하고 Gemini Enterprise 앱에 등록합니다. 이 에이전트는 트렌드와 고객 피드백을 분석합니다.

기본 요건

먼저 Deep Research 조사 도구의 API 키를 비롯한 시장 조사 에이전트의 환경 변수를 구성합니다.

  1. Cloud Shell에서 market-research 디렉터리로 이동합니다.
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/market-research
    
  2. 다음 명령어를 실행하여 .env.sample 파일을 .env에 복사합니다.
    cp .env.sample .env
    
  3. Cloud Shell에서 다음 명령어를 실행하여 프로젝트 세부정보로 .env 파일을 채웁니다.
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

보안 비밀 만들기

GEMINI_API_KEY 변수는 Secret Manager에 저장되고 배포 시 Cloud Run 수정 버전에 마운트됩니다.

  1. Cloud Shell에서 GEMINI_API_KEY.env 파일에 추가합니다.
    source ~/lab_env.sh
    echo "GEMINI_API_KEY=${GEMINI_API_KEY}" >> .env
    
  2. 다음 명령어를 실행하여 로컬 .env에서 Secret Manager로 보안 비밀 값을 푸시합니다.
    make create-secrets
    
  3. 다음 명령어를 실행하여 Cloud Run에 보안 비밀 액세스 권한을 부여합니다.
    make grant-secret-access
    

Cloud Run에 시장 조사 에이전트 배포

  1. Cloud Shell에서 Makefile를 사용하여 에이전트를 배포합니다.
    make deploy
    
    배포가 완료되면 시장 조사 에이전트의 URL이 제공됩니다.
  2. Cloud Shell에서 다음 명령어를 실행하여 배포된 서비스의 URL을 가져와 실습 환경 파일에 저장합니다.
    source ~/lab_env.sh
    MARKET_RESEARCH_URL=$(gcloud run services describe market-research --region us-central1 --format 'value(status.url)')
    echo "export MARKET_RESEARCH_URL=\"${MARKET_RESEARCH_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

오케스트레이터 에이전트 구성 및 배포

이 단계에서는 오케스트레이터 에이전트를 Cloud Run에 배포하고 Gemini Enterprise 앱에 등록합니다. 이 에이전트는 다른 에이전트 간의 워크플로를 조정합니다.

기본 요건

먼저 Orchestrator 에이전트의 환경 변수를 구성합니다. 이전 단계에서 배포한 제품 전략 및 시장 조사 에이전트의 URL을 알아야 합니다.

  1. Cloud Shell에서 orchestrator 디렉터리로 이동합니다.
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/orchestrator
    
  2. 다음 명령어를 실행하여 .env.sample 파일을 .env에 복사합니다.
    cp .env.sample .env
    
  3. Cloud Shell에서 다음 명령어를 실행하여 프로젝트 세부정보와 BigQuery 데이터 에이전트 구성으로 .env 파일을 채웁니다.
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s|http://localhost:8002|${MARKET_RESEARCH_URL}|" .env
    sed -i "s|http://localhost:8001|${PRODUCT_STRATEGY_URL}|" .env
    sed -i "s/YOUR_BQ_DATA_AGENT_PROJECT/${PROJECT_ID}/" .env
    sed -i "s/YOUR_BQ_DATA_AGENT_ID/${BQ_DATA_AGENT_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

Orchestrator 에이전트 배포

  1. Cloud Shell에서 Makefile을 사용하여 오케스트레이터 에이전트를 배포합니다.
    make deploy
    

배포가 완료되면 오케스트레이터 에이전트의 URL이 제공됩니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 배포된 서비스의 URL을 가져와 실습 환경 파일에 저장합니다.
    source ~/lab_env.sh
    ORCHESTRATOR_URL=$(gcloud run services describe orchestrator --region us-central1 --format 'value(status.url)')
    echo "export ORCHESTRATOR_URL=\"${ORCHESTRATOR_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

개발 에이전트 구성 및 배포

이 단계에서는 개발 에이전트를 Cloud Run에 배포하고 Gemini Enterprise 앱에 등록합니다. 이 에이전트는 작업을 만들고 코드를 스캐폴딩하여 계획을 실행으로 변환합니다. 개발자 에이전트는 Jira와 통합하여 티켓을 만들 수 있으며, 이것이 기조연설 데모에 표시됩니다. 하지만 이 Codelab에서는 Jira 통합을 건너뛰고 에이전트가 대신 Google Cloud Storage에 작업을 저장하도록 하겠습니다.

기본 요건

하지만 먼저 개발 에이전트의 환경 변수를 구성합니다.

  1. Cloud Shell에서 dev-agent 디렉터리로 이동합니다.
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/dev-agent
    
  2. 다음 명령어를 실행하여 .env.sample 파일을 .env에 복사합니다.
    cp .env.sample .env
    
  3. Cloud Shell에서 다음 명령어를 실행하여 프로젝트 세부정보로 .env 파일을 채웁니다.
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_ASSET_BUCKET_NAME/${PROJECT_ID}-artifacts/" .env
    sed -i "s/YOUR_VEO_GCS_BUCKET/${PROJECT_ID}-videos/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

개발 에이전트 배포

  1. Cloud Shell에서 Makefile를 사용하여 개발 에이전트를 배포합니다.
    make deploy
    

배포가 완료되면 개발 에이전트의 URL이 제공됩니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 배포된 서비스의 URL을 가져와 실습 환경 파일에 저장합니다.
    source ~/lab_env.sh
    DEV_AGENT_URL=$(gcloud run services describe dev-agent --region us-central1 --format 'value(status.url)')
    echo "export DEV_AGENT_URL=\"${DEV_AGENT_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

5. Gemini Enterprise 설정 및 에이전트 등록

이 Codelab에서는 Gemini Enterprise를 사용하여 에이전트를 등록하고 관리합니다. 이렇게 하면 에이전트가 Workspace 및 기타 엔터프라이즈 시스템과 상호작용할 수 있으며 사용자가 에이전트와 상호작용할 수 있습니다.

이 Codelab에서는 Gemini Enterprise Plus 무료 체험에 가입해야 합니다. 에이전트를 등록하는 데 사용할 도 만듭니다.

Gemini Enterprise 체험판 가입

Discovery Engine API가 이미 사용 설정되어 있으므로 트라이얼을 명시적으로 시작할 필요가 없습니다. 대신 첫 번째 앱을 만드는 다른 버튼이 표시됩니다.

  1. Google Cloud 콘솔의 Gemini Enterprise 페이지로 이동합니다.
  2. 환영 화면이 표시됩니다. '첫 번째 앱 만들기'를 클릭합니다.gemini-enterprise-app

애플리케이션 만들기

  1. 앱 이름에 n26-unified을 입력합니다. 화면에 표시된 무료 체험판 배너를 확인합니다.trial-banner
  2. 다른 필드는 기본값으로 두고 '만들기'를 클릭합니다.
  3. 환영 화면이 표시됩니다. 미리보기 링크를 클릭합니다.gemini-enterprise-app-preview
  4. Gemini Enterprise 웹 애플리케이션이 포함된 새 창이 팝업됩니다. URL 표시줄에 있는 화면 상단의 URL을 확인합니다. 애플리케이션에 액세스하려면 향후 섹션에서 이 URL이 필요합니다. https://vertexaisearch.cloud.google.com/home/cid/ebb52d4a-b33b-4007-a180-91d02fa124e1와 비슷하게 표시됩니다.gemini-enterprise-web-app

커스텀 에이전트 등록

Gemini Enterprise에서 에이전트를 사용하려면 Gemini Enterprise 애플리케이션에 에이전트를 등록해야 합니다. Cloud Run에 배포된 맞춤 에이전트는 A2A (에이전트 간) 통합에 등록할 수 있습니다.

  1. 콘솔의 별도 창에서 Gemini Enterprise 앱 화면으로 이동합니다.
  2. n26-unified이라는 앱을 클릭합니다.
  3. 왼쪽 탐색에서 '상담사'를 클릭합니다.

제품 전략 에이전트 등록

  1. Cloud Shell에서 에이전트 카드를 가져오려면 다음 명령어를 실행합니다.
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $PRODUCT_STRATEGY_URL/.well-known/agent-card.json  | jq
    
  2. + 에이전트 추가를 클릭합니다.
  3. A2A를 통한 커스텀 에이전트를 클릭합니다.
  4. 이전 단계의 에이전트 카드 JSON을 텍스트 상자에 붙여넣습니다.
  5. 에이전트 세부정보 미리보기를 클릭합니다.
  6. 다음을 클릭합니다.
  7. 에이전트 승인에서 건너뛰기 및 완료를 클릭합니다.
  8. 사용자 권한 탭에서 모든 사용자에게 에이전트 사용자 역할을 부여합니다.
  9. 저장을 클릭합니다.

시장 조사 에이전트를 Gemini Enterprise 애플리케이션에 등록

  1. Cloud Shell에서 에이전트 카드를 가져오려면 다음 명령어를 실행합니다.
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $MARKET_RESEARCH_URL/.well-known/agent-card.json  | jq
    
  2. + 에이전트 추가를 클릭합니다.
  3. A2A를 통한 커스텀 에이전트를 클릭합니다.
  4. 이전 단계의 에이전트 카드 JSON을 텍스트 상자에 붙여넣습니다.
  5. 에이전트 세부정보 미리보기를 클릭합니다.
  6. 다음을 클릭합니다.
  7. 에이전트 승인에서 건너뛰기 및 완료를 클릭합니다.
  8. 사용자 권한 탭에서 모든 사용자에게 에이전트 사용자 역할을 부여합니다.
  9. 저장을 클릭합니다.

오케스트레이터 에이전트 등록

  1. Cloud Shell에서 에이전트 카드를 가져오려면 다음 명령어를 실행합니다.
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $ORCHESTRATOR_URL/.well-known/agent-card.json  | jq
    
  2. + 에이전트 추가를 클릭합니다.
  3. A2A를 통한 커스텀 에이전트를 클릭합니다.
  4. 이전 단계의 에이전트 카드 JSON을 텍스트 상자에 붙여넣습니다.
  5. 에이전트 세부정보 미리보기를 클릭합니다.
  6. 다음을 클릭합니다.
  7. 에이전트 승인에서 건너뛰기 및 완료를 클릭합니다.
  8. 사용자 권한 탭에서 모든 사용자에게 에이전트 사용자 역할을 부여합니다.
  9. 저장을 클릭합니다.

개발 에이전트 등록

  1. Cloud Shell에서 에이전트 카드를 가져오려면 다음 명령어를 실행합니다.
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $DEV_AGENT_URL/.well-known/agent-card.json  | jq
    
  2. + 에이전트 추가를 클릭합니다.
  3. A2A를 통한 커스텀 에이전트를 클릭합니다.
  4. 이전 단계의 에이전트 카드 JSON을 텍스트 상자에 붙여넣습니다.
  5. 에이전트 세부정보 미리보기를 클릭합니다.
  6. 다음을 클릭합니다.
  7. 에이전트 승인에서 건너뛰기 및 완료를 클릭합니다.
  8. 사용자 권한 탭에서 모든 사용자에게 에이전트 사용자 역할을 부여합니다.
  9. 저장을 클릭합니다.

6. 1막: Gemini Enterprise의 전략 및 오케스트레이션

이 실습 섹션에서는 매출이 정체되거나 감소하는 제품 라인을 활성화하는 역할을 담당하는 'Organic Living'의 상품 부문 부사장이 됩니다.

인기가 낮은 제품군을 다시 활성화하기 위해 상담사에게 추세를 분석하고, 창고의 재고를 파악하고, 재출시 캠페인을 조정해 달라고 요청합니다. Gemini Enterprise가 여러 에이전트를 오케스트레이션하여 하나의 복잡한 프롬프트에 답변하는 방법을 알아봅니다.

4단계: Gemini Enterprise 설정 및 에이전트 등록에서 기록한 URL입니다. URL이 없는 경우 다음 단계에 따라 URL을 가져올 수 있습니다.

  1. Gemini Enterprise 앱 화면으로 이동
  2. n26-unified이라는 앱을 클릭합니다.
  3. https://vertexaisearch.cloud.google.com로 시작하는 URL을 클릭합니다.

에이전트에게 작업에 대한 도움을 요청합니다.

  1. 홈페이지의 채팅 상자에 입력하여 새 채팅을 시작하거나 왼쪽 탐색에서 새 채팅을 클릭합니다.
  2. 다음 프롬프트를 추가합니다.
    Analyze current interior design trends and identify dead stock in our warehouse that matches the trend. Orchestrate a relaunch campaign
    
  3. 제출 (종이 비행기 아이콘)을 클릭하고 오케스트레이터 에이전트가 자동으로 작업을 처리하는 것을 확인합니다.

출력 확인

이 프롬프트 하나로 여러 에이전트가 몇 시간이 아닌 몇 분 만에 일련의 작업을 완료합니다.

  • Deep Research 기반 시장 조사 에이전트는 최신 Google 검색 정보를 분석하여 최신 디자인 트렌드를 파악합니다.
  • 데이터 통계 에이전트는 전 세계 제품 데이터에 연결되고 연구 결과를 내부 카탈로그에 제공하여 이러한 추세 기준과 일치하는 '재고 소진' 상품 (속도가 낮은 인벤토리)을 식별합니다.
  • 제품 전략 상담사는 다른 상담사의 조사와 데이터를 기반으로 다시 출시 캠페인 전략을 생성하기 위해 모든 정보를 취합합니다.

계획을 승인하고 출력을 확인합니다.

  1. Yes로 응답하여 계획을 승인합니다.
  2. 출력을 확인합니다.
    • 시장 조사 에이전트의 통계로 시작하며 웹사이트 리브랜딩을 포함한 광범위한 계획이 포함됩니다.
    • 앞서 설정한 BigQuery 데이터 에이전트를 사용하여 제품 데이터에서 가져온 데이터를 포함합니다.
    • 분석 및 추천에 대한 신뢰도를 높이기 위해 출력 하단에 출처가 표시됩니다.

새로운 Organic Living 스타일을 기반으로 동영상 생성

  1. 채팅에서 제품 전략 에이전트에게 동영상을 생성해 달라고 요청합니다. 먼저 @Product를 입력하고 목록에서 Product Strategy Agent를 선택합니다.
  2. 다음 프롬프트를 추가합니다.
    generate three videos for the landing page
    
  3. Gemini는 제품 전략 에이전트를 사용하여 동영상 애셋을 생성하고 동영상 애셋의 URL을 제공합니다.

개발팀과 협력

기조연설 데모에서 개발자 에이전트는 개발팀에 Google Chat 알림을 보냈습니다. 하지만 개인 Gmail 계정에서는 수신 웹훅이 지원되지 않으므로 이 단계는 이 Codelab에서 삭제했습니다. 대신 개발 에이전트는 Google Cloud Storage에서 작업을 만드는 데 집중합니다.

  1. 채팅에서 개발 에이전트에게 개발팀을 위한 작업을 만들어 달라고 요청합니다. @Dev을 입력하고 목록에서 Dev Agent를 선택합니다.
  2. 다음 프롬프트를 추가합니다.
    create a task for the dev team to get started on the new product landing page.
    
  3. 출력을 확인합니다. 개발 에이전트는 작업이 생성되었음을 확인하고 작업 ID (예: TASK-A3F7B2C1)를 제공합니다. 2막에서 필요하므로 이 작업 ID를 기록해 두세요.

7. 2막: Gemini CLI에서 빌드

이 단계에서는 개발자 역할로 전환합니다. 1막에서 만든 작업을 바탕으로 새 캠페인의 방문 페이지를 빌드하고 실행해야 합니다.

작업 파일에 있는 설계 사양을 기반으로 Gemini CLI를 사용하여 'Organic Living' 웹사이트를 빌드합니다. Gemini CLI는 명령줄에서 Gemini의 기능을 사용할 수 있도록 지원하는 오픈소스 AI 에이전트입니다. Cloud Shell 환경에 이미 사전 설치되어 있습니다.

Gemini CLI 구성

  1. Cloud Shell에서 웹사이트 프로젝트의 새 디렉터리를 만들어 해당 디렉터리로 이동합니다.
    mkdir -p $HOME/website
    cd $HOME/website
    
  2. 클론된 저장소에서 GEMINI.md 안내와 디자인 이미지를 작업 디렉터리에 복사합니다.
    cp $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/gemini-cli/GEMINI.md .
    cp $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/gemini-cli/Organic_Living_Website_Design.png .
    
  3. 에이전트 구성 디렉터리를 만들고 dev-agent.md 파일을 만듭니다.
    source ~/lab_env.sh
    mkdir -p ~/.gemini/agents
    cat > ~/.gemini/agents/dev-agent.md <<EOF
    ---
    kind: remote
    name: dev-agent
    agent_card_url: ${DEV_AGENT_URL}/.well-known/agent-card.json
    description: "Task assistant. Use for: creating/looking up/starting APPDEV tasks."
    auth:
      type: google-credentials
    ---
    EOF
    

프롬프트 작성 시작

  1. gemini-cli를 실행하여 상호작용을 시작합니다.
    source ~/lab_env.sh
    gemini
    
  2. 이 폴더의 파일을 신뢰하는지 묻는 메시지가 표시됩니다. 옵션 1을 선택합니다. 신뢰 폴더 (웹사이트)
  3. Gemini CLI 프롬프트에서 auth를 입력하고 Enter 키를 누릅니다.
  4. Gemini API 키 사용을 선택합니다. 이렇게 하면 lab_env.sh에서 로드한 GEMINI_API_KEY 환경 변수가 자동으로 사용됩니다.
  1. gemini> 프롬프트에서 1막에서 만든 작업을 진행하고 싶다고 에이전트에게 말합니다 (TASK-A3F7B2C1을 기록한 실제 작업 ID로 대체).
    @dev-agent let me work on TASK-A3F7B2C1
    
    에이전트가 GCS에서 작업을 찾아 개요와 계획을 제공합니다.
  2. 이제 에이전트에게 웹사이트를 빌드해 달라고 요청합니다.
    Build and deploy it
    
    Gemini가 현재 디렉터리의 GEMINI.md 파일을 읽고 사양에 따라 웹사이트를 빌드하기 시작합니다.
  3. 빌드와 배포가 완료되면 에이전트가 배포된 Cloud Run 서비스의 URL을 비롯한 결과를 출력합니다.
  4. 제공된 URL을 클릭하여 새 'Organic Living' 웹사이트를 새 탭에서 열고 디자인 사양과 일치하는지 확인합니다.

8. 요약

이 Codelab에서는 다양한 역할과 환경에서 복잡한 다단계 워크플로를 완료하여 '통합 인텔리전스 패브릭'의 강력한 기능을 성공적으로 보여주었습니다.

  1. 다중 에이전트 시스템 오케스트레이션: Gemini Enterprise에서 단일 프롬프트를 사용하여 시장 조사, 데이터 통계, 제품 전략 등 에이전트 팀을 참여시켜 트렌드를 분석하고, 인벤토리를 파악하고, 재출시 전략을 개발했습니다. 하나의 프롬프트로 각 작업을 별도로 완료하지 않아도 많은 작업을 처리할 수 있습니다.
  2. 생성된 멀티미디어 애셋: 제품 전략 에이전트를 사용하여 새 제품 라인의 동영상 애셋을 생성했습니다.
  3. 시뮬레이션된 교차 역할 인계: 개발자 에이전트를 사용하여 GCS에서 작업을 생성하여 비즈니스팀에서 개발팀으로의 인계를 시뮬레이션했습니다. 시스템에서 직접 공유하지 않아도 공유 컨텍스트를 유지했습니다.
  4. Gemini CLI로 웹사이트 빌드: Cloud Shell에서 개발자 역할로 전환하고 Gemini CLI를 사용하여 이전 단계에서 만든 작업과 GEMINI.md의 설계 사양을 기반으로 방문 페이지를 빌드하고 배포했습니다.

이 워크플로는 Gemini Enterprise가 다양한 도구, 데이터 소스, 역할을 연결하여 복잡한 비즈니스 프로세스를 간소화하는 방법을 보여줍니다.

9. 삭제

이 실습에서는 많은 리소스를 생성하므로 긴 정리 단계를 피하기 위해 전체 프로젝트를 삭제하는 것이 좋습니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 전체 Google Cloud 프로젝트를 삭제합니다.
source ~/lab_env.sh
gcloud projects delete "${PROJECT_ID}"

10. 축하합니다

축하합니다. '통합 인텔리전스 패브릭' Codelab을 완료했습니다.