에이전트 AI 아키텍처 구성요소 선택

이 문서에서는 Google Cloud에서 에이전트형 AI 애플리케이션의 아키텍처 구성요소를 선택하는 데 도움이 되는 가이드를 제공합니다. 요구사항에 가장 적합한 적절한 제품 또는 서비스를 선택하기 위해 애플리케이션 및 워크로드의 특성을 평가하는 방법을 설명합니다. 에이전트형 AI 아키텍처를 설계하는 프로세스는 반복적입니다. 워크로드 특성이 변경되거나, 요구사항이 발전하거나, 새로운 Google Cloud 제품과 기능을 사용할 수 있게 되면 아키텍처를 주기적으로 재평가해야 합니다.

AI 에이전트는 자율적인 의사 결정과 복잡한 다단계 워크플로 관리가 필요할 수 있는 개방형 문제를 해결하는 애플리케이션에 효과적입니다. 에이전트는 외부 데이터를 사용하여 실시간으로 문제를 해결하고 지식 집약적인 태스크를 자동화하는 데 탁월합니다. 이러한 기능을 통해 에이전트는 AI 모델의 지원 및 생성 기능보다 더 많은 비즈니스 가치를 제공할 수 있습니다.

사전 정의된 단계가 있는 결정론적 문제에는 AI 에이전트를 사용할 수 있습니다. 하지만 다른 접근 방식이 더 효율적이고 비용 효과적일 수 있습니다. 예를 들어 문서를 요약하거나, 텍스트를 번역하거나, 고객 의견을 분류하는 작업에는 에이전트 워크플로가 필요하지 않습니다.

에이전트가 없는 대체 AI 솔루션에 대한 자세한 내용은 다음 리소스를 참고하세요.

에이전트 아키텍처 개요

에이전트는 입력을 처리하고 사용 가능한 도구로 추론을 수행하며 결정에 따라 작업을 수행하여 목표를 달성하는 애플리케이션입니다. 에이전트는 AI 모델을 핵심 추론 엔진으로 사용하여 복잡한 작업을 자동화합니다. 에이전트는 AI 모델이 외부 시스템 및 데이터 소스와 상호작용할 수 있는 도구 세트를 사용합니다. 에이전트는 메모리 시스템을 사용하여 컨텍스트를 유지하고 상호작용에서 학습할 수 있습니다. 에이전트 아키텍처의 목표는 사용자의 의도를 이해하고, 다단계 계획을 세우고, 사용 가능한 도구를 사용하여 계획을 실행할 수 있는 자율 시스템을 만드는 것입니다.

다음 다이어그램은 에이전트 시스템의 아키텍처 구성요소를 대략적으로 보여줍니다.

에이전트 시스템의 아키텍처 구성요소

에이전트 시스템 아키텍처에는 다음 구성요소가 포함됩니다.

  • 프런트엔드 프레임워크: 애플리케이션의 사용자 인터페이스 (UI)를 빌드하는 데 사용하는 사전 빌드된 구성요소, 라이브러리, 도구의 모음입니다.
  • 에이전트 개발 프레임워크: 에이전트의 로직을 빌드하고 구조화하는 데 사용하는 프레임워크와 라이브러리입니다.
  • 에이전트 도구: 데이터를 가져오고 작업이나 트랜잭션을 수행하는 API, 서비스, 함수 등의 도구 모음입니다.
  • 에이전트 메모리: 에이전트가 정보를 저장하고 회상하는 데 사용하는 시스템입니다.
  • 에이전트 설계 패턴: 에이전트 애플리케이션을 구조화하기 위한 일반적인 아키텍처 접근 방식입니다.
  • 에이전트 런타임: 에이전트의 애플리케이션 로직이 실행되는 컴퓨팅 환경입니다.
  • AI 모델: 에이전트의 의사결정 기능을 지원하는 핵심 추론 엔진입니다.
  • 모델 런타임: AI 모델을 호스팅하고 제공하는 인프라입니다.

다음 섹션에서는 아키텍처를 빌드하는 방법을 결정하는 데 도움이 되도록 구성요소를 자세히 분석합니다. 선택한 구성요소는 에이전트의 성능, 확장성, 비용, 보안에 영향을 미칩니다. 이 문서에서는 에이전트의 핵심 추론 및 실행 로직을 빌드하고 배포하는 데 사용하는 필수 아키텍처 구성요소에 중점을 둡니다. 책임감 있는 AI 안전 프레임워크, 에이전트 ID 관리와 같은 주제는 이 문서의 범위를 벗어나는 것으로 간주됩니다.

프런트엔드 프레임워크

프런트엔드 프레임워크는 에이전트 애플리케이션의 UI를 빌드하는 데 사용하는 사전 빌드된 구성요소, 라이브러리, 도구의 모음입니다. 선택한 프런트엔드 프레임워크에 따라 백엔드 요구사항이 정의됩니다. 내부 데모를 위한 간단한 인터페이스에는 동기 HTTP API만 필요할 수 있지만 프로덕션 등급 애플리케이션에는 스트리밍 프로토콜과 강력한 상태 관리를 지원하는 백엔드가 필요합니다.

다음 프레임워크 카테고리를 고려하세요.

  • 프로토타입 제작 및 내부 도구 프레임워크: 신속한 개발, 내부 데모, 개념 증명 애플리케이션의 경우 개발자 환경과 속도를 우선시하는 프레임워크를 선택합니다. 이러한 프레임워크는 일반적으로 요청-응답 모델이라고 하는 간단한 동기 모델을 선호합니다. 요청-응답 모델을 사용하면 프로덕션 프레임워크에 비해 최소한의 코드와 간단한 백엔드로 기능적인 UI를 빌드할 수 있습니다. 이 접근 방식은 에이전트 로직과 도구 통합을 빠르게 테스트하는 데 적합하지만 실시간 상호작용이 필요한 확장성이 높은 공개 애플리케이션에는 적합하지 않을 수 있습니다. 이 카테고리의 일반적인 프레임워크에는 MesopGradio가 있습니다.
  • 프로덕션 프레임워크: 외부 사용자를 위한 확장 가능하고 반응성이 뛰어나며 기능이 풍부한 애플리케이션의 경우 맞춤 구성요소를 허용하는 프레임워크를 선택하세요. 이러한 프레임워크에는 최신 사용자 환경을 지원할 수 있는 백엔드 아키텍처가 필요합니다. 프로덕션 프레임워크에는 스트리밍 프로토콜 지원, 상태 비저장 API 설계, 여러 사용자 세션에서 대화 상태를 관리하는 강력한 외부화된 메모리 시스템이 포함되어야 합니다. 프로덕션 애플리케이션의 일반적인 프레임워크로는 Streamlit, React, Flutter AI 툴킷이 있습니다.

이러한 프레임워크와 AI 에이전트 간의 커뮤니케이션을 관리하려면 에이전트-사용자 상호작용 (AG-UI) 프로토콜을 사용하면 됩니다. AG-UI는 백엔드 AI 에이전트가 프런트엔드 프레임워크와 상호작용할 수 있도록 지원하는 개방형 프로토콜입니다. AG-UI는 에이전트의 응답을 렌더링하거나, 애플리케이션 상태를 업데이트하거나, 클라이언트 측 작업을 트리거해야 하는 시점을 프런트엔드 프레임워크에 알려줍니다. 대화형 AI 애플리케이션을 빌드하려면 AG-UI와 에이전트 개발 키트 (ADK)를 결합하세요. ADK에 관한 자세한 내용은 다음 섹션인 '에이전트 개발 프레임워크'를 참고하세요.

에이전트 개발 프레임워크

에이전트 개발 프레임워크는 에이전트형 AI 애플리케이션을 빌드, 테스트, 배포하는 프로세스를 간소화하는 라이브러리입니다. 이러한 개발 도구는 추론 루프, 메모리, 도구 통합을 비롯한 핵심 에이전트 기능을 위한 사전 빌드된 구성요소와 추상화를 제공합니다.

Google Cloud에서 에이전트 개발을 가속화하려면 ADK를 사용하는 것이 좋습니다. ADK는 간단한 작업부터 복잡한 멀티 에이전트 시스템까지 워크플로를 빌드하고 조정하기 위한 고급 추상화를 제공하는 의견이 반영된 모듈식 오픈소스 프레임워크입니다.

ADK는 Gemini 모델 및 Google Cloud에 최적화되어 있지만 다른 프레임워크와의 호환성을 위해 빌드됩니다. ADK는 다른 AI 모델과 런타임을 지원하므로 모든 모델 또는 배포 방법과 함께 사용할 수 있습니다. 멀티 에이전트 시스템의 경우 ADK는 공유 세션 상태를 통한 상호작용, 모델 기반 위임을 통한 에이전트 간 작업 라우팅, 한 에이전트가 다른 에이전트를 함수나 도구로 호출할 수 있는 명시적 호출을 지원합니다.

빠르게 시작할 수 있도록 ADK는 여러 업계의 다양한 사용 사례를 보여주는 Python, Java, Go의 코드 샘플을 제공합니다. 이러한 샘플 중 다수는 대화 흐름을 강조하지만 ADK는 백엔드 작업을 실행하는 자율 에이전트를 빌드하는 데도 적합합니다. 이러한 비대화형 사용 사례의 경우 단일의 독립형 요청을 처리하는 데 탁월하고 강력한 오류 처리를 구현하는 에이전트 설계 패턴을 선택하세요.

Genkit과 같은 범용 AI 프레임워크를 사용할 수도 있지만 ADK를 사용하는 것이 좋습니다. Genkit는 자체 에이전트 아키텍처를 개발하는 데 사용할 수 있는 기본 요소를 제공합니다. 하지만 ADK와 같은 전용 에이전트 프레임워크는 더 전문화된 도구를 제공합니다.

상담사 도구

도구를 통해 외부 시스템과 상호작용하는 에이전트의 능력은 에이전트의 효과를 정의합니다. 에이전트 도구는 AI 모델에서 사용할 수 있으며 에이전트가 출력을 개선하고 작업 자동화를 지원하는 데 사용하는 함수 또는 API입니다. AI 에이전트를 외부 시스템에 연결하면 도구가 에이전트를 단순한 텍스트 생성기에서 복잡한 다단계 작업을 자동화할 수 있는 시스템으로 변환합니다.

도구 상호작용을 사용 설정하려면 다음 도구 사용 패턴 중에서 선택하세요.

사용 사례 도구 사용 패턴
웹 검색 완료, 계산 실행, 코드 실행과 같은 일반적인 작업을 수행해야 하고 초기 개발을 가속화하고 싶습니다. 기본 제공 도구
상호 운용 가능하고 재사용 가능한 도구가 필요한 모듈식 또는 멀티 에이전트 시스템을 빌드하려는 경우 Model Context Protocol(MCP)
엔터프라이즈 규모로 많은 API 기반 도구를 관리, 보호, 모니터링해야 합니다. API 관리 플랫폼
MCP 서버가 없는 특정 내부 또는 서드 파티 API와 통합해야 합니다. 맞춤 함수 도구

에이전트의 도구를 선택할 때는 기능적 역량과 운영 안정성을 평가하세요. 관찰 가능하고 디버그하기 쉬우며 강력한 오류 처리가 포함된 도구에 우선순위를 두세요. 이러한 기능을 사용하면 작업을 추적하고 오류를 신속하게 해결할 수 있습니다. 또한 할당된 작업을 성공적으로 완료하기 위해 올바른 도구를 선택하는 에이전트의 능력을 평가합니다.

기본 제공 도구

ADK는 에이전트의 런타임에 직접 통합되는 여러 내장 도구를 제공합니다. 외부 통신 프로토콜을 구성하지 않고 이러한 도구를 함수로 호출할 수 있습니다. 이러한 도구는 웹에서 실시간 정보에 액세스하고, 보안 환경에서 프로그래매틱 방식으로 코드를 실행하고, 비공개 엔터프라이즈 데이터에서 정보를 검색하여 RAG를 구현하고, 클라우드 데이터베이스에서 구조화된 데이터와 상호작용하는 등 일반적인 기능을 제공합니다. 내장 도구는 사용자가 만든 맞춤 도구와 함께 작동합니다.

MCP

에이전트 시스템의 구성요소가 상호작용할 수 있도록 하려면 명확한 커뮤니케이션 프로토콜을 설정해야 합니다. MCP는 에이전트가 필요한 도구, 데이터, 기타 서비스에 액세스하고 이를 사용할 수 있는 표준화된 인터페이스를 제공하는 개방형 프로토콜입니다.

MCP는 표준 하드웨어 포트가 다양한 주변기기를 기기에 연결할 수 있도록 하는 것과 마찬가지로 에이전트의 핵심 추론 로직을 도구의 특정 구현에서 분리합니다. MCP는 사전 빌드된 커넥터 목록이 계속 늘어나고 맞춤 통합을 빌드하는 일관된 방법을 제공하므로 도구 통합을 간소화합니다. 도구를 통합할 수 있는 유연성은 다양한 모델과 도구 간의 상호 운용성을 촉진합니다.

원격 MCP 서버가 있는 경우 연결하거나 자체 MCP 서버를 호스팅할 수 있습니다. 자체 MCP 서버를 호스팅하면 독점 또는 서드 파티 API를 에이전트에 노출하는 방식을 완전히 제어할 수 있습니다. 자체 맞춤 MCP 서버를 호스팅하려면 Cloud Run 또는 GKE에 컨테이너화된 애플리케이션으로 배포하세요.

API 관리 플랫폼

API 관리 플랫폼은 API를 통해 내부 또는 외부 서비스를 보호, 모니터링, 제어할 수 있는 중앙 집중식 시스템입니다. API 관리 플랫폼은 조직의 모든 API를 카탈로그화할 수 있는 중앙 집중식 위치를 제공하고, 데이터 노출 방식을 간소화하며, 사용량 모니터링을 통해 관측 가능성을 제공합니다.

Google Cloud에서 엔터프라이즈 규모로 에이전트의 API 기반 도구를 관리하려면 Apigee API 허브를 사용하는 것이 좋습니다. API 허브를 사용하면 상담사가 직접 HTTP 호출, 사전 빌드된 커넥터, 허브에 등록된 맞춤 API 또는 Google Cloud 데이터 소스에 대한 직접 액세스를 통해 데이터에 즉시 연결할 수 있습니다. 이 접근 방식을 사용하면 상담사가 맞춤 데이터 로드 및 통합 파이프라인을 구축하는 복잡성 없이 필요한 정보에 즉시 액세스할 수 있습니다.

API 관리 플랫폼과 MCP와 같은 통신 프로토콜은 서로 다른 아키텍처 문제를 해결합니다. 통신 프로토콜은 에이전트와 도구 간의 상호작용 형식을 표준화하여 구성요소를 재사용하고 교체할 수 있도록 합니다. 반면 API 관리 플랫폼은 API 엔드포인트의 수명 주기와 보안을 관리하여 인증, 비율 제한, 모니터링과 같은 작업을 처리합니다. 이러한 패턴은 상호 보완적입니다. 예를 들어 에이전트는 MCP를 사용하여 도구와 통신할 수 있으며, 이 도구는 API 허브에서 관리하고 보호하는 보안 API 엔드포인트가 될 수 있습니다.

맞춤 함수 도구

함수 도구는 에이전트에게 새로운 기능을 제공합니다. 맞춤 함수 도구를 작성하여 에이전트에 외부 API 또는 독점 비즈니스 시스템과 통합하는 등의 전문 기능을 제공할 수 있습니다. 맞춤 함수 도구를 작성하는 것은 내장 도구에서 제공하는 것 이상으로 에이전트의 기능을 확장하는 가장 일반적인 패턴입니다.

맞춤 함수 도구를 만들려면 원하는 프로그래밍 언어로 함수를 작성한 다음, 목적, 매개변수, 반환 값에 대한 명확한 자연어 설명을 제공합니다. 에이전트의 모델은 이 설명을 사용하여 도구가 필요한 시점, 제공할 입력, 출력을 해석하여 사용자의 요청을 완료하는 방법을 추론합니다.

도구로서의 에이전트 함수를 구현하는 맞춤 함수 도구를 만들 수도 있습니다. 도구로서의 에이전트 함수는 다른 에이전트가 호출할 수 있는 호출 가능한 함수로 하나의 에이전트를 노출합니다. 이 기법을 사용하면 에이전트가 전문 작업을 다른 전문 에이전트에게 조정하고 위임할 수 있는 복잡한 멀티 에이전트 시스템을 빌드할 수 있습니다. 에이전트 설계 패턴 및 다중 에이전트 오케스트레이션 조정에 관한 자세한 내용은 이 문서 뒷부분의 에이전트 설계 패턴 섹션을 참고하세요.

에이전트 메모리

일관되고 유용한 대화형 환경을 제공하려면 에이전트가 이전 상호작용을 기억할 수 있어야 합니다. 상태 저장, 컨텍스트 인식 에이전트를 만들려면 단기 메모리와 장기 메모리 메커니즘을 구현해야 합니다. 다음 섹션에서는 에이전트의 단기 메모리와 장기 메모리를 모두 구현하는 데 사용할 수 있는 설계 선택사항과 Google Cloud서비스를 살펴봅니다.

단기 기억

단기 메모리를 사용하면 에이전트가 진행 중인 단일 대화 내에서 컨텍스트를 유지할 수 있습니다. 단기 기억을 구현하려면 세션과 연결된 상태를 모두 관리해야 합니다.

  • 세션: 세션은 초기 상호작용부터 대화가 끝날 때까지 사용자 및 에이전트 간의 대화형 스레드입니다.
  • 상태: 상태는 에이전트가 특정 세션 내에서 사용하고 수집하는 데이터입니다. 수집되는 상태 데이터에는 사용자와 에이전트가 주고받은 메시지 기록, 도구 호출 결과, 에이전트가 대화의 컨텍스트를 이해하는 데 필요한 기타 변수가 포함됩니다.

다음은 ADK로 단기 기억을 구현하는 옵션입니다.

  • 인 메모리 스토리지: 개발, 테스트 또는 단일 인스턴스에서 실행되는 간단한 애플리케이션의 경우 세션 상태를 애플리케이션의 메모리에 직접 저장할 수 있습니다. 에이전트는 키-값 쌍 목록을 저장하기 위해 사전이나 객체와 같은 데이터 구조를 사용하며 세션 전체에서 이러한 값을 업데이트합니다. 하지만 메모리 내 스토리지를 사용하면 세션 상태가 지속되지 않습니다. 애플리케이션이 다시 시작되면 모든 대화 기록이 손실됩니다.
  • 외부 상태 관리: 확장성과 안정성이 필요한 프로덕션 애플리케이션의 경우 스테이트리스 에이전트 애플리케이션을 빌드하고 외부 스토리지 서비스에서 세션 상태를 관리하는 것이 좋습니다. 이 아키텍처에서 에이전트 애플리케이션은 요청을 수신할 때마다 외부 저장소에서 현재 대화 상태를 가져오고, 새 턴을 처리한 다음 업데이트된 상태를 저장소에 다시 저장합니다. 이 설계를 사용하면 모든 인스턴스가 모든 사용자의 요청을 처리할 수 있으므로 애플리케이션을 수평으로 확장할 수 있습니다. 외부 상태 관리의 일반적인 선택사항으로는 Memorystore for Redis, Firestore 또는 Vertex AI Agent Engine 세션이 있습니다.

장기 메모리

장기 메모리는 개별 사용자의 모든 대화에 걸쳐 존재하는 지속적인 기술 자료를 에이전트에게 제공합니다. 장기 기억을 통해 에이전트는 외부 정보를 검색하고 사용하며, 이전 상호작용에서 학습하고, 더 정확하고 관련성 있는 대답을 제공할 수 있습니다.

다음은 ADK로 장기 기억을 구현하는 옵션입니다.

  • 인메모리 스토리지: 개발 및 테스트를 위해 세션 상태를 애플리케이션의 메모리에 직접 저장할 수 있습니다. 이 방법은 구현하기는 간단하지만 지속적이지 않습니다. 애플리케이션이 다시 시작되면 대화 기록이 손실됩니다. 일반적으로 테스트를 위해 ADK에 포함된 InMemoryMemoryService과 같은 개발 프레임워크 내에서 메모리 내 제공자를 사용하여 이 패턴을 구현합니다.
  • 외부 스토리지: 프로덕션 애플리케이션의 경우 외부 영구 스토리지 서비스에서 에이전트의 지식 베이스를 관리합니다. 외부 저장소 서비스는 에이전트의 지식이 지속 가능하고 확장 가능하며 여러 애플리케이션 인스턴스에서 액세스할 수 있도록 합니다. Google Cloud의 모든 에이전트 런타임에서 장기 스토리지로 메모리 뱅크를 사용합니다.

에이전트 디자인 패턴

에이전트 설계 패턴은 에이전트 애플리케이션을 빌드하는 일반적인 아키텍처 접근 방식입니다. 이러한 패턴은 시스템의 구성요소를 구성하고, AI 모델을 통합하고, 단일 에이전트 또는 여러 에이전트를 조정하여 워크플로를 완료하기 위한 명확한 프레임워크를 제공합니다. 워크플로에 가장 적합한 접근 방식을 결정하려면 작업의 복잡성과 워크플로, 지연 시간, 성능, 비용 요구사항을 고려해야 합니다.

단일 에이전트 시스템은 하나의 모델의 추론 기능을 사용하여 사용자의 요청을 해석하고, 일련의 단계를 계획하고, 사용할 도구를 결정합니다. 이 접근 방식은 아키텍처 복잡성을 추가하기 전에 핵심 로직, 프롬프트, 도구 정의를 개선하는 데 집중할 수 있는 효과적인 시작점입니다. 하지만 작업과 도구의 수가 늘어나고 복잡해지면 단일 에이전트의 성능이 저하될 수 있습니다.

복잡한 문제의 경우 멀티 에이전트 시스템은 단일 에이전트가 쉽게 관리할 수 없는 목표를 달성하기 위해 여러 전문 에이전트를 오케스트레이션합니다. 이 모듈식 설계는 시스템의 확장성, 안정성, 유지관리성을 개선할 수 있습니다. 하지만 단일 에이전트 시스템에 비해 추가 평가, 보안, 비용 고려사항도 도입됩니다.

멀티 에이전트 시스템을 개발할 때는 각 전문 에이전트에 대한 정확한 액세스 제어를 구현하고, 신뢰할 수 있는 에이전트 간 통신을 보장하는 강력한 조정 시스템을 설계하고, 여러 에이전트 실행의 컴퓨팅 오버헤드로 인한 운영 비용 증가를 관리해야 합니다. 에이전트 간 통신을 용이하게 하려면 ADK가 포함된 Agent2Agent (A2A) 프로토콜을 사용하세요. A2A는 AI 에이전트가 기반 기술과 관계없이 다양한 플랫폼과 프레임워크에서 통신하고 협업할 수 있도록 지원하는 개방형 표준 프로토콜입니다.

일반적인 에이전트 설계 패턴과 워크로드 요구사항에 따라 패턴을 선택하는 방법에 관한 자세한 내용은 에이전트 AI 시스템의 설계 패턴 선택을 참고하세요.

AI 모델

에이전트 애플리케이션은 모델의 추론 및 이해 기능을 활용하여 기본 작업 오케스트레이터로 작동합니다. 이 핵심 에이전트 역할에는 Gemini Pro를 사용하는 것이 좋습니다.

Gemini와 같은 Google 모델은 관리형 API를 통해 최신이자 가장 강력한 독점 모델에 대한 액세스를 제공합니다. 이 접근 방식은 운영 오버헤드를 최소화하는 데 적합합니다. 반면 개방형 자체 호스팅 모델은 독점 데이터에 대해 미세 조정할 때 필요한 심층적인 제어 기능을 제공합니다. 엄격한 보안 및 데이터 상주 요구사항이 있는 워크로드의 경우 자체 호스팅 모델도 필요합니다. 자체 호스팅 모델을 사용하면 자체 네트워크 내에서 모델을 실행할 수 있기 때문입니다.

에이전트 성능을 개선하려면 모델의 추론 기능을 조정하면 됩니다. 최신 Gemini Pro 및 Flash 모델과 같은 모델에는 추론 및 다단계 계획을 개선하는 내장 사고 과정이 있습니다. 디버깅 및 개선을 위해 모델의 사고 요약 또는 내부 사고의 합성 버전을 검토하여 추론 경로를 파악할 수 있습니다. 작업의 복잡성에 따라 사고 예산(사고 토큰 수)을 조정하여 모델의 추론 기능을 제어할 수 있습니다. 사고 예산이 높을수록 모델은 대답을 제공하기 전에 더 자세한 추론과 계획을 수행할 수 있습니다. 사고 예산이 높을수록 응답 품질이 향상될 수 있지만 지연 시간과 비용도 증가할 수 있습니다.

성능과 비용을 최적화하려면 모델 라우팅을 구현하여 작업의 복잡성, 비용 또는 지연 시간 요구사항에 따라 각 작업에 가장 적합한 모델을 동적으로 선택하세요. 예를 들어 코드 생성이나 텍스트 분류와 같은 구조화된 작업을 위해 간단한 요청을 소규모 언어 모델 (SLM)로 라우팅하고 복잡한 추론을 위해 더 강력하고 비용이 많이 드는 모델을 예약할 수 있습니다. 에이전트 애플리케이션에서 모델 라우팅을 구현하면 높은 성능을 유지하는 비용 효율적인 시스템을 만들 수 있습니다.

Google Cloud 는 에이전트 아키텍처에서 사용할 수 있는 다양한 Google 모델, 파트너 모델, 오픈 모델에 대한 액세스를 제공합니다. 사용 가능한 모델과 필요에 맞는 모델을 선택하는 방법에 대한 자세한 내용은 Vertex AI의 Model Garden을 참고하세요.

모델 런타임

모델 런타임은 AI 모델을 호스팅하고 제공하며 에이전트가 추론 기능을 사용할 수 있도록 하는 환경입니다.

모델 런타임 선택

AI 모델을 호스팅할 때 최적의 런타임을 선택하려면 다음 안내를 따르세요.

사용 사례 모델 런타임
엔터프라이즈급 보안, 확장성, 생성형 AI 도구를 사용하여 Gemini 모델, 파트너 모델, 개방형 모델 또는 커스텀 모델을 제공하려면 완전 관리형 API가 필요합니다. Vertex AI
개방형 또는 맞춤 컨테이너화된 모델을 배포하고 변동 트래픽에 대해 서버리스 단순성과 비용 효율성을 우선시해야 합니다. Cloud Run
특수 하드웨어에서 개방형 또는 맞춤 컨테이너화된 모델을 실행하거나 복잡한 보안 및 네트워킹 요구사항을 충족하기 위해 인프라를 최대한 제어해야 합니다. GKE

다음 섹션에서는 주요 기능과 설계 고려사항을 비롯한 이전 모델 런타임을 간략하게 설명합니다. 이 문서에서는 Vertex AI, Cloud Run, GKE에 중점을 둡니다. 하지만 Google Cloud 에서는 모델 런타임에 사용할 수 있는 다른 서비스를 제공합니다.

  • Gemini API: Gemini API는 복잡한 에이전트 시스템에 필요한 엔터프라이즈 거버넌스 기능 없이 Gemini 모델에 빠르고 직접 액세스해야 하는 개발자를 위해 설계되었습니다.
  • Compute Engine: Compute Engine은 기존 애플리케이션에 적합한 Infrastructure as a Service (IaaS) 제품입니다. 최신 컨테이너 기반 런타임에 비해 상당한 운영 오버헤드가 발생합니다.

모델 런타임의 모든 서비스 옵션을 구분하는 기능에 대한 자세한 내용은 모델 호스팅 인프라를 참고하세요.

Vertex AI

Vertex AI는 AI 모델을 호스팅하는 완전 관리형 서버리스 환경을 제공합니다. 안전하고 확장 가능한 API를 통해 Google 모델, 파트너 모델, 오픈 모델을 제공하고 파인 튜닝할 수 있습니다. 이 접근 방식은 모든 인프라 관리를 추상화하므로 모델 인텔리전스를 애플리케이션에 통합하는 데 집중할 수 있습니다.

Vertex AI를 모델 런타임으로 사용하는 경우 주요 기능과 고려사항은 다음과 같습니다.

  • 인프라 제어: 모델을 위한 완전 관리형 API입니다. Google에서 기본 인프라를 관리합니다.
  • 보안: 관리형 보안 기본값과 표준 규정 준수 인증이 필요에 충분합니다. 프롬프트 및 응답 보호를 제공하고 책임감 있는 AI 관행을 보장하려면 Model Armor를 Vertex AI에 통합하면 됩니다.
  • 모델 가용성: 관리형 API를 통해 최신 Gemini 모델을 비롯한 다양한 모델에 액세스할 수 있습니다.
  • 비용: 애플리케이션 트래픽에 따라 확장되는 종량제 가격 책정 모델입니다. 자세한 내용은 Vertex AI에서 AI 모델을 빌드하고 배포하는 데 드는 비용을 참고하세요.

Cloud Run

Cloud Run은 맞춤 컨테이너 내에서 모델을 호스팅하는 서버리스 런타임을 제공합니다. Cloud Run은 Vertex AI의 완전 관리형 단순성과 GKE의 심층적인 인프라 제어 사이에서 균형을 제공합니다. 이 접근 방식은 서버나 클러스터를 관리하지 않고 컨테이너화된 환경에서 모델을 실행할 수 있는 유연성이 필요한 경우에 적합합니다.

Cloud Run을 모델 런타임으로 사용하는 경우 주요 기능과 고려사항은 다음과 같습니다.

  • 인프라 제어: 소프트웨어 환경을 완전히 제어할 수 있는 맞춤 컨테이너에서 모델을 실행합니다. 플랫폼은 기본 서버리스 인프라를 관리합니다.
  • 보안: 임시 격리 컴퓨팅 인스턴스를 통해 보안을 제공하고 직접 VPC 이그레스 또는 서버리스 VPC 액세스 커넥터를 사용하여 비공개 리소스에 보안 연결을 허용합니다. 자세한 내용은 비공개 네트워킹 및 Cloud Run을 참고하세요.
  • 모델 가용성: Gemma와 같은 개방형 모델을 제공하거나 자체 맞춤 모델을 제공합니다. Cloud Run에서는 Gemini 모델을 호스팅하거나 제공할 수 없습니다.
  • 비용: 0으로 확장되는 요청 기반 종량제 가격 책정 모델을 제공하므로 간헐적이거나 가변적인 트래픽이 있는 모델에 매우 비용 효율적입니다. 자세한 내용은 Cloud Run 가격 책정을 참고하세요.

GKE

GKE는 AI 모델 호스팅을 위한 최고의 관리 기능과 유연성을 제공합니다. 이 방법을 사용하려면 구성하고 관리하는 GKE 클러스터의 컨테이너에서 모델을 실행합니다. GKE는 전문 하드웨어에서 모델을 실행해야 하거나, 지연 시간을 최소화하기 위해 애플리케이션과 함께 배치해야 하거나, 서비스 환경의 모든 측면을 세부적으로 제어해야 하는 경우에 적합합니다.

GKE를 모델 런타임으로 사용하는 경우 주요 기능과 고려사항은 다음과 같습니다.

  • 인프라 제어: 노드 구성, 특수 머신 가속기, 특정 모델 제공 소프트웨어 등 전체 제공 환경을 최대한 세부적으로 제어할 수 있습니다.
  • 보안: 네트워크 내에서 모델을 완전히 실행하고 세부적인 Kubernetes 보안 정책을 적용할 수 있으므로 최고 수준의 보안 및 데이터 격리를 지원합니다. GKE 클러스터와 주고받는 트래픽을 검사하고 AI 모델과의 모든 상호작용을 보호하려면 Model Armor를 GKE와 통합하면 됩니다 .
  • 모델 가용성: Gemma와 같은 개방형 모델을 제공하거나 자체 맞춤 모델을 제공합니다. GKE에서는 Gemini 모델을 호스팅하거나 서빙할 수 없습니다.
  • 비용: 사용하는 기본 컴퓨팅 및 클러스터 리소스를 기반으로 하는 비용 모델이 적용되므로 약정 사용 할인 (CUD)을 사용하는 경우 예측 가능하고 대량의 워크로드에 매우 최적화되어 있습니다. 자세한 내용은 Google Kubernetes Engine 가격 책정을 참고하세요.

에이전트 런타임

에이전트 애플리케이션을 호스팅하고 배포하려면 에이전트 런타임을 선택해야 합니다. 이 서비스는 에이전트 개발 프레임워크를 사용할 때 작성하는 비즈니스 로직 및 오케스트레이션인 애플리케이션 코드를 실행합니다. 이 런타임에서 애플리케이션은 선택한 모델 런타임이 호스팅하고 관리하는 모델에 API 호출을 합니다.

에이전트 런타임 선택

AI 에이전트를 호스팅할 때 런타임을 선택하려면 다음 안내를 따르세요.

사용 사례 에이전트 런타임
애플리케이션이 Python 에이전트이며 운영 오버헤드가 최소화된 완전 관리형 환경이 필요합니다. Vertex AI Agent Engine
애플리케이션이 컨테이너화되어 있으며 언어 유연성을 갖춘 서버리스 이벤트 기반 확장 기능이 필요합니다. Cloud Run
애플리케이션이 컨테이너화되어 있고 복잡한 상태 저장 요구사항이 있으며 세부적인 인프라 구성이 필요합니다. GKE

Cloud Run 또는 GKE에서 이미 애플리케이션을 관리하고 있다면 에이전트 워크로드에 동일한 플랫폼을 사용하여 개발을 가속화하고 장기 운영을 간소화할 수 있습니다.

다음 섹션에서는 주요 기능과 설계 고려사항을 비롯한 각 에이전트 런타임에 대한 개요를 제공합니다.

Vertex AI Agent Engine

Vertex AI Agent Engine은 에이전트 애플리케이션을 배포, 운영, 확장하는 데 사용할 수 있는 완전 관리형의 의견이 반영된 런타임입니다. Vertex AI Agent Engine은 기본 인프라를 추상화하므로 작업 대신 에이전트 로직에 집중할 수 있습니다.

다음은 Vertex AI Agent Engine의 기능 및 고려사항입니다.

  • 프로그래밍 언어 및 프레임워크 유연성: 지원되는 프레임워크를 사용하여 Python으로 에이전트를 개발합니다.
  • 통신 프로토콜: MCP 및 A2A를 사용하는 에이전트와 도구를 오케스트레이션합니다. Vertex AI Agent Engine은 이러한 구성요소의 런타임을 효율적으로 관리하지만 커스텀 MCP 서버의 호스팅은 지원하지 않습니다.
  • 메모리: 관리되는 내장 메모리 기능을 제공하므로 핵심 에이전트 메모리에 외부 데이터베이스를 구성할 필요가 없습니다.
    요구사항 사용 가능한 옵션
    단기 기억 Vertex AI Agent Engine 세션
    장기 메모리 메모리 뱅크
    데이터베이스 검색 및 가져오기
  • 확장성: 에이전트 워크로드의 요구사항을 충족하도록 자동으로 확장되므로 수동으로 구성할 필요가 없습니다. Vertex AI Agent Engine은 Cloud Run을 기반으로 빌드되며 Cloud Run의 내장 인스턴스 확장을 사용하여 자동 확장을 제공합니다.
  • 관측 가능성: Google Cloud Observability 서비스를 통해 통합 로깅, 모니터링, 추적을 제공합니다.
  • 보안: 다음과 같은 엔터프라이즈 수준의 안정성, 확장성, 규정 준수를 제공합니다.

    Vertex AI Agent Engine 보안 기능에 대한 자세한 내용은 엔터프라이즈 보안을 참고하세요.

Vertex AI Agent Engine은 수명 주기 및 컨텍스트 관리와 같이 에이전트를 운영할 때 발생하는 여러 복잡한 측면을 처리하는 목적에 맞게 구축된 관리형 환경을 제공하므로 프로덕션으로 가는 경로를 가속화합니다. Vertex AI Agent Engine은 컴퓨팅 환경의 광범위한 맞춤설정이 필요하거나 Python 이외의 프로그래밍 언어가 필요한 사용 사례에는 적합하지 않습니다. 비공개 종속 항목 관리에 엄격한 보안 요구사항이 있는 워크로드의 경우 Cloud Run과 GKE는 더 직접적인 IAM 기반 구성 경로를 제공합니다.

Cloud Run

Cloud Run은 스테이트리스(Stateless) 컨테이너에서 에이전트 애플리케이션 코드를 실행할 수 있는 완전 관리형 서버리스 플랫폼입니다. Cloud Run은 기본 인프라를 관리할 필요 없이 전체 에이전트 애플리케이션, 개별 구성요소 또는 맞춤 도구를 확장 가능한 HTTP 엔드포인트로 배포하려는 경우에 적합합니다.

다음은 Cloud Run의 기능 및 고려사항입니다.

Cloud Run은 인프라 관리를 없애므로 운영이 매우 간단하고 비용 효율적입니다. 하지만 Cloud Run의 스테이트리스 특성으로 인해 다단계 워크플로 전반에서 컨텍스트를 관리하려면 스토리지 서비스를 사용해야 합니다. 또한 Cloud Run 서비스의 최대 요청 제한 시간은 최대 1시간이므로 장기 실행 에이전트 작업이 제한될 수 있습니다.

GKE

Google Kubernetes Engine (GKE)은 에이전트 기반 애플리케이션의 아키텍처와 인프라를 세부적으로 제어할 수 있는 관리형 컨테이너 오케스트레이션 서비스입니다. GKE는 강력한 프로덕션 등급 기능이 필요한 복잡한 에이전트 시스템에 적합하거나, 이미 GKE 고객이고 기존 애플리케이션 위에 에이전트 워크플로를 구현하려는 경우에 적합합니다.

다음은 GKE에서 사용할 수 있는 기능과 고려사항입니다.

GKE는 최대한의 제어 기능과 유연성을 제공하므로 복잡한 스테이트풀 에이전트를 실행할 수 있습니다. 하지만 이 컨트롤은 상당한 운영 오버헤드와 복잡성을 도입합니다. 노드 풀, 네트워킹, 확장 정책을 포함한 Kubernetes 클러스터를 구성하고 관리해야 하며, 이는 서버리스 플랫폼에 필요한 것보다 더 많은 전문 지식과 개발 노력이 필요합니다.

다음 단계

참여자

저자: 사만다 헤 | 테크니컬 라이터

기타 참여자: