ADK AI 에이전트로 Google Chat 앱 빌드하기

이 페이지에서는 Google Chat에서 작동하고 Vertex AI Agent Engine에서 호스팅되는 에이전트 개발 키트 (ADK) AI 에이전트와 상호작용하는 Google Workspace 부가기능을 빌드하는 방법을 설명합니다.

AI 에이전트는 환경을 자율적으로 인식하고, 추론하고, 복잡한 다단계 작업을 실행하여 정의된 목표를 달성합니다. 이 튜토리얼에서는 Gemini 및 Google 검색 기반을 사용하여 사실을 비판하고 수정하는 ADK LLM 감사자 다중 에이전트 샘플 을 배포합니다.

LLM 감사자 멀티 에이전트 샘플을 채팅 앱으로 사용합니다.

다음 다이어그램은 아키텍처 및 메시지 패턴을 보여줍니다.

ADK AI 에이전트로 구현된 Chat 앱의 아키텍처

위의 다이어그램에서 ADK AI 에이전트로 구현된 Chat 앱과 상호작용하는 사용자는 다음과 같은 정보 흐름을 갖습니다.

  1. 사용자가 채팅 메시지 또는 Chat 스페이스를 통해 Chat 앱에 메시지를 보냅니다.
  2. Apps Script 또는 HTTP 엔드포인트가 있는 웹 서버로 구현된 Chat 앱 로직이 메시지를 수신하고 처리합니다.
  3. ADK로 구현되고 Vertex AI Agent Engine으로 호스팅되는 AI 에이전트가 상호작용을 수신하고 처리합니다.
  4. 선택적으로 Chat 앱 또는 AI 에이전트는 Calendar 또는 Sheets와 같은 Google Workspace 서비스 또는 Google 지도 또는 YouTube와 같은 다른 Google 서비스와 통합할 수 있습니다.
  5. Chat 앱은 Google Chat API를 사용하여 비동기식으로 응답을 전송하여 AI 에이전트 진행 상황을 전달합니다.
  6. 응답이 사용자에게 전달됩니다.

목표

  • 환경을 설정합니다.
  • ADK AI 에이전트를 배포합니다.
  • Chat 앱을 배포합니다.
  • Chat 앱을 구성합니다.
  • Chat 앱을 테스트합니다.

기본 요건

환경 설정

Google Cloud API 사용 설정

Google API를 사용하려면 Google Cloud 프로젝트에서 API를 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.
  • Google Cloud 콘솔에서 Google Chat, Vertex AI, Cloud Resource Manager API를 사용 설정합니다.

    API 사용 설정

OAuth 동의 화면 구성

OAuth 2.0을 사용하는 모든 앱에는 동의 화면 구성이 필요합니다. 앱의 OAuth 동의 화면을 구성하면 사용자와 앱 검토자에게 표시되는 항목을 정의하고 나중에 게시할 수 있도록 앱을 등록할 수 있습니다.

  1. Google API 콘솔에서 메뉴 > Google 인증 플랫폼 > 브랜딩으로 이동합니다.

    브랜딩으로 이동

  2. 이미 Google 인증 플랫폼을 구성한 경우 브랜딩, 대상, 데이터 액세스에서 다음 OAuth 동의 화면 설정을 구성할 수 있습니다. Google 인증 플랫폼이 아직 구성되지 않음이라는 메시지가 표시되면 시작하기를 클릭합니다.
    1. 앱 정보앱 이름에 앱 이름을 입력합니다.
    2. 사용자 지원 이메일에서 사용자가 동의에 관해 문의할 수 있는 지원 이메일 주소를 선택합니다.
    3. 다음 을 클릭합니다.
    4. 대상에서 내부를 선택합니다.
    5. 다음 을 클릭합니다.
    6. 연락처 정보에서 프로젝트 변경사항에 관한 알림을 받을 수 있는 이메일 주소를 입력합니다.
    7. 다음 을 클릭합니다.
    8. 완료에서 Google API 서비스 사용자 데이터 정책을 검토하고 동의하는 경우 Google API 서비스: 사용자 데이터 정책에 동의합니다를 선택합니다.
    9. 계속 을 클릭합니다.
    10. 만들기 를 클릭합니다.
  3. 지금은 범위를 추가하지 않아도 됩니다. 나중에 Google Workspace 조직 외부에서 사용할 앱을 만들 때는 사용자 유형외부로 변경해야 합니다. 그런 다음 앱에 필요한 승인 범위를 추가합니다. 자세한 내용은 전체 OAuth 동의 구성 가이드를 참고하세요.

Google Cloud 콘솔에서 서비스 계정 만들기

다음 단계에 따라 Vertex AI User 역할로 새 서비스 계정을 만듭니다.

Google API 콘솔

  1. Google API 콘솔에서 메뉴 > IAM 및 관리자 > 서비스 계정으로 이동합니다.

    서비스 계정으로 이동

  2. 서비스 계정 만들기 를 클릭합니다.
  3. 서비스 계정 세부정보를 입력한 다음 만들고 계속하기 를 클릭합니다.
  4. 선택사항: 서비스 계정에 역할을 할당하여 Google Cloud 프로젝트의 리소스에 대한 액세스 권한을 부여합니다. 자세한 내용은 리소스에 대한 액세스 권한 부여, 변경, 취소를 참고하세요.
  5. 계속 을 클릭합니다.
  6. 선택사항: 이 서비스 계정으로 작업을 관리하고 실행할 수 있는 사용자 또는 그룹을 입력합니다. 자세한 내용은 서비스 계정 명의 도용 관리를 참고하세요.
  7. 완료 를 클릭합니다. 서비스 계정의 이메일 주소를 적어둡니다.

gcloud CLI

  1. 서비스 계정을 만듭니다.
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. 선택사항: 서비스 계정에 역할을 할당하여 Google Cloud 프로젝트의 리소스에 대한 액세스 권한을 부여합니다. 자세한 내용은 리소스에 대한 액세스 권한 부여, 변경, 취소를 참고하세요.

서비스 계정이 서비스 계정 페이지에 표시됩니다.

비공개 키 만들기

서비스 계정의 비공개 키를 만들고 다운로드하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 메뉴 > IAM 및 관리자 > 서비스 계정으로 이동합니다.

    서비스 계정으로 이동

  2. 서비스 계정을 선택합니다.
  3. > 키 추가 > 새 키 만들기를 클릭합니다.
  4. JSON 을 선택한 다음 만들기 을 클릭합니다.

    새 공개 키/비공개 키 쌍이 생성되어 새 파일로 머신에 다운로드됩니다. 다운로드한 JSON 파일을 작업 디렉터리에 credentials.json으로 저장합니다. 이 파일은 이 키의 유일한 사본입니다. 키를 안전하게 저장하는 방법에 대한 자세한 내용은 서비스 계정 키 관리를 참고하세요.

  5. 닫기 를 클릭합니다.

서비스 계정에 대한 자세한 내용은 Google Cloud IAM 문서의 서비스 계정을 참고하세요.

ADK AI 에이전트 배포

  1. Vertex AI Agent Garden에서 LLM 감사자 샘플 을 엽니다.

    샘플 열기

  2. 배포 를 클릭합니다.

  3. 메시지가 표시되면 Google Cloud 프로젝트를 선택합니다.

  4. Cloud Shell에 배포 를 클릭합니다.

  5. 메시지가 표시되면 승인 을 클릭하고 Cloud Shell의 OAuth 흐름을 진행합니다.

  6. Cloud Shell이 완전히 로드되면 Enter 키를 눌러 미리 로드된 명령줄을 실행하고 배포를 시작합니다.

  7. 리전을 입력하라는 메시지가 표시되면 Enter 키를 눌러 기본값을 사용합니다.

  8. 완료되면 Vertex AI Agent Engine으로 이동합니다.

    Vertex AI Agent Engine 열기

  9. 사본 만들기 아이콘를 클릭하여 표에서 새로 배포된 에이전트의 리소스 이름을 복사합니다.

Chat 앱 프로젝트 만들기 및 구성

  1. 다음 버튼을 클릭하여 ADK AI 에이전트 빠른 시작 Apps Script 프로젝트를 엽니다.

    프로젝트 열기

  2. 개요 > 사본 만들기 아이콘 사본 만들기를 클릭합니다.

  3. Apps Script 프로젝트에서 프로젝트 설정 아이콘 프로젝트 설정 > 스크립트 속성 수정 > 스크립트 속성 추가 를 클릭하여 다음 스크립트 속성을 추가합니다.

    1. 이전 단계에서 복사한 Vertex AI 에이전트 리소스 이름이 있는 REASONING_ENGINE_RESOURCE_NAME
    2. 이전 단계에서 다운로드한 서비스 계정의 JSON 키가 있는 SERVICE_ACCOUNT_KEY(예: { ... })
  4. 스크립트 속성 저장 을 클릭합니다.

  5. Google API 콘솔에서 메뉴 > IAM 및 관리자 > 설정으로 이동합니다.

    IAM &관리자 설정으로 이동

  6. 프로젝트 번호 필드에서 값을 복사합니다.

  7. Apps Script 프로젝트에서 프로젝트 설정 아이콘 프로젝트 설정을 클릭합니다.

  8. Google Cloud Platform (GCP) 프로젝트에서 프로젝트 변경을 클릭합니다.

  9. GCP 프로젝트 번호에 이전 단계에서 복사한 Google Cloud 프로젝트 번호를 붙여넣습니다.

  10. 프로젝트 설정 을 클릭합니다. 이제 Cloud 프로젝트와 Apps Script 프로젝트가 연결되었습니다.

테스트 배포 만들기

다음 단계에서 사용할 수 있도록 이 Apps Script 프로젝트의 배포 ID가 필요합니다.

헤드 배포 ID를 가져오려면 다음 단계를 따르세요.

  1. Chat 앱 Apps Script 프로젝트에서 배포 > 테스트 배포를 클릭합니다.
  2. 헤드 배포 ID에서 사본 만들기 아이콘 복사를 클릭합니다.
  3. 완료 를 클릭합니다.

Chat 앱 구성

Apps Script 배포를 사용하여 다음 단계에 따라 테스트를 위해 Google Chat 앱을 배포합니다.

  1. API 콘솔에서 Google Chat API를 검색하고 Google Chat API를 클릭합니다.
  2. 관리 를 클릭합니다.
  3. 구성 을 클릭하고 Chat 앱을 설정합니다.

    1. 앱 이름 필드에 ADK Quickstart를 입력합니다.
    2. 아바타 URL 필드에 https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.png를 입력합니다.
    3. 설명 필드에 ADK Quickstart를 입력합니다.
    4. 기능에서 스페이스 및 그룹 대화 참여를 선택합니다.
    5. 연결 설정에서 Apps Script 프로젝트 를 선택합니다.
    6. 배포 ID 필드에 이전에 복사한 헤드 배포 ID를 붙여넣습니다.
    7. 공개 상태에서 내 도메인의 특정 사용자 및 그룹을 선택하고 이메일을 입력합니다.
  4. 저장 을 클릭합니다.

이제 Chat 앱에서 메시지에 응답할 수 있습니다.

Chat 앱 테스트

Chat 앱을 테스트하려면 Chat 앱으로 채팅 메시지 스페이스를 열고 메시지를 보냅니다.

  1. 신뢰할 수 있는 테스터로 자신을 추가할 때 제공한 Google Workspace 계정을 사용하여 Google Chat을 엽니다.

    Google Chat으로 이동

  2. 새 채팅 추가를 클릭합니다.
  3. 1명 이상 추가 필드에 Chat 앱의 이름을 입력합니다.
  4. 검색 결과에서 Chat 앱을 선택합니다. 채팅 메시지가 열립니다.

  5. 앱의 새 채팅 메시지에 The Eiffel Tower was completed in 1900을 입력하고enter를 누릅니다.

    Chat 앱이 비판자수정자 하위 에이전트 응답으로 답장합니다.

신뢰할 수 있는 테스터를 추가하고 대화형 테스트 기능에 대해 자세히 알아보려면 Google Chat 앱의 대화형 기능 테스트를 참고하세요.

문제 해결

Google Chat 앱 또는 카드가 오류를 반환하면 Chat 인터페이스에 '문제가 발생했습니다.' 또는 '요청을 처리할 수 없습니다.' Chat UI에 오류 메시지가 표시되지 않지만 Chat 앱 또는 카드가 예기치 않은 결과를 생성하는 경우도 있습니다. 예를 들어 카드 메시지가 표시되지 않을 수 있습니다.

오류 메시지가 Chat UI에 표시되지 않더라도 오류를 해결하는 데 도움이 되는 설명 오류 메시지와 로그 데이터를 사용할 수 있습니다. Chat 앱의 오류 로깅이 사용 설정되어 있으면 오류를 보고, 디버깅하고, 수정하는 데 도움이 필요하면 Google Chat 오류 문제 해결 및 수정을 참고하세요.

삭제

이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 Cloud 프로젝트를 삭제하는 것이 좋습니다.

  1. Google API 콘솔에서 리소스 관리 페이지로 이동합니다. 메뉴 > IAM 및 관리자 > 리소스 관리를 클릭합니다.

    Resource Manager로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택한 다음 삭제 를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.