SBC Technology SBC Technology
  • 홈
  • Google Workspace
    • 도입을 위한 가이드
    • 버전별 비교
    • GWS Enterprise
    • GWS Business
    • 크롬 기기관리 (CEU)
  • 솔루션
    • 전자결재-GDriveFlow
    • GCP
    • Appsheet
    • Gen AI
    • Looker
    • GUMS
    • Google 화상회의
    • 윈도우 가상화-Cameyo
  • 교육 서비스
    • 세미나
    • 교육 서비스
  • 최근 소식
    • SBC 공지 사항
    • Workspace 업데이트 소식
    • SBC Blog
  • 회사 소개
    • 회사 소개
    • 프로젝트 데모
  • 도입 문의
  • 고객 사례
SBC Technology SBC Technology
  • 홈
  • Google Workspace
    • 도입을 위한 가이드
    • 버전별 비교
    • GWS Enterprise
    • GWS Business
    • 크롬 기기관리 (CEU)
  • 솔루션
    • 전자결재-GDriveFlow
    • GCP
    • Appsheet
    • Gen AI
    • Looker
    • GUMS
    • Google 화상회의
    • 윈도우 가상화-Cameyo
  • 교육 서비스
    • 세미나
    • 교육 서비스
  • 최근 소식
    • SBC 공지 사항
    • Workspace 업데이트 소식
    • SBC Blog
  • 회사 소개
    • 회사 소개
    • 프로젝트 데모
  • 도입 문의
  • 고객 사례
4월 24

[Agent Development Kit] 개발자를 위한 ADK 퀵스타트 가이드

  • 2025-04-24
  • 서 찬솔
  • Workspace 업데이트 소식

안녕하세요. 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 설정까지 완료해 주시기 바랍니다.

  • GCP 프로젝트 설정하기

먼저 가상 환경을 생성하겠습니다. 이 작업을 하지 않으면 기존 환경과의 충돌로 인해 라이브러리 설치에 어려움이 발생할 수 있습니다.

$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 서비스를 빠르게 프로토타이핑하고 실전 배포까지 이어갈 수 있는 핵심 플랫폼으로 활용도가 더욱 높아질 것으로 기대됩니다.

감사합니다.

  • Facebook
  • Twitter
  • Reddit
  • Pinterest
  • Google+
  • LinkedIn
  • E-Mail

About The Author

Comments are closed.

Google Workspace

  • 도입을 위한 가이드
  • 버전별 비교
  • GWS Enterprise
  • GWS Business
  • 크롬 기기 관리 (CEU)

솔루션

  • 전자결재-GDriveFlow
  • GCP
  • Appsheet
  • Gen AI
  • Looker
  • GUMS
  • Google 화상회의
  • 윈도우 가상화-Cameyo

교육서비스

  • 세미나
  • 교육 서비스

최근소식

  • SBC 공지사항
  • Google Workspace 업데이트
  • SBC Blog

기타메뉴

  • 회사 소개
  • 도입 문의
  • 고객 사례
회사명: SBC TECHNOLOGY | 대표자: 정규섭
대표 전화: 02-557-5265 | 팩스: (02) 2135-3851 | 문의 메일: sbc.support@sbctech.net
주소: 서울 강남구 테헤란로 151 역삼하이츠 빌딩 3층 303호 (06132)| 사업자등록번호: 107-87-34272

© 2021 SBC Technology. All rights reserved.