Dunia AI bergerak dengan cepat meninggalkan model bertujuan tunggal menuju sistem multi-agen yang cerdas dan otonom. Namun, membangun sistem multi-agen ini menghadirkan tantangan baru. Itulah sebabnya hari ini, kami memperkenalkan Agent Development Kit (ADK) di Google Cloud NEXT 2025, sebuah framework open source baru dari Google yang dirancang untuk menyederhanakan pengembangan stack lengkap secara menyeluruh untuk agen dan sistem multi-agen. ADK memampukan developer seperti Anda untuk membangun aplikasi agentik yang siap produksi dengan fleksibilitas yang lebih besar dan kontrol yang presisi.
ADK sama dengan framework yang digunakan untuk menjalankan agen di dalam produk Google, seperti Agentspace dan Google Customer Engagement Suite (CES). Dengan menjadikan ADK open source, kami bertujuan untuk menyediakan alat yang kuat dan fleksibel bagi developer untuk membangun lanskap agen yang berkembang pesat. ADK dirancang agar fleksibel, menggunakan model yang berbeda, dan membangun agen yang siap produksi untuk berbagai lingkungan deployment.
ADK menyediakan kemampuan di seluruh siklus proses pengembangan agen:
Sequential
, Parallel
, Loop
) untuk pipeline yang terprediksi, atau manfaatkan pemilihan rute dinamis berbasis LLM (LlmAgent
transfer) untuk perilaku adaptif.Meskipun kami mendorong Anda untuk menjelajahi contoh dalam dokumen, ide intinya adalah kesederhanaan Pythonic. Anda mendefinisikan logika agen Anda, alat yang dapat digunakan, dan bagaimana agen memproses informasi. ADK menyediakan struktur untuk mengelola status, mengatur panggilan alat, dan berinteraksi dengan LLM fundamentalnya. Berikut adalah contoh ilustrasi agen dasar.
Kode bisa ditemukan di panduan memulai cepat.
from google.adk.agents import LlmAgent
from google.adk.tools import google_Search
dice_agent = LlmAgent(
model="gemini-2.0-flash-exp", # Required: Specify the LLM
name="question_answer_agent", # Requdired: Unique agent name
description="A helpful assistant agent that can answer questions.",
instruction="""Respond to the query using google search""",
tools=[google_search], # Provide an instance of the tool
)
# you can run this by using adk web
Contoh sederhana ini menunjukkan struktur dasarnya. ADK benar-benar cemerlang ketika membangun aplikasi yang lebih kompleks yang melibatkan banyak agen, penggunaan alat canggih, dan orkestrasi dinamis, semuanya sambil tetap mempertahankan kontrol.
ADK menawarkan fleksibilitas terkait cara Anda berinteraksi dengan agen: CLI, UI Web, Server API, dan API (Python). Cara Anda mendefinisikan agen (logika inti dalam agent.py
) adalah sama, apa pun cara yang Anda pilih untuk berinteraksi dengannya. Perbedaannya terletak pada bagaimana Anda memulai dan mengelola interaksi. Anda dapat menemukan semua contohnya dalam dokumentasi ADK.
ADK benar-benar cemerlang ketika Anda beralih dari sekadar agen tunggal menuju sistem multi-agen kolaboratif yang memanfaatkan alat. Bayangkan membuat tim agen khusus dengan agen utama yang dapat mendelegasikan tugas berdasarkan percakapan. ADK memudahkan hal ini melalui struktur hierarkis dan pemilihan rute yang cerdas.
Mari kita lihat contoh ilustratif – WeatherAgent
yang menangani pertanyaan tentang cuaca tetapi mendelegasikan ucapan salam ke GreetingAgent khusus.
1. Tentukan Alat: Agen menggunakan alat untuk melakukan tindakan. Di sini, WeatherAgent
kami membutuhkan alat untuk mengambil data cuaca. Kami mendefinisikan fungsi Python; ADK menggunakan docstring
untuk memahami kapan dan bagaimana cara menggunakannya.
def get_weather(city: str) -> Dict:
# Best Practice: Log tool execution for easier debugging
print(f"--- Tool: get_weather called for city: {city} ---")
city_normalized = city.lower().replace(" ", "") # Basic input normalization
# Mock weather data for simplicity (matching Step 1 structure)
mock_weather_db = {
"newyork": {"status": "success", "report": "The weather in New York is sunny with a temperature of 25°C."},
"london": {"status": "success", "report": "It's cloudy in London with a temperature of 15°C."},
"tokyo": {"status": "success", "report": "Tokyo is experiencing light rain and a temperature of 18°C."},
"chicago": {"status": "success", "report": "The weather in Chicago is sunny with a temperature of 25°C."},
"toronto": {"status": "success", "report": "It's partly cloudy in Toronto with a temperature of 30°C."},
"chennai": {"status": "success", "report": "It's rainy in Chennai with a temperature of 15°C."},
}
# Best Practice: Handle potential errors gracefully within the tool
if city_normalized in mock_weather_db:
return mock_weather_db[city_normalized]
else:
return {"status": "error", "error_message": f"Sorry, I don't have weather information for '{city}'."}
2. Tentukan Agen dan Hubungannya: Kami menggunakan LlmAgent
untuk membuat agen. Perhatikan dengan seksama kolom instruksi dan deskripsi – LLM sangat bergantung pada hal ini untuk memahami peran dan membuat keputusan delegasi menggunakan pendelegasian otomatis untuk sub agen.
greeting_agent = Agent(
model=LiteLlm(model="anthropic/claude-3-sonnet-20240229"),
name="greeting_agent",
instruction="You are the Greeting Agent. Your ONLY task is to provide a friendly greeting to the user. " "Do not engage in any other conversation or tasks.",
# Crucial for delegation: Clear description of capability
description="Handles simple greetings and hellos",
)
farewell_agent = Agent(
model=LiteLlm(model="anthropic/claude-3-sonnet-20240229"),
name="farewell_agent",
instruction="You are the Farewell Agent. Your ONLY task is to provide a polite goodbye message. "
"Do not perform any other actions.",
# Crucial for delegation: Clear description of capability
description="Handles simple farewells and goodbyes",
)
root_agent = Agent(
name="weather_agent_v2",
model="gemini-2.0-flash-exp",
description="You are the main Weather Agent, coordinating a team. - Your main task: Provide weather using the `get_weather` tool. Handle its 'status' response ('report' or 'error_message'). - Delegation Rules: - If the user gives a simple greeting (like 'Hi', 'Hello'), delegate to `greeting_agent`. - If the user gives a simple farewell (like 'Bye', 'See you'), delegate to `farewell_agent`. - Handle weather requests yourself using `get_weather`. - For other queries, state clearly if you cannot handle them.",
tools=[get_weather], # Root agent still needs the weather tool
sub_agents=[greeting_agent, farewell_agent]
)
description
agen saat ini, dan kolom description
agen terkait (induk / sub agen yang didefinisikan dalam hierarki).GreetingAgent
, maka LLM akan memulai proses transfer.Deskripsi yang jelas dan berbeda sangatlah penting! LLM menggunakannya untuk merutekan tugas secara efektif.
Dalam pengaturan ini, jika pengguna memulai dengan “Hai”, WeatherAgent
(jika ini adalah agen root yang memproses input) bisa mengenali bahwa ini bukan pertanyaan cuaca, melihat GreetingAgent
yang lebih cocok melalui deskripsinya, dan secara otomatis mentransfer kontrol. Jika pengguna bertanya “Bagaimana cuaca di Chicago?”, WeatherAgent
akan menanganinya secara langsung dengan menggunakan alat get_weather
.
Contoh ini menunjukkan bagaimana struktur hierarkis dan delegasi berbasis deskripsi dari ADK memungkinkan Anda membangun aplikasi multi-agen yang terorganisir, mudah dikelola, dan canggih.
Membangun agen cerdas seperti agen cuaca kami merupakan hal yang fundamental, tetapi menghadirkannya secara andal kepada pengguna melibatkan langkah penting berikutnya: evaluasi yang ketat dan deployment yang mulus. Sebelum diluncurkan, pastikan agen Anda berperilaku dengan tepat dan dapat diprediksi. Alat evaluasi terintegrasi ADK dirancang secara khusus untuk hal ini, sehingga Anda bisa menguji jalur eksekusi dan kualitas respons secara sistematis terhadap set data yang telah ditetapkan sebelumnya, seperti evaluation.test.json
atau test.json
. Anda dapat menjalankan pemeriksaan ini secara terprogram dalam rangkaian pengujian menggunakan AgentEvaluator.evaluate()
. Anda juga bisa menggunakan evaluasi secara langsung melalui alat command line ADK eval atau melalui UI web.
Setelah Anda puas dengan performanya, ADK akan menawarkan jalur yang jelas dan mudah menuju produksi melalui opsi untuk menerapkan ke runtime penampung apa pun atau menggunakan integrasinya dengan Vertex AI Agent Engine. Ini memungkinkan Anda untuk memanfaatkan runtime level perusahaan yang terkelola sepenuhnya dan skalabel, menyelesaikan siklus proses pengembangan dan memampukan Anda untuk beralih dari prototipe canggih ke aplikasi agentik yang tangguh dan siap produksi.
Ketika menjelajahi kemungkinan membangun sistem multi-agen dengan ADK, Anda mungkin bertanya-tanya bagaimana kesesuaiannya dengan lanskap yang lebih luas terkait alat pengembangan GenAI dari Google. Meskipun tersedia berbagai SDK dan framework, seperti framework Genkit, ada baiknya Anda memahami fokus relatif ADK. Berikut adalah perbandingan singkatnya:
Pada akhirnya, pilihan terbaik tergantung pada tujuan spesifik project tersebut. Jika Anda membangun sistem agen kolaboratif yang rumit dalam framework yang terdefinisi dengan baik, ADK menawarkan solusi yang kuat. Untuk banyak project GenAI lainnya yang membutuhkan fleksibilitas dan dukungan model yang luas, Genkit adalah pilihan yang sangat baik.
Meskipun Agent Development Kit (ADK) menawarkan fleksibilitas untuk bekerja dengan berbagai alat, ADK dioptimalkan untuk integrasi yang mulus di dalam ekosistem Google Cloud, khususnya dengan model Gemini dan Vertex AI. Desain yang disesuaikan ini memungkinkan developer untuk sepenuhnya memanfaatkan kemampuan canggih Gemini, seperti penalaran yang disempurnakan dan penggunaan alat yang ditemukan di Gemini 2.5 Pro Eksperimental, serta menyediakan jalur native secara langsung untuk menerapkan agen-agen ini ke dalam runtime level perusahaan yang terkelola sepenuhnya oleh Vertex AI untuk skalabilitas.
Yang terpenting, integrasi yang mendalam ini menjangkau lanskap perusahaan Anda yang lebih luas; ADK memungkinkan agen untuk terhubung langsung ke sistem dan data melalui lebih dari 100 konektor yang telah dibuat sebelumnya, memanfaatkan alur kerja yang dibangun dengan Application Integration, dan mengakses data yang disimpan dalam sistem, seperti AlloyDB, BigQuery, dan NetApp tanpa perlu melakukan duplikasi data.
Selain itu, agen yang dibangun dengan ADK bisa dengan aman memanfaatkan investasi API organisasi Anda yang dikelola melalui Apigee, yang semakin meningkatkan kemampuan mereka dengan memanfaatkan antarmuka yang sudah ada.
Konektivitas yang komprehensif di seluruh model AI lanjutan, deployment yang skalabel, sumber data yang beragam, dan API yang ada menjadikan ADK sangat kuat saat digunakan di lingkungan Google Cloud.
Agent Development Kit (ADK) menyediakan fondasi yang kuat, fleksibel, dan open source untuk membangun aplikasi AI generasi berikutnya. ADK mengatasi tantangan utama pengembangan multi-agen dengan menawarkan:
Kami ingin segera melihat kreasi Anda dengan ADK!
Jelajahi Kode: Dokumentasi ADK Resmi.