手動登録を使用する

外部でホストされているエージェント Google Cloud や、サポートされていないランタイムで実行されているエージェントの場合は、Agent Registry で手動登録する必要があります。このドキュメントでは、Agent Registry でエージェントを手動で登録する方法について説明します。

始める前に

始める前に、Agent Registry を設定します。これらのタスクを実行するには、 プロジェクト ID が必要です。

このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境が 設定されていることを確認してください

必要なロール

Agent Registry でエージェントを手動で登録するために必要な権限を取得するには、プロジェクトに対するAgent Registry API 編集者 roles/agentregistry.editor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

A2A 準拠のエージェントを登録する

リモート エージェントが Agent2Agent(A2A)仕様を実装している場合は、 Agent Registry をエージェントの agent-card.json ペイロードに転送します。レジストリは 自動的に エージェント カードを同期し、検出のために エージェントの使用可能なスキルにインデックスを付けます。

エージェントを登録する手順は次のとおりです。

コンソール

  1. コンソールで、[Agent Registry] に移動します。 Google Cloud

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エージェント] タブを選択します。

  4. [エージェントを追加] をクリックします。

  5. [エージェントの詳細] パネルで、次の詳細を入力します。

    • タイプ: [A2A] を選択します。
    • リージョン: エージェントを登録する地域を選択します。
  6. 次のいずれかのオプションを選択します。

  7. [保存] をクリックします。

gcloud

A2A エージェントを登録するには、エージェントのエージェント カードをローカル JSON ファイル(agent-card.json など)として保存し、次の操作を行います。

gcloud agent-registry services create AGENT_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --display-name="DISPLAY_NAME" \
  --agent-spec-type=a2a-agent-card \
  --agent-spec-content=agent-card.json

仕様ファイルの最大ファイルサイズは 10 KB です。

次のように置き換えます。

  • AGENT_NAME: エージェントに付ける名前(my-support-agent など)。
  • PROJECT_ID: プロジェクト ID。
  • REGION: エージェントを登録するリージョン 。特定のリージョンを使用しない場合は、値 global を使用します。
  • DISPLAY_NAME: エージェントに付ける人が読める名前(Support Agent など)。

Terraform

A2A 準拠のエージェントを登録するには、google_agent_registry_service リソースを構成します。A2A_AGENT_CARD タイプの agent_spec ブロックと、エージェント カードの JSON ペイロードを表す content を指定します。

resource "google_agent_registry_service" "a2a_agent" {
  location     = "REGION"
  service_id   = "AGENT_NAME"
  display_name = "DISPLAY_NAME"

  agent_spec {
    type    = "A2A_AGENT_CARD"
    content = jsonencode({
      schemaVersion = "v1"
      displayName   = "DISPLAY_NAME"
      description   = "A custom support agent registered using Terraform."
      skills = [
        {
          name        = "customer_lookup"
          description = "Looks up customer info by email address."
        }
      ]
    })
  }
}

output "agent_resource_name" {
  description = "The generated read-only Agent resource name."
  value       = google_agent_registry_service.a2a_agent.registry_resource
}

次のように置き換えます。

  • REGION: エージェントを登録するリージョン。
  • AGENT_NAME: エージェントに付ける一意の名前(my-support-agent など)。
  • DISPLAY_NAME: エージェントに付ける人が読める名前(Support Agent など)。

標準 REST エージェントを登録する

標準 REST エージェントは名前と説明で検出できますが、A2A プロトコルを採用しない限り、検索可能なスキルはありません。

標準 REST や SaaS API エンドポイントなど、A2A 仕様を実装していないリモート エージェントを登録する場合、Agent Registry API はエージェント プロトコル仕様のない Service リソースを作成します。

エージェントを登録する手順は次のとおりです。

コンソール

  1. コンソールで、[Agent Registry] に移動します。 Google Cloud

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エージェント] タブを選択します。

  4. [エージェントを追加] をクリックします。

  5. [エージェントの詳細] パネルで、次の詳細を入力します。

    • タイプ: [Non-A2A] を選択します。
    • 名前: エージェントの人が読める表示名( Travel Agentなど)を入力します。
    • 説明: エージェントの機能の説明( など)を入力します。A test agent that plans travel itineraries.
    • リージョン: エージェントを登録する地域を選択します。
    • エンドポイント: エージェントがホストされているエンドポイントを入力します。
  6. [保存] をクリックします。

gcloud

必要に応じて、定義済みの HTTP/JSON エンドポイント インターフェースを --interfaces フラグで指定して、レジストリがエージェントとの接続を確立できるようにします。

標準 REST エージェントを登録する手順は次のとおりです。

gcloud agent-registry services create AGENT_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --display-name="DISPLAY_NAME" \
  --agent-spec-type=no-spec \
  --interfaces=url=ENDPOINT_URL,protocolBinding=PROTOCOL

次のように置き換えます。

  • AGENT_NAME: エージェントに付ける名前(my-remote-rest-agent など)。
  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。
  • DISPLAY_NAME: エージェントに付ける人が読める名前(Remote REST Agent など)。
  • ENDPOINT_URL: エージェントの API エンドポイント URL(https://api.remote-service.com/v1/agents/1234 など)。
  • PROTOCOL: エンドポイントのプロトコル バインディング。 有効な値は HTTP_JSONGRPCJSONRPC です。

Terraform

標準 REST エージェントを登録するには、agent_specNO_SPEC タイプに設定して google_agent_registry_service リソースを構成し、エンドポイント インターフェース接続を定義します。

resource "google_agent_registry_service" "rest_agent" {
  location     = "REGION"
  service_id   = "AGENT_NAME"
  display_name = "DISPLAY_NAME"
  description  = "A standard REST agent registered using Terraform."

  agent_spec {
    type = "NO_SPEC"
  }

  interfaces {
    url              = "ENDPOINT_URL"
    protocol_binding = "PROTOCOL"
  }
}

output "agent_resource_name" {
  description = "The generated read-only Agent resource name."
  value       = google_agent_registry_service.rest_agent.registry_resource
}

次のように置き換えます。

  • REGION: エージェントを登録するリージョン。
  • AGENT_NAME: エージェントに付ける一意の名前(my-remote-rest-agent など)。
  • DISPLAY_NAME: エージェントに付ける人が読める名前(Remote REST Agent など)。
  • ENDPOINT_URL: エージェントの API エンドポイント URL(https://api.remote-service.com/v1/agents/1234 など)。
  • PROTOCOL: エンドポイントのプロトコル バインディング。 有効な値は HTTP_JSONGRPCJSONRPC です。

登録を確認する

エージェントを登録したら、Agent Registry が Service を正常に処理し、対応する Agent リソースを作成したことを確認します。

コンソール

  1. コンソールで、[Agent Registry] に移動します。 Google Cloud

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エージェント] タブを選択します。

    このページには、登録されているすべてのエージェントとその詳細のリストが表示されます。

gcloud

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

複数のエージェントがある場合や、単一のエージェントの登録を確認する場合は、エージェントのメタデータでリストをフィルタできます。

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

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • REGION: エージェントを登録するリージョン 。特定のリージョンを使用しない場合は、値 global を使用します。
  • FILTER_EXPRESSION: フィルタするエージェントのフィルタ式。たとえば、表示名でフィルタするには、 を使用できますdisplayName='DISPLAY_NAME'。グローバルに一意の識別子(URN)でフィルタするには、agentId='urn:agent:AGENT_URN' を使用します。

Terraform

google_agent_registry_agent データソースを使用して、登録済みエージェントを他の Terraform 構成で参照します。

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
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • DISPLAY_NAME: エージェントの人が読める表示名。

次のステップ

  • 登録済みエージェントを管理する方法を 確認する
  • マネージド ランタイムにデプロイされたエージェントを登録する推奨方法である 自動登録について学習する。