안녕하세요. SBC Technology입니다.
최근 Google Cloud Next 2025 행사에서 Agent Development Kit(ADK) 이라는 혁신적인 라이브러리를 발표했습니다. 이 툴킷은 Google Cloud의 Gemini 모델과 도구 체인을 통합하여, 개발자들이 손쉽게 멀티모달 AI 에이전트(Agent) 를 만들고 실행할 수 있게 해줍니다.
ADK를 이해하기 위해서는 먼저 Agent가 무엇인지 알아야 합니다.
Agent는 단순한 대화형 AI가 아니라, 사용자의 요청을 이해하고, 외부 도구와 상호작용하며, 복잡한 작업을 수행할 수 있는 지능형 구성 요소입니다. 예를 들어, 날씨를 확인하거나 이메일을 보내고, 문서를 요약하거나 API를 호출하는 등의 작업을 도구를 통해 처리할 수 있습니다. 이런 Agent는 사용자와 대화하면서 필요한 정보를 수집하고, 그에 따라 적절한 행동을 스스로 결정합니다.
ADK는 이러한 Agent를 만들기 위한 핵심 구성 요소를 제공합니다. 대표적으로 다음과 같은 기능이 포함되어 있습니다:
- 모델 선택: Gemini 1.0 Pro, 1.5 Pro, 2.0 Flash 등 다양한 모델을 지정 가능
- 도구 통합 (Tooling): Python 함수 또는 외부 API를 도구로 등록하여 Agent가 실행 가능
- 멀티모달 지원: 텍스트, 음성, 이미지 등 다양한 입력 방식 지원
- Web UI 또는 CLI 인터페이스: Agent를 쉽게 테스트할 수 있는 환경 제공
이처럼 ADK는 기존의 챗봇이나 단순한 LLM 기반 앱과는 달리, “지능형 기능 단위의 실행 체계” 를 구축하는 데 중점을 둔 툴킷입니다. ADK의 아키텍처는 아래와 같습니다.

이번 글에서는 ADK 공식 문서(https://google.github.io/adk-docs/get-started/quickstart)를 참고하여 기본적인 라이브러리 사용법을 소개해 드리고자 합니다.
이번 데모는 아래와 같은 아키텍처로 구성되어 각 도시의 날씨와 시간을 확인할 수 있도록 하겠습니다.

문서 상으로는 Python 3.9 버전 이상이 설치된 local IDE 환경을 가정하였습니다. 환경 설정 부분은 따로 설명하지 않겠습니다. 참고로 저희는 윈도우 명령 프롬프트 및 파일 탐색기에서 작업을 진행했습니다.
Gemini를 사용하기 위해 먼저 GCP 콘솔에서 프로젝트를 생성해 주어야 합니다. GCP 사용이 처음이시라면 $300의 무료 크레딧을 받을 수 있습니다. 아래 문서를 참고하여 GCP 프로젝트 생성(결제 계정 연결 필요), Vertex AI API 활성화 및 Google Cloud CLI 설정까지 완료해 주시기 바랍니다.
먼저 가상 환경을 생성하겠습니다. 이 작업을 하지 않으면 기존 환경과의 충돌로 인해 라이브러리 설치에 어려움이 발생할 수 있습니다.
$python -m venv .venv
(.venv 가상 환경 생성)
$.venv\Scripts\activate
(가상 환경 활성화)

정상적으로 가상 환경이 활성화되면 UI에 가상 환경 이름이 표시됩니다.
이제 $pip install google-adk
명령어를 통해 핵심 라이브러리인 ADK를 설치하겠습니다.
설치하는 동안 파일 탐색기에서 작업 경로에 multi_tool_agent
폴더를 생성한 뒤 __init__.py
, agent.py
, .env
파일을 생성해 줍니다. 저는 안정적인 인증을 위해 서비스 계정을 생성한 뒤 IAM에서 프로젝트에 대한 Editor 권한을 추가해 주었습니다. 이후 sa_key.json
파일을 생성하여 추가하였습니다. 자세한 방법은 아래 문서를 참고해 주시기 바랍니다.

작성한 파일의 내용은 아래와 같습니다.
[.env 파일]
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_VERTEXAI_USE_LIVE_API=TRUE
GOOGLE_CLOUD_PROJECT=생성한 GCP 프로젝트명
GOOGLE_CLOUD_LOCATION=us-central1 (또는 연결한 리전명)
GOOGLE_APPLICATION_CREDENTIALS=C:\Users\USER\AppData\Local\Google\Cloud SDK\multi_tool_agent\sa_key.json
[__init__.py 파일]
from . import agent
[agent.py 파일]
import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent
def get_weather(city: str) -> dict:
"""Retrieves the current weather report for a specified city.
Args:
city (str): The name of the city for which to retrieve the weather report.
Returns:
dict: status and result or error msg.
"""
if city.lower() == "new york":
return {
"status": "success",
"report": (
"The weather in New York is sunny with a temperature of 25 degrees"
" Celsius (41 degrees Fahrenheit)."
),
}
else:
return {
"status": "error",
"error_message": f"Weather information for '{city}' is not available.",
}
def get_current_time(city: str) -> dict:
"""Returns the current time in a specified city.
Args:
city (str): The name of the city for which to retrieve the current time.
Returns:
dict: status and result or error msg.
"""
if city.lower() == "new york":
tz_identifier = "America/New_York"
else:
return {
"status": "error",
"error_message": (
f"Sorry, I don't have timezone information for {city}."
),
}
tz = ZoneInfo(tz_identifier)
now = datetime.datetime.now(tz)
report = (
f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
)
return {"status": "success", "report": report}
root_agent = Agent(
name="weather_time_agent",
model="gemini-2.0-flash",
description=(
"Agent to answer questions about the time and weather in a city."
),
instruction=(
"You are a helpful agent who can answer user questions about the time and weather in a city."
),
tools=[get_weather, get_current_time],
)
다음으로 $ gcloud init
명령어를 통해 프로젝트에 연결합니다. 이 때, Live API를 지원하는 us-central1 리전으로 연결하는 것을 권장해 드립니다.
이제 ADK를 사용할 준비가 완료되었습니다. 작업 경로(multi_tool_agent의 상위 폴더)에서 adk web 명령어를 실행합니다.

이제 브라우저에서 http://localhost:8000 에 접속하면 웹 UI에서 Gemini 모델과 소통이 가능합니다. 다음은 좌측 상단에서 multi_tool_agent를 선택한 뒤, 시간 Agent를 호출한 예시 화면입니다.

이벤트를 클릭하면 각 이벤트의 세부 내용을 조회할 수 있습니다.

현재(2025년 4월 24일 기준) gemini-2.0-flash
모델에는 아직 Live 기능(실시간 음성 및 비디오를 통한 소통)이 퍼블릭하게 공개되지 않은 것으로 보입니다. 만약 Live 기능을 활용하고 싶으시다면 모델명을 gemini-2.0-flash-live-preview-04-09
와 같이 변경해 주어야 합니다. 다만, 이 모델을 사용하는 경우 텍스트를 통한 입력이 비활성화되므로, 용도에 맞게 모델을 선택해 주시면 되겠습니다. 이 부분은 추후 gemini-2.0-flash
모델만으로도 텍스트 및 Live 기능 활용이 가능하도록 업데이트될 것으로 기대하고 있습니다.
그 외 사용할 수 있는 에이전트 목록은 Agent Garden에서 확인할 수 있습니다. 예를 들어, Salesforce 에이전트를 검색하면 아래와 같은 설명이 나오게 됩니다.

이처럼 ADK를 활용하면 손쉽게 멀티 에이전트 환경을 구축하고 배포할 수 있습니다. ADK는 특히 웹 기반 UI와 Google Cloud와의 매끄러운 연동, Live API를 통한 음성/비디오 상호작용, 손쉬운 멀티 에이전트 확장성 등으로 인해 큰 호응을 얻고 있습니다.
앞으로 ADK는 AI 서비스를 빠르게 프로토타이핑하고 실전 배포까지 이어갈 수 있는 핵심 플랫폼으로 활용도가 더욱 높아질 것으로 기대됩니다.
감사합니다.
Comments are closed.