1. Ringkasan
Agen adalah program otonom yang berkomunikasi dengan model AI untuk melakukan operasi berbasis tujuan 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 mandiri dan bersama-sama sesuai kebutuhan untuk memenuhi tujuan yang lebih besar dengan setiap agennya yang memiliki pengetahuan dan bertanggung jawab secara independen untuk area fokus tertentu, maka aplikasi Anda 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 pembangunan aplikasi 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 tujuan yang lebih besar. Menyusun aplikasi dengan cara ini menawarkan keuntungan yang signifikan, termasuk modularitas, spesialisasi, kemampuan penggunaan kembali, kemudahan pemeliharaan, dan kemampuan yang ditingkatkan untuk menentukan alur kontrol terstruktur menggunakan agen alur kerja khusus.
Hal-hal yang perlu diingat untuk sistem multi-agen
Pertama, penting untuk memiliki pemahaman dan alasan yang tepat tentang spesialisasi untuk setiap agen. — "apakah Anda tahu mengapa Anda memerlukan sub-agen tertentu untuk sesuatu", selesaikan dulu hal tersebut.
Kedua, Cara menggabungkan respons tersebut 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 konteks dan status yang Anda butuhkan untuk kontrol alur sistem multi-agen Anda.
Yang akan Anda build
Mari kita bangun sistem multi-agen untuk menangani renovasi dapur. Itulah yang akan kita lakukan. Kita akan membangun sistem dengan 3 agen.
- Agen Proposal Renovasi
- Agen Pemeriksaan Izin dan Kepatuhan
- Agen Pemeriksaan Status Pesanan
Agen Proposal Renovasi, untuk membuat dokumen proposal renovasi dapur.
Permits and Compliance Agent, untuk menangani tugas terkait izin dan kepatuhan.
Agen Pemeriksaan Status Pesanan, untuk memeriksa status pesanan materi dengan mengerjakan database pengelolaan pesanan yang telah kami siapkan di AlloyDB.
Kita akan memiliki agen root yang mengorkestrasi agen-agen ini berdasarkan persyaratan.
Persyaratan
2. Sebelum memulai
Membuat project
- Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
- 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 mulai menggunakan Google Cloud dan ADK, gunakan link ini untuk menukarkan kredit. Anda dapat mengikuti petunjuk di sini untuk menukarkannya. Perhatikan bahwa link ini hanya berlaku hingga akhir Mei untuk penukaran.
- Aktifkan Cloud Shell dengan mengklik link ini. Anda dapat beralih antara Terminal Cloud Shell (untuk menjalankan perintah cloud) dan Editor (untuk membangun project) dengan mengklik tombol yang sesuai dari Cloud Shell.
- Setelah terhubung ke Cloud Shell, Anda dapat memeriksa bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke project ID Anda menggunakan perintah berikut:
gcloud auth list
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa perintah gcloud mengetahui project Anda.
gcloud config list project
- Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:
gcloud config set project <YOUR_PROJECT_ID>
- Pastikan Anda memiliki Python 3.9+
- Aktifkan API berikut dengan menjalankan perintah berikut:
gcloud services enable artifactregistry.googleapis.com \cloudbuild.googleapis.com \run.googleapis.com \aiplatform.googleapis.com
- 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 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 & konfigurasi parameter di sisi kanan untuk mendapatkan respons yang optimal.
Berdasarkan deskripsi sederhana ini, Gemini membuatkan perintah yang sangat mendetail untuk memulai renovasi rumah saya. Dengan kata lain, kami menggunakan Gemini untuk mendapatkan respons yang lebih baik dari AI Studio dan model kami. Anda juga dapat memilih model yang berbeda untuk digunakan, berdasarkan kasus penggunaan Anda.
Kita 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 bawaan dan dapat menerima permintaan konteks panjang.
Lihat cuplikan respons di bawah:

AI Studio menganalisis data saya dan menghasilkan semua hal ini seperti lemari, meja dapur, backsplash, lantai, wastafel, kohesi, palet warna, dan pemilihan material. Gemini bahkan mencantumkan sumber!
Ulangi dengan pilihan model yang berbeda hingga Anda puas dengan hasilnya. Namun, saya akan mengatakan mengapa harus melakukan semua itu jika Anda memiliki Gemini 2.5 :)
Bagaimanapun, 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 ke "Gemini 2.0 Flash Preview Image Generation" agar Anda memiliki akses untuk membuat gambar.
Saya mendapatkan output ini:

Itulah kecanggihan Gemini.
Mulai dari memahami video, hingga pembuatan gambar native, hingga memadukan informasi nyata dengan Google Penelusuran – ada hal-hal yang hanya dapat dibuat dengan Gemini.
Dari AI Studio, Anda dapat mengambil prototipe ini, mendapatkan kunci API, dan menskalakannya menjadi aplikasi agentik lengkap menggunakan kecanggihan Vertex AI ADK.
4. Penyiapan ADK
- Buat & Aktifkan Lingkungan Virtual (Direkomendasikan)
Dari Terminal Cloud Shell, buat Lingkungan Virtual:
python -m venv .venv
Aktifkan Lingkungan Virtual:
source .venv/bin/activate
- Menginstal ADK
pip install google-adk
5. Struktur Project
- Dari Terminal Cloud Shell, buat direktori di lokasi project yang Anda inginkan
mkdir agentic-apps
cd agentic-apps
mkdir renovation-agent
- 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
- Buka "init.py" dan perbarui dengan konten berikut:
from . import agent
- 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 akan kita buat dalam aplikasi ini. Ada beberapa alat yang membantu fungsi inti dan pendukung sub-agen ini.
- Pastikan Anda memiliki Bucket Cloud Storage
Tujuannya adalah untuk menyimpan dokumen proposal yang dibuat oleh agen. Buat dan berikan akses sehingga 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 memberi nama lain, jangan lupa untuk memperbarui nilai STORAGE_BUCKET dalam file .env (di langkah Penyiapan Variabel ENV).
- Untuk menyiapkan akses ke bucket, buka konsol Cloud Storage dan Bucket Storage Anda (dalam kasus ini, nama bucketnya adalah "next-demo-storage": https://console.cloud.google.com/storage/browser/next-demo-storage.
Buka Izin -> Lihat Principal -> Berikan Akses. Pilih Principal 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.
- Membuat daftar dependensi
Mencantumkan 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 kita menggunakan Agent Development Kit (ADK). Mari kita uraikan komponen utamanya:
Definisi Agen
RenovationProposalAgent
Agen ini bertanggung jawab untuk membuat dokumen proposal renovasi dapur. Secara opsional, fungsi ini mengambil parameter input seperti ukuran dapur, gaya yang diinginkan, anggaran, dan preferensi pelanggan. Berdasarkan informasi ini, Gemini 2.5 akan menggunakan Model Bahasa Besar (LLM) untuk membuat proposal yang mendetail. Proposal yang dihasilkan kemudian disimpan di bucket Google Cloud Storage.
PermitsAndComplianceCheckAgent
Agen ini berfokus untuk memastikan proyek renovasi mematuhi peraturan dan kode bangunan setempat. Alat ini menerima informasi tentang renovasi yang diusulkan (misalnya, perubahan struktural, pekerjaan listrik, modifikasi saluran air) dan menggunakan LLM untuk memeriksa persyaratan izin dan aturan kepatuhan. Agen menggunakan informasi dari pusat informasi (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. Kemudian, agen akan memanggil fungsi Cloud Run ini, yang berinteraksi dengan database AlloyDB yang berisi informasi pesanan. Hal ini menunjukkan integrasi dengan sistem database untuk melacak data real-time.
Agen Root (Orchestrator)
root_agent bertindak sebagai orkestrator pusat sistem multi-agen. Agen ini menerima permintaan renovasi awal dan menentukan sub-agen mana yang akan dipanggil berdasarkan kebutuhan permintaan. Misalnya, jika permintaan memerlukan pemeriksaan persyaratan izin, permintaan akan memanggil PermitsAndComplianceCheckAgent. Jika pengguna ingin memeriksa status pesanan, pengguna akan memanggil OrderingAgent (jika diaktifkan).
Kemudian, root_agent mengumpulkan respons dari sub-agent dan menggabungkannya untuk memberikan respons yang komprehensif kepada pengguna. Hal ini dapat mencakup meringkas proposal, mencantumkan izin yang diperlukan, dan memberikan info terbaru tentang status pesanan.
Alur Data & Konsep Utama
Pengguna memulai permintaan melalui antarmuka ADK (baik terminal maupun UI web).
- Permintaan diterima oleh root_agent.
- root_agent menganalisis permintaan dan merutekannya ke sub-agen yang sesuai.
- Sub-agen menggunakan LLM, pusat informasi, API, dan database untuk memproses permintaan dan menghasilkan respons.
- Sub-agen menampilkan responsnya ke root_agent.
- root_agent menggabungkan respons dan memberikan output akhir kepada pengguna.
LLM (Model Bahasa Besar)
Agen sangat mengandalkan LLM untuk menghasilkan teks, menjawab pertanyaan, dan melakukan tugas penalaran. LLM adalah "otak" di balik kemampuan agen untuk memahami dan merespons permintaan pengguna. Kami 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. Penting untuk menjaga keamanan file ini dan tidak melakukan commit ke repositori Anda. Repositori ini juga menyimpan setelan konfigurasi untuk agen dan project Google Cloud Anda. Fungsi root_agent atau pendukung biasanya akan membaca nilai dari file ini. Pastikan semua variabel yang diperlukan disetel dengan benar dalam file .env. Hal ini mencakup 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
- Buka halaman AlloyDB di Konsol Cloud. Cara mudah untuk menemukan sebagian besar halaman di Konsol Cloud adalah dengan menelusurinya menggunakan kotak penelusuran konsol.
- Pilih CREATE CLUSTER dari halaman tersebut:

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

- Saat Anda memilih jaringan default, Anda akan melihat layar seperti di bawah.
Pilih SIAPKAN KONEKSI.
- Dari sana, pilih "Gunakan rentang IP yang dialokasikan secara otomatis" dan Lanjutkan. Setelah meninjau informasi, pilih BUAT KONEKSI.

- Setelah jaringan disiapkan, Anda dapat melanjutkan pembuatan cluster. Klik CREATE CLUSTER untuk menyelesaikan penyiapan cluster seperti yang ditunjukkan di bawah:

Pastikan untuk mengubah ID instance (yang dapat Anda temukan pada saat konfigurasi cluster / instance) menjadi
vector-instance. Jika Anda tidak dapat mengubahnya, ingatlah untuk menggunakan ID instance Anda dalam 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:

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 melakukan autentikasi ke PostgreSQL:
- Nama pengguna : "
postgres" - Database : "
postgres" - Sandi : "
alloydb"
Setelah Anda berhasil diautentikasi ke AlloyDB Studio, perintah SQL dimasukkan di Editor. Anda dapat menambahkan beberapa jendela Editor menggunakan tanda plus di sebelah kanan jendela terakhir.

Anda akan memasukkan perintah untuk AlloyDB di jendela editor, menggunakan opsi Jalankan, Format, dan Hapus 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
- Buat Fungsi Cloud Run dari sini: https://console.cloud.google.com/run/create?deploymentType=function
- Tetapkan nama fungsi menjadi "check-status" dan pilih "Java 17" sebagai runtime.
- Anda dapat menyetel autentikasi ke "Izinkan pemanggilan yang tidak diautentikasi" karena ini adalah aplikasi demo.
- Pilih Java 17 sebagai runtime dan Editor Inline untuk kode sumber.
- Pada tahap ini, kode placeholder akan dimuat di editor.
Mengganti kode placeholder
- Ubah nama file Java menjadi "ProposalOrdersTool.java" dan nama class menjadi "ProposalOrdersTool".
- Ganti kode placeholder di ProposalOrdersTool.java & pom.xml dengan kode dari file masing-masing di folder "Cloud Run Function" di repo ini.
- 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>>";
- Klik Buat.
- Cloud Run Function akan dibuat dan di-deploy.
LANGKAH PENTING:
Setelah di-deploy, untuk mengizinkan Cloud Function mengakses instance database AlloyDB, kita akan membuat konektor VPC.
Setelah siap untuk deployment, Anda akan dapat melihat fungsi di konsol Google Cloud Run Functions. Cari fungsi yang baru dibuat (check-status), klik fungsi tersebut, lalu klik EDIT AND DEPLOY NEW REVISIONS (ditandai dengan ikon EDIT (pena) di bagian atas konsol Cloud Run Functions) dan ubah hal berikut:
- Buka tab Jaringan:

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

- Berikan nama untuk VPC Connector dan pastikan regionnya 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.
- Perluas SHOW SCALING SETTINGS dan pastikan Anda telah menyetel konfigurasi persis seperti berikut:

- Klik CREATE dan konektor ini akan tercantum di setelan egress sekarang.
- Pilih konektor yang baru dibuat.
- Pilih agar semua traffic dirutekan melalui konektor VPC ini.
- Klik BERIKUTNYA, lalu DEPLOY.
- Setelah Cloud Function yang diupdate di-deploy, Anda akan melihat endpoint yang dibuat.
- Anda dapat mengujinya dengan mengklik tombol TEST di bagian atas konsol Cloud Run Functions dan dengan menjalankan perintah yang dihasilkan di Terminal Cloud Shell.
- Endpoint yang di-deploy adalah URL yang perlu Anda perbarui dalam 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 yang 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.
- Dapatkan kunci API dari Google AI Studio.
- Pada langkah berikutnya saat Anda menyiapkan file .env, ganti
<<your API KEY>>dengan nilai KUNCI API Anda yang sebenarnya.
9. Penyiapan Variabel ENV
- Siapkan nilai untuk parameter di 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 Anda
- Menggunakan terminal, buka direktori induk project agen Anda:
cd renovation-agent
- Instal semua dependensi
pip install -r requirements.txt
- Anda dapat menjalankan perintah berikut di terminal Cloud Shell untuk menjalankan agen:
adk run .
- Anda dapat menjalankan perintah berikut untuk menjalankannya di UI web yang disediakan ADK:
adk web
- Uji dengan perintah berikut:
user>>
Hello. Generate Proposal Document for the kitchen remodel requirement. I have no other specification.
11. Hasil
@ Sistem multi-agen untuk tugas Renovasi Dapur

12. Deployment ke Agent Engine
Setelah Anda menguji sistem multi-agen agar berfungsi dengan baik, mari jadikan sistem ini serverless dan tersedia di cloud agar dapat digunakan oleh siapa pun / aplikasi mana pun. Batalkan komentar cuplikan kode di bawah di agent.py dari repo dan Anda siap 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 kode 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". Anda siap untuk menjalankan perintah ini guna 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 pelajari metode yang lebih sederhana yang mengabstraksi langkah deployment yang kita lakukan pada langkah sebelumnya: OPSI DEPLOYMENT SATU BARIS:
- 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 hilir.
- 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 posting ini, ikuti langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman Manage resources.
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
15. Selamat
Selamat! Anda telah berhasil membuat dan berinteraksi dengan agen pertama Anda menggunakan ADK.