Dari Prototipe ke Agen dengan ADK

Dari Prototipe ke Agen dengan ADK

Tentang codelab ini

subjectTerakhir diperbarui Jun 12, 2025
account_circleDitulis oleh Author: Abirami Sukumaran

1. Ringkasan

Dari mana kita mulai membangun dengan AI saat ini? Nah, bagi sebagian besar dari kita, hal ini sering kali dimulai dengan pertanyaan sederhana, "Apakah model ini benar-benar dapat membantu memecahkan masalah yang saya pikirkan?". Di sinilah Google AI Studio berperan. Ini adalah tempat Anda dapat membuat prototipe apa pun dengan cepat. Saya ingin merenovasi dapur dan saya yakin Gemini dapat membantu - tetapi saya adalah seorang engineer, bukan kontraktor umum. Saya bahkan tidak yakin apa yang harus saya minta - ada begitu banyak hal yang perlu dipertimbangkan: peraturan, perlengkapan, dll. Jadi, mari kita pecahkan masalah ini dan minta Gemini membuat perintah yang sangat mendetail untuk kita, lalu buat rencana renovasi lengkap dan juga visualisasi renovasi. Tapi tunggu. Bagaimana cara saya membantu bisnis melakukan penskalaan? Masukkan AGENTS!!!

Agen adalah program otonom yang berkomunikasi dengan model AI untuk melakukan operasi berbasis sasaran menggunakan alat dan konteks yang dimilikinya serta mampu membuat keputusan otonom yang didasarkan pada kebenaran.

Agent Development Kit (ADK)

Agent Development Kit (ADK) adalah framework fleksibel dan modular untuk mengembangkan dan men-deploy agen AI. ADK mendukung pembuatan aplikasi yang canggih dengan menyusun beberapa instance agen yang berbeda ke dalam Sistem Multi-Agen (MAS).

Di ADK, sistem multi-agen adalah aplikasi tempat berbagai agen, yang sering kali membentuk hierarki, berkolaborasi atau berkoordinasi untuk mencapai sasaran yang lebih besar. Menyusun aplikasi dengan cara ini menawarkan keuntungan yang signifikan, termasuk modularitas, spesialisasi, kemampuan penggunaan kembali, kemampuan pemeliharaan, dan kemampuan untuk menentukan alur kontrol terstruktur menggunakan agen alur kerja khusus.

Yang akan Anda build

Siap beralih dari PROMPT prototipe ke Membuat agen??? Kita akan membuat agen untuk membantu membuat dokumen proposal untuk project renovasi dapur. Sebagai bagian dari lab ini, Anda akan:

  1. Membuat agen sederhana untuk membuat Dokumen Proposal Renovasi dengan ADK
  2. Menyimpan Dokumen Proposal Renovasi yang dihasilkan di Bucket Cloud Storage
  3. Menguji agen di Cloud Shell dan di output web agen

Persyaratan

  • Browser, seperti Chrome atau Firefox
  • Project Google Cloud yang mengaktifkan penagihan.

2. Sebelum memulai

Membuat project

  1. Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
  2. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project .
  3. Selain itu, jika Anda membaca ini dan ingin mendapatkan beberapa kredit untuk membantu Anda memulai Google Cloud dan menggunakan ADK, gunakan link ini untuk menukarkan kredit.
  4. Anda dapat mengikuti petunjuk di sini untuk menukarnya. Perhatikan bahwa link ini hanya valid hingga 15 Juli 2025 untuk penukaran.
  5. Aktifkan Cloud Shell dengan mengklik link ini. Anda dapat beralih antara Cloud Shell Terminal (untuk menjalankan perintah cloud) dan Editor (untuk mem-build project) dengan mengklik tombol yang sesuai dari Cloud Shell.
  6. Setelah terhubung ke Cloud Shell, Anda akan memeriksa apakah Anda sudah diautentikasi dan project ditetapkan ke project ID Anda menggunakan perintah berikut:
gcloud auth list
  1. Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa perintah gcloud mengetahui project Anda.
gcloud config list project
  1. Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:
gcloud config set project <YOUR_PROJECT_ID>
  1. Pastikan Anda memiliki Python 3.9+

Baca dokumentasi untuk mempelajari perintah dan penggunaan gcloud lainnya.

3. Prototipe

Buka Google AI Studio. Mulai ketik perintah Anda. Berikut adalah perintah saya:

I want to renovate my kitchen, basically just remodel it. I don't know where to start. So I want to use Gemini to generate a plan. For that I need a good prompt. Give me a short yet detailed prompt that I can use.

Sesuaikan & konfigurasikan parameter di sebelah kanan untuk mendapatkan respons yang optimal.

Berdasarkan deskripsi sederhana ini, Gemini membuat perintah yang sangat mendetail untuk memulai renovasi saya. Akibatnya, kami menggunakan Gemini untuk mendapatkan respons yang lebih baik dari AI Studio dan model kami. Anda juga dapat memilih model lain untuk digunakan, berdasarkan kasus penggunaan Anda.

Kami telah memilih Gemini 2.5 Pro. Ini adalah model Pemikiran, yang berarti kita mendapatkan lebih banyak token output, dalam hal ini hingga 65 ribu token, untuk analisis panjang dan dokumen mendetail. Kotak pemikiran Gemini muncul saat Anda mengaktifkan Gemini 2.5 Pro yang memiliki kemampuan penalaran native dan dapat menerima permintaan konteks yang panjang.

Lihat cuplikan respons di bawah:

a80d4bad4b3864f7.png

AI Studio menganalisis data saya dan menghasilkan semua hal ini seperti lemari, meja dapur, backsplash, lantai, wastafel, kohesi, palet warna, dan pilihan bahan. Gemini bahkan mencantumkan sumber!

Sekarang, coba lihat ide tersebut menjadi kenyataan dengan perintah yang berbeda.

  1. Salin perintah ini dan tempelkan di editor perintah:
Add flat and circular light accessories above the island area for my current kitchen in the attached image.
  1. Lampirkan gambar dapur Anda saat ini (atau Anda dapat menggunakan contoh gambar dapur saya).
  2. Ubah model menjadi "Gemini 2.0 Flash Preview Image Generation" agar Anda memiliki akses untuk membuat gambar.

Saya mendapatkan output ini:

b5b1e83fcada28f5.png

Itulah kecanggihan Gemini.

Dari memahami video, hingga pembuatan gambar native, hingga melandasi informasi nyata dengan Google Penelusuran, ada hal-hal yang hanya dapat dibuat dengan Gemini.

Dari AI Studio, Anda dapat mengambil prototipe ini, mengambil kunci API, dan menskalakannya menjadi aplikasi agen lengkap menggunakan kecanggihan Vertex AI ADK.

4. Penyiapan ADK

Sekarang, mari kita beralih ke Terminal Cloud Shell yang telah diaktifkan di bagian "Sebelum memulai":

  1. Membuat & Mengaktifkan Lingkungan Virtual (Direkomendasikan)

Dari Terminal Cloud Shell, buat Lingkungan Virtual:

python -m venv .venv

Aktifkan Lingkungan Virtual:

source .venv/bin/activate
  1. Menginstal ADK
pip install google-adk

5. Struktur Project

  1. Dari Terminal Cloud Shell, buat direktori utama untuk aplikasi agen di lokasi project yang diinginkan:
mkdir agentic-apps
  1. Di dalam direktori utama, buat satu folder khusus untuk project saat ini:
mkdir renovation-agent
  1. Buka editor Cloud Shell dan buat struktur project berikut dengan membuat file (kosong untuk memulai):
renovation-agent/
        __init__
.py
        agent
.py
        requirements
.txt
       
.env

6. Kode Sumber

  1. Buka "init.py" dan perbarui dengan konten berikut:
from . import agent
  1. Buka agent.py dan perbarui file dengan konten berikut dari jalur berikut:
https://github.com/AbiramiSukumaran/adk-renovation-single-agent/blob/main/agent.py

Di agent.py, kita mengimpor dependensi yang diperlukan, mengambil parameter konfigurasi dari file .env, dan menentukan root_agent yang membuat dokumen proposal dan menyimpannya di Bucket Cloud Storage. Untuk melakukan langkah Cloud Storage, kita menggunakan alat bernama store_pdf.

  1. Pastikan Anda memiliki Bucket Cloud Storage

Ini untuk menyimpan dokumen proposal yang dibuat agen. Buat dan sediakan akses agar sistem agen yang kita buat dengan Vertex AI dapat mengaksesnya. Berikut cara melakukannya:

https://cloud.google.com/storage/docs/creating-buckets#console

Beri nama bucket Anda "next-demo-store". Jika Anda menamainya dengan nama lain, jangan lupa untuk memperbarui nilai STORAGE_BUCKET dalam file .env (di langkah Penyiapan Variabel ENV).

  1. Untuk menyiapkan akses ke bucket, buka konsol Cloud Storage dan Bucket Penyimpanan Anda (dalam kasus ini, nama bucket adalah "next-demo-storage": https://console.cloud.google.com/storage/browser/next-demo-storage.

Buka Izin -> Lihat Akun Utama -> Berikan Akses. Pilih Entitas Utama sebagai "allUsers" dan Peran sebagai "Storage Object User".

Make sure to not enable "prevent public access". Since this is a demo/study application we are going with a public bucket. Remember to configure permission settings appropriately when you are building your application.
  1. Membuat daftar dependensi

Cantumkan semua dependensi di requirements.txt. Anda dapat menyalinnya dari repo.

Penjelasan Kode Sumber Sistem Agen Tunggal

File agent.py menentukan struktur dan perilaku sistem multi-agen renovasi dapur menggunakan Agent Development Kit (ADK). Mari kita uraikan komponen utamanya:

Definisi Agen

Agen Root (Orchestrator): proposal_agent

root_agent bertindak sebagai orchestrator sistem satu agen ini. Metode ini menerima permintaan renovasi awal dan menentukan alat yang akan dipanggil berdasarkan kebutuhan permintaan.

root_agent kemudian mengumpulkan respons dari alat dan menggabungkannya untuk memberikan respons yang komprehensif kepada pengguna. Dalam hal ini, kita hanya memiliki satu alat "store_pdf".

7. Alur Data & Konsep Utama

Pengguna memulai permintaan melalui antarmuka ADK (terminal atau UI web).

  1. Permintaan diterima oleh root_agent.
  2. root_agent menganalisis permintaan dan merutekannya ke alat saat diperlukan.
  3. Alat "store_pdf" dirancang untuk menulis konten teks yang direnovasi ke file PDF, lalu menguploadnya ke Google Cloud Storage.
  4. Tindakan ini kemudian akan menampilkan respons ke root_agent.
  5. root_agent menggabungkan respons dan memberikan output akhir kepada pengguna.

LLM (Model Bahasa Besar)

Agen ini sangat mengandalkan LLM untuk membuat teks, menjawab pertanyaan, dan melakukan tugas penalaran. LLM adalah "otak" di balik kemampuan agen untuk memahami dan merespons permintaan pengguna. Kita menggunakan Gemini 2.5 dalam aplikasi ini.

Google Cloud Storage

Digunakan untuk menyimpan dokumen proposal renovasi yang dibuat. Anda perlu membuat bucket dan memberikan izin yang diperlukan agar agen dapat mengaksesnya.

Cloud Run (Opsional)

OrderingAgent menggunakan fungsi Cloud Run untuk berinteraksi dengan AlloyDB. Cloud Run menyediakan lingkungan serverless untuk mengeksekusi kode sebagai respons terhadap permintaan HTTP.

AlloyDB

Jika menggunakan OrderingAgent, Anda harus menyiapkan database AlloyDB untuk menyimpan informasi pesanan.

File.env

File .env menyimpan informasi sensitif seperti kunci API, kredensial database, dan nama bucket. Anda harus menjaga keamanan file ini dan tidak meng-commit-nya ke repositori. Project ini juga menyimpan setelan konfigurasi untuk agen dan project Google Cloud Anda. root_agent atau fungsi pendukung biasanya akan membaca nilai dari file ini. Pastikan semua variabel yang diperlukan ditetapkan dengan benar dalam file .env. Ini termasuk nama bucket Cloud Storage

8. Penyiapan Model

Kemampuan agen Anda untuk memahami permintaan pengguna dan menghasilkan respons didukung oleh Model Bahasa Besar (LLM). Agen Anda perlu melakukan panggilan aman ke layanan LLM eksternal ini, yang memerlukan kredensial autentikasi. Tanpa autentikasi yang valid, layanan LLM akan menolak permintaan agen, dan agen tidak akan dapat berfungsi.

  1. Dapatkan kunci API dari Google AI Studio.
  2. Pada langkah berikutnya saat Anda menyiapkan file .env, ganti <<your API KEY>> dengan nilai KUNCI API Anda yang sebenarnya.

9. Penyiapan Variabel ENV

  1. Siapkan nilai untuk parameter dalam file .env template di repo ini. Dalam kasus saya, .env memiliki variabel berikut:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=<<your API KEY>>
GOOGLE_CLOUD_LOCATION = us-central1 <<or your region>>
GOOGLE_CLOUD_PROJECT = <<your project id>>
PROJECT_ID = <<your project id>>
GOOGLE_CLOUD_REGION=us-central1 <<or your region>>
STORAGE_BUCKET = next-demo-store <<or your storage bucket name>>

Ganti placeholder dengan nilai Anda.

10. Menjalankan Agen

  1. Menggunakan terminal, buka direktori induk project agen Anda:
cd agentic-apps/renovation-agent
  1. Menginstal semua dependensi
pip install -r requirements.txt
  1. Anda dapat menjalankan perintah berikut di terminal Cloud Shell untuk menjalankan agen:
adk run .
  1. Anda dapat menjalankan perintah berikut untuk menjalankannya di UI web yang disediakan ADK:
adk web
  1. Uji dengan perintah berikut:
user>> 

Hello. Generate Proposal Document for the kitchen remodel requirement in a proper format that applies to a renovation contract. Remember this text will eventually be stored as a pdf file so make sure to have the formatting appropriate. I have no other specification.

11. Hasil

Untuk perintah adk run . hasilnya adalah sebagai berikut"

ae50e6f6b2bab0a0.png

38a2c34667a8fd05.png

...

a8a39e8323d3ceb9.png

Anda dapat memvalidasi apakah dokumen Proposal Renovasi dibuat di Bucket Cloud Storage.

12. Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam postingan ini, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Manage resources.
  2. Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

13. Selamat

Selamat! Anda telah berhasil membuat dan berinteraksi dengan aplikasi multi-agen menggunakan ADK. Sistem multi-agen dirancang untuk menyederhanakan proses renovasi dapur dengan mengotomatiskan tugas seperti pembuatan proposal, pemeriksaan izin, dan pelacakan status pesanan. Setiap agen memiliki peran tertentu, dan root_agent mengoordinasikan aktivitasnya untuk memberikan solusi yang komprehensif. Sistem ini memanfaatkan LLM, layanan Google Cloud, dan kemungkinan API eksternal untuk memberikan fungsinya. Di sini adalah link ke dokumentasi produk.