Google Cloud AI 에이전트와 Gemini 3: 실제로 작동하는 멀티 에이전트 시스템 구축
Source: Dev.to
대규모 언어 모델(LLM)을 단순한 채팅 인터페이스에서 자율 AI 에이전트로 전환하는 것은 마이크로서비스로의 전환 이후 기업 소프트웨어에서 가장 큰 변화를 의미합니다. Gemini 3이 출시되면서, 구글 클라우드는 복잡한 다중 에이전트 시스템(MAS)에 필요한 장기 컨텍스트 추론과 저지연 의사결정을 가능하게 하는 기본 모델을 제공했습니다.
하지만 실제로 작동하는 에이전트를 구축하려면—신뢰성 있고, 관찰 가능하며, 엣지 케이스를 처리할 수 있는—프롬프트와 API 키만으로는 부족합니다. 견고한 아키텍처 프레임워크, 도구 사용에 대한 깊은 이해, 그리고 에이전트 오케스트레이션에 대한 구조화된 접근이 필요합니다.
현대 AI 에이전트의 아키텍처
그 핵심은 루프인 AI 에이전트입니다. 일반적인 LLM 호출(단일 입력‑출력 트랜잭션)과 달리, 에이전트는 모델의 추론 능력을 활용해 환경과 상호작용합니다. Google Cloud의 Gemini 3 컨텍스트에서는 이 환경이 Vertex AI Agent Builder를 통해 관리됩니다.
에이전시 루프: 인식, 추론, 행동
| Phase | Description |
|---|---|
| Perception (인식) | 에이전트는 사용자로부터 목표를 받고, 내부 메모리 또는 외부 데이터 소스로부터 컨텍스트를 받습니다. |
| Reasoning (추론) | Gemini 3의 고급 추론 능력(예: Chain‑of‑Thought 또는 ReAct)을 사용해 목표를 하위 작업으로 나눕니다. |
| Action (행동) | 에이전트는 하위 작업을 수행하기 위해 도구(함수 호출, API, 검색 등)를 선택합니다. |
| Observation (관찰) | 에이전트는 행동의 출력을 평가하고 계속 진행할지, 종료할지를 결정합니다. |
시스템 아키텍처
멀티‑에이전트 시스템을 구축하기 위해 우리는 단일(monolithic) 설계에서 벗어나 모듈식 접근법을 채택합니다. 여기서 관리자/오케스트레이터가 전문화된 작업자(Worker) 에이전트에게 작업을 할당합니다.

이 아키텍처에서 관리자 오케스트레이터는 두뇌 역할을 합니다. Gemini 3의 높은 추론 임계값을 활용해 현재 작업에 가장 적합한 작업자 에이전트를 결정함으로써, 작업자들이 자신의 도메인에 필요한 컨텍스트만 받게 하여 “토큰 팽창(token bloat)”을 방지합니다.
왜 Gemini 3가 멀티‑에이전트 시스템에 적합한가?
- 네이티브 함수 호출 – 구조화된 JSON 도구 호출을 보다 정확하게 생성하도록 미세 조정되어 API 상호작용 시 환각을 줄입니다.
- 확장된 컨텍스트 윈도우 – 단계마다 벡터 데이터베이스 조회가 필요 없이 다중 턴, 다중 에이전트 대화의 전체 기록을 유지할 수 있습니다.
- 멀티모달 추론 – 에이전트가 “보고” “듣” 수 있어 UI 스크린샷, 오디오 로그 등 다양한 모달리티를 추론 루프의 일부로 처리합니다.
기능 비교: Gemini 1.5 vs. Gemini 3 for Agents
| Feature | Gemini 1.5 Pro | Gemini 3 (Agentic) |
|---|---|---|
| Tool Call Accuracy | ~85 % | > 98 % |
| Reasoning Latency | 보통 | 최적화된 저지연 |
| Native Memory Management | 제한됨 | 통합 세션 상태 |
| Multimodal Throughput | 표준 | 고속 스트림 처리 |
| Task Decomposition | 수동 프롬프트 | 네이티브 에이전시 추론 |
멀티‑에이전트 시스템 구축: 기술 구현
아래는 Vertex AI Python SDK를 사용한 금융 분석 사용 사례에 대한 단계별 walkthrough 입니다.
Step 1 – 도구 정의
도구는 에이전트의 “손” 역할을 합니다. Gemini 3에서는 도구를 명확한 docstring을 가진 Python 함수로 정의하며, 모델은 이를 통해 언제, 어떻게 호출해야 하는지를 이해합니다.
import vertexai
from vertexai.generative_models import GenerativeModel, Tool, FunctionDeclaration
# Initialize Vertex AI
vertexai.init(project="my-project-id", location="us-central1")
# Define a tool for fetching stock data
get_stock_price_declaration = FunctionDeclaration(
name="get_stock_price",
description="Fetch the current stock price for a given ticker symbol.",
parameters={
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "The stock ticker (e.g., GOOG)"
}
},
"required": ["ticker"]
},
)
stock_tool = Tool(
function_declarations=[get_stock_price_declaration],
)
Step 2 – 워커 에이전트
워커 에이전트는 특화된 역할을 수행합니다. 아래 예시는 주식 가격 도구를 사용하는 Data Agent 를 보여줍니다.
model = GenerativeModel("gemini-3-pro")
chat = model.start_chat(tools=[stock_tool])
def run_data_agent(prompt: str) -> str:
"""Hand‑off logic for the data worker agent."""
response = chat.send_message(prompt)
# Detect a function‑call request
if (response.candidates
and response.candidates[0].content.parts
and response.candidates[0].content.parts[0].function_call):
function_call = response.candidates[0].content.parts[0].function_call
# In a real scenario you would execute the function here,
# then send the result back to the model.
return f"Agent wants to call: {function_call.name}"
return response.text
Step 3 – 오케스트레이션 흐름
복잡한 시스템에서는 데이터 흐름을 관리하여 Agent A 의 출력이 Agent B 로 올바르게 전달되도록 해야 합니다. 아래 시퀀스 다이어그램은 이 상호작용을 시각화한 것입니다.

오케스트레이터는 고수준 요청(예: “분기별 재무 보고서 생성”)을 받아 어떤 워커 에이전트가 필요한지 결정하고(데이터 에이전트 → 분석 에이전트 → 프레젠테이션 에이전트), 중간 결과를 적절히 라우팅합니다.
요약
- 모델이 호출할 수 있는 명확하고 타입이 지정된 도구를 정의합니다.
- 단일 전문 분야를 담당하는 집중된 워커 에이전트를 구축합니다.
- Gemini 3의 추론을 활용하여 작업을 라우팅하고, 세션 상태를 유지하며, 토큰 부피를 최소화하는 매니저/오케스트레이터를 구현합니다.
이 패턴을 사용하면 Gemini 3의 장기 컨텍스트, 멀티모달, 저지연 기능을 활용하여 Google Cloud에서 신뢰할 수 있고, 관찰 가능하며, 프로덕션 준비가 된 멀티 에이전트 시스템을 구축할 수 있습니다.
[](https://media2.dev.to/dynamic/image/width=800,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv4u62qhdt2kantaop0zv.png)
# 고급 패턴: 상태 관리 및 메모리
멀티 에이전트 시스템에서 가장 큰 도전 과제 중 하나는 **상태 드리프트**이며, 이는 에이전트가 장기간 상호 작용 중에 원래 목표를 잃어버리는 현상입니다. Gemini 3는 Vertex AI의 기본 세션 상태 관리 기능으로 이를 해결합니다.
전체 대화 기록을 앞뒤로 전달하는 대신(비용과 지연이 증가함), **컨텍스트 캐싱**을 사용할 수 있습니다. 이를 통해 모델은 초기 지시와 배경 데이터를 “고정”하고, 대화에서 새로운 차이점(델타)만 처리합니다.
코드 예시: 효율성을 위한 컨텍스트 캐싱
from vertexai.preview import generative_models
# Large technical manual context
long_context = "... thousands of lines of documentation ..."
# Create a cache (valid for a specific TTL)
cache = generative_models.Caching.create(
model_name="gemini-3-pro",
content=long_context,
ttl_seconds=3600,
)
# Initialize agent with the cached context
agent = generative_models.GenerativeModel(model_name="gemini-3-pro")
# The agent now has 'memory' of the documentation without re‑sending it
멀티‑에이전트 시스템의 과제
이러한 시스템을 구축하는 데는 어려움이 따릅니다. 여기 가장 흔한 세 가지 기술적 과제와 해결 방법을 소개합니다:
1. “무한 루프” 문제
에이전트가 때때로 같은 도구를 반복 호출하거나 같은 질문을 반복해서 루프에 빠질 수 있습니다.
해결책: Python 컨트롤러에 max_iterations 카운터를 구현하고, 별도의 모델이 에이전트 루프의 중복성을 감시하도록 Observer 패턴을 사용합니다.
2. 도구 출력 모호성
도구가 오류나 예상치 못한 JSON을 반환하면 에이전트가 해결책을 착각할 수 있습니다.
해결책: 함수 출력에 대해 엄격한 Pydantic 모델을 사용하고, 검증 오류를 에이전트의 컨텍스트에 다시 전달하여 스스로 교정하도록 합니다.
3. 컨텍스트 오버플로우
Gemini 3의 큰 윈도우에도 불구하고, 멀티‑에이전트 시스템은 방대한 로그를 생성할 수 있습니다.
해결책: Information Bottleneck 전략을 적용합니다. 오케스트레이터는 다음 에이전트에 전달하기 전에 각 워커의 출력을 요약하여, 고신호 데이터만 앞으로 이동하도록 합니다.
테스트 및 평가 (LLM‑as‑a‑Judge)
전통적인 단위 테스트는 에이전트에 충분하지 않습니다. 추론 경로를 평가해야 합니다. Google Cloud의 Vertex AI Rapid Evaluation을 사용하면 Gemini 3을 심판으로 활용하여 다음과 같은 기준으로 에이전트 성능을 평가할 수 있습니다:
- Helpfulness(유용성): 에이전트가 의도를 충족했는가?
- Tool Efficiency(도구 효율성): 최소한의 도구 호출 횟수를 사용했는가?
- Safety(안전성): 정의된 시스템 지침을 준수했는가?
평가 메트릭 표
| 메트릭 | 설명 | 목표 점수 |
|---|---|---|
| Faithfulness(충실도) | 에이전트가 검색된 데이터에 얼마나 잘 부합하는가 | > 0.90 |
| Task Completion(작업 완료) | 복잡한 다단계 목표의 성공률 | > 0.85 |
| Latency per Step(단계당 지연 시간) | 단일 추론 루프에 걸리는 시간 | < 2.0 s |
결론
Gemini 3와 Vertex AI Agent Builder는 지능형 자율 시스템을 구축하는 장벽을 근본적으로 낮췄습니다. 다음을 통해:
- 모듈식 다중‑에이전트 아키텍처 사용,
- 네이티브 함수 호출 활용,
- 엄격한 평가 사이클 구현,
개발자는 프로토타입을 넘어 생산‑준비 AI 솔루션으로 나아갈 수 있습니다.
성공의 핵심은 프롬프트의 크기가 아니라 오케스트레이션의 우아함과 에이전트에게 제공되는 도구의 신뢰성에 있습니다. 에이전트 기반 소프트웨어 시대에 개발자의 역할은 논리 작성에서 에이전트가 효과적으로 협업할 수 있는 생태계 설계로 이동합니다.
추가 읽을거리 및 리소스
- Vertex AI Agent Builder Documentation – Vertex AI Agent Builder 문서
- Gemini Model Family Technical Paper – Gemini 모델 패밀리 기술 논문
- ReAct: Synergizing Reasoning and Acting in Language Models – ReAct: 언어 모델에서 추론과 행동을 시너지화
- Generative AI on Google Cloud – Official Guides – Google Cloud의 생성 AI – 공식 가이드
- Multi‑Agent Systems Design Patterns – 멀티 에이전트 시스템 설계 패턴