Cloud Run에서 AI 에이전트 호스팅

이 페이지에서는 Cloud Run에서 AI 에이전트를 호스팅하는 사용 사례를 강조합니다.

AI 에이전트는 LLM 기반 시스템을 사용하여 목표를 인식하고, 결정하고, 행동하는 자율 소프트웨어 엔티티입니다. 더 많은 자율 에이전트가 구축됨에 따라 커뮤니케이션 및 협업 능력이 중요해집니다.

AI 에이전트 소개는 AI 에이전트란 무엇인가요?를 참조하세요.

Cloud Run에서 AI 에이전트 호스팅

비동기 작업 집합을 조정하고 여러 요청-응답 상호작용을 통해 정보를 제공하기 위해 AI 에이전트를 Cloud Run 서비스로 구현할 수 있습니다.

Cloud Run 서비스는 애플리케이션의 핵심 로직을 위한 확장 가능한 API 엔드포인트입니다. 인스턴스의 자동, 주문형, 신속한 확장을 통해 여러 동시 사용자를 효율적으로 관리합니다.

Cloud Run 기반 AI 에이전트 아키텍처

Cloud Run에 배포된 일반적인 AI 에이전트 아키텍처에는 Google Cloud 및 Google Cloud외부의 여러 구성요소가 포함될 수 있습니다.

Cloud Run에서 호스팅되는 AI 에이전트의 네 가지 구성요소
그림 1. Cloud Run 기반 AI 에이전트 아키텍처

다이어그램에 표시된 항목은 다음과 같습니다.

  • 호스팅 플랫폼: Cloud Run은 에이전트를 실행하기 위한 호스팅 플랫폼으로, 다음과 같은 이점을 제공합니다.

    • 에이전트 프레임워크를 실행하여 다양한 유형의 에이전트와 에이전트 아키텍처를 빌드할 수 있습니다. 에이전트 프레임워크의 예로는 에이전트 개발 키트(ADK)LangGraph가 있습니다.
    • 에이전트를 관리하기 위한 기본 제공 기능을 제공합니다. 예를 들어 Cloud Run은 안전하고 자동화된 사용자 인증 정보로 Google Cloud API를 호출하기 위한 에이전트 ID로 사용할 수 있는 기본 제공 서비스 ID를 제공합니다.
    • 에이전트 프레임워크를 다른 서비스에 연결하는 것을 지원합니다. Cloud Run에 배포된 퍼스트 파티 또는 서드 파티 도구에 에이전트를 연결할 수 있습니다. 예를 들어 에이전트의 작업과 실행을 파악하려면 LangfuseArize와 같은 도구를 배포하고 사용하면 됩니다.
  • 에이전트 상호작용: Cloud Run은 사용자에게 다시 HTTP 응답을 스트리밍하고 실시간 상호작용을 위해 WebSockets을 지원합니다.

  • 생성형 AI 모델: 오케스트레이션 레이어는 추론 기능을 위해 모델을 호출합니다. 이러한 모델은 다음 중 하나일 수 있습니다.

  • 메모리: 에이전트는 컨텍스트를 유지하고 이전 상호작용에서 학습하기 위해 메모리가 필요한 경우가 많습니다. 다음 서비스를 사용할 수 있습니다.

    • Memorystore for Redis: 단기 기억
    • 대화 기록을 저장하거나 사용자의 환경설정을 기억하는 등 장기 메모리를 위한 Firestore
  • 벡터 데이터베이스: 검색 증강 생성(RAG) 또는 구조화된 데이터 가져오기의 경우 벡터 데이터베이스를 사용하여 특정 항목 정보를 쿼리하거나 임베딩에 대한 벡터 검색을 실행합니다. 다음 서비스와 함께 pgvector 확장 프로그램을 사용합니다.

  • 도구: 조정자는 외부 서비스, API 또는 웹사이트와 상호작용하기 위해 특정 작업을 수행하는 데 도구를 사용합니다. 여기에는 다음이 포함될 수 있습니다.

    • MCP 서버 사용: MCP 서버를 통해 실행되는 외부 또는 내부 도구
    • 기본 유틸리티: 정확한 수학 계산, 시간 변환 또는 기타 유사한 유틸리티
    • API 호출: 다른 내부 또는 서드 파티 API를 호출합니다(읽기 또는 쓰기 액세스).
    • 이미지 또는 차트 생성: 시각적 콘텐츠를 빠르고 효과적으로 만듭니다.
    • 브라우저 및 OS 자동화: 컨테이너 인스턴스 내에서 헤드리스 또는 전체 그래픽 운영체제를 실행하여 에이전트가 웹을 탐색하고, 웹사이트에서 정보를 추출하거나, 클릭 및 키보드 입력을 사용하여 작업을 실행할 수 있도록 합니다.
    • 코드 실행: 다중 레이어 샌드박스를 사용하여 안전한 환경에서 IAM 권한이 없거나 최소한의 권한으로 코드를 실행합니다.

다음 단계