Tutorial Lengkap Google Agent Development Kit (ADK): Membangun AI Agent dengan Python
Google Agent Development Kit (ADK) adalah framework open-source dari Google untuk membangun, mengelola, dan mengorkestrasi AI agent. Framework ini dirancang agar developer bisa membuat agent yang modular, composable, dan siap produksi. ADK terintegrasi langsung dengan ekosistem Google Cloud dan mendukung berbagai model LLM termasuk Gemini, Claude, dan GPT.
Dalam tutorial ini, kita akan mempelajari cara menggunakan Google ADK dari dasar hingga fitur lanjutan, lengkap dengan contoh kode yang bisa langsung dipraktekkan.
Mengapa Google ADK?
Sebelum masuk ke implementasi, penting untuk memahami keunggulan ADK dibanding framework agent lainnya:
- Multi-Agent Architecture: ADK mendukung orkestrasi multi-agent secara native, memungkinkan kamu membangun sistem agent yang kompleks dengan mudah
- Integrasi Google Cloud: Terintegrasi langsung dengan Vertex AI, Gemini API, dan layanan Google Cloud lainnya
- Model Agnostic: Meskipun dioptimalkan untuk Gemini, ADK bisa digunakan dengan model LLM apapun melalui LiteLLM
- Built-in Tools: Menyediakan tool bawaan untuk Google Search, code execution, dan banyak lagi
- Session Management: Sistem session dan memory management yang sudah terintegrasi
- Streaming Support: Mendukung streaming response untuk pengalaman pengguna yang lebih baik
Instalasi dan Setup
Persyaratan Sistem
Pastikan kamu sudah memiliki Python 3.9 atau lebih baru terinstal di sistem.
python --version # Minimal Python 3.9
Instalasi ADK
Instal Google ADK menggunakan pip:
pip install google-adk
Untuk fitur tambahan seperti evaluasi dan deployment:
pip install google-adk[eval]
pip install google-adk[a2a]
Konfigurasi API Key
ADK membutuhkan API key untuk mengakses model LLM. Kamu bisa menggunakan Gemini API key atau Google Cloud credentials.
Menggunakan Gemini API Key:export GOOGLEAPIKEY="your-gemini-api-key"
Menggunakan Google Cloud:
export GOOGLECLOUDPROJECT="your-project-id"
export GOOGLECLOUDLOCATION="us-central1"
gcloud auth application-default login
Struktur Proyek
ADK menggunakan konvensi struktur folder tertentu. Buat struktur proyek berikut:
myagentproject/
├── myagent/
│ ├── init.py
│ └── agent.py
└── requirements.txt
File init.py harus mengexport variabel agent:
from .agent import agent
Membuat Agent Pertama
Agent Sederhana
Mari kita mulai dengan membuat agent sederhana yang bisa menjawab pertanyaan:
# myagent/agent.py
from google.adk.agents import Agent
agent = Agent(
model="gemini-2.0-flash",
name="assistant",
description="Agent asisten yang membantu menjawab pertanyaan",
instruction="""Kamu adalah asisten AI yang ramah dan membantu.
Jawab pertanyaan pengguna dengan jelas dan ringkas.
Gunakan bahasa Indonesia jika pengguna bertanya dalam bahasa Indonesia.""",
)
Menjalankan Agent
Ada beberapa cara untuk menjalankan agent:
Menggunakan CLI:adk run myagent
Menggunakan Web UI:
adk web myagent
Secara Programatik:
import asyncio
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
async def main():
sessionservice = InMemorySessionService()
runner = Runner(
agent=agent,
appname="myapp",
sessionservice=sessionservice,
)
session = await sessionservice.createsession(
appname="myapp",
userid="user1",
)
from google.genai.types import Content, Part
response = runner.run(
userid="user1",
sessionid=session.id,
newmessage=Content(
role="user",