GENAI120

Protokol Agent2Agent (A2A) mengatasi tantangan penting dalam lanskap AI, yaitu memungkinkan agen AI Generatif, yang dibangun di beragam framework oleh berbagai perusahaan yang berjalan di server terpisah, untuk berkomunikasi dan berkolaborasi secara efektif—sebagai agen, bukan hanya sebagai alat. A2A bertujuan untuk menyediakan bahasa yang sama untuk agen, sehingga mendorong ekosistem AI yang lebih saling terhubung, bermanfaat, dan inovatif.
A2A dibangun berdasarkan beberapa konsep inti yang membuatnya efektif dan fleksibel:
-
Komunikasi Terstandardisasi: JSON-RPC 2.0 melalui HTTP(S).
-
Penemuan Agen: Kartu Agen memerinci informasi kapabilitas dan koneksi agen, sehingga agen dapat saling menemukan dan mempelajari kapabilitas masing-masing
-
Pertukaran Data Lengkap: Menangani teks, file, dan data JSON terstruktur.
-
Interaksi Fleksibel: Mendukung permintaan/respons sinkron, streaming (SSE), dan notifikasi push asinkron.
-
Siap Digunakan Perusahaan: Dirancang dengan mempertimbangkan keamanan, autentikasi, dan kemampuan observasi.
Tujuan
Di lab ini, Anda akan:
- Men-deploy agen ADK sebagai Server A2A.
- Menyiapkan Kartu Agen JSON untuk mendeskripsikan kapabilitas agen A2A.
- Memungkinkan agen ADK lain membaca Kartu Agen dari agen A2A yang di-deploy dan menggunakannya sebagai sub-agen.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab (Mulai Lab)
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab (Mulai Lab), menampilkan lamanya resource Cloud akan tersedia untuk Anda.
Lab praktis Qwiklabs ini memungkinkan Anda melakukan aktivitas lab sendiri di lingkungan cloud nyata, bukan di lingkungan demo atau simulasi. Yaitu dengan cara memberi Anda kredensial sementara yang baru yang digunakan untuk login dan mengakses Google Cloud Platform selama durasi lab.
Yang diperlukan
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab.
Catatan: Jika Anda sudah memiliki project atau akun GCP pribadi, jangan gunakan project atau akun tersebut untuk lab ini.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Tugas 1. Menginstal ADK dan menyiapkan lingkungan Anda
Di lingkungan lab ini, Vertex AI API dan Cloud Run API sudah diaktifkan untuk Anda. Jika mengikuti langkah-langkah ini di project Anda sendiri, Anda dapat mengaktifkan keduanya dengan membuka Vertex AI dan mengikuti dialog untuk melakukannya.
Menyiapkan tab Cloud Shell Editor
-
Di jendela Konsol Google Cloud yang aktif, buka Cloud Shell dengan menekan tombol G, lalu tombol S di keyboard Anda. Atau, Anda dapat mengklik tombol Activate Cloud Shell (
) di kanan atas Konsol Cloud.
-
Klik Continue.
-
Jika diminta untuk memberikan otorisasi pada Cloud Shell, klik Authorize.
-
Di pojok kanan atas panel Cloud Shell Terminal, klik tombol Open in new window
.
-
Di Cloud Shell Terminal, masukkan teks berikut untuk membuka Cloud Shell Editor ke direktori utama Anda:
cloudshell workspace ~
-
Tutup panel Gemini atau tutorial tambahan yang muncul di sisi kanan layar untuk meluangkan ruang jendela bagi editor kode Anda.
-
Di sepanjang lab, Anda dapat memanfaatkan jendela ini sebagai IDE dengan Cloud Shell Editor dan Cloud Shell Terminal.
Mendownload dan menginstal ADK serta contoh kode untuk lab ini
-
Instal ADK dengan menjalankan perintah berikut di Cloud Shell Terminal. Catatan: Anda akan menentukan versi untuk memastikan bahwa versi ADK yang Anda instal sesuai dengan versi yang digunakan di lab ini:
# Menginstal ADK dan A2A Python SDK
cd ~
export PATH=$PATH:"/home/${USER}/.local/bin"
python3 -m pip install google-adk==1.8.0 a2a-sdk==0.2.16
pip install --upgrade google-genai
# Mengoreksi kesalahan ketik pada versi ini
sed -i 's/{a2a_option}"/{a2a_option} "/' ~/.local/lib/python3.12/site-packages/google/adk/cli/cli_deploy.py
-
Tempel perintah berikut ke dalam Cloud Shell Terminal untuk menyalin kode lab dari bucket Cloud Storage dan mengekstraknya:
gcloud storage cp gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/adk_and_a2a.zip ./adk_and_a2a.zip
unzip adk_and_a2a.zip
Klik Periksa progres saya untuk memverifikasi tujuan.
Menginstal ADK dan menyiapkan lingkungan Anda.
Tugas 2. Mengeksplorasi agen ADK yang akan Anda sediakan dari jarak jauh
Untuk tujuan lab ini, anggaplah Anda bekerja di perusahaan pemeliharaan stadion: Cymbal Stadiums. Sebagai bagian dari project terbaru, Anda mengembangkan agen pembuatan gambar yang dapat membuat ilustrasi sesuai dengan pedoman merek Anda. Sekarang, beberapa tim berbeda di organisasi Anda juga ingin menggunakannya.
Jika menyalin kode untuk digunakan sebagai sub-agen oleh banyak agen, Anda akan sangat kesulitan untuk menjaga dan meningkatkan kualitas semua salinan tersebut.
Sebagai gantinya, Anda dapat men-deploy agen sekali sebagai agen yang digabungkan dengan server A2A, dan agen tim lain dapat mengintegrasikannya dengan membuat kueri dari jarak jauh.
-
Di panel file explorer Cloud Shell Editor, buka direktori adk_and_a2a/illustration_agent. Direktori ini berisi agen ADK yang akan Anda sediakan dari jarak jauh. Klik direktori untuk membukanya.
-
Buka file agent.py di direktori ini dan scroll ke bagian berlabel # Tools.
-
Perhatikan fungsi generate_image(), yang akan digunakan sebagai alat oleh agen ini. Fungsi ini menerima perintah dan menjalankan proses dua langkah. Pertama, fungsi ini menggunakan Google Gen AI SDK untuk memanggil generate_content(), yang menampilkan data gambar mentah langsung dalam respons. Kedua, fungsi ini menggunakan library Cloud Storage untuk mengupload byte gambar tersebut ke bucket GCS. Terakhir, alat tersebut akan menampilkan URL publik untuk file gambar yang baru dibuat.
-
Perhatikan bahwa instruction yang diberikan ke root_agent menghasilkan petunjuk spesifik bagi agen untuk menggunakan perintah pembuatan gambar yang mematuhi pedoman merek perusahaan. Misalnya, petunjuk ini menentukan:
- gaya ilustrasi tertentu: (Corporate Memphis)
- palet warna (ungu dan hijau di atas gradien matahari terbenam)
- contoh gambar pemeliharaan dan stadion/aktivitas olahraga karena digunakan untuk perusahaan pemeliharaan stadion
-
Untuk melihat cara kerjanya, Anda harus menulis file .env terlebih dahulu untuk menyetel variabel lingkungan yang diperlukan oleh agen ADK. Jalankan perintah berikut di Cloud Shell Terminal untuk menulis file ini di direktori ini.
cd ~/adk_and_a2a
cat << EOF > illustration_agent/.env
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}
GOOGLE_CLOUD_LOCATION=global
MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}}
IMAGE_MODEL={{{project_0.startup_script.gemini_flash_image_model_id | gemini_flash_image_model_id}}}
EOF
-
Jalankan perintah berikut untuk menyalin file .env tersebut ke direktori agen lain yang akan Anda gunakan di lab ini:
cp illustration_agent/.env slide_content_agent/.env
-
Sekarang dari Cloud Shell Terminal, luncurkan UI dev ADK dengan:
adk web
Output
INFO: Started server process [2434]
INFO: Waiting for application startup.
+-------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://localhost:8000. |
+-------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
-
Untuk melihat antarmuka web di tab baru, klik link http://127.0.0.1:8000 di bagian bawah output Terminal.
-
Tab browser baru akan terbuka dengan UI Dev ADK.
-
Dari dropdown Select an agent di sebelah kiri, pilih illustration_agent dari dropdown.
-
Buat kueri ke agen dengan beberapa teks yang dapat digunakan dalam presentasi slide rekrutmen:
By supporting each other, we get big things done!
-
Setelah sekitar 10 detik, agen akan merespons dengan perintah yang dibuatnya dan URL untuk melihat pratinjau gambar. Klik URL gambar untuk melihat pratinjau gambar, lalu klik Back di browser Anda untuk kembali ke UI Dev.
Contoh Output

Contoh Gambar

-
Perhatikan bahwa perintah yang Anda berikan ke agen tidak menyebutkan aktivitas olahraga, stadion, atau pekerjaan pemeliharaan, tetapi agen ini mengambil teks dan pedoman merek Anda, lalu menggabungkannya menjadi satu perintah untuk model pembuatan gambar.
Setelah selesai mempelajari agen dasar, tutup tab browser.
-
Klik panel Cloud Shell Terminal, lalu tekan CTRL + C untuk menghentikan server.
Klik Periksa progres saya untuk memverifikasi tujuan.
Mengeksplorasi agen ADK.
Tugas 3. Men-deploy agen sebagai Server A2A
Sekarang Anda akan melakukan langkah-langkah untuk men-deploy agen ini sebagai agen A2A jarak jauh.
-
Agen A2A mengidentifikasi dirinya sendiri dan kapabilitasnya dengan menampilkan Kartu Agen. Jalankan perintah berikut untuk membuat file agent.json.
touch illustration_agent/agent.json
-
Buka file agent.json dalam direktori adk_and_a2a/illustration_agent dan tempelkan konten berikut:
{
"name": "illustration_agent",
"description": "An agent designed to generate branded illustrations for Cymbal Stadiums.",
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["application/json"],
"skills": [
{
"id": "illustrate_text",
"name": "Illustrate Text",
"description": "Generate an illustration to illustrate the meaning of provided text.",
"tags": ["illustration", "image generation"]
}
],
"url": "https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app/a2a/illustration_agent",
"capabilities": {},
"version": "1.0.0"
}
-
Simpan file dengan mengklik tombol Save.
-
Tinjau JSON di file agent.json. Perhatikan bahwa konten tersebut memberi agen name dan description serta mengidentifikasi beberapa skills. Konten tersebut juga menunjukkan url untuk memanggil agen.
URL agen dibuat menjadi URL layanan Cloud Run setelah Anda men-deploy-nya dengan mengikuti petunjuk di lab ini.
Meskipun namanya mirip dengan skills, parameter capabilities di sini dicadangkan untuk menunjukkan kemampuan seperti streaming.
-
Jalankan perintah berikut untuk membuat file requirements.txt di direktori illustration_agent.
touch illustration_agent/requirements.txt
-
Pilih file, lalu tempel teks berikut ke dalam file.
google-adk==1.8.0
a2a-sdk==0.2.16
-
Simpan file dengan mengklik tombol Save.
-
Dalam perintah berikut, Anda akan menggunakan adk deploy cloud_run dengan flag --a2a untuk men-deploy agen Anda ke Cloud Run sebagai server A2A. Anda dapat mempelajari lebih lanjut cara men-deploy agen ke Cloud Run dengan menelusuri lab "Men-deploy agen ADK ke Cloud Run". Dalam perintah ini:
-
--project dan --region menentukan project serta region tempat layanan Cloud Run Anda akan di-deploy
-
--service_name menentukan nama untuk layanan Cloud Run
- Flag
--a2a menunjukkan bahwa agen Anda harus dihosting sebagai agen A2A. Artinya, ada dua hal:
- agen Anda akan digabungkan oleh class yang menghubungkan ADK dan agen A2A: A2aAgentExecutor. Class ini menerjemahkan bahasa tugas dan pesan A2A Protocol ke bahasa peristiwa Runner ADK.
- Kartu Agen juga akan dihosting di
CLOUD_RUN_URL/a2a/AGENT_NAME/.well-known/agent.json. Catatan: Meskipun versi kartu ini dapat digunakan dalam waktu dekat, penulisan ulang dinamis URL agen saat ini tidak berfungsi dengan Cloud Run, jadi kita tidak akan menggunakannya dalam versi lab ini.
Deploy agen ke Cloud Run sebagai server A2A dengan perintah berikut:
adk deploy cloud_run \
--project {{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} \
--region {{{project_0.default_region| GCP_LOCATION}}} \
--service_name illustration-agent \
--a2a \
illustration_agent
-
Anda akan diminta untuk mengizinkan respons yang tidak diautentikasi untuk container ini. Untuk pengujian lab, masukkan Y ke dalam Cloud Shell Terminal (untuk "ya"), lalu tekan Return.
Catatan: Deployment akan memerlukan waktu sekitar 5—10 menit. Jika Anda mengalami error PERMISSION_DENIED, coba jalankan kembali perintah di atas.
Output yang diharapkan:
Anda akan melihat langkah-langkah terkait proses membangun Dockerfile dan men-deploy container, lalu men-deploy layanan, yang diikuti dengan:
Service [illustration-agent] revision [illustration-agent-00001-xpp] has been deployed and is serving 100 percent of traffic.
Service URL: https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app
Klik Periksa progres saya untuk memverifikasi tujuan.
Men-deploy Agen sebagai Server A2A.
Tugas 4. Memungkinkan agen ADK lain agar dapat memanggil agen ini dari jarak jauh
Di tugas ini, Anda akan memberi agen ADK kedua kemampuan untuk mengidentifikasi kapabilitas agen ilustrasi Anda dan memanggilnya dari jarak jauh. Agen kedua ini akan menjadi agen yang bertugas membuat konten untuk slide. Agen ini akan menulis judul dan beberapa kalimat teks isi, lalu mentransfernya ke agen ilustrasi untuk membuat gambar yang mengilustrasikan teks tersebut.
-
Di Cloud Shell Terminal, jalankan perintah berikut untuk menyalin file JSON Kartu Agen ke direktori adk_and_a2a Anda dan mengubah namanya untuk menunjukkan bahwa file tersebut mewakili illustration_agent.
cp illustration_agent/agent.json illustration-agent-card.json
-
Di panel file explorer Cloud Shell Editor, buka adk_and_a2a/slide_content_agent, lalu buka file agent.py.
Tinjau instruction agen ini untuk melihat apakah agen akan mempertimbangkan saran pengguna untuk membuat slide serta menulis teks judul & isi, lalu mentransfernya ke agen A2A Anda untuk mengilustrasikan slide.
-
Tempel kode berikut di bawah header # Agents untuk menambahkan agen jarak jauh menggunakan class RemoteA2aAgent dari ADK:
illustration_agent = RemoteA2aAgent(
name="illustration_agent",
description="Agent that generates illustrations.",
agent_card=(
"illustration-agent-card.json"
),
)
-
Tambahkan illustration_agent sebagai sub-agen root_agent dengan menambahkan parameter berikut ke root_agent:
sub_agents=[illustration_agent]
-
Simpan file dengan mengklik tombol Save.
-
Luncurkan UI dari Cloud Shell Terminal dengan:
cd ~/adk_and_a2a
adk web
-
Sekali lagi, klik link http://127.0.0.1:8000 di output Terminal.
-
Tab browser baru akan terbuka dengan UI Dev ADK. Dari dropdown Select an agent di sebelah kiri, pilih slide_content_agent dari dropdown.
-
Buat kueri ke agen dengan ide untuk slide:
Create content for a slide about our excellent on-the-job training.
Anda akan melihat output berikut:
- Judul dan teks isi yang ditulis oleh slide_content_agent itu sendiri
- Panggilan ke transfer_to_agent, yang menunjukkan transfer ke illustration_agent
- Respons dari illustration_agent dengan link yang dapat Anda klik untuk melihat gambar baru.

Klik Periksa progres saya untuk memverifikasi tujuan.
Memungkinkan agen ADK lain memanggil agen dari jarak jauh.
Selamat!
Di lab ini, Anda telah men-deploy agen ADK sebagai Server A2A, menyiapkan Kartu Agen JSON untuk mendeskripsikan kapabilitas agen A2A, dan memungkinkan agen ADK lain membaca Kartu Agen dari agen A2A yang di-deploy dan menggunakannya sebagai sub-agen
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 6 Oktober 2025
Lab Terakhir Diuji pada 6 Oktober 2025
Hak cipta 2020 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.