Panduan memulai: Mem-build agen dengan Agent Development Kit

Panduan memulai ini memandu Anda menyiapkan project Google Cloud , menginstal Agent Development Kit (ADK), menyiapkan agen dasar, dan menjalankan antarmuka pengguna developer-nya.

Panduan memulai ini mengasumsikan bahwa Anda menggunakan IDE lokal (VS Code, PyCharm, dll.) dengan Python 3.10+ dan akses terminal. Agen berjalan sepenuhnya di mesin Anda, yang direkomendasikan untuk pengembangan aplikasi lokal.

Sebelum memulai

Selesaikan langkah-langkah berikut:

Menyiapkan project Google Cloud

Siapkan Google Cloud project Anda dan aktifkan Vertex AI API.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

Menyiapkan kredensial

Di terminal lokal, siapkan dan lakukan autentikasi dengan Google Cloud CLI. Jika Anda sudah terbiasa dengan Gemini API di Google AI Studio, perhatikan bahwa Vertex AI Gemini API menggunakan Identity and Access Management, bukan kunci API, untuk mengelola akses.

  1. Instal dan lakukan inisialisasiGoogle Cloud CLI.

  2. Jika sebelumnya Anda telah menginstal gcloud CLI, pastikan komponen gcloud Anda diupdate dengan menjalankan perintah ini.

    gcloud components update
  3. Jalankan perintah berikut untuk membuat file Application Default Credentials (ADC) lokal. Agen Anda akan menggunakan kredensial ini untuk mengakses Vertex AI selama pengembangan aplikasi lokal.

    gcloud auth application-default login

    Untuk informasi selengkapnya, lihat Menyiapkan Kredensial Default Aplikasi.

Menyiapkan lingkungan virtual dan menginstal ADK

  • Buat dan aktifkan lingkungan virtual (Direkomendasikan):

    # Create
    python -m venv .venv
    # Activate (uncomment the line relevant to your environment)
    # macOS/Linux: source .venv/bin/activate
    # Windows CMD: .venv\Scripts\activate.bat
    # Windows PowerShell: .venv\Scripts\Activate.ps1
    
  • Instal ADK:

    pip install google-adk
    

Membuat agen

Dengan menggunakan terminal, buat struktur folder:

mkdir multi_tool_agent/
touch \
multi_tool_agent/__init__.py \
multi_tool_agent/agent.py \
multi_tool_agent/.env

Struktur Anda:

parent_folder/
    multi_tool_agent/
        __init__.py
        agent.py
        .env

Salin dan tempel kode berikut ke dalam tiga file berikut yang Anda buat:

__init__.py

from . import agent

.env

# If using Gemini via Vertex AI on Google CLoud
GOOGLE_CLOUD_PROJECT="your-project-id"
GOOGLE_CLOUD_LOCATION="your-location" #e.g. us-central1
GOOGLE_GENAI_USE_VERTEXAI="True"

agent.py

from google.adk.agents import Agent

def get_weather(city: str) -> dict:
    """Retrieves the current weather report for a specified city.

    Returns:
        dict: A dictionary containing the weather information with a 'status' key ('success' or 'error') and a 'report' key with the weather details if successful, or an 'error_message' if an error occurred.
    """
    if city.lower() == "new york":
        return {"status": "success",
                "report": "The weather in New York is sunny with a temperature of 25 degrees Celsius (41 degrees Fahrenheit)."}
    else:
        return {"status": "error",
                "error_message": f"Weather information for '{city}' is not available."}

def get_current_time(city:str) -> dict:
    """Returns the current time in a specified city.

    Args:
        dict: A dictionary containing the current time for a specified city information with a 'status' key ('success' or 'error') and a 'report' key with the current time details in a city if successful, or an 'error_message' if an error occurred.
    """
    import datetime
    from zoneinfo import ZoneInfo

    if city.lower() == "new york":
        tz_identifier = "America/New_York"
    else:
        return {"status": "error",
                "error_message": f"Sorry, I don't have timezone information for {city}."}

    tz = ZoneInfo(tz_identifier)
    now = datetime.datetime.now(tz)
    return {"status": "success",
            "report": f"""The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}"""}

root_agent = Agent(
    name="weather_time_agent",
    model="gemini-2.0-flash",
    description="Agent to answer questions about the time and weather in a city.",
    instruction="I can answer your questions about the time and weather in a city.",
    tools=[get_weather, get_current_time]
)

Agen dilengkapi dengan dua alat fungsi dengan implementasi tiruan.

Menjalankan dan menguji agen

  1. Di terminal, buka direktori induk agen (misalnya, menggunakan cd ..):

    parent_folder/      <-- navigate to this directory
        multi_tool_agent/
            __init__.py
            agent.py
            .env
    
  2. Jalankan perintah berikut untuk meluncurkan UI Web developer.

    adk web
    

    Buka URL yang diberikan (biasanya http://localhost:8000 atau http://127.0.0.1:8000) di browser Anda. Koneksi ini sepenuhnya tetap berada di komputer lokal Anda. Pilih multi_tool_agent dan berinteraksi dengan agen.

Contoh perintah yang dapat dicoba

Anda dapat mencoba perintah berikut:

  • Bagaimana cuaca di New York?
  • Jam berapa sekarang di New York?
  • Bagaimana cuaca di Bandung?
  • Sekarang jam berapa di Paris?

Langkah berikutnya