1. Pengantar
Lab ini berfokus pada penerapan dan deployment layanan agen klien. Anda akan menggunakan Agent Development Kit (ADK) untuk membangun agen AI yang menggunakan alat jarak jauh seperti server MCP yang dibuat di Lab 1. Prinsip arsitektur utama yang ditunjukkan adalah pemisahan fokus, dengan lapisan penalaran yang berbeda (agen) berkomunikasi dengan lapisan alat yang berbeda (server MCP) melalui API yang aman.
Di lab 1, Anda membuat server MCP yang menyediakan data tentang hewan di kebun binatang fiktif ke LLM, misalnya saat menggunakan Gemini CLI. Di lab ini, kita akan membuat agen pemandu wisata untuk kebun binatang fiktif. Agen akan menggunakan server MCP yang sama dari lab 1 untuk mengakses detail tentang hewan kebun binatang, dan juga menggunakan wikipedia untuk menciptakan pengalaman pemandu wisata terbaik.
Terakhir, kita akan men-deploy agen pemandu wisata ke Google Cloud Run, sehingga dapat diakses oleh semua pengunjung kebun binatang, bukan hanya berjalan secara lokal.
Prasyarat
- Server MCP yang berjalan di Cloud Run atau URL Layanan terkait.
- Project Google Cloud yang mengaktifkan penagihan.
Yang akan Anda pelajari
- Cara menyusun project Python untuk deployment ADK.
- Cara menerapkan agen yang menggunakan alat dengan google-adk.
- Cara menghubungkan agen ke server MCP jarak jauh untuk toolset-nya.
- Cara men-deploy aplikasi Python sebagai container serverless ke Cloud Run.
- Cara mengonfigurasi autentikasi service-to-service yang aman menggunakan peran IAM.
- Cara menghapus resource Cloud untuk menghindari biaya di masa mendatang.
Yang Anda butuhkan
- Akun Google Cloud dan Project Google Cloud
- Browser web seperti Chrome
2. Mengapa men-deploy ke Cloud Run?
Cloud Run adalah pilihan yang tepat untuk menghosting agen ADK karena merupakan platform serverless, yang berarti Anda dapat berfokus pada kode, bukan pada pengelolaan infrastruktur yang mendasarinya. Kami menangani pekerjaan operasional untuk Anda.
Anggap saja seperti toko sementara: toko ini hanya membuka dan menggunakan resource saat pelanggan (permintaan) datang. Jika tidak ada pelanggan, toko akan ditutup sepenuhnya, dan Anda tidak perlu membayar toko yang kosong.
Fitur Utama
Menjalankan Container di Mana Saja:
- Anda membawa container (image Docker) yang berisi aplikasi Anda.
- Cloud Run menjalankannya di infrastruktur Google.
- Tidak perlu repot melakukan patching OS, penyiapan VM, atau penskalaan.
Penskalaan Otomatis:
- Jika 0 orang menggunakan aplikasi Anda → 0 instance berjalan (Anda membayar $0 saat tidak ada aktivitas).
- Jika 1.000 permintaan masuk → maka akan diluncurkan salinan sebanyak yang diperlukan.
Stateless secara Default:
- Setiap permintaan dapat ditujukan ke instance yang berbeda.
- Jika Anda perlu menyimpan status, gunakan layanan eksternal seperti Cloud SQL, Firestore, atau Redis.
Mendukung Bahasa atau Framework Apa Pun:
- Selama berjalan di container Linux, Cloud Run tidak peduli apakah itu Python, Go, Node.js, Java, atau .Net.
Bayar Sesuai Penggunaan:
- Ditagih per permintaan + waktu komputasi (hingga 100 md).
- Anda tidak membayar resource yang tidak digunakan seperti pada VM tradisional.
3. Penyiapan dan Persyaratan
Penyiapan lingkungan mandiri
- Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.
- Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai
PROJECT_ID
). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project. - Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
Mulai Cloud Shell
Buka Cloud Shell Editor
Jika terminal tidak muncul di bagian bawah layar, buka terminal:
- Klik Terminal
- Klik New Terminal
Di terminal, tetapkan project Anda dengan perintah ini. Jika Anda telah menyelesaikan lab 1, pastikan Anda menggunakan project ID yang sama:
gcloud config set project [YOUR-PROJECT-ID]
Jika tidak ingat project ID, Anda dapat mencantumkan semua project ID dengan:
gcloud projects list | awk '/PROJECT_ID/{print $2}'
4. Jika diminta untuk memberikan otorisasi, klik Authorize untuk melanjutkan.
5. Anda akan melihat pesan ini:
Updated property [core/project].
If you see a `WARNING` and are asked `Do you want to continue (Y/n)?`,
then you have likely entered the project ID incorrectly. Press `n`,
press `Enter`, and try to run the `gcloud config set project` command again.
4. Sebelum memulai
Mengaktifkan API dan menetapkan variabel lingkungan
Aktifkan semua layanan yang diperlukan:
gcloud services enable \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
aiplatform.googleapis.com \
compute.googleapis.com
Output yang diharapkan
Operation "operations/acat.p2-[GUID]" finished successfully.
Konfigurasi region default Anda untuk menggunakan model embedding Vertex AI. Baca selengkapnya tentang lokasi yang tersedia untuk Vertex AI. Dalam contoh ini, kita menggunakan region europe-west1.
gcloud config set compute/region europe-west1
5. Mendownload dan menginstal ADK serta membuat folder project
Buat direktori project.
Perintah ini membuat folder utama untuk lab bagi kode sumber agen.
cd && mkdir zoo_guide_agent && cd zoo_guide_agent
Buat lingkungan virtual.
python3 -m venv .venv
Aktifkan lingkungan virtual
source .venv/bin/activate
Buat file requirements.txt
. File ini mencantumkan library Python yang dibutuhkan agen Anda. Perintah berikut akan membuat file dan mengisinya.
cloudshell edit requirements.txt
google-adk==1.12.0
langchain-community
wikipedia
Anda harus menjalankan perintah dari direktori project utama, zoo_guide_agent
.
pip install -r requirements.txt
Tetapkan variabel untuk project, region, dan pengguna saat ini. Ini adalah cara yang lebih efektif untuk menjalankan perintah ini.
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_REGION=$(gcloud config get-value compute/region)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export SERVICE_ACCOUNT="${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
Buat dan buka file .env
untuk mengautentikasi agen di direktori zoo_guide_agent
.
cloudshell edit .env
Perintah edit cloudshell akan membuka file .env
di editor di atas terminal. Masukkan perintah berikut dalam file .env
, lalu kembali ke terminal.
MODEL="gemini-2.5-flash"
SERVICE_ACCOUNT="${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
Menambahkan URL server MCP. Jika Anda telah menyelesaikan lab 1, ikuti langkah-langkah berikut untuk menggunakan server MCP yang Anda buat di lab 1:
- Beri identitas layanan Cloud Run izin untuk memanggil server MCP jarak jauh
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT" \
--role="roles/run.invoker"
- Simpan URL server MCP dari Lab 1 ke variabel lingkungan.
echo -e "\nMCP_SERVER_URL=https://zoo-mcp-server-${PROJECT_NUMBER}.europe-west1.run.app/mcp/" >> .env
Jika Anda menggunakan link server MCP publik, jalankan perintah berikut, dan ganti PROJECT_NUMBER
dengan yang disediakan.
echo -e "\nMCP_SERVER_URL=https://zoo-mcp-server-${PROJECT_NUMBER}.europe-west1.run.app/mcp/" >> .env
6. Membuat Alur Kerja Agen
Buat init.py file
Buat file init.py. File ini memberi tahu Python bahwa direktori zoo_guide_agent adalah paket.
cloudshell edit __init__.py
Perintah di atas akan membuka editor kode. Tambahkan kode berikut ke __init__.py
:
from . import agent
Buat file main agent.py
Buat file agent.py utama. Perintah ini akan membuat file Python dan menempelkan kode lengkap untuk sistem multi-agen Anda.
cloudshell edit agent.py
Langkah 1: Impor dan Penyiapan Awal
Blok pertama ini akan memuat semua library yang diperlukan dari ADK dan Google Cloud. File ini juga menyiapkan logging dan memuat variabel lingkungan dari file .env
Anda, yang sangat penting untuk mengakses model dan URL server Anda.
Tambahkan kode berikut ke file agent.py Anda:
import os
import logging
import google.cloud.logging
from dotenv import load_dotenv
from google.adk import Agent
from google.adk.agents import SequentialAgent
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset, StreamableHTTPConnectionParams
from google.adk.tools.tool_context import ToolContext
from google.adk.tools.langchain_tool import LangchainTool
from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper
import google.auth
import google.auth.transport.requests
import google.oauth2.id_token
# --- Setup Logging and Environment ---
cloud_logging_client = google.cloud.logging.Client()
cloud_logging_client.setup_logging()
load_dotenv()
model_name = os.getenv("MODEL")
Langkah 2: Menentukan Alat (Kemampuan Agen)
Kualitas agen bergantung pada kualitas alat yang dapat digunakannya. Di bagian ini, kita akan menentukan semua kemampuan yang akan dimiliki agen kita, termasuk fungsi kustom untuk menyimpan data, Alat MCP yang terhubung ke server MCP aman kita bersama dengan Alat Wikipedia.
Tambahkan kode berikut ke bagian bawah agent.py:
# Greet user and save their prompt
def add_prompt_to_state(
tool_context: ToolContext, prompt: str
) -> dict[str, str]:
"""Saves the user's initial prompt to the state."""
tool_context.state["PROMPT"] = prompt
logging.info(f"[State updated] Added to PROMPT: {prompt}")
return {"status": "success"}
# Configuring the MCP Tool to connect to the Zoo MCP server
mcp_server_url = os.getenv("MCP_SERVER_URL")
if not mcp_server_url:
raise ValueError("The environment variable MCP_SERVER_URL is not set.")
def get_id_token():
"""Get an ID token to authenticate with the MCP server."""
target_url = os.getenv("MCP_SERVER_URL")
audience = target_url.split('/mcp/')[0]
request = google.auth.transport.requests.Request()
id_token = google.oauth2.id_token.fetch_id_token(request, audience)
return id_token
"""
# Use this code if you are using the public MCP Server and comment out the code below defining mcp_tools
mcp_tools = MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url=mcp_server_url
)
)
"""
mcp_tools = MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url=mcp_server_url,
headers={
"Authorization": f"Bearer {get_id_token()}",
},
),
)
# Configuring the Wikipedia Tool
wikipedia_tool = LangchainTool(
tool=WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper())
)
Penjelasan Tiga Alat
add_prompt_to_state
📝
Alat ini mengingat pertanyaan pengunjung kebun binatang. Saat pengunjung bertanya, "Di mana singanya?", alat ini menyimpan pertanyaan spesifik tersebut ke dalam memori agen sehingga agen lain dalam alur kerja tahu apa yang harus diteliti.
Cara: Ini adalah fungsi Python yang menulis perintah pengunjung ke dalam kamus tool_context.state
bersama. Konteks alat ini merepresentasikan memori jangka pendek agen untuk satu percakapan. Data yang disimpan ke status oleh satu agen dapat dibaca oleh agen berikutnya dalam alur kerja.
MCPToolset
🦁
Ini digunakan untuk menghubungkan agen pemandu wisata ke server MCP kebun binatang yang dibuat di Lab 1. Server ini memiliki alat khusus untuk mencari informasi tertentu tentang hewan kami, seperti nama, usia, dan kandangnya.
Cara: Terhubung dengan aman ke URL server pribadi kebun binatang. Aplikasi ini menggunakan get_id_token
untuk otomatis mendapatkan "kartu kunci" yang aman (token ID akun layanan) untuk membuktikan identitasnya dan mendapatkan akses.
LangchainTool
🌍
Hal ini memberikan pengetahuan umum tentang dunia kepada agen pemandu wisata. Jika pengunjung mengajukan pertanyaan yang tidak ada dalam database kebun binatang, seperti "Apa yang dimakan singa di alam liar?", alat ini memungkinkan agen mencari jawabannya di Wikipedia.
Cara: Berfungsi sebagai adaptor, sehingga memungkinkan agen kita menggunakan alat WikipediaQueryRun bawaan dari library LangChain.
Resource:
Langkah 3: Menentukan Agen Spesialis
Selanjutnya, kita akan menentukan agen peneliti dan agen pemformat respons. Agen peneliti adalah "otak" operasi kami. Agen ini mengambil perintah pengguna dari State
bersama, memeriksa alat canggihnya (Alat Server MCP Zoo dan Alat Wikipedia), dan memutuskan alat mana yang akan digunakan untuk menemukan jawabannya.
Peran agen pemformat respons adalah presentasi. Tidak menggunakan alat apa pun untuk menemukan informasi baru. Sebagai gantinya, fitur ini mengambil data mentah yang dikumpulkan oleh agen Peneliti (diteruskan melalui Status) dan menggunakan kemampuan bahasa LLM untuk mengubahnya menjadi respons percakapan yang ramah.
Tambahkan kode berikut ke bagian bawah agent.py
:
# 1. Researcher Agent
comprehensive_researcher = Agent(
name="comprehensive_researcher",
model=model_name,
description="The primary researcher that can access both internal zoo data and external knowledge from Wikipedia.",
instruction="""
You are a helpful research assistant. Your goal is to fully answer the user's PROMPT.
You have access to two tools:
1. A tool for getting specific data about animals AT OUR ZOO (names, ages, locations).
2. A tool for searching Wikipedia for general knowledge (facts, lifespan, diet, habitat).
First, analyze the user's PROMPT.
- If the prompt can be answered by only one tool, use that tool.
- If the prompt is complex and requires information from both the zoo's database AND Wikipedia,
you MUST use both tools to gather all necessary information.
- Synthesize the results from the tool(s) you use into preliminary data outputs.
PROMPT:
{{ PROMPT }}
""",
tools=[
mcp_tools,
wikipedia_tool
],
output_key="research_data" # A key to store the combined findings
)
# 2. Response Formatter Agent
response_formatter = Agent(
name="response_formatter",
model=model_name,
description="Synthesizes all information into a friendly, readable response.",
instruction="""
You are the friendly voice of the Zoo Tour Guide. Your task is to take the
RESEARCH_DATA and present it to the user in a complete and helpful answer.
- First, present the specific information from the zoo (like names, ages, and where to find them).
- Then, add the interesting general facts from the research.
- If some information is missing, just present the information you have.
- Be conversational and engaging.
RESEARCH_DATA:
{{ research_data }}
"""
)
Langkah 4: Agen Alur Kerja
Agen alur kerja bertindak sebagai pengelola 'back office' untuk tur ke kebun binatang. Alur kerja ini mengambil permintaan riset dan memastikan kedua agen yang kita definisikan di atas melakukan tugasnya dalam urutan yang benar: pertama riset, lalu pemformatan. Hal ini menciptakan proses yang dapat diprediksi dan andal untuk menjawab pertanyaan pengunjung.
Cara: Ini adalah SequentialAgent
, jenis agen khusus yang tidak berpikir sendiri. Satu-satunya tugasnya adalah menjalankan daftar sub_agents
(peneliti dan pemformat) dalam urutan tetap, dengan otomatis meneruskan memori bersama dari satu ke yang berikutnya.
Tambahkan blok kode ini ke bagian bawah agent.py
:
tour_guide_workflow = SequentialAgent(
name="tour_guide_workflow",
description="The main workflow for handling a user's request about an animal.",
sub_agents=[
comprehensive_researcher, # Step 1: Gather all data
response_formatter, # Step 2: Format the final response
]
)
Langkah Terakhir: Merakit Alur Kerja Utama 
Agen ini ditetapkan sebagai root_agent
, yang digunakan framework ADK sebagai titik awal untuk semua percakapan baru. Peran utamanya adalah mengatur keseluruhan proses. Agen ini bertindak sebagai pengontrol awal, yang mengelola giliran pertama percakapan.
Tambahkan blok kode terakhir ini ke bagian bawah agent.py
:
root_agent = Agent(
name="greeter",
model=model_name,
description="The main entry point for the Zoo Tour Guide.",
instruction="""
- Let the user know you will help them learn about the animals we have in the zoo.
- When the user responds, use the 'add_prompt_to_state' tool to save their response.
After using the tool, transfer control to the 'tour_guide_workflow' agent.
""",
tools=[add_prompt_to_state],
sub_agents=[tour_guide_workflow]
)
File agent.py
Anda kini telah selesai. Dengan membangunnya seperti ini, Anda dapat melihat bagaimana setiap komponen—alat, agen pekerja, dan agen pengelola—memiliki peran tertentu dalam menciptakan sistem akhir yang cerdas. Berikutnya, deployment.
7. Menyiapkan aplikasi untuk deployment
Setelah lingkungan lokal Anda siap, langkah selanjutnya adalah menyiapkan project Google Cloud untuk deployment. Hal ini melibatkan pemeriksaan akhir struktur file agen Anda untuk memastikan kompatibilitasnya dengan perintah deployment. Yang lebih penting lagi, Anda mengonfigurasi izin IAM penting yang memungkinkan layanan Cloud Run yang di-deploy bertindak atas nama Anda dan memanggil model Vertex AI. Dengan menyelesaikan langkah ini, lingkungan cloud akan siap menjalankan agen Anda dengan berhasil.
Muat variabel ke sesi shell Anda dengan menjalankan perintah source.
source .env
Berikan peran Vertex AI User ke akun layanan, yang memberinya izin untuk membuat prediksi dan memanggil model Google.
# Grant the "Vertex AI User" role to your service account
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT" \
--role="roles/aiplatform.user"
8. Men-deploy agen menggunakan ADK CLI
Setelah kode lokal siap dan project Google Cloud disiapkan, saatnya men-deploy agen. Anda akan menggunakan perintah adk deploy cloud_run
, alat praktis yang mengotomatiskan seluruh alur kerja deployment. Satu perintah ini akan mengemas kode Anda, membangun image container, mengirimkannya ke Artifact Registry, dan meluncurkan layanan di Cloud Run, sehingga dapat diakses di web.
Buat file .gcloudignore
Untuk mengurangi waktu deployment, kita perlu membuat file .gcloudignore
. Jalankan perintah berikut untuk melakukannya. Perintah berikut untuk men-deploy agen Anda.
cloudshell edit .gcloudignore
Perintah edit cloudshell akan membuka file .gcloudignore
di editor di atas terminal. Tulis kode berikut dalam file, lalu simpan. Kemudian, kembali ke terminal untuk menjalankan perintah deployment di bagian berikutnya.
.venv/
Deploy
Jalankan perintah berikut untuk men-deploy agen Anda.
# Run the deployment command
adk deploy cloud_run \
--project=$PROJECT_ID \
--region=europe-west1 \
--service_name=zoo-tour-guide \
--with_ui \
.
gcloud run services update zoo-tour-guide \
--region=europe-west1 \
--update-labels=dev-tutorial=codelab-adk
Menerima Perintah
Anda mungkin diminta untuk melakukan hal berikut:
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [europe-west1] will be created. Do you want to continue (Y/n)?
Ketik Y, lalu tekan ENTER.
Anda mungkin diminta untuk melakukan hal berikut:
Allow unauthenticated invocations to [your-service-name] (y/N)?.
Untuk lab ini, kita ingin mengizinkan pemanggilan yang tidak diautentikasi agar pengujian menjadi mudah. Ketik y
, lalu tekan Enter.
Mendapatkan Link Deployment
Setelah berhasil dieksekusi, perintah akan memberikan URL layanan Cloud Run yang di-deploy. (Tampilannya akan seperti https://zoo-tour-guide-123456789.europe-west1.run.app). Salin URL ini untuk tugas berikutnya.
9. Menguji agen yang di-deploy
Setelah agen Anda aktif di Cloud Run, Anda akan melakukan pengujian untuk mengonfirmasi bahwa deployment berhasil dan agen berfungsi seperti yang diharapkan. Anda akan menggunakan URL Layanan publik (seperti https://zoo-tour-guide-123456789.europe-west1.run.app/) untuk mengakses antarmuka web ADK dan berinteraksi dengan agen.
Buka URL Layanan Cloud Run publik di browser web Anda. Karena Anda menggunakan --with_ui flag
, Anda akan melihat UI developer ADK.
Aktifkan Token Streaming
di kanan atas.
Sekarang Anda dapat berinteraksi dengan agen Zoo.
Ketik hello
, lalu tekan enter untuk memulai percakapan baru.
Amati hasilnya. Agen harus merespons dengan cepat dengan sapaannya:
"Hello! I'm your Zoo Tour Guide. I can help you learn about the amazing animals we have here. What would you like to know or explore today?"
Penjelasan Alur Agen
Sistem Anda beroperasi sebagai tim multi-agen yang cerdas. Proses ini dikelola oleh urutan yang jelas untuk memastikan alur yang lancar dan efisien dari pertanyaan pengguna hingga jawaban akhir yang mendetail.
1. Penyambut di Kebun Binatang (Meja Informasi)
Seluruh proses dimulai dengan agen penyambut.
Tugasnya: Memulai percakapan. Instruksinya adalah menyapa pengguna dan menanyakan hewan apa yang ingin dipelajari.
Alatnya: Saat pengguna membalas, Greeter menggunakan alat add_prompt_to_state untuk merekam kata-kata persisnya (misalnya, "tell me about the lions") dan menyimpannya di memori sistem.
Penyerahan: Setelah menyimpan perintah, perintah tersebut akan langsung meneruskan kontrol ke sub-agennya, tour_guide_workflow.
2. Peneliti Komprehensif (Peneliti Super)
Ini adalah langkah pertama dalam alur kerja utama dan "otak" operasi. Daripada memiliki tim besar, kini Anda memiliki satu agen yang sangat terampil yang dapat mengakses semua informasi yang tersedia.
Tugasnya: Menganalisis pertanyaan pengguna dan membuat rencana yang cerdas. Model ini menggunakan kemampuan penggunaan alat yang canggih dari model bahasa untuk memutuskan apakah model tersebut memerlukan:
- Data internal dari catatan kebun binatang (melalui Server MCP).
- Pengetahuan umum dari web (melalui Wikipedia API).
- Atau, untuk pertanyaan yang kompleks, keduanya.
Tindakannya: Mengeksekusi alat yang diperlukan untuk mengumpulkan semua data mentah yang diperlukan. Misalnya, jika ditanya "Berapa usia singa kita dan apa yang mereka makan di alam liar?", Gemini akan memanggil server MCP untuk mengetahui usia dan alat Wikipedia untuk mengetahui informasi diet.
3. Pemformat Respons (Presenter)
Setelah Peneliti Komprehensif mengumpulkan semua fakta, agen ini adalah agen terakhir yang akan dijalankan.
Tugasnya: Berperan sebagai pemandu Tur Kebun Binatang yang ramah. Proses ini mengambil data mentah (yang dapat berasal dari satu atau kedua sumber) dan memolesnya.
Tindakannya: Menggabungkan semua informasi menjadi satu jawaban yang kohesif dan menarik. Dengan mengikuti petunjuknya, ia terlebih dahulu menyajikan informasi kebun binatang tertentu, lalu menambahkan fakta umum yang menarik.
Hasil Akhir: Teks yang dihasilkan oleh agen ini adalah jawaban lengkap dan mendetail yang dilihat pengguna di jendela chat.
Jika Anda tertarik untuk mempelajari lebih lanjut cara membuat Agen, lihat referensi berikut:
10. Membersihkan lingkungan
gcloud run services delete zoo-tour-guide --region=europe-west1 --quiet
gcloud artifacts repositories delete cloud-run-source-deploy --location=europe-west1 --quiet
11. Selamat
Selamat, Anda telah menyelesaikan codelab.
Yang telah kita bahas
- Cara menyusun project Python untuk deployment dengan antarmuka command line ADK.
- Cara menerapkan alur kerja multi-agen menggunakan SequentialAgent dan ParallelAgent.
- Cara terhubung ke server MCP jarak jauh menggunakan MCPToolset untuk menggunakan alatnya.
- Cara meningkatkan kualitas data internal dengan mengintegrasikan alat eksternal seperti Wikipedia API.
- Cara men-deploy agen sebagai container serverless ke Cloud Run menggunakan perintah deploy adk.
12. Survei
Output: