Aplikasi Multi-agen dengan ADK, Agent Engine, dan AlloyDB

Aplikasi Multi-agen dengan ADK, Agent Engine, dan AlloyDB

Tentang codelab ini

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

1. Ringkasan

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.

Jika aplikasi Anda memiliki beberapa agen yang bekerja sama secara otonom dan bersama-sama sesuai kebutuhan untuk memenuhi tujuan yang lebih besar dengan setiap agennya memiliki pengetahuan dan tanggung jawab secara independen untuk area fokus tertentu, aplikasi Anda akan menjadi sistem multi-agen.

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.

Hal-hal yang perlu diingat untuk sistem multi-agen

Pertama, Anda harus memiliki pemahaman dan alasan yang tepat tentang spesialisasi untuk setiap agen. — "apakah Anda tahu alasan Anda memerlukan sub-agen tertentu untuk sesuatu", temukan jawabannya terlebih dahulu.

Kedua, Cara menggabungkannya dengan agen root untuk merutekan dan memahami setiap respons.

Ketiga, Ada beberapa jenis perutean agen yang dapat Anda temukan di sini dalam dokumentasi ini. Pastikan mana yang sesuai dengan alur aplikasi Anda. Selain itu, apa saja berbagai konteks dan status yang Anda perlukan untuk kontrol alur sistem multi-agen.

Yang akan Anda build

Mari kita buat sistem multi-agen untuk menangani renovasi dapur. Itulah yang akan kita lakukan. Kita akan membuat sistem dengan 3 agen.

  1. Agen Proposal Renovasi
  2. Agen Pemeriksaan Izin dan Kepatuhan
  3. Agen Pemeriksaan Status Pesanan

Agen Proposal Renovasi, untuk membuat dokumen proposal renovasi dapur.

Agen Izin dan Kepatuhan, untuk menangani tugas terkait izin dan kepatuhan.

Agen Pemeriksaan Status Pesanan, untuk memeriksa status pesanan bahan dengan menggunakan database pengelolaan pesanan yang telah kita siapkan di AlloyDB.

Kita akan memiliki agen root yang mengatur agen ini berdasarkan persyaratan.

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 .

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. Anda dapat mengikuti petunjuk di sini untuk menukarnya. Perhatikan bahwa link ini hanya berlaku hingga akhir Mei untuk penukaran.

  1. Aktifkan Cloud Shell dengan mengklik link ini. Anda dapat beralih antara Terminal Cloud Shell (untuk menjalankan perintah cloud) dan Editor (untuk mem-build project) dengan mengklik tombol yang sesuai dari Cloud Shell.
  2. 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+
  2. Aktifkan API berikut dengan menjalankan perintah berikut:
gcloud services enable artifactregistry.googleapis.com \cloudbuild.googleapis.com \run.googleapis.com \aiplatform.googleapis.com
  1. Baca dokumentasi untuk mempelajari perintah gcloud dan penggunaannya.

3. Prototipe

Anda dapat melewati langkah ini jika memutuskan untuk menggunakan model "Gemini 2.5 Pro" untuk project.

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!

Ulangi langkah-langkah di atas dengan pilihan model yang berbeda hingga Anda puas dengan hasilnya. Namun, saya akan mengatakan mengapa harus melalui semua itu jika Anda memiliki Gemini 2.5 :)

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

Add flat and circular light accessories above the island area for my current kitchen in the attached image.

Lampirkan link ke gambar dapur Anda saat ini (atau contoh gambar dapur). 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

  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 di lokasi project yang diinginkan
mkdir agentic-apps
cd agentic
-apps
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
       
.env
        requirements
.txt

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-agent/blob/main/agent.py

Di agent.py, kita mengimpor dependensi yang diperlukan, mengambil parameter konfigurasi dari file .env, dan menentukan root_agent yang mengatur 3 sub-agen yang ingin kita buat dalam aplikasi ini. Ada beberapa alat yang membantu fungsi inti dan pendukung sub-agen ini.

  1. Pastikan Anda memiliki Bucket Cloud Storage

Ini untuk menyimpan dokumen proposal yang dibuat agen. Buat dan berikan akses agar sistem multi-agen yang dibuat 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 Multi-agen

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

Definisi Agen

RenovationProposalAgent

Agen ini bertanggung jawab membuat dokumen proposal renovasi dapur. Secara opsional, model ini menggunakan parameter input seperti ukuran dapur, gaya yang diinginkan, anggaran, dan preferensi pelanggan. Berdasarkan informasi ini, model ini menggunakan Model Bahasa Besar (LLM) Gemini 2.5 untuk membuat proposal mendetail. Proposal yang dihasilkan kemudian disimpan di bucket Google Cloud Storage.

PermitsAndComplianceCheckAgent

Agen ini berfokus pada memastikan project renovasi mematuhi kode dan peraturan bangunan setempat. Aplikasi ini menerima informasi tentang renovasi yang diusulkan (misalnya, perubahan struktural, pekerjaan listrik, modifikasi pipa) dan menggunakan LLM untuk memeriksa persyaratan izin dan aturan kepatuhan. Agen menggunakan informasi dari basis pengetahuan (yang dapat Anda sesuaikan untuk mengakses API eksternal guna mengumpulkan peraturan yang relevan).

OrderingAgent

Agen ini, (Anda dapat mengomentarinya jika tidak ingin menerapkannya sekarang), menangani pemeriksaan status pesanan bahan dan peralatan yang diperlukan untuk renovasi. Untuk mengaktifkannya, Anda harus membuat fungsi Cloud Run seperti yang dijelaskan dalam langkah-langkah penyiapan. Agen kemudian akan memanggil fungsi Cloud Run ini, yang berinteraksi dengan database AlloyDB yang berisi informasi pesanan. Ini menunjukkan integrasi dengan sistem database untuk melacak data real-time.

Agen Root (Orchestrator)

root_agent bertindak sebagai orkestrator pusat sistem multi-agen. Metode ini menerima permintaan renovasi awal dan menentukan sub-agen mana yang akan dipanggil berdasarkan kebutuhan permintaan. Misalnya, jika permintaan memerlukan pemeriksaan persyaratan izin, permintaan tersebut akan memanggil PermitsAndComplianceCheckAgent. Jika pengguna ingin memeriksa status pesanan, pengguna akan memanggil OrderingAgent (jika diaktifkan).

root_agent kemudian mengumpulkan respons dari sub-agen dan menggabungkannya untuk memberikan respons yang komprehensif kepada pengguna. Hal ini dapat mencakup meringkas proposal, mencantumkan izin yang diperlukan, dan memberikan pembaruan status pesanan.

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 sub-agen yang sesuai.
  3. Sub-agen menggunakan LLM, pusat informasi, API, dan database untuk memproses permintaan dan menghasilkan respons.
  4. Sub-agen menampilkan responsnya 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. Kita akan membahas detailnya di bagian berikutnya, yaitu "Penyiapan Database".

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

7. Penyiapan Database

Di salah satu alat yang digunakan oleh ordering_agent, yang disebut "check_status", kita mengakses database pesanan AlloyDB untuk mendapatkan status pesanan. Di bagian ini, kita akan menyiapkan cluster dan instance database AlloyDB.

Membuat cluster dan instance

  1. Buka halaman AlloyDB di Cloud Console. Cara mudah untuk menemukan sebagian besar halaman di Konsol Cloud adalah dengan menelusurinya menggunakan kotak penelusuran konsol.
  2. Pilih BUAT CLUSTER dari halaman tersebut:

f76ff480c8c889aa.png

  1. Anda akan melihat layar seperti di bawah. Buat cluster dan instance dengan nilai berikut (Pastikan nilainya cocok jika Anda meng-clone kode aplikasi dari repo):
  • cluster id: "vector-cluster"
  • password: "alloydb"
  • PostgreSQL 15 / terbaru direkomendasikan
  • Region: "us-central1"
  • Networking: "default"

538dba58908162fb.png

  1. Saat memilih jaringan default, Anda akan melihat layar seperti di bawah ini.

Pilih SIAPAKAN KONEKSI.
7939bbb6802a91bf.png

  1. Dari sana, pilih "Gunakan rentang IP yang dialokasikan secara otomatis", lalu Lanjutkan. Setelah meninjau informasi, pilih BUAT KONEKSI. 768ff5210e79676f.png
  2. Setelah jaringan disiapkan, Anda dapat terus membuat cluster. Klik CREATE CLUSTER untuk menyelesaikan penyiapan cluster seperti yang ditunjukkan di bawah ini:

e06623e55195e16e.png

Pastikan untuk mengubah ID instance (yang dapat Anda temukan pada saat konfigurasi cluster / instance) menjadi

vector-instance. Jika Anda tidak dapat mengubahnya, jangan lupa untuk menggunakan ID instance Anda di semua referensi mendatang.

Perhatikan bahwa pembuatan Cluster akan memerlukan waktu sekitar 10 menit. Setelah berhasil, Anda akan melihat layar yang menampilkan ringkasan cluster yang baru saja Anda buat.

Penyerapan data

Sekarang saatnya menambahkan tabel dengan data tentang toko. Buka AlloyDB, pilih cluster utama, lalu AlloyDB Studio:

847e35f1bf8a8bd8.png

Anda mungkin perlu menunggu hingga instance selesai dibuat. Setelah selesai, login ke AlloyDB menggunakan kredensial yang Anda buat saat membuat cluster. Gunakan data berikut untuk mengautentikasi ke PostgreSQL:

  • Nama pengguna : "postgres"
  • Database : "postgres"
  • Sandi : "alloydb"

Setelah Anda berhasil melakukan autentikasi ke AlloyDB Studio, perintah SQL akan dimasukkan di Editor. Anda dapat menambahkan beberapa jendela Editor menggunakan tanda plus di sebelah kanan jendela terakhir.

91a86d9469d499c4.png

Anda akan memasukkan perintah untuk AlloyDB di jendela editor, menggunakan opsi Run, Format, dan Clear sesuai kebutuhan.

Membuat tabel

Anda dapat membuat tabel menggunakan pernyataan DDL di bawah di AlloyDB Studio:

-- Table DDL for Procurement Material Order Status

CREATE TABLE material_order_status (
    order_id VARCHAR(50) PRIMARY KEY,
    material_name VARCHAR(100) NOT NULL,
    supplier_name VARCHAR(100) NOT NULL,
    order_date DATE NOT NULL,
    estimated_delivery_date DATE,
    actual_delivery_date DATE,
    quantity_ordered INT NOT NULL,
    quantity_received INT,
    unit_price DECIMAL(10, 2) NOT NULL,
    total_amount DECIMAL(12, 2),
    order_status VARCHAR(50) NOT NULL, -- e.g., "Ordered", "Shipped", "Delivered", "Cancelled"
    delivery_address VARCHAR(255),
    contact_person VARCHAR(100),
    contact_phone VARCHAR(20),
    tracking_number VARCHAR(100),
    notes TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    quality_check_passed BOOLEAN,  -- Indicates if the material passed quality control
    quality_check_notes TEXT,        -- Notes from the quality control check
    priority VARCHAR(20),            -- e.g., "High", "Medium", "Low"
    project_id VARCHAR(50),          -- Link to a specific project
    receiver_name VARCHAR(100),        -- Name of the person who received the delivery
    return_reason TEXT,               -- Reason for returning material if applicable
    po_number VARCHAR(50)             -- Purchase order number
);

Menyisipkan Data

Salin pernyataan kueri insert dari skrip database_script.sql yang disebutkan di atas ke editor.

Klik Run.

Setelah set data siap, mari kita buat aplikasi Java Cloud Run Functions untuk mengekstrak status.

Membuat Fungsi Cloud Run di Java untuk mengekstrak informasi status pesanan

  1. Buat Cloud Run Function dari sini: https://console.cloud.google.com/run/create?deploymentType=function
  2. Tetapkan nama fungsi ke "check-status" dan pilih "Java 17" sebagai runtime.
  3. Anda dapat menetapkan autentikasi ke "Allow unauthenticated invocations" karena ini adalah aplikasi demo.
  4. Pilih Java 17 sebagai runtime dan Editor Inline untuk kode sumber.
  5. Pada tahap ini, kode placeholder akan dimuat di editor.

Mengganti kode placeholder

  1. Ubah nama file Java menjadi "ProposalOrdersTool.java" dan nama class menjadi "ProposalOrdersTool".
  2. Ganti kode placeholder di ProposalOrdersTool.java & pom.xml dengan kode dari file masing-masing di folder "Cloud Run Function" di repo ini.
  3. Di ProposalOrdersTool.java, temukan baris kode berikut, ganti nilai placeholder dengan nilai dari konfigurasi Anda:
String ALLOYDB_INSTANCE_NAME = "projects/<<YOUR_PROJECT_ID>>/locations/us-central1/clusters/<<YOUR_CLUSTER>>/instances/<<YOUR_INSTANCE>>";
  1. Klik Buat.
  2. Fungsi Cloud Run akan dibuat dan di-deploy.

LANGKAH PENTING:

Setelah di-deploy, agar Cloud Function dapat mengakses instance database AlloyDB, kita akan membuat konektor VPC.

Setelah siap untuk di-deploy, Anda akan dapat melihat fungsi di konsol Google Cloud Run Functions. Telusuri fungsi yang baru dibuat (check-status), klik fungsi tersebut, lalu klik EDIT AND DEPLOY NEW REVISIONS (diidentifikasi dengan ikon EDIT (pena) di bagian atas konsol Cloud Run Functions) dan ubah hal berikut:

  1. Buka tab Networking:

828cd861864d99ea.png

  1. Pilih "Hubungkan ke VPC untuk traffic keluar", lalu pilih "Gunakan konektor Akses VPC Serverless"
  2. Di bagian dropdown Jaringan, klik dropdown Jaringan dan pilih opsi "Tambahkan Konektor VPC Baru" (jika Anda belum mengonfigurasi konektor default) dan ikuti petunjuk yang Anda lihat di kotak dialog yang muncul:

6559ccfd10e597f2.png

  1. Berikan nama untuk Konektor VPC dan pastikan region-nya sama dengan instance Anda. Biarkan nilai Jaringan sebagai default dan tetapkan Subnet sebagai Rentang IP Kustom dengan rentang IP 10.8.0.0 atau yang serupa yang tersedia.
  2. Luaskan SETELAN PENSCALAAN TAMPILAN dan pastikan Anda telah menetapkan konfigurasi ke hal berikut:

199b0ccd80215004.png

  1. Klik CREATE dan konektor ini akan tercantum di setelan egress sekarang.
  2. Pilih konektor yang baru dibuat.
  3. Pilih agar semua traffic dirutekan melalui konektor VPC ini.
  4. Klik BERIKUTNYA, lalu DEPLOY.
  5. Setelah Cloud Function yang diperbarui di-deploy, Anda akan melihat endpoint yang dihasilkan.
  6. Anda seharusnya dapat mengujinya dengan mengklik tombol TEST di bagian atas konsol Cloud Run Functions dan dengan menjalankan perintah yang dihasilkan di Terminal Cloud Shell.
  7. Endpoint yang di-deploy adalah URL yang perlu Anda perbarui di variabel .env CHECK_ORDER_STATUS_ENDPOINT.

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>>
CHECK_ORDER_STATUS_ENDPOINT=<<YOUR_ENDPOINT_TO_CLOUD FUNCTION_TO_READ_ORDER_DATA_FROM_ALLOYDB>>

Ganti placeholder dengan nilai Anda.

10. Menjalankan Agen

  1. Menggunakan terminal, buka direktori induk project agen Anda:
cd 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. I have no other specification.

12. Deployment ke Agent Engine

Setelah Anda menguji sistem multi-agen agar berfungsi dengan baik, mari kita buat sistem tersebut menjadi serverless dan tersedia di cloud agar dapat digunakan oleh siapa saja / aplikasi apa pun. Hapus komentar pada cuplikan kode di bawah di agent.py dari repo tersebut dan Anda dapat men-deploy sistem multi-agen:

# Agent Engine Deployment:
# Create a remote app for our multiagent with agent Engine.
# This may take 1-2 minutes to finish.
# Uncomment the below segment when you're ready to deploy.

app = AdkApp(
    agent=root_agent,
    enable_tracing=True,
)

vertexai.init(
    project=PROJECT_ID,
    location=GOOGLE_CLOUD_LOCATION,
    staging_bucket=STAGING_BUCKET,
)

remote_app = agent_engines.create(
    app,
    requirements=[
        "google-cloud-aiplatform[agent_engines,adk]>=1.88",
        "google-adk",
        "pysqlite3-binary",
        "toolbox-langchain==0.1.0",
        "pdfplumber",
        "google-cloud-aiplatform",
        "cloudpickle==3.1.1",
        "pydantic==2.10.6",
        "pytest",
        "overrides",
        "scikit-learn",
        "reportlab",
        "google-auth",
        "google-cloud-storage",
    ],
)
# Deployment to Agent Engine related code ends

Jalankan agent.py ini dari dalam folder project lagi dengan perintah berikut:

>> cd adk-renovation-agent

>> python agent.py

Proses ini akan memerlukan waktu beberapa menit. Setelah selesai, Anda akan menerima endpoint yang terlihat seperti ini:

'projects/123456789/locations/us-central1/reasoningEngines/123456'

Anda dapat menguji agen yang di-deploy dengan kode berikut dengan menambahkan file baru " test.py"

import vertexai
from vertexai.preview import reasoning_engines
from vertexai import agent_engines
import os
import warnings
from dotenv import load_dotenv
load_dotenv()


GOOGLE_CLOUD_PROJECT = os.environ["GOOGLE_CLOUD_PROJECT"]
GOOGLE_CLOUD_LOCATION = os.environ["GOOGLE_CLOUD_LOCATION"]
GOOGLE_API_KEY = os.environ["GOOGLE_API_KEY"]
GOOGLE_GENAI_USE_VERTEXAI=os.environ["GOOGLE_GENAI_USE_VERTEXAI"]
AGENT_NAME = "adk_renovation_agent"
MODEL_NAME = "gemini-2.5-pro-preview-03-25"
warnings.filterwarnings("ignore")
PROJECT_ID = GOOGLE_CLOUD_PROJECT

reasoning_engine_id = "<<YOUR_DEPLOYED_ENGINE_ID>>"

vertexai.init(project=PROJECT_ID, location="us-central1")
agent = agent_engines.get(reasoning_engine_id)
print("**********************")
print(agent)
print("**********************")


for event in agent.stream_query(
   
user_id="test_user",
   
message="I want you to check order status.",
):
   
print(event)

Dalam kode di atas, ganti nilai untuk placeholder "<<YOUR_DEPLOYED_ENGINE_ID>>" dan jalankan perintah "python test.py" dan Anda siap untuk menjalankannya untuk berinteraksi dengan sistem multi-agen yang di-deploy Agent Engine dan siap untuk merenovasi dapur Anda.

13. Opsi Deployment Satu Baris

Setelah Anda menguji sistem multi-agen yang di-deploy, mari kita pelajari metode yang lebih sederhana yang memisahkan langkah deployment yang kita lakukan di langkah sebelumnya: OPTION DEPLOYMENT SATU BARIS:

  1. Ke Cloud Run:

Sintaksis:

adk deploy cloud_run \
--project=<<YOUR_PROJECT_ID>> \
--region=us-central1 \
--service_name=<<YOUR_SERVICE_NAME>> \
--app_name=<<YOUR_APP_NAME>> \
--with_ui \
./<<YOUR_AGENT_PROJECT_NAME>>

Dalam hal ini:

adk deploy cloud_run \
--project=<<YOUR_PROJECT_ID>> \
--region=us-central1 \
--service_name=renovation-agent \
--app_name=renovation-app \
--with_ui \
./renovation-agent

Anda dapat menggunakan endpoint yang di-deploy untuk integrasi downstream.

  1. Ke Agent Engine:

Sintaksis:

adk deploy agent_engine \
  --project <your-project-id> \
  --region us-central1 \
  --staging_bucket gs://<your-google-cloud-storage-bucket> \
  --trace_to_cloud \
  path/to/agent/folder

Dalam hal ini:

adk deploy agent_engine --project <<YOUR_PROJECT_ID>> --region us-central1 --staging_bucket gs://<<YOUR_BUCKET_NAME>> --trace_to_cloud renovation-agent

Anda akan melihat agen baru di UI Agent Engine dalam Konsol Google Cloud. Baca blog ini untuk mengetahui detail selengkapnya.

14. 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.

15. Selamat

Selamat! Anda telah berhasil membuat dan berinteraksi dengan agen pertama menggunakan ADK.