1. Tujuan lab ini
Dalam lab praktis ini, Anda akan membangun aplikasi multiagen menggunakan ADK (Agent Development Kit) yang membuat gambar berdasarkan perintah Anda dan mengevaluasinya berdasarkan perintah Anda. Jika gambar tidak memenuhi persyaratan yang dijelaskan dalam perintah dengan memuaskan, agen akan terus membuat gambar hingga gambar yang memenuhi persyaratan Anda dihasilkan. Setiap agen dalam latihan ini memiliki satu tujuan, yaitu bekerja sama dengan agen lain untuk mencapai tujuan keseluruhan. Anda akan mempelajari cara menguji aplikasi secara lokal dan men-deploy di Vertex AI Agent Engine.
Yang akan Anda pelajari
- Pahami dasar-dasar ADK (Agent Development Kit) dan pelajari cara membuat sistem multi-agen.
- Pelajari cara men-deploy dan menggunakan agen dengan mudah di Vertex AI Agent Engine.
- Memahami dasar-dasar protokol A2A
- Pelajari cara menggunakan protokol A2A dan ADK (Agent Development Kit) secara bersamaan untuk membuat agen terbuka.
2. Penyiapan Project
- Jika Anda belum memiliki project yang dapat digunakan, Anda harus membuat project baru di konsol GCP.
- Dalam lab ini, kita akan menggunakan GCP Cloud Shell untuk melakukan tugas. Buka Cloud Shell dan tetapkan project menggunakan Cloud Shell.
- Buka GCP Cloud Shell dengan mengklik di sini, Cloud Shell . Jika Anda melihat pop-up "Authorize Shell", klik untuk memberikan otorisasi pada Cloud Shell Editor.
- Anda dapat memeriksa apakah project sudah diautentikasi menggunakan perintah berikut di terminal Cloud Shell.
gcloud auth list
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi project Anda
gcloud config list project
- Salin project ID dan gunakan perintah berikut untuk menyetelnya
gcloud config set project <YOUR_PROJECT_ID>
- Kita perlu mengaktifkan beberapa layanan untuk menjalankan lab ini. Jalankan perintah berikut di Cloud Shell.
gcloud services enable aiplatform.googleapis.com
gcloud services enable cloudresourcemanager.googleapis.com
3. Pengantar Agent Development Kit
Agent Development Kit menawarkan beberapa keuntungan utama bagi developer yang membangun aplikasi berbasis agen:
- Sistem Multi-Agen: Bangun aplikasi modular dan skalabel dengan menyusun beberapa agen khusus dalam hierarki. Memungkinkan koordinasi dan pendelegasian yang kompleks.
- Ekosistem Alat yang Lengkap: Lengkapi agen dengan berbagai kemampuan: gunakan alat bawaan (Penelusuran, Eksekusi Kode, dll.), buat fungsi kustom, integrasikan alat dari framework agen pihak ketiga (LangChain, CrewAI), atau bahkan gunakan agen lain sebagai alat.
- Orkestrasi yang Fleksibel: Tentukan alur kerja menggunakan agen alur kerja (
SequentialAgent,ParallelAgent, danLoopAgent) untuk pipeline yang dapat diprediksi, atau manfaatkan pemilihan rute dinamis berbasis LLM (transferLlmAgent) untuk perilaku adaptif. - Pengalaman Developer yang Terintegrasi: Kembangkan, uji, dan lakukan debug secara lokal dengan CLI yang andal dan UI dev yang interaktif. Periksa peristiwa, status, dan eksekusi agen langkah demi langkah.
- Evaluasi Bawaan: Menilai performa agen secara sistematis dengan mengevaluasi kualitas respons akhir dan arah eksekusi langkah demi langkah terhadap kasus pengujian yang telah ditentukan sebelumnya.
- Siap Di-deploy: Masukkan agen Anda ke dalam container dan deploy di mana saja — jalankan secara lokal, lakukan penskalaan dengan Vertex AI Agent Engine, atau lakukan integrasi ke dalam infrastruktur kustom menggunakan Cloud Run atau Docker.
Meskipun SDK atau framework agen AI Generatif lainnya juga memungkinkan Anda membuat kueri model dan bahkan melengkapinya dengan alat, koordinasi dinamis antara beberapa model memerlukan upaya yang signifikan di pihak Anda.
Agent Development Kit menawarkan framework tingkat yang lebih tinggi daripada alat ini. Dengan begitu, Anda dapat dengan mudah menghubungkan beberapa agen satu sama lain untuk alur kerja yang kompleks tetapi mudah dikelola.

Gambar 1: Penempatan ADK (Agent Development Kit)
4. Pengantar Vertex AI Agent Engine
Vertex AI Agent Engine adalah layanan terkelola sepenuhnya untuk men-deploy agen di Google Cloud. Dengan Vertex AI Agent Engine, developer dapat mengembangkan, menyesuaikan, men-deploy, menayangkan, dan mengelola agen AI OSS( ADK (Agent Development Kit) , LangChain, LangGraph, CrewAI, AutoGen, dan lainnya) di Vertex AI.
Agent Engine juga menyediakan layanan untuk menangani data pengguna yang juga dikenal sebagai memori agen. Saat ini, ada dua jenis layanan memori yang tersedia.
- Memori jangka pendek: Dengan Sesi Agent Engine, Anda dapat menyimpan, mengelola, dan mengambil histori percakapan yang sedang berlangsung (status) dalam satu sesi sebagai memori jangka pendek.
- Memori jangka panjang: Dengan Agent Engine Memory Bank, Simpan, ubah, dan ambil memori (status), terutama di beberapa sesi sebagai memori jangka panjang.
Anda juga dapat men-deploy Agen di layanan Google Cloud lainnya seperti Cloud Run atau GKE. Sebaiknya gunakan Vertex AI Agent Engine untuk kasus penggunaan berikut.
- Managed runtime dengan status: Jika Anda memerlukan runtime dengan status dan terkelola sepenuhnya untuk deployment agen, Vertex AI Agent Engine adalah pilihan yang tepat karena mengabstraksi tugas umum seperti pengelolaan sesi dan persistensi untuk Agen AI.
- Eksekusi Kode: Jika Agen Anda perlu mengeksekusi kode yang dibuat secara dinamis selama sesi pengguna, Agent Engine menyediakan Sandbox aman tempat Anda dapat mengeksekusi kode.
- Memori jangka panjang yang fleksibel: Jika Anda memerlukan memori jangka panjang yang fleksibel untuk agen, Vertex AI Memory Bank yang dapat digunakan dengan Vertex AI Agent Engine dapat memberikan cara yang fleksibel untuk mengingat informasi tentang pengguna yang dapat digunakan di seluruh sesi.
Anda juga dapat menggabungkan Vertex AI Agent Engine dengan runtime lain seperti Cloud Run untuk membuat arsitektur aplikasi yang fleksibel. Berikut adalah contoh arsitektur referensi yang menggunakan berbagai layanan untuk membuat agen.

Gambar 2: Contoh arsitektur referensi untuk membangun Agen menggunakan beberapa layanan.
5. Pengantar A2A
Protokol Agent2Agent (A2A) adalah standar terbuka yang dirancang untuk memungkinkan komunikasi dan kolaborasi yang lancar dan aman antara agen AI otonom dari berbagai framework, vendor, dan domain.
- Interoperabilitas Universal: A2A memungkinkan agen bekerja sama terlepas dari teknologi yang mendasarinya, sehingga mendorong ekosistem multi-agen yang sesungguhnya. Artinya, agen yang dibuat oleh perusahaan yang berbeda di platform yang berbeda dapat berkomunikasi dan berkoordinasi.
- Penemuan Kemampuan: Agen dapat mengiklankan kemampuannya menggunakan "Kartu Agen" (dokumen JSON), yang mendeskripsikan identitas, fitur A2A yang didukung, keterampilan, dan persyaratan autentikasinya. Hal ini memungkinkan agen lain menemukan dan memilih agen yang paling sesuai untuk tugas tertentu.
- Aman secara Default: Keamanan adalah prinsip inti. A2A menggabungkan mekanisme autentikasi dan otorisasi tingkat perusahaan, yang memanfaatkan standar seperti HTTPS/TLS, JWT, OIDC, dan kunci API untuk memastikan interaksi yang aman dan melindungi data sensitif.
- Agnostik Modalitas: Protokol ini mendukung berbagai modalitas komunikasi, termasuk streaming teks, audio, dan video, serta formulir interaktif dan iframe yang disematkan. Fleksibilitas ini memungkinkan agen bertukar informasi dalam format yang paling sesuai untuk tugas dan pengguna.
- Pengelolaan Tugas Terstruktur: A2A menentukan protokol yang jelas untuk delegasi, pemantauan, dan penyelesaian tugas. Vertex AI Agent mendukung pengelompokan tugas terkait dan pengelolaannya di berbagai agen menggunakan ID tugas unik. Tugas dapat bertransisi melalui siklus proses yang ditentukan (misalnya, dikirim, sedang dikerjakan, selesai).
- Eksekusi Opaque: Fitur pentingnya adalah bahwa agen tidak perlu mengungkapkan proses penalaran internal, memori, atau alat tertentu kepada agen lain. Mereka hanya mengekspos layanan yang dapat dipanggil, sehingga meningkatkan modularitas dan privasi.
- Dibuat Berdasarkan Standar yang Ada: A2A memanfaatkan teknologi web yang sudah ada seperti HTTP, Server-Sent Events (SSE) untuk streaming real-time, dan JSON-RPC untuk pertukaran data terstruktur, sehingga memudahkan integrasi dengan infrastruktur IT yang ada.
- Komunikasi Asinkron: Protokol ini dirancang dengan komunikasi asinkron sebagai pertimbangan utama, yang memfasilitasi progres tugas yang fleksibel dan memungkinkan notifikasi push untuk pembaruan meskipun koneksi tidak dipertahankan secara terus-menerus.
6. Arsitektur Agen
Di lab ini, Anda akan membuat aplikasi multi-agen yang menghasilkan gambar sesuai spesifikasi Anda dan mengevaluasi gambar tersebut sebelum menampilkannya kepada Anda.
Sistem ini disusun dengan agen utama bernama image_scoring yang mengatur seluruh proses. Agen utama ini memiliki sub-agen yang disebut image_generation_scoring_agent yang pada gilirannya memiliki sub-agennya sendiri untuk tugas yang lebih spesifik. Hal ini akan menciptakan hubungan hierarkis di mana agen utama mendelegasikan tugas ke sub-agennya. 
Gambar 3: Alur Agen secara keseluruhan.
Daftar Semua Agen
Agen | Tujuan | Sub-agen |
image_scoring (Agen Utama) | Ini adalah agen root yang mengelola keseluruhan alur kerja. Agen ini menjalankan image_generation_scoring_agent dan checker_agent berulang kali dalam loop hingga kondisi penghentian terpenuhi. | image_generation_scoring_agent |
image_generation_scoring_agent (Sub-agen image_scoring) | Agen ini bertanggung jawab atas logika inti untuk membuat dan memberi skor pada gambar. Untuk melakukannya, agen ini menjalankan urutan tiga sub-agen. | image_generation_prompt_agent |
checker_agent_instance (Sub-agen image_scoring) | Agen ini memeriksa apakah proses pemberian skor gambar harus dilanjutkan atau dihentikan. Langkah ini menggunakan alat check_tool_condition untuk mengevaluasi kondisi penghentian. | - |
checker_agent_instance (Sub-agen image_scoring) | Agen ini ahli dalam membuat perintah untuk pembuatan gambar. Fitur ini mengambil teks input dan menghasilkan perintah mendetail yang sesuai untuk model pembuatan gambar. | - |
image_generation_prompt_agent (Sub-agen image_generation_scoring_agent) | Agen ini ahli dalam membuat perintah untuk pembuatan gambar. Alat ini menerima teks input dan menghasilkan perintah mendetail yang sesuai untuk model pembuatan gambar. | - |
scoring_images_prompt (Sub-agen image_generation_scoring_agent): | Agen ini adalah pakar dalam mengevaluasi dan memberi skor pada gambar berdasarkan berbagai kriteria. Fungsi ini mengambil gambar yang dihasilkan dan menetapkan skor untuk gambar tersebut. | - |
Daftar Semua Alat yang digunakan
Alat | Deskripsi | Agen Pengguna |
check_tool_condition | Alat ini memeriksa apakah kondisi penghentian loop terpenuhi atau apakah jumlah maksimum iterasi telah tercapai. Jika salah satunya benar, loop akan berhenti. | checker_agent_instance |
generate_images | Alat ini menghasilkan gambar menggunakan model Imagen 3. Aplikasi ini juga dapat menyimpan gambar yang dihasilkan ke bucket Google Cloud Storage. | image_generation_agent |
get_policy | Alat ini mengambil kebijakan dari file JSON. Kebijakan ini digunakan oleh image_generation_prompt_agent untuk membuat perintah pembuatan gambar dan oleh scoring_images_prompt untuk memberi skor pada gambar. | image_generation_agent |
get_image | Alat ini memuat artefak gambar yang dihasilkan sehingga dapat diberi skor. | scoring_images_prompt |
set_score | Alat ini menetapkan skor total gambar yang dihasilkan dalam status sesi. | scoring_images_prompt |
7. Menginstal ADK dan menyiapkan lingkungan Anda
Dalam latihan ini, kita akan menggunakan Cloud Shell untuk menjalankan tugas.
Menyiapkan tab Cloud Shell Editor
- Klik link ini untuk langsung membuka Cloud Shell Editor
- Klik Lanjutkan.
- Jika diminta untuk memberikan otorisasi pada Cloud Shell, klik Authorize.
- Di sepanjang lab, Anda dapat memanfaatkan jendela ini sebagai IDE dengan Cloud Shell Editor dan Cloud Shell Terminal.
- Buka Terminal baru menggunakan Terminal>New Terminal di Cloud Shell Editor. Semua perintah di bawah akan dijalankan di terminal ini.
Mendownload dan menginstal ADK serta contoh kode untuk lab ini
- Jalankan perintah berikut untuk meng-clone sumber yang diperlukan dari github dan menginstal library yang diperlukan. Jalankan perintah di Terminal yang dibuka di Cloud Shell Editor.
#create the project directory
mkdir ~/imagescoring
cd ~/imagescoring
#clone the code in the local directory
git clone https://github.com/haren-bh/multiagenthandson.git
- Kita akan menggunakan uv untuk membuat lingkungan python (Jalankan di Terminal Cloud Shell Editor):
#Install uv if you do not have installed yet
pip install uv
#Create the virtual environment
uv venv .adkvenv
source .adkvenv/bin/activate
#go to the project directory
cd ~/imagescoring/multiagenthandson
#install dependencies
uv pip install -r pyproject.toml
- Jika Anda tidak memiliki bucket penyimpanan cloud, buat bucket baru di Google Cloud Storage. Anda juga dapat membuat bucket menggunakan perintah gsutil. Memberi Agent Engine akses ke Google Cloud Storage (Jalankan di Terminal Editor Cloud Shell).
# First, make sure your PROJECT_ID variable is set
PROJECT_ID=$(gcloud config get-value project)
# Now, create the bucket with a unique name
# We'll use the project ID to help ensure uniqueness
gsutil mb gs://${PROJECT_ID}-imagescoring-bucket
#Now lets give Agent Engine the permission to access Cloud Storage
# 1. Get the current Project ID (text) and Project Number (numeric)
PROJECT_ID=$(gcloud config get-value project)
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
# 2. Construct the Reasoning Engine Service Account email
SA_EMAIL="service-${PROJECT_NUMBER}@gcp-sa-aiplatform-re.iam.gserviceaccount.com"
# 3. Create Agent Engine Service account if not already created
gcloud beta services identity create --service=aiplatform.googleapis.com --project=${PROJECT_NUMBER}
# 3. Grant GCS Access
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SA_EMAIL" --role="roles/storage.objectUser" --condition=None
- Di editor, buka View->Toggle hidden files. Di folder image_scoring, buat file .env dengan konten berikut. Tambahkan detail yang diperlukan seperti nama project dan bucket Cloud Storage Anda (Jalankan di Terminal Cloud Shell Editor).
#go to image_scoring folder
cd ~/imagescoring/multiagenthandson/image_scoring
cat <<EOF>> .env
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project)
GOOGLE_CLOUD_LOCATION=us-central1
GOOGLE_CLOUD_STORAGE_BUCKET=$(gcloud config get-value project)-imagescoring-bucket
GCS_BUCKET_NAME=$(gcloud config get-value project)-imagescoring-bucket
SCORE_THRESHOLD=40
IMAGEN_MODEL="imagen-3.0-generate-002"
GENAI_MODEL="gemini-2.5-flash"
EOF
- Lihat struktur agen dalam kode sumber, mulai dari agent.py . Agen ini berisi agen root yang akan terhubung ke agen lainnya.
- Kembali ke direktori teratas multiagenthandson di terminal, lalu jalankan perintah berikut untuk menjalankan agen secara lokal (Jalankan di Terminal Cloud Shell Editor).
#go to the directory multiagenthandson
cd ~/imagescoring/multiagenthandson
# Run the following command to run agents locally
adk web

Gambar 4
Ctrl+Klik (CMD+Klik untuk MacOS) pada URL http:// yang ditampilkan di terminal untuk membuka klien GUI berbasis browser ADK. Hasilnya akan terlihat seperti Gambar 2
- Pilih image_scoring di menu dropdown di sisi kiri atas (lihat Gambar 5). Sekarang, mari kita buat beberapa gambar. Anda juga akan menemukan gambar di bucket Google Cloud Storage. Coba perintah berikut atau perintah Anda sendiri.
- Lanskap pegunungan yang tenang saat matahari terbenam
- Kucing mengendarai sepeda

Gambar 5: Contoh output
8. Men-deploy ke Agent Engine
Sekarang kita men-deploy agen ke Agent Engine. Agent Engine adalah layanan terkelola sepenuhnya untuk men-deploy agen di GCP. Agent Engine kompatibel dengan ADK (Agent Development Kit) sehingga agen yang dibuat dengan ADK (Agent Development Kit) dapat di-deploy di Agent Engine.
- Buat file requirements.txt menggunakan poetry. Poetry akan menggunakan pyproject.toml untuk membuat file requirements.txt. Setelah menjalankan perintah, periksa apakah file requirements.txt telah dibuat (Jalankan di Terminal Cloud Shell Editor).
# Go to the parent folder containing pyproject.toml file
cd ~/imagescoring/multiagenthandson
# install poetry-plugin-export
uv pip install poetry-plugin-export
#Create requirements.txt file
python3 -m poetry export -f requirements.txt --output requirements.txt --without-hashes
- Buat paket. Kita perlu memaketkan aplikasi ke dalam paket Python .whl. Kita akan menggunakan puisi untuk melakukannya. Setelah Anda menjalankan perintah, pastikan folder dist dibuat dan berisi file .whl (Jalankan di Terminal Cloud Shell Editor).
# Go to the parent folder containing pyproject.toml file
cd ~/imagescoring/multiagenthandson
#Create python package, to create whl file
python3 -m poetry build
- Sekarang kita akan menyiapkan skrip deployment. Skrip deployment akan men-deploy layanan image-scoring agent atau agent engine kami. Pastikan konten deploy.py di dalam folder deploy seperti di bawah (Gunakan Panel Samping Cloud Shell Editor untuk menemukan file).
import vertexai
from image_scoring.agent import root_agent
import os
import glob # To easily find the wheel file
from dotenv import load_dotenv
# Load environment variables from image_scoring/.env
env_path = os.path.join(os.path.dirname(__file__), "..", "image_scoring", ".env")
load_dotenv(env_path)
PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
LOCATION = os.getenv("GOOGLE_CLOUD_LOCATION", "us-central1")
STAGING_BUCKET = f"gs://{os.getenv('GOOGLE_CLOUD_STORAGE_BUCKET')}"
from vertexai import agent_engines
client=vertexai.Client(
project=PROJECT_ID,
location=LOCATION,
)
remote_app = client.agent_engines.create(
agent=root_agent,
config={
"display_name": "image-scoring",
"staging_bucket": STAGING_BUCKET,
"requirements": open(os.path.join(os.getcwd(), "requirements.txt")).readlines() + ["./dist/image_scoring-0.1.0-py3-none-any.whl"],
"extra_packages": [
"./dist/image_scoring-0.1.0-py3-none-any.whl",
], "env_vars":{"GCS_BUCKET_NAME":os.getenv('GOOGLE_CLOUD_STORAGE_BUCKET')}
}
)
print(f"DEBUG: AgentEngine attributes: {dir(remote_app)}")
try:
print(remote_app.api_resource.name)
except AttributeError:
print("Could not find resource_name, check DEBUG output above.")
- Sekarang kita dapat menjalankan skrip deployment. Pertama, buka folder teratas multiagenthandson (Run in Cloud Shell Editor Terminal).
#go to multiagenthandson folder
cd ~/imagescoring/multiagenthandson
#run deploy script from the parent folder containing deploy.py
python3 -m deploy.deploy
Setelah men-deploy, Anda akan melihat sesuatu seperti di bawah, 
Gambar 6: Contoh output
- Sekarang mari kita uji agen yang di-deploy. Untuk menguji mesin agen yang di-deploy dari jarak jauh, salin terlebih dahulu lokasi agen dari output deployment di terminal. Tampilannya akan terlihat seperti ini, projects/85469421903/locations/us-central1/reasoningEngines/7369674597261639680 .
Buka folder testclient, buka file remote_test.py di Cloud Shell Editor, lalu edit baris berikut.
REASONING_ENGINE_ID = "projects/xxx/locations/us-central1/reasoningEngines/xxx" # TODO: Change this
- Dari folder teratas multiagenthandson, jalankan perintah berikut. Anda akan mendapatkan output seperti Gambar 4. Setelah eksekusi selesai, Anda akan dapat melihat (Run in Cloud Shell Editor Terminal).
#go to multiagenthandson folder
cd ~/imagescoring/multiagenthandson
#execute remote_test.py
python3 -m testclient.remote_test

Gambar 7: Contoh output
9. Buat agen A2A
Pada langkah ini, kita akan membuat agen A2A sederhana berdasarkan agen yang kita buat pada langkah sebelumnya. Agen ADK (Agent Development Kit) yang ada dapat dipublikasikan dengan protokol A2A. Berikut adalah hal-hal penting yang akan Anda pelajari di langkah ini.
- Pelajari dasar-dasar protokol A2A.
- Pelajari cara kerja ADK dan protokol A2A bersama-sama.
- Pelajari cara berinteraksi dengan protokol A2A.
Dalam latihan ini, kita akan menggunakan kode di folder image_scoring_adk_a2a_server. Sebelum memulai tugas, ubah direktori Anda ke folder ini (Jalankan di Terminal Editor Cloud Shell).
#change directory to image_scoring_adk_a2a_server
cd ~/imagescoring/multiagenthandson/image_scoring_adk_a2a_server
#copy the env file
cp ~/imagescoring/multiagenthandson/image_scoring/.env remote_a2a/image_scoring
1. Buat kartu agen A2A
Protokol A2A memerlukan kartu agen yang berisi semua informasi tentang agen seperti kemampuan agen, panduan penggunaan agen, dll. Setelah agen A2A di-deploy, kartu agen dapat dilihat menggunakan link ".well-known/agent-card.json". Klien dapat merujuk pada informasi ini untuk mengirim permintaan ke agen.
Di folder remote_a2a/image_scoring, pastikan ada agents.json menggunakan Cloud Shell Editor dengan konten berikut.
{
"name": "image_scoring",
"description": "Agent that generates images based on user prompts and scores their adherence to the prompt.",
"url": "http://localhost:8001/a2a/image_scoring",
"version": "1.0.0",
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["image/png", "text/plain"],
"capabilities": {
"streaming": true,
"functions": true
},
"skills": [
{
"id": "generate_and_score_image",
"name": "Generate and Score Image",
"description": "Generates an image from a given text prompt and then evaluates how well the generated image adheres to the original prompt, providing a score.",
"tags": ["image generation", "image scoring", "evaluation", "AI art"],
"examples": [
"Generate an image of a futuristic city at sunset",
"Create an image of a cat playing a piano",
"Show me an image of a serene forest with a hidden waterfall"
]
}
]
}
2. Buat agen A2A
Dalam folder root image_scoring_adk_a2a_server, pastikan ada file a2a_agent.py menggunakan panel samping Cloud Shell Editor, yang merupakan titik entri untuk agen A2A. Kontennya harus sebagai berikut,
from google.adk.agents.remote_a2a_agent import RemoteA2aAgent
root_agent = RemoteA2aAgent(
name="image_scoring",
description="Agent to give interesting facts.",
agent_card="http://localhost:8001/a2a/image_scoring/.well-known/agent.json",
# Optional configurations
timeout=300.0, # HTTP timeout (seconds)
httpx_client=None, # Custom HTTP client
)
3. Jalankan agen A2A
Sekarang kita siap menjalankan agen. Untuk menjalankan agen, jalankan perintah berikut dari dalam folder teratas image_scoring_adk_a2a_server (Jalankan di Terminal Cloud Shell Editor).
#following command runs the ADK agent as a2a agent
adk api_server --a2a --port 8001 remote_a2a
4. Menguji agen A2A
Setelah agen berjalan, kita dapat menguji agen. Pertama-tama, mari kita periksa kartu agen. Buka terminal baru menggunakan Terminal>New Terminal dan jalankan perintah berikut (Jalankan di Terminal Cloud Shell Editor yang baru dibuka).
#Execute the following
curl http://localhost:8001/a2a/image_scoring/.well-known/agent.json
Menjalankan perintah di atas akan menampilkan kartu agen untuk agen A2A kita, yang sebagian besar merupakan konten agent.json yang kita buat pada langkah sebelumnya.
Sekarang, kirim permintaan ke agen. Kita dapat menggunakan curl untuk mengirim permintaan ke agen (Jalankan di Terminal Cloud Shell Editor yang baru dibuka),
curl -X POST http://localhost:8001/a2a/image_scoring -H 'Content-Type: application/json' -d '{
"id": "uuid-123",
"params": {
"message": {
"messageId": "msg-456",
"parts": [{"text": "Create an image of a cat"}],
"role": "user"
}
}
}'
Dalam permintaan di atas, Anda dapat mengubah perintah dengan mengubah baris "Create an image of a cat". Setelah menjalankan perintah, Anda dapat memeriksa gambar output di Google Cloud Storage yang ditentukan.
10. Pembersihan
Sekarang, mari kita hapus apa yang baru saja kita buat.
- Hapus server Vertex AI Agent Engine yang baru saja kita buat. Buka Vertex AI dengan mengetik Vertex AI di kotak penelusuran Konsol Google Cloud. Klik Agent Engine di sisi kiri.Anda dapat menghapus Agen dengan mengklik hapus.

Gambar 8
- Hapus file di Cloud Shell
#Execute the following to delete the files
cd ~
rm -R ~/imagescoring
- Hapus bucket. Anda dapat membuka GCP console->Cloud Storage, memilih, lalu menghapus bucket Anda.

Gambar 9: Menghapus bucket
11. Kesimpulan
Selamat! Anda telah berhasil men-deploy aplikasi multiagen ADK (Agent Development Kit) ke Vertex AI Agent Engine. Ini adalah pencapaian signifikan yang mencakup siklus proses inti aplikasi modern berbasis cloud, sehingga memberi Anda fondasi yang kuat untuk men-deploy sistem agentik kompleks Anda sendiri.
Rangkuman
Di lab ini, Anda telah mempelajari cara:
- Buat aplikasi multi-agen menggunakan ADK (Agent Development Kit)
- Men-deploy aplikasi ke Vertex AI Agent Engine
- Buat Agen yang dapat berkomunikasi menggunakan protokol A2A.
Referensi yang berguna