Menggunakan pendaftaran otomatis untuk agen

Dengan Agent Registry, Anda dapat mengonfigurasi pendaftaran otomatis untuk agen di runtime Google Cloud yang didukung sehingga developer dan agen orchestrator dapat menemukannya tanpa membuat resource registry secara manual. Bergantung pada runtime, pendaftaran terjadi secara default atau melalui langkah deployment keikutsertaan, dan metadata yang diindeks bergantung pada protokol implementasi.

Pendaftaran otomatis hanya menemukan resource yang didukung yang di-deploy dalam project tata kelola tempat Agent Registry diaktifkan. Untuk mendaftarkan agen jarak jauh yang di-deploy di projectGoogle Cloud lain, lihat Mendaftarkan agen dari project lain. Untuk agen jarak jauh yang dihosting secara eksternal atau di runtime yang tidak didukung, lihat Menggunakan pendaftaran manual untuk agen.

Metadata yang diindeks secara otomatis

Metadata dan kemampuan yang diindeks untuk agen selama pendaftaran otomatis bergantung pada apakah agen menerapkan protokol Agent2Agent (A2A):

  • Agen yang menerapkan protokol A2A: Agent Registry mengkueri Kartu Agen /.well-known/agent-card.json agen untuk otomatis mengekstrak keterampilan A2A dan kemampuannya yang diiklankan di Agent Registry.
  • Agen yang tidak menerapkan A2A protocol: Agent Registry mendaftarkan agen, tetapi tidak dapat otomatis mengambil metadata seperti URL endpoint tempat agen dihosting, Agent Identity, dan keterampilan A2A. Agen ini adalah agen yang mengekspos, misalnya, endpoint REST atau gRPC standar. Untuk mengaitkan kemampuan dengan agen non-A2A, gunakan pendaftaran manual atau daftarkan keterampilan.

Sebelum memulai

  1. Menyiapkan Agent Registry.
  2. Dapatkan project ID untuk project tata kelola tempat Agent Registry diaktifkan.

  3. Untuk menggunakan perintah Google Cloud CLI dalam dokumen ini, siapkan lingkungan gcloud CLI Anda.

Mendaftarkan agen dari Agent Runtime

Jika Anda mengembangkan dan men-deploy agen dengan Agent Runtime di Gemini Enterprise Agent Platform, pendaftaran di Agent Registry akan otomatis.

Contoh berikut menunjukkan cara men-deploy agen yang mengimplementasikan protokol A2A ke Agent Runtime. Untuk mengetahui informasi selengkapnya, lihat Men-deploy agen.

# Create and deploy the agent
# This action automatically registers the agent in Agent Registry
remote_agent = client.agent_engines.create(
    agent=my_a2a_agent, # Your defined A2A object
    config={
        "display_name": "my-support-agent",
        "description": "An agent that handles support tickets.",
        "requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
    },
)

Saat Anda memperbarui atau menghapus agen di Agent Runtime, Agent Registry akan otomatis menyinkronkan perubahan tersebut.

Mendaftarkan agen Google bawaan

Agen Google bawaan, seperti agen Google Workspace dan Gemini Enterprise, otomatis terdaftar di Agent Registry. Anda tidak perlu melakukan langkah-langkah konfigurasi atau deployment apa pun. Agen ini diserap dan tersedia untuk penemuan dalam registry Anda.

Mendaftarkan agen dari GKE

Untuk mendaftarkan agen yang di-deploy di Google Kubernetes Engine (GKE), tambahkan label dan anotasi Kubernetes yang diperlukan ke manifes deployment Anda. Contoh berikut menunjukkan manifes GKE yang menentukan Deployment Kubernetes dan Service Kubernetes yang dikonfigurasi untuk pendaftaran otomatis:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-agent
  labels:
    # GKE takes this label and registers the agent to Agent Registry
    registry.gke.io/functional-type: "AGENT"
  annotations:
    # A2A protocol metadata annotation for automated Agent Card discovery
    a2a-protocol.org/agent-card: |
      card:
        endpoint: /.well-known/agent-card.json
        protocol: HTTP
        port: 8080
spec:
  selector:
    matchLabels:
      app: my-agent
  template:
    metadata:
      labels:
        app: my-agent
      annotations:
        # Agent Identity annotation for identity and access management
        iam.gke.io/spiffe-identity-type: agent-identity
    spec:
      containers:
      - name: server
        image: gcr.io/PROJECT_ID/my-agent:1.0.0
        ports:
        - containerPort: 8080
        env:
        - name: PORT
          value: "8080"
---
# Kubernetes Service for in-cluster network routing to the agent pod
apiVersion: v1
kind: Service
metadata:
  name: my-agent-service
  labels:
    app: my-agent
spec:
  type: ClusterIP
  ports:
  - port: 8080
    targetPort: 8080
    protocol: TCP
    name: http
  selector:
    app: my-agent

Ganti PROJECT_ID dengan project ID Google Cloud Anda.

Untuk mengonfigurasi dan menerapkan manifes deployment, lakukan hal berikut:

  1. Di metadata.labels manifes Deployment, tambahkan label registry.gke.io/functional-type: "AGENT". Label ini mengidentifikasi deployment sebagai workload agen AI, yang menginstruksikan pengontrol runtime cluster GKE untuk memeriksa workload dan mendaftarkan agen ke Agent Registry.

  2. Di metadata.annotations manifes Deployment Anda, aktifkan penemuan otomatis kemampuan A2A agen dengan memberikan anotasi a2a-protocol.org/agent-card. Pengontrol penyerapan GKE menggunakan anotasi ini untuk mengkueri Kartu Agen A2A.

  3. Di spec.template.metadata.annotations template Pod, aktifkan komunikasi yang diautentikasi dengan mengonfigurasi Identitas Agen dengan anotasi iam.gke.io/spiffe-identity-type: agent-identity.

  4. Terapkan manifes deployment ke cluster Anda. Untuk mengetahui informasi selengkapnya, lihat Men-deploy dan mengorkestrasi agen AI.

    Saat Anda menerapkan deployment, pengontrol runtime cluster GKE akan otomatis memeriksa container workload dan mengkueri endpoint Kartu Agen yang dideklarasikan dalam anotasi. Kemudian, agen akan menyinkronkan metadata dan kemampuan A2A agen langsung ke resource penemuan Agent hanya baca di Agent Registry.

Mendaftarkan agen dari Cloud Run

Anda dapat mendaftarkan agen secara otomatis saat men-deploy-nya sebagai layanan atau tugas Cloud Run dengan menentukan flag --functional-type=agent dan --identity-type=agent-identity. Flag --functional-type=agent mengidentifikasi layanan atau tugas Cloud Run sebagai agen AI, bukan workload dalam container standar, yang menginstruksikan Cloud Run untuk mendaftarkan agen ke Agent Registry. Selama pendaftaran, Cloud Run secara otomatis menambahkan nama agen dan jenis AGENT ke registry.

Workload yang dikonfigurasi dengan --functional-type=agent harus menentukan flag --identity-type=agent-identity. Men-deploy dengan jenis identitas lain akan menghasilkan error.

Untuk mengonfigurasi pendaftaran otomatis pada layanan atau tugas Cloud Run baru atau yang sudah ada, lihat Mengonfigurasi fitur Gemini Enterprise Agent Platform untuk Cloud Run. Untuk menyiapkan, membuat container, dan men-deploy agen yang mematuhi A2A di Cloud Run, lihat Men-deploy agen A2A ke Cloud Run.

Memverifikasi pendaftaran

Anda dapat memverifikasi bahwa Agent Registry berhasil mendaftarkan agen Anda dengan mencantumkannya:

Konsol

  1. Di konsol Google Cloud , buka Agent Registry:

    Buka Agent Registry

  2. Dari pemilih project, pilih project Google Cloud tempat Anda menyiapkan Agent Registry.

  3. Pilih tab Agents.

    Halaman ini menampilkan daftar semua agen yang terdaftar dan detailnya, seperti nama, ID, deskripsi, runtime, dan lokasi.

  4. Filter daftar menurut lokasi agen atau resource runtime-nya:

    • Untuk memfilter menurut lokasi, klik menu Lokasi, pilih lokasi yang ingin Anda filter, lalu klik Terapkan.
    • Untuk memfilter menurut runtime, klik menu Runtime, pilih runtime yang ingin Anda filter, lalu klik Apply.

    Halaman ini menampilkan daftar agen terdaftar yang difilter untuk kondisi yang Anda pilih.

gcloud

Anda dapat memfilter daftar berdasarkan metadata agen. Pastikan Anda telah menyiapkan lingkungan gcloud CLI untuk Agent Registry, lalu jalankan perintah gcloud agent-registry agents list:

gcloud agent-registry agents list \
    --project=PROJECT_ID \
    --location=REGION \
    --filter="FILTER_EXPRESSION"

Ganti kode berikut:

  • PROJECT_ID: project ID.
  • REGION: region registry.
  • FILTER_EXPRESSION: ekspresi filter untuk agen yang ingin Anda filter. Misalnya, untuk memfilter menurut nama tampilan, Anda dapat menggunakan displayName='DISPLAY_NAME'. Untuk memfilter berdasarkan ID agen (URN) yang unik secara global, Anda dapat menggunakan agentId='urn:agent:AGENT_URN'.

Agen Google bawaan menggunakan format ID agen (URN) yang bergantung pada tempat agen di-deploy. Misalnya, Anda dapat menemukan agen Google Workspace bawaan dengan memfilter daftar untuk penerbit googleapis.com menggunakan --filter="agentId:'urn:agent:googleapis.com:*'".

Terraform

Referensi agen terdaftar Anda di konfigurasi Terraform lainnya menggunakan sumber data google_agent_registry_agent:

data "google_agent_registry_agent" "my_agent" {
  location = "REGION"
  filter = "displayName=\"DISPLAY_NAME\""
}

output "agent_urn" {
  value = data.google_agent_registry_agent.my_agent.urn
}

Ganti kode berikut:

  • REGION: region registry.
  • DISPLAY_NAME: nama tampilan agen yang dapat dibaca manusia.