Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Membangun Agen AI dan Mengonfigurasi Server MCP di Cloud Run

Lab 1 jam 30 menit universal_currency_alt 3 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP1350

Logo lab mandiri Google Cloud

Ringkasan

Lab ini berfokus pada implementasi dan deployment layanan agen klien menggunakan Agent Development Kit (ADK) untuk membangun agen AI yang menggunakan alat-alat jarak jauh seperti server MCP. Prinsip arsitektur utama yang ditunjukkan dalam lab ini adalah pemisahan masalah, dengan lapisan penalaran yang berbeda (agen) berkomunikasi dengan lapisan alat yang berbeda (server MCP) melalui API yang aman.

Server MCP telah di-deploy sebelumnya untuk Anda di lab ini yang menyediakan data tentang hewan di kebun binatang fiktif ke LLM, misalnya saat menggunakan Gemini CLI. Di lab ini, Anda kemudian akan membangun agen pemandu wisata, yang terdiri dari aplikasi Python, untuk kebun binatang fiktif. Agen tersebut kemudian menggunakan server MCP untuk mengakses detail tentang hewan kebun binatang, dan juga menggunakan Wikipedia untuk menciptakan pengalaman pemandu wisata terbaik.

f8d4423edbfe993d.png

Terakhir, Anda men-deploy agen pemandu wisata ke Google Cloud Run, sehingga dapat diakses oleh semua pengunjung kebun binatang, dan 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

Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:

  • Menyusun project Python untuk deployment ADK.
  • Mengimplementasikan agen yang menggunakan alat dengan google-adk.
  • Menghubungkan agen ke server MCP jarak jauh untuk rangkaian alatnya.
  • Men-deploy aplikasi Python sebagai container serverless ke Cloud Run.
  • Mengonfigurasi autentikasi layanan ke layanan yang aman menggunakan peran IAM.
  • Hapus resource Cloud untuk menghindari biaya di masa mendatang.

Yang akan Anda butuhkan

  • Akun Google Cloud dan Project Google Cloud
  • Browser web seperti Chrome

Mengapa harus 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 dan bukan pada pengelolaan infrastruktur yang mendasarinya. Cloud Run menangani pekerjaan operasional untuk Anda.

Anggap saja seperti toko pop-up: toko ini hanya buka 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 Cloud Run

Menjalankan container di mana saja

  • Anda membawa container (image Docker) yang berisi aplikasi Anda.
  • Cloud Run menjalankannya di infrastruktur Google.
  • Tidak ada patching OS, penyiapan VM, atau masalah penskalaan.

Penskalaan otomatis

  • Jika tidak ada orang yang menggunakan aplikasi Anda, tidak ada pula instance yang berjalan (Anda tidak membayar apa pun jika tidak ada aktivitas).
  • Jika ada 1.000 permintaan masuk, salinan sebanyak yang diperlukan itulah yang akan dibuat.

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 bisa menangani 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.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Mendownload dan menginstal ADK serta membuat folder project

Dalam tugas ini, Anda akan mengaktifkan API yang relevan dan membuat folder project untuk menyimpan kode sumber untuk deployment project Python Anda.

Mengaktifkan API dan menetapkan variabel lingkungan

  1. Di Cloud Shell, klik Open Editor untuk membuka Cloud Shell Editor ke direktori utama Anda.
  2. Di panel tindakan Cloud Shell Editor, klik View > Terminal.
Catatan: Anda mungkin harus memperpanjang jendela browser untuk melihat opsi menu View.

Gunakan jendela ini sebagai IDE Anda, dengan Cloud Shell Editor (atas) dan Cloud Shell Terminal (bawah), untuk sisa lab ini.

Tutup panel Gemini atau tutorial tambahan yang muncul di sisi kanan layar agar ruang jendela bagi editor kode Anda lebih besar.

  1. Di terminal, masukkan perintah berikut untuk menyiapkan project Anda:

    gcloud config set project {{{project_0.project_id | filled in at lab start}}}

    Output yang diharapkan: Anda akan mendapatkan pesan output yang mengonfirmasi properti yang diperbarui.

Catatan: Jika Cloud Shell waktu tunggunya habis atau dimulai ulang, Anda perlu menyiapkan project lagi.
  1. Jalankan perintah berikut untuk mengaktifkan 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: Anda akan mendapatkan pesan output yang mengonfirmasi bahwa operasi telah berhasil.

Klik Periksa progres saya untuk memverifikasi tujuan. Mengaktifkan API

Membuat direktori project

  1. Jalankan perintah berikut, yang akan membuat folder utama di lab untuk kode sumber agen:

    mkdir zoo_guide_agent && cd zoo_guide_agent
  2. Selanjutnya, jalankan perintah berikut untuk membuat lingkungan virtual:

    uv venv
  3. Jalankan perintah berikut untuk mengaktifkan lingkungan virtual:

    source .venv/bin/activate

Sekarang Anda siap membuat file requirements.txt. File ini mencantumkan library Python yang dibutuhkan oleh agen kebun binatang Anda.

  1. Jalankan perintah berikut untuk membuat file dalam direktori zoo_guide_agent dan meluncurkannya di Cloud Shell Editor agar Anda dapat mengedit file tersebut:

    cloudshell edit requirements.txt
  2. Tambahkan yang berikut ke file requirements.txt dan tekan CTRL+S untuk menyimpan perubahan Anda:

    google-adk==1.12.0 langchain-community wikipedia
  3. Jalankan perintah berikut di terminal agar pengelola paket uv menginstal paket Python Anda:

    uv pip install -r requirements.txt
  4. Tetapkan variabel untuk project, region, dan pengguna Anda saat ini dengan perintah berikut:

    export PROJECT_ID=$(gcloud config get-value project) export REGION=$(gcloud compute project-info describe \ --format="value(commonInstanceMetadata.items[google-compute-default-region])") export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") export SERVICE_ACCOUNT="${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
Catatan: Jika Cloud Shell waktu tunggunya habis atau dimulai ulang, Anda harus menginisialisasi ulang variabel di atas.
  1. Buat dan buka file .env untuk mengautentikasi agen di direktori zoo_guide_agent dengan perintah berikut:

    cloudshell edit .env

Direktori yang berisi file .env akan terbuka di Cloud Shell Editor.

  1. Tambahkan kode berikut ke file .env dan simpan perubahan Anda:

    MODEL="{{{ project_0.startup_script.gemini_flash_model_id | filled in at lab start }}}" SERVICE_ACCOUNT="${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"

Terhubung ke endpoint server MCP yang aman

Di bagian ini, Anda akan membuat koneksi ke server MCP jarak jauh Anda.

  1. Kembali ke terminal Cloud Shell dan jalankan perintah berikut untuk memberi 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"
  2. Jalankan perintah berikut untuk menyimpan URL server MCP ke variabel lingkungan:

    echo -e "\nMCP_SERVER_URL=https://zoo-mcp-server-${PROJECT_NUMBER}.${REGION}.run.app/mcp/" >> .env
  3. Selanjutnya, Anda akan membuat file __init__.py. File ini memberi tahu Python bahwa direktori zoo_guide_agent adalah sebuah paket:

    cloudshell edit __init__.py
  4. Di Cloud Shell Editor yang terbuka, tambahkan kode berikut ke __init__.py dan simpan perubahan Anda:

    from . import agent

Tugas 2. Membuat alur kerja agen

Dalam tugas ini, Anda akan mengonfigurasi alur kerja agen pemandu tur kebun binatang. Pertama, impor library yang relevan untuk penyiapan awal. Kemudian, tentukan kemampuan agen kebun binatang (alat yang digunakannya) dan tentukan agen spesialis. Setelah itu, tentukan agen alur kerja, dan terakhir, susunlah alur kerja utama.

Membuat file agent.py utama

  • Kembali ke terminal Cloud Shell dan jalankan perintah berikut untuk membuat file agent.py utama, yang akan membukanya di Cloud Shell Editor sehingga Anda dapat menempelkan kode lengkap untuk sistem multi-agen Anda di langkah-langkah berikutnya:

    cloudshell edit agent.py

Langkah 1: Mengimpor library dan melakukan penyiapan awal

Blok pertama ini membawa semua library yang diperlukan dari ADK dan Google Cloud. File ini juga menyiapkan logging dan memuat variabel lingkungan dari file .env Anda, yang fungsinya 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)

3eb9c6772576b906.jpeg

Kualitas agen bergantung pada alat yang dapat digunakannya. Di bagian ini, Anda akan menentukan semua kemampuan agen Anda, termasuk fungsi kustom untuk menyimpan data, alat MCP yang terhubung ke server MCP aman Anda, beserta 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 ketiga 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 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: 🦁Digunakan untuk menghubungkan agen pemandu wisata ke server MCP kebun binatang yang telah di-deploy sebelumnya di lab ini. Server ini memiliki alat khusus untuk mencari informasi spesifik tentang hewan kebun binatang, 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: 🌍Memberikan pengetahuan umum tentang dunia kepada agen pemandu wisata. Saat pengunjung mengajukan pertanyaan yang tidak ada di database kebun binatang, seperti "Apa makanan singa di alam liar?", alat ini memungkinkan agen mencari jawabannya di Wikipedia.

    Cara: Bertindak sebagai adaptor, yang memungkinkan agen Anda menggunakan alat WikipediaQueryRun yang telah dibuat sebelumnya dari library LangChain.

Referensi:

Langkah 3: Menentukan agen spesialis

b8a9504b21920969.jpeg

Di bagian ini, Anda akan menentukan dua agen spesialis, yaitu agen peneliti dan agen pemformat respons. Agen peneliti adalah "otak" dari operasi Anda. Agen ini mengambil perintah pengguna dari State bersama, memeriksa alat-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. Agen ini tidak menggunakan alat apa pun untuk menemukan informasi baru. Sebaliknya, agen ini mengambil data mentah yang dikumpulkan oleh agen Peneliti (diteruskan melalui State) dan menggunakan kemampuan bahasa LLM untuk mengubahnya menjadi respons percakapan yang mudah dipahami.

  • 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: Menentukan agen alur kerja

Agen alur kerja bertindak sebagai manajer 'back-office' untuk tur kebun binatang. Agen ini menerima permintaan riset dan memastikan kedua agen yang Anda tentukan di langkah 3 menjalankan tugasnya dalam urutan yang benar: riset terlebih dahulu, lalu pemformatan. Ini akan menciptakan proses yang dapat diprediksi dan andal untuk menjawab pertanyaan pengunjung kebun binatang.

Cara: Ini adalah SequentialAgent, jenis agen khusus yang tidak berpikir sendiri. Tugasnya hanyalah menjalankan daftar sub_agents (peneliti dan pemformat) dalam urutan tetap, dengan otomatis meneruskan memori bersama dari satu sub-agen ke sub-agen berikutnya.

  • Tambahkan blok kode berikut 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 5: Menyusun alur kerja utama

1000b9d20f4e134b.jpeg

Alur kerja utama ditetapkan melalui root_agent, yang digunakan framework ADK sebagai titik awal untuk semua percakapan baru. Peran utama agen ini adalah mengatur keseluruhan proses. Agen ini bertindak sebagai pengontrol awal, yang mengatur giliran pertama percakapan.

  • Tambahkan blok kode terakhir ini ke bagian bawah agent.py dan simpan perubahan Anda:

    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 sudah selesai.

Dengan membangunnya seperti ini, Anda dapat melihat bagaimana setiap komponen, yakni alat, agen pekerja, dan agen pengelola, memiliki peran khusus dalam menciptakan sistem akhir yang cerdas. Selanjutnya adalah deployment.

Tugas 3. Menyiapkan aplikasi untuk deployment

Setelah lingkungan lokal Anda siap, langkah berikutnya adalah menyiapkan project Google Cloud untuk deployment agen pemandu tur kebun binatang.

Ini melibatkan pemeriksaan akhir terhadap 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. Menyelesaikan langkah ini akan memastikan lingkungan cloud siap menjalankan agen Anda dengan sukses.

  1. Kembali ke terminal Cloud Shell dan jalankan perintah berikut untuk memuat variabel ke dalam sesi shell Anda:

    source .env
  2. Jalankan perintah berikut untuk memberikan peran Vertex AI User kepada akun layanan, yang memberikannya 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"

Tugas 4. Men-deploy agen menggunakan ADK CLI

Setelah kode lokal dan project Google Cloud Anda sudah siap semuanya, saatnya men-deploy agen.

Dalam tugas ini, Anda akan menggunakan perintah adk deploy cloud_run, yang merupakan alat praktis yang mengotomatiskan seluruh alur kerja deployment. Satu perintah ini mengemas kode Anda, membangun image container, mengirimkannya ke Artifact Registry, dan meluncurkan layanan di Cloud Run agar dapat diakses di web.

Men-deploy agen

  1. Jalankan perintah berikut untuk men-deploy agen Anda:

    # Run the deployment command adk deploy cloud_run \ --project=$PROJECT_ID \ --region=$REGION \ --service_name=zoo-tour-guide \ --with_ui \ .
  2. Jika Anda diminta untuk melanjutkan dan/atau mengizinkan pemanggilan yang tidak diautentikasi ke [zoo-tour-guide], ketik Y di setiap kasus, lalu tekan ENTER.

Catatan: Perintah deployment ini mungkin memerlukan waktu 5–10 menit untuk selesai dijalankan.
  1. Jalankan perintah berikut untuk memodifikasi setelan konfigurasi layanan Cloud Run yang ada:

    gcloud run services update zoo-tour-guide \ --region=$REGION \ --update-labels=dev-tutorial=codelab-adk

Mendapatkan link deployment

  • Setelah agen berhasil di-deploy ke Cloud Run, tekan CTRL+klik Service URL di output untuk membukanya di tab browser baru.

    Formatnya harus seperti berikut. Output URL layanan:

    https://zoo-tour-guide-{{{project_0.startup_script.project_number | filled in at lab start}}}.{{{project_0.default_region | filled in at lab start}}}.run.app

Karena Anda menggunakan flag --with_ui saat men-deploy ke Cloud Run, Anda akan melihat UI developer ADK.

Catatan: Siapa pun yang memiliki URL dapat mengakses agen ini, jadi pendekatan ini sebaiknya digunakan secara eksklusif untuk tujuan pengujian.

Klik Periksa progres saya untuk memverifikasi tujuan. Men-deploy Agen

Tugas 5. Menguji agen yang di-deploy

Dengan agen Anda yang kini aktif di Cloud Run, dalam tugas ini Anda akan melakukan pengujian untuk mengonfirmasi bahwa deployment berhasil dan agen berfungsi seperti yang diharapkan. Anda harus menggunakan URL Layanan publik untuk mengakses antarmuka web ADK dan berinteraksi dengan agen.

  1. Buka URL layanan Cloud Run publik yang dihasilkan di tugas sebelumnya di browser web Anda atau klik URL di output (URL akan terbuka di tab browser baru). Tindakan ini akan membuka UI developer ADK.

  2. Alihkan Token Streaming ke On di kanan atas toolbar ADK.

Sekarang Anda dapat berinteraksi dengan agen Zoo.

  1. Ketik hello di kotak perintah dan tekan ENTER untuk memulai percakapan baru.

    Amati hasilnya. Agen harus merespons dengan cepat menggunakan sapaan standarnya:

    "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?"
  2. Sekarang, berinteraksilah dengan agen pemandu kebun binatang. Masukkan kueri berikut untuk memulai percakapan baru:

    Where can I find penguins?

    Anda akan mendapatkan respons seperti berikut:

    3244d2f6c3b03088.png e135694253b1be41.png

Penjelasan alur agen

Sistem Anda beroperasi sebagai tim multi-agen yang cerdas. Prosesnya dikelola dengan urutan yang jelas untuk memastikan alur yang lancar dan efisien mulai dari pertanyaan pengguna hingga jawaban akhir yang mendetail.

1. The Zoo Greeter (The Welcome Desk)

Seluruh proses dimulai dengan agen penyambut.

Tugasnya: Memulai percakapan. Instruksinya adalah menyapa pengguna dan menanyakan hewan apa yang ingin mereka pelajari.

Alatnya: Saat pengguna membalas, Greeter menggunakan alat add_prompt_to_state untuk menangkap kata-kata persisnya (misalnya, "tell me about the lions") dan menyimpannya di memori sistem.

Pengalihan: Setelah menyimpan perintah, kontrol langsung dialihkan ke sub-agennya, tour_guide_workflow.

2. The Comprehensive Researcher (The Super-Researcher)

Ini adalah langkah pertama dalam alur kerja utama dan "otak" dari operasi. Alih-alih tim besar, kini Anda memiliki satu agen yang sangat terampil dan dapat mengakses semua informasi yang tersedia.

Tugasnya: Menganalisis pertanyaan pengguna dan membentuk rencana yang cerdas. Ini menggunakan kemampuan penggunaan alat yang canggih dari model bahasa untuk memutuskan apakah perlu:

  • Data internal dari catatan kebun binatang (melalui Server MCP).
  • Pengetahuan umum dari web (melalui Wikipedia API).
  • Atau keduanya jika menangani pertanyaan kompleks.

Tindakannya: Mengeksekusi alat yang diperlukan untuk mengumpulkan semua data mentah yang dibutuhkan. Misalnya, jika ditanya "How old are our lions and what do they eat in the wild?", agen ini akan memanggil server MCP menemukan usia dan alat Wikipedia untuk menemukan informasi makanan.

3. The Response Formatter (The Presenter)

Setelah Comprehensive Researcher mengumpulkan semua fakta, agen ini adalah agen terakhir yang dijalankan.

Tugasnya: Bertindak sebagai suara ramah Pemandu Tur Kebun Binatang. Data mentah (yang bisa berasal dari satu atau kedua sumber) akan diambil dan disempurnakan.

Tindakannya: Agen menyintesis semua informasi menjadi satu jawaban yang kohesif dan menarik. Sesuai dengan instruksinya, pertama-tama agen akan menyajikan informasi kebun binatang yang spesifik, 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.

Langkah berikutnya/Pelajari lebih lanjut

Jika Anda tertarik untuk mempelajari lebih lanjut cara membangun Agen, lihat referensi berikut:

Tugas 6. Membersihkan lingkungan

Dalam tugas ini, Anda akan menghapus resource Cloud yang Anda buat di lab ini untuk menghindari biaya di masa mendatang.

  • Kembali ke tab terminal Cloud Shell Anda dan jalankan perintah berikut:

    gcloud run services delete zoo-tour-guide --region=$REGION --quiet gcloud artifacts repositories delete cloud-run-source-deploy --location=$REGION --quiet

Selamat!

Di lab ini, Anda telah mempelajari cara menyusun project Python untuk deployment dengan antarmuka command line ADK, mengimplementasikan alur kerja multi-agen, terhubung ke server MCP jarak jauh untuk menggunakan alatnya, menambah data internal dengan mengintegrasikan alat eksternal seperti Wikipedia API, dan men-deploy agen sebagai container serverless ke Cloud Run.

Manual Terakhir Diperbarui pada 13 Oktober 2025

Lab Terakhir Diuji pada 13 Oktober 2025

Hak cipta 2026 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.