外部でホストされているエージェント 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 ペイロードに転送します。レジストリは
自動的に
エージェント カードを同期し、検出のために
エージェントの使用可能なスキルにインデックスを付けます。
エージェントを登録する手順は次のとおりです。
コンソール
コンソールで、[Agent Registry] に移動します。 Google Cloud
プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します。
[エージェント] タブを選択します。
[エージェントを追加] をクリックします。
[エージェントの詳細] パネルで、次の詳細を入力します。
- タイプ: [A2A] を選択します。
- リージョン: エージェントを登録する地域を選択します。
次のいずれかのオプションを選択します。
- リソース URI を使用してエージェントを登録するには、 [From URI] タブを選択し、[URI] フィールドに有効な URL を入力します。次に、[インポート] をクリックして、URL からエージェント カードを取得します。
- エージェント カードの内容をコピーして貼り付けるには、[JSON を貼り付け] タブを選択し、
agent-card.jsonファイルの内容をすべて貼り付けます。
[保存] をクリックします。
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 リソースを作成します。
エージェントを登録する手順は次のとおりです。
コンソール
コンソールで、[Agent Registry] に移動します。 Google Cloud
プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します。
[エージェント] タブを選択します。
[エージェントを追加] をクリックします。
[エージェントの詳細] パネルで、次の詳細を入力します。
- タイプ: [Non-A2A] を選択します。
- 名前: エージェントの人が読める表示名(
Travel Agentなど)を入力します。 - 説明: エージェントの機能の説明(
など)を入力します。
A test agent that plans travel itineraries. - リージョン: エージェントを登録する地域を選択します。
- エンドポイント: エージェントがホストされているエンドポイントを入力します。
[保存] をクリックします。
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_JSON、GRPC、JSONRPCです。
Terraform
標準 REST エージェントを登録するには、agent_spec を NO_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_JSON、GRPC、JSONRPCです。
登録を確認する
エージェントを登録したら、Agent Registry が Service を正常に処理し、対応する Agent
リソースを作成したことを確認します。
コンソール
コンソールで、[Agent Registry] に移動します。 Google Cloud
プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します。
[エージェント] タブを選択します。
このページには、登録されているすべてのエージェントとその詳細のリストが表示されます。
gcloud
gcloud agent-registry agents list \
--project=PROJECT_ID \
--location=REGION
複数のエージェントがある場合や、単一のエージェントの登録を確認する場合は、エージェントのメタデータでリストをフィルタできます。
gcloud agent-registry agents list \
--project=PROJECT_ID \
--location=REGION \
--filter="FILTER_EXPRESSION"
次のように置き換えます。
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: エージェントの人が読める表示名。