Kursus Singkat ADK - Dari Pemula hingga Pakar

1. Yang akan Anda pelajari

Selamat datang di ADK Master Class - Perjalanan Anda ke Sistem Multi-Agen

Anda akan memasuki dunia agen AI yang menarik. Lupakan chatbot sederhana yang hanya menjawab pertanyaan. Kami mempelajari Agent Development Kit (ADK) secara mendalam untuk membangun sistem otonom yang canggih yang dapat menalar, merencanakan, dan menggunakan alat untuk menyelesaikan tugas yang kompleks.

Roadmap Kursus

Pada akhir tutorial ini, Anda akan dapat:

  • Bangun Agen AI Pertama Anda: Mulai dari nol hingga agen yang berfungsi penuh yang dapat memahami kebutuhan pengguna, menggunakan alat seperti Google Penelusuran, dan menghasilkan respons yang mendetail dan bermanfaat.
  • Menguasai Alat Kustom: Manfaatkan kecanggihan agen yang sebenarnya dengan menghubungkannya ke fungsi dan API kustom Anda sendiri. Anda akan mengajari agen Anda untuk mengambil data real-time, seperti prakiraan cuaca langsung.
  • Membangun Sistem Multi-Agen: Pelajari pola "Agen sebagai Alat", sebuah konsep revolusioner di mana agen mendelegasikan tugas ke agen khusus lainnya, sehingga menciptakan tim pakar AI yang bekerja sama.
  • Mengatur Alur Kerja yang Kompleks: Lakukan lebih dari sekadar delegasi sederhana dan kuasai pola lanjutan seperti Router, Rantai Berurutan, Loop, dan Eksekusi Paralel untuk membangun aplikasi yang andal, efisien, dan cerdas yang dapat menangani hampir semua permintaan.
  • Memberi Agen Anda Memori: Pahami peran penting memori percakapan, yang memungkinkan agen Anda menangani pertanyaan lanjutan, belajar dari masukan, dan mengelola tugas multi-langkah dengan lancar.

Mari kita mulai! 🚀

2. Menyiapkan Kunci API GCP & Gemini

Menyiapkan Project GCP & Kunci Gemini API

Untuk mendukung agen AI kami, kami memerlukan dua hal: Project Google Cloud untuk menyediakan fondasi dan Kunci API Gemini untuk mengakses model canggih Google.

Langkah 1: Aktifkan Akun Penagihan

  • Untuk mengklaim akun penagihan dengan kredit 5 dolar, Anda akan memerlukannya untuk deployment. Pastikan Anda login ke akun Gmail Anda.

Langkah 2: Buat Project GCP Baru

  • Buka Konsol Google Cloud dan buat project baru.

buat akun gcp baru

  • Buka Konsol Google Cloud dan buat project baru.
  • Buka panel kiri, klik Billing, periksa apakah akun penagihan ditautkan ke akun GCP ini.

Tautkan akun penagihan ke akun GCP

Jika Anda melihat halaman ini, periksa manage billing account, pilih Google Cloud Trial One, dan hubungkan ke halaman tersebut.

Langkah 3: Buat Kunci Gemini API Anda

Sebelum dapat mengamankan kunci, Anda harus memilikinya.

  • Buka Google AI Studio : https://aistudio.google.com/
  • Login dengan akun Gmail Anda.
  • Klik tombol "Dapatkan kunci API", yang biasanya ada di panel navigasi sebelah kiri atau di sudut kanan atas.
  • Pada dialog "Kunci API", klik "Buat kunci API di project baru". Buat kunci API di project baru
  • Pilih project baru yang Anda buat dan telah menyiapkan akun penagihan. Pilih project baru
  • Kunci API baru akan dibuat untuk Anda. Segera salin kunci ini dan simpan di tempat yang aman untuk sementara (seperti pengelola sandi atau catatan aman). Nilai ini akan Anda gunakan pada langkah berikutnya.

3. Sesi 1: Agen Pertama Anda dengan Runner

roadmap1

Mari kita mulai dengan dasar-dasarnya. Di sini, kita membuat agen sederhana pertama kita, day_trip_agent. Tujuan agen ini adalah membuat itinerari perjalanan sehari penuh berdasarkan permintaan pengguna, termasuk pertimbangan anggaran. Contoh ini memperkenalkan tiga komponen inti dari setiap interaksi agen di ADK:

  • Agen: Otak inti operasi. Agen ditentukan oleh instruksinya (kepribadian dan misinya), model AI yang digunakannya (seperti Gemini), dan alat yang dapat diaksesnya.
  • Sesi: Memori percakapan. Membuat histori interaksi (pesan pengguna dan respons agen), sehingga memungkinkan dialog berkelanjutan.
  • Runner: Mesin yang menjalankan tugas. Fungsi ini mengambil Agen dan Sesi, memproses kueri pengguna baru, dan mengatur langkah-langkah untuk menghasilkan respons.

➡️ Tempat Menemukannya di Notebook

👉 Ini sesuai dengan sel di bagian Bagian 1: Agen Pertama Anda - Jin Perjalanan Sehari 🧞.🌟

robot agen sedang membaca

  • Definisi Agen: Cari fungsi create_day_trip_agent(). Di sinilah agen ditentukan. Perhatikan string petunjuk mendetail—ini adalah perintah yang memberi tahu agen cara berperilaku. Kami juga memberinya alat pertamanya: Google Penelusuran.
  • Fungsi Bantuan: Fungsi bantuan run_agent_query() ditentukan di sini. Kita akan menggunakan utilitas ini di seluruh notebook untuk menyederhanakan eksekusi kueri.
  • Test Run: Fungsi run_day_trip_genie() menyimulasikan pengguna yang meminta perjalanan sehari yang "terjangkau" dan "santai". Agen menggunakan instruksi dan alat Google Penelusuran untuk menemukan lokasi yang sesuai dan membuat rencana perjalanan berformat markdown.

➡️ Tindakan: Periksa perintah instruksi untuk day_trip_agent. Lihat bagaimana permintaan perjalanan "terjangkau" dalam kueri pengujian secara langsung terkait dengan pedoman agen untuk "Memperhatikan Anggaran".

4. Sesi 2: Alat Kustom 🛠️

roadmap2

Meskipun Google Penelusuran sangat canggih, potensi sebenarnya dari agen AI akan terbuka saat Anda menghubungkannya ke sumber data, API, atau logika kustom unik Anda sendiri. Di bagian ini, kita akan membuat alat kustom dari fungsi Python sederhana.

Bagian terpenting dari alat fungsi adalah docstring-nya. ADK otomatis mengurai docstring untuk memahami fungsi alat, parameter yang diterimanya (Args), dan yang ditampilkan (Returns). Model bahasa besar (LLM) membaca deskripsi ini untuk memutuskan kapan dan bagaimana cara menggunakan alat tersebut.

➡️ Tempat Menemukannya di Notebook

👉 Ini sesuai dengan sel di bagian 2.1 The Simple FunctionTool: Calling a Real-Time Weather API. 🌟

alat adk

  • Definisi Alat: Fungsi get_live_weather_forecast(location: str) adalah inti dari alat kustom kita. Fungsi ini menggunakan nama kota, memanggil National Weather Service API publik, dan menampilkan kamus dengan suhu dan prakiraan cuaca.
  • Definisi Agen: weather_agent dibuat dan dilengkapi dengan alat baru kami dengan meneruskan tools=[get_live_weather_forecast] selama inisialisasinya. Petunjuk agen secara eksplisit menyuruhnya menggunakan alat ini sebelum menyarankan aktivitas luar ruangan.
  • Uji Coba: Kueri, "Saya ingin mendaki di dekat Danau Tahoe, bagaimana cuacanya?", secara langsung memicu agen untuk menggunakan alat get_live_weather_forecast karena petunjuknya mengharuskannya.

➡️ Tindakan: Baca string dokumen untuk fungsi get_live_weather_forecast dan petunjuk untuk weather_agent. Perhatikan hubungan langsung di antara keduanya.

5. Sesi 3: Agen sebagai Alat 🧑‍🍳

roadmap3

Mengapa membuat satu agen monolitik, jika Anda dapat membuat tim spesialis? Pola Agent-as-a-Tool adalah cara efektif untuk membangun sistem kompleks di mana agen utama, yang sering disebut Pengelola atau Router, mendelegasikan tugas ke agen lain yang lebih fokus.

Pola ini memungkinkan Anda membuat agen modular yang dapat digunakan kembali. Misalnya, Anda dapat memiliki satu agen yang ahli dalam kueri database, agen lain yang ahli dalam penulisan kreatif, dan agen ketiga yang bertindak sebagai petugas informasi yang ramah. Tugas pengelola adalah memahami permintaan pengguna dan merutekannya ke spesialis yang tepat.

➡️ Tempat Menemukannya di Notebook

👉 Hal ini sesuai dengan sel di bagian 2.2 Agen sebagai Alat: Berkonsultasi dengan Pakar 🧑‍🍳.🌟

data perjalanan

Contoh ini membangun sistem agen multi-layer yang canggih:

  • Spesialis:
    • food_critic_agent: Agen yang sangat terspesialisasi yang hanya memberikan saran restoran.
    • db_agent: Agen tiruan yang berpura-pura membuat kueri database untuk mendapatkan informasi hotel.
    • concierge_agent: Agen tingkat menengah yang bertindak sebagai petugas informasi yang sopan. Yang penting, food_critic_agent memiliki alatnya sendiri.
  • Pengelola (trip_data_concierge_agent): Ini adalah agen tingkat teratas yang berinteraksi dengan pengguna. Petunjuknya menjadikannya "perencana perjalanan utama" dan diberi dua alat yang memanggil agen lain:
    • call_db_agent: Fungsi yang memanggil db_agent.
    • call_concierge_agent: Fungsi yang memanggil concierge_agent.
  • Alur: Pengujian yang dijalankan di run_trip_data_concierge() menunjukkan seluruh rantai pendelegasian.
    • Pengguna meminta hotel dan restoran terdekat kepada orkestrator.
    • Petunjuk orchestrator menyuruhnya untuk menggunakan alat call_db_agent terlebih dahulu untuk mendapatkan data hotel.
    • Kemudian, orchestrator menggunakan alat call_concierge_agent untuk mendapatkan rekomendasi.
    • concierge_agent, setelah menerima permintaan, menggunakan alatnya sendiri, food_critic_agent, untuk mendapatkan ide restoran.

Respons kritikus makanan dikirimkan kembali ke petugas informasi, yang memformatnya dengan sopan dan mengirimkannya kembali ke pengelola, yang akhirnya menampilkannya kepada pengguna.

➡️ Tindakan: Lacak alur eksekusi dalam operasi pengujian di bagian run_trip_data_concierge(). Perhatikan bagaimana output cetak TOOL CALLED menunjukkan rantai pendelegasian dari pengelola hingga spesialis. Ini adalah rantai komando berurutan.

6. Sesi 4: Memori Agen 🧠

roadmap4

Agen yang benar-benar cerdas harus melakukan lebih dari sekadar merespons kueri sekali pakai. Model ini perlu mengingat percakapan, memahami konteks, dan beradaptasi dengan masukan. Hal ini dicapai melalui pengelolaan sesi yang tepat. Anggap "agen loop" sebagai agen yang terlibat dalam loop percakapan berkelanjutan, yang didukung oleh memorinya.

Saat Anda menggunakan objek sesi yang sama untuk beberapa kueri berurutan, agen dapat "melihat" seluruh histori percakapan. Hal ini memungkinkannya menangani pertanyaan lanjutan, mengoreksi dirinya sendiri berdasarkan masukan, dan merencanakan tugas multi-langkah.

➡️ Tempat Menemukannya di Notebook

👉 Hal ini sesuai dengan sel di bagian Bagian 3: Agen dengan Memori - Perencana Adaptif 🗺️. 🌟

Memori agen

  • Definisi Agen: Fungsi create_multi_day_trip_agent() menentukan agen yang dirancang untuk merencanakan perjalanan secara progresif. Petunjuknya menekankan untuk mengingat konteks, menangani masukan, dan membuat rencana satu hari dalam satu waktu.

Skenario 3a: Agen DENGAN Memori (✅)

Pengujian ini dijalankan dalam fungsi run_adaptive_memory_demonstration().

  • Satu trip_session dibuat dan digunakan kembali untuk tiga giliran berturut-turut.
  • Turn 1: Pengguna memulai rencana perjalanan 2 hari.
  • Giliran 2: Pengguna memberikan masukan ("Saya tidak terlalu suka kastil"). Karena agen memiliki memori Turn 1, agen memahami bagian rencana mana yang perlu diubah dan memberikan alternatif.
  • Giliran 3: Pengguna mengonfirmasi perubahan dan meminta langkah berikutnya. Agen mengingat semuanya dan melanjutkan perencanaan Hari ke-2.

Skenario 3b: Agen TANPA Memori (❌)

Pengujian ini dijalankan dalam fungsi run_memory_failure_demonstration().

Hal ini menunjukkan pentingnya pengelolaan sesi dengan melakukan kesalahan secara sengaja. Sesi baru dibuat untuk setiap giliran.

  • Turn 1: Pengguna memulai perjalanan di session_one. Agen merespons dengan benar.
  • Turn 2: Pengguna meminta untuk merencanakan Hari 2, tetapi kueri dikirim dalam session_two yang baru. Karena sesi baru ini tidak memiliki histori, agen menjadi bingung. Dia menderita amnesia! Asisten tidak mengetahui perjalanan yang sedang direncanakan.

Tindakan: Bandingkan respons agen di run_adaptive_memory_demonstration() dan run_memory_failure_demonstration(). Ini adalah konsep terpenting dalam notebook: satu percakapan berkelanjutan memerlukan satu sesi berkelanjutan.

7. Sesi 5: Agen Router 🚏

roadmap5

Satu agen hanya dapat melakukan banyak hal. Untuk menangani permintaan pengguna yang benar-benar kompleks, kami memerlukan tim agen khusus. Namun, bagaimana kita tahu agen mana yang harus digunakan untuk kueri tertentu? Di sinilah peran Router Agent.

Agen Router bertindak sebagai agen "utama" atau pengirim. Tujuan utamanya adalah menganalisis kueri pengguna yang masuk dan memutuskan agen spesialis (atau alur kerja agen) mana yang paling cocok untuk tugas tersebut. Agen ini tidak menjawab kueri itu sendiri, tetapi hanya merutekannya ke agen hilir yang tepat.

Misalnya, kueri tentang "sushi terbaik" harus ditangani oleh foodie_agent, sedangkan pertanyaan tentang "konser akhir pekan ini" harus ditangani oleh weekend_guide_agent.

➡️ Tempat menemukan ini di notebook:

👉 Konsep ini merupakan inti dari seluruh notebook, tetapi pertama kali diperkenalkan di Bagian 1: Kekacauan Multi-Agen - Alur Kerja Berurutan 🧠→🤖→🤖 🌟

Agen Router

  • Definisi Agen: Sel kode menentukan beberapa agen spesialis (day_trip_agent, foodie_agent, transportation_agent) dan yang paling penting, router_agent. Perhatikan perintah instruksi untuk router_agent, yang secara eksplisit diminta untuk hanya menampilkan nama agen terbaik untuk tugas tersebut.
  • Logika Eksekusi: Fungsi run_sequential_app menunjukkan cara memanggil router_agent terlebih dahulu untuk mendapatkan keputusan (chosen_route), lalu menggunakan keputusan tersebut dalam blok if/elif untuk mengeksekusi agen spesialis yang sesuai.

8. Sesi 6: SequentialAgent ⛓️

roadmap6

Beberapa tugas memerlukan beberapa langkah dalam urutan tertentu. Misalnya, "Cari sushi terbaik di Palo Alto, lalu beri tahu saya cara menuju ke sana." Proses ini terdiri dari dua langkah: pertama, temukan restoran, dan kedua, dapatkan petunjuk arah.

ADK menyediakan cara yang bersih dan efektif untuk mengelola hal ini dengan SequentialAgent. Ini adalah agen alur kerja khusus yang menjalankan daftar sub-agen dalam urutan yang telah ditentukan.

Keajaibannya terletak pada status bersama. Output satu agen dalam urutan dapat disimpan secara otomatis ke kamus status bersama, lalu digunakan sebagai input untuk agen berikutnya, sehingga tidak memerlukan kode manual yang rumit untuk meneruskan informasi antar-langkah.

➡️ Tempat menemukan ini di notebook:

👉 Hal ini dibahas dalam Bagian 2 (Cara ADK): Kekacauan Multi-Agen dengan SequentialAgent 🧠→⛓️→🤖. 🌟

Agen Berurutan (Sequential Agent)

  • Refactoring Agen: Di sel kode pertama bagian ini, perhatikan perubahan utama pada foodie_agent dan transportation_agent:
    • foodie_agent kini memiliki output_key="destination". Tindakan ini memberi tahu ADK untuk menyimpan jawaban akhirnya ke dalam variabel bernama destination dalam status bersama.
    • transportation_agent kini memiliki placeholder {destination} dalam perintah petunjuknya. ADK otomatis menyuntikkan nilai dari status bersama ke dalam placeholder ini.
  • Menentukan Alur Kerja: find_and_navigate_agent ditentukan sebagai SequentialAgent, dengan sub_agents-nya ditetapkan ke [foodie_agent, transportation_agent], sehingga memastikan keduanya berjalan dalam urutan yang tepat.
  • Eksekusi yang Disederhanakan: Lihat fungsi run_sequential_app di bagian ini. Logika if/elif yang kompleks sudah tidak ada! find_and_navigate_agent sekarang diperlakukan sebagai unit tunggal yang dapat dipanggil, dan ADK menangani langkah-langkah berurutan internal secara otomatis.

9. Sesi 7: LoopAgent 🔁

roadmap7

Tidak semua masalah memiliki solusi langsung yang dapat diselesaikan dalam sekali percobaan. Terkadang, kita perlu mengusulkan solusi, mengkritiknya, dan menyempurnakannya hingga memenuhi batasan tertentu.

Untuk itu, ADK menawarkan LoopAgent. Agen alur kerja ini berulang kali menjalankan urutan sub-agen hingga kondisi tertentu terpenuhi. Hal ini sangat cocok untuk membangun agen "perfeksionis" yang dapat merencanakan, mengkritik, dan meningkatkan kualitas pekerjaannya sendiri.

Diagram menunjukkan Planner Agent membuat rencana terlebih dahulu. Kemudian, kita memasukkan LoopAgent. Critic Agent memeriksa paket. Jika salah, Refiner Agent akan membuat versi baru, dan loop akan berulang. Jika rencana sudah baik, Refiner Agent akan memanggil alat exit_loop, dan rencana akhir yang telah divalidasi akan ditampilkan.

Agen Loop

➡️ Tempat menemukan ini di notebook:

👉 Hal ini dijelaskan dalam Ide Iteratif dengan LoopAgent 🧠→🔁→🤖. 🌟

  • Agen Inti: Alur kerja menggunakan planner_agent, critic_agent, dan refiner_agent.
  • Definisi Loop: refinement_loop didefinisikan sebagai LoopAgent yang mengatur critic_agent dan refiner_agent serta sets max_iterations=3.
  • Kondisi Keluar: Loop berakhir saat critic_agent menyetujui rencana, sehingga refiner_agent memanggil alat exit_loop kustom.

10. Sesi 8: ParallelAgent ⚡️

roadmap8

Efisiensi adalah kuncinya. Jika pengguna meminta beberapa informasi yang tidak terkait sekaligus, menjalankan penelusuran ini satu per satu akan lambat.

ParallelAgent adalah solusinya. Agen alur kerja ini menjalankan daftar sub-agen secara bersamaan. Setelah semua tugas paralel selesai, hasilnya dapat dikumpulkan dan disintesis menjadi satu respons yang komprehensif.

Diagram ini menunjukkan ParallelAgent yang mengambil satu kueri dan membagi tugas menjadi tiga jalur serentak. museum_finder, concert_finder, dan restaurant_finder semuanya berjalan pada saat yang sama. Setelah ketiganya selesai, hasil masing-masing (disimpan ke status bersama) digabungkan dan diteruskan ke Agen Sintesis akhir, yang menggabungkannya menjadi satu jawaban.

➡️ Tempat menemukan ini di notebook:

👉 Alur kerja ini dijelaskan secara mendetail di bagian Parallel Power with ParallelAgent 🧠→⚡️→🤖🤖🤖. 🌟

Agen Paralel

  • Agen Spesialis: Tiga agen spesialis ditentukan, masing-masing dengan output_key yang unik (misalnya, museum_result).
  • Alur Kerja Paralel: parallel_research_agent ditentukan sebagai ParallelAgent, dengan tiga agen pencari yang tercantum sebagai sub_agent-nya.
  • Langkah Sintesis: Setelah langkah paralel, synthesis_agent akhir mengumpulkan semua temuan dari status bersama menggunakan placeholder ({museum_result}, {concert_result}, dll.) untuk memformat ringkasan yang rapi.

11. Lampiran: ADK Web - 🍎 Untuk Mac/Linux

roadmap9

Panduan ini akan memandu Anda menyiapkan dan menjalankan Agen Perencanaan Perjalanan Sehari ADK di komputer lokal Anda.

Prasyarat

  • Python 3.8 atau yang lebih tinggi
    • Python 3.9+: Menginstal google-adk==1.5.0 (versi terbaru dengan fitur lengkap)
    • Python 3.8: Menginstal google-adk==0.3.0 (versi yang kompatibel)
  • Kunci API Google AI Studio
  • Koneksi internet

Langkah 1: Buat Clone Repositori

Buka Terminal dan jalankan:

git clone https://github.com/cuppibla/ADK_Basic.git
cd ADK_Basic

Langkah 2: Siapkan Lingkungan Virtual dan Instal Dependensi

Opsi A: Penyiapan Otomatis (Direkomendasikan)

# Run the setup script
chmod +x setup_venv.sh
./setup_venv.sh

Opsi B: Penyiapan Manual

# Create virtual environment
python3 -m venv .adk_env

# Activate virtual environment
source .adk_env/bin/activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Langkah 3: 🔥 PENTING - Buat Variabel Lingkungan

⚠️ Jangan lewati langkah ini! Buat file .env di direktori agent/:

# Create the .env file
touch agent/.env

# Open it in your default text editor
open agent/.env

Tambahkan baris berikut ke file:

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here

🚨 KRITIS: Ganti your_actual_api_key_here dengan kunci API Anda yang sebenarnya.

Langkah 4: Aktifkan Lingkungan Virtual (jika belum aktif)

source .adk_env/bin/activate

Anda akan melihat (.adk_env) di awal perintah terminal.

Langkah 5: Jalankan Antarmuka Web ADK

adk web

Langkah 6: Buka Browser Anda

  1. Buka browser Anda, lalu buka URL yang ditampilkan di terminal (biasanya http://localhost:8000)
  2. Di dropdown kiri atas, pilih agent
  3. Mulai chat dengan agen perencanaan perjalanan sehari Anda.

Anda akan melihat percakapan seperti: Contoh UI Web ADK

Menonaktifkan Lingkungan

Setelah selesai mengerjakan project:

deactivate

Perintah ini berfungsi sama di Mac/Linux dan Windows. Anda akan melihat awalan (.adk_env) menghilang dari perintah terminal Anda.

Pemecahan Masalah Mac

  • Python tidak ditemukan: Gunakan python3, bukan python
  • Izin ditolak: Jalankan chmod +x setup_venv.sh sebelum menjalankan skrip

12. Lampiran: ADK Web - 🪟 Untuk Pengguna Windows

roadmap9

Panduan ini akan memandu Anda menyiapkan dan menjalankan Agen Perencanaan Perjalanan Sehari ADK di komputer lokal Anda.

Prasyarat

  • Python 3.8 atau yang lebih tinggi
    • Python 3.9+: Menginstal google-adk==1.5.0 (versi terbaru dengan fitur lengkap)
    • Python 3.8: Menginstal google-adk==0.3.0 (versi yang kompatibel)
  • Kunci API Google AI Studio
  • Koneksi internet

Langkah 1: Buat Clone Repositori

Buka Command Prompt atau PowerShell, lalu jalankan:

git clone https://github.com/cuppibla/ADK_Basic.git
cd ADK_Basic

Langkah 2: Siapkan Lingkungan Virtual dan Instal Dependensi

Opsi A: Penyiapan Otomatis (Direkomendasikan)

# Run the setup script in Command Prompt
setup_venv.bat

Opsi B: Penyiapan Manual

Untuk Command Prompt:

# Create virtual environment
python -m venv .adk_env

# Activate virtual environment
.adk_env\Scripts\activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Untuk PowerShell:

# Create virtual environment
python -m venv .adk_env

# Activate virtual environment
.adk_env\Scripts\Activate.ps1

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Langkah 3: 🔥 PENTING - Buat Variabel Lingkungan

⚠️ Jangan lewati langkah ini! Buat file .env di direktori agent/:

# Create the .env file
type nul > agent\.env

# Open it in Notepad
notepad agent\.env

Tambahkan baris berikut ke file:

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here

🚨 KRITIS: Ganti your_actual_api_key_here dengan kunci API Anda yang sebenarnya.

Langkah 4: Aktifkan Lingkungan Virtual (jika belum aktif)

Command Prompt:

.adk_env\Scripts\activate

PowerShell:

.adk_env\Scripts\Activate.ps1

Anda akan melihat (.adk_env) di awal perintah Anda.

Langkah 5: Jalankan Antarmuka Web ADK

adk web

Langkah 6: Buka Browser Anda

  1. Buka browser Anda, lalu buka URL yang ditampilkan di terminal (biasanya http://localhost:8000)
  2. Di dropdown kiri atas, pilih agent
  3. Mulai chat dengan agen perencanaan perjalanan sehari Anda.

Pemecahan Masalah Windows

  • Error kebijakan eksekusi PowerShell: Jalankan Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Anda akan melihat percakapan seperti: Contoh UI Web ADK

Menonaktifkan Lingkungan

Setelah selesai mengerjakan project:

deactivate

Perintah ini berfungsi sama di Mac/Linux dan Windows. Anda akan melihat awalan (.adk_env) menghilang dari perintah terminal Anda.