Agent Engine 소개
Agent Engine의 개념, 특징, 배포 환경 비교
Agent Engine에 대한 종합적인 소개와 핵심 개념을 다루는 가이드입니다.
목차
1. Agent Engine이란?
Agent Engine은 Google Cloud의 Vertex AI 플랫폼에서 제공하는 AI 에이전트 호스팅 서비스입니다. 개발된 에이전트를 안정적으로 운영하고, 프로덕션 환경에서 필요한 모든 관리 기능을 제공합니다.
2. 주요 특징 및 장점
2.1. Agent 전용 런타임
- 일반적인 웹 서버 설정을 직접 할 필요 없음
- ADK로 작성한 에이전트 객체를 그대로 배포
- 자동으로 API 엔드포인트 생성 및 실행 환경 구성
2.2. 상태 및 메모리 관리
- 에이전트의 핵심인 ‘대화 맥락’ 유지를 위한 세션 관리 기능 내장
- 메모리 뱅크(Memory Bank) 기능으로 장기 기억 지원
- 별도의 데이터베이스 설계 없이 이전 대화를 기억하는 에이전트 운영 가능
2.3. 도구 실행 및 보안
- 에이전트가 사용하는 Tool(함수) 실행을 안전한 샌드박스 환경에서 처리
- Google Cloud IAM과 연동되어 보안 및 권한 관리 제공
2.4. Observability
- Cloud Logging, Monitoring, Trace와 연동
- 에이전트의 추론 과정 및 병목 지점 파악 가능
- 한눈에 파악할 수 있는 대시보드 제공
3. 에이전트 배포 환경 비교
개발된 에이전트는 Container(컨테이너) 단위로 패키징되어 배포됩니다. 비즈니스 로직과 인프라 제어 수준에 따라 다음 세 가지 환경 중 하나를 선택할 수 있습니다.
| 배포 환경 | 환경 유형 | 설명 및 추천 대상 |
|---|---|---|
| Vertex AI Agent Engine | 완전 관리형 | 에이전트 전용 기능(세션, 메모리, 통합 모니터링)을 즉시 활용하고자 할 때 가장 적합. 인프라 관리 부담(No-Ops)을 최소화 |
| Cloud Run | 서버리스 | 기존의 웹 서비스와 에이전트를 결합하거나, HTTP 요청 처리에 익숙한 경우 사용. 표준 컨테이너 기반의 오토스케일링 지원 |
| GKE (Kubernetes) | 자체 관리형 | 클러스터 수준의 정밀한 제어, 커스텀 네트워킹 필요 시. 고도로 복잡한 마이크로서비스 아키텍처가 필요할 때 사용 |
3.1. 배포 환경 선택 기준
┌─────────────────────────────────────────────────────────────┐
│ Develop │
│ ┌─────────┐ │
│ │ Agent │ │
│ └────┬────┘ │
│ │ │
│ Build/Package │
│ ▼ │
│ ┌─────────┐ │
│ │ Package │ │
│ └────┬────┘ │
│ │ │
│ Container │
│ ┌──────────────┼──────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌────────────────┐ ┌─────────┐ ┌──────────────────┐ │
│ │ Vertex AI │ │ Cloud │ │ Custom │ │
│ │ Agent Engine │ │ Run │ │ Infrastructure │ │
│ └────────────────┘ └─────────┘ │ (Docker, GKE, │ │
│ │ On-Prem) │ │
│ └──────────Google Cloud────────┘└───Self-Managed──┘ │
└─────────────────────────────────────────────────────────────┘
4. Agent to Agent Engine 흐름
4.1. 개발 (Develop)
ADK를 사용하여 에이전트의 추론 로직, 사용할 도구, 모델, 프롬프트 등을 정의합니다.
from google.adk.agents import Agent
from google.adk.tools import FunctionTool
# 도구 정의
def get_weather(city: str) -> str:
"""도시의 날씨 정보를 가져옵니다."""
return f"{city}의 날씨는 맑음입니다."
weather_tool = FunctionTool(get_weather)
# 에이전트 정의
root_agent = Agent(
name="weather-agent",
model="gemini-2.0-flash",
instruction="당신은 날씨 정보를 제공하는 도우미입니다.",
tools=[weather_tool]
)
4.2. 패키징 (Package)
ADK CLI 또는 SDK를 사용하면 코드가 컨테이너 이미지로 자동 빌드됩니다.
4.3. 배포 (Deploy)
Vertex AI SDK의 agent_engines.create() 명령어를 통해 Vertex AI Agent Engine으로 전송합니다.
이때 인프라 프로비저닝, 오토스케일링 설정 등이 자동으로 이루어집니다.
import vertexai
client = vertexai.Client(
project=PROJECT_ID,
location=LOCATION,
)
remote_app = client.agent_engines.create(
agent=root_agent,
config={
"display_name": "my-weather-agent",
"staging_bucket": STAGING_BUCKET,
}
)
5. DevOps for AI Agent Engine
Agent Engine은 오픈소스 프레임워크와 다양한 모델을 수용하며, 대화의 상태 관리부터 배포 후 모니터링/평가까지 전 과정을 통합 관리하는 서비스입니다.
5.1. 지원 Agent Frameworks
- ADK (Google Agent Development Kit)
- LangGraph
- LangChain
- Llamaindex
- CrewAI
- AG2
- 기타 Python 프레임워크
5.2. 지원 Tools
- Built-in tools
- Custom tools
- Ecosystem tools
- Google Cloud tools
- MCP tools
- Open API tools
5.3. 지원 Models
- Gemini
- Model Garden
- Fine-tuned models
5.4. 통합 기능
| 기능 | 설명 |
|---|---|
| Example store | 예제 저장 및 관리 |
| Managed session | 세션 관리 |
| Managed memory | 메모리 관리 (Private preview) |
| Code execution | 코드 실행 (Coming soon) |
| Simulation environment | 시뮬레이션 환경 (Coming soon) |
5.5. Observability 통합
- Cloud Trace
- Cloud Logging
- Cloud Monitoring
5.6. Evaluation
- Vertex AI Evaluation
5.7. CI/CD 통합
- Terraform 지원
5.8. Gemini Enterprise 연동
- Register agents: 에이전트를 Gemini Enterprise에 등록하여 사용자에게 제공