핸즈온 Google ADK with Python

핸즈온 Google ADK with Python

LLM 에이전트 구축을 위한 ADK(Agent Development Kit) 핵심 가이드

책 소개


인공지능 에이전트 시대가 본격적으로 시작되었다. 단순히 질문에 답하는 수준을 넘어, 복잡한 작업을 자율적으로 수행하고, 도구를 활용하며, 여러 전문가 에이전트들이 협업하여 문제를 해결하는 시스템이 현실이 되고 있다. 이러한 변화의 중심에 Google의 Agent Development Kit(ADK)가 있다.

ADK는 Google이 개발자들에게 제공하는 강력한 에이전트 구축 프레임워크다. Gemini 모델을 기반으로 하면서도 다양한 LLM 제공자들과의 통합을 지원하며, 도구 사용(Tool Use), 구조화된 출력(Structured Outputs), 멀티 에이전트 오케스트레이션(Multi-Agent Orchestration) 등 현대적인 에이전트 시스템 구축에 필요한 모든 핵심 기능을 제공한다. 그러나 ADK의 진정한 가치는 단순히 기능의 나열에 있지 않다. 복잡한 에이전트 시스템을 체계적이고 확장 가능한 방식으로 구축할 수 있는 아키텍처 패턴과 설계 철학을 제공한다는 점에 있다.

이 책은 ADK를 처음 접하는 개발자부터 고급 에이전트 시스템을 구축하려는 실무자까지 모두를 위한 실전 가이드다. 단순한 API 문서의 번역이나 기능 소개를 넘어, 실제 프로덕션 환경에서 활용할 수 있는 패턴과 베스트 프랙티스를 중심으로 구성했다. 각 장은 독립적으로 읽을 수 있지만, 순서대로 따라가면 자연스럽게 단순한 에이전트부터 복잡한 멀티 에이전트 시스템까지 구축할 수 있는 역량을 갖추게 된다.

ADK는 빠르게 진화하고 있다. 이 책이 출간되는 시점에도 새로운 기능이 추가되고, 기존 API가 개선되고 있을 것이다. 그러나 이 책에서 다루는 핵심 패턴과 설계 원칙은 시간이 지나도 유효하다. 에이전트 시스템 구축의 본질적인 문제들?도구 사용, 상태 관리, 에이전트 간 협업, 워크플로우 조율?은 특정 프레임워크를 넘어선 보편적인 과제이기 때문이다.

저자는 CAIO로 재직하며 AI 플랫폼과 엔터프라이즈 AI 에이전트 솔루션을 개발 기획해 왔다. 그 과정에서 LangGraph, CrewAI, OpenAI Agents 등 다양한 에이전트 프레임워크를 경험했고, ADK만의 독특한 강점을 발견했다. Google의 엔지니어링 철학이 반영된 깔끔한 추상화, 강력한 타입 시스템, 그리고 Gemini 모델과의 긴밀한 통합은 프로덕션 환경에서 안정적이고 확장 가능한 시스템을 구축하는 데 큰 도움이 되었다. 이 책을 집필하며 가장 중요하게 생각한 것은 실용성이다. 이론적 완벽함보다는 실무에서 바로 적용할 수 있는 패턴을, 모든 기능의 나열보다는 핵심적이고 자주 사용되는 기법을 중점적으로 다뤘다. 각 장의 예제는 독립적으로 실행 가능하면서도, 전체적으로는 하나의 큰 그림을 그려나가도록 구성했다.

ADK를 활용한 에이전트 개발은 단순히 코드를 작성하는 것 이상이다. 자율적으로 사고하고 행동하는 소프트웨어 시스템을 설계하는 새로운 패러다임이다. 이 책이 여러분의 ADK 여정에 실질적인 도움이 되기를, 그리고 더 나아가 차세대 AI 에이전트 시스템을 구축하는 데 영감을 주기를 바란다.

목 차


저자 소개 Table of Contents (목차)

서문: 들어가며

제1장: Agent Development Kit 시작 1.1. ADK란 무엇인가 1.2. 첫 번째 에이전트 만들기 1.3. 에이전트 실행하기 (Runner 및 Session) 1.3. 대화 이어가기 (기억 테스트) 1.4. 웹 인터페이스로 실행하기

제2장: 에이전트에 도구(Tools) 추가 2.1. 도구(Tools)란 무엇인가 2.2. Google 검색 도구 사용하기 2.3. 커스텀 함수(Custom Function) 도구 만들기 2.4. 도구 정의하기 (Custom Functions) 2.5. 도구 선택 테스트 (Routing)

제3장: ADK에서 다양한 모델 사용 3.1. LiteLLM으로 다양한 LLM 사용 3.2. OpenAI GPT-4 에이전트 만들기 3.3. Anthropic Claude 에이전트 만들기 3.4. 모델 간 비교 (Gemini vs GPT vs Claude)

제4장: ADK에서 구조화된 출력(Structured Outputs) 사용 4.1. 구조화된 출력이 필요한 이유 4.2. 이메일 생성 에이전트 4.3. 복잡한 구조 (티켓 시스템)

제5장: 세션(Session)과 메모리(Memory) 관리 5.1. 세션과 상태란 무엇인가 5.2. 사용자 정보를 기억하는 에이전트 5.3. 대화형 루르와 기록(History) 관리

제6장: 세션을 위한 데이터베이스 통합 6.1. 데이터베이스 통합의 필요성 6.2. 상태에 접근하는 도구 만들기 (ToolContext 활용) 6.3. 리마인더 에이전트 생성하기 6.4. 데이터베이스 세션 서비스 설정 6.5. 에이전트 실행 테스트

제7장: 멀티 에이전트(Multi-Agent) 솔루션 구축 7.1. 멀티 에이전트 시스템이란 7.2. 전문 에이전트(Sub-Agents) 만들기 7.3. 루트 에이전트(Root Agent) 만들기 7.4. 시스템 실행 (Orchestration)

제8장: 멀티 에이전트(Multi-Agent) as Tool 구축 8.1. 멀티 에이전트 환경 설정 8.2. 사용자 정의 도구 정의 8.3. 멀티 에이전트 구축 8.4. 멀티에이전트 실행 엔진 구축 8.5. 세션 서비스 초기화 및 실행

제10장: 순차적 워크플로우(Sequential Workflows) 10.1. 에이전트 기본 설정 10.2. 전문가 에이전트 만들기 10.3.순차적 워크플로 구축 (SequentialAgent)

제11장: 병렬 실행(Parallel Execution) 워크플로우 11.1. 병렬 실행 기본 설정 11.2. 병렬 에이전트 구성 11.3. 병렬 워크플로 구축 11.4. 세션 초기화 및 워크플로 실행

제12장: 루핑 워크플로우(Looping Workflow) 12.1. 루핑 순환 워크플로우 기본 설정 12.2 워크플로 도구 정의 12.3. 제안자, 회계사, 비용 절감자 및 계획 검색자 에이전트 12.4. 루프 및 순차적 워크플로 조립 12.5. 세션 초기화 및 워크플로 실행

제13장: 오케스트레이터 에이전트 구축 (The Orchestrator Agent) 13.1. 오케스트레이터 구축 기본 설정 13.2. 모든 사용자 정의 도구 정의 13.3. 모든 전문가 에이전트 정의 13.4. 모든 워크플로 에이전트 조립 13.5. 마스터 오케스트레이터 구축 13.6. 그랜드 피날레: 전체 대화 실행

결론 - 마무리 하며 References. 참고 문헌

E-Book 구매


Yes24: https://www.yes24.com/product/goods/169543631arrow-up-right

교보문고: https://ebook-product.kyobobook.co.kr/dig/epd/ebook/E000012335514arrow-up-right

알라딘: http://aladin.kr/p/DEo0rarrow-up-right

Github 코드


https://github.com/no-wave/google-adk-agentarrow-up-right

Last updated