基本的なコンセプト

このドキュメントでは、Agent Registry に関連する重要な用語とコンセプトについて説明します。

A2A スキル

スキルと比較します。

エージェントの エージェント カードagent-card.json)内でインラインで表される宣言型機能メタデータ ブロック。A2A スキルは、エージェント間の通信インターフェースと、A2A 準拠のエージェントが持つ高度な機能を記述します。

Agent Registry は、Agent2Agent(A2A)仕様のバージョン 0.31.0 をサポートしています。

エージェント

AI エコシステムの自律アクター。識別子と、所有する特定の A2A スキルまたはスキルによって定義されます。

エージェント ID

エージェントのグローバルに一意で不変の名前。この論理識別子は、基盤となるインフラストラクチャの変更に関係なく、コンシューマーがエージェントを呼び出すための安定した参照を提供します。

エージェント識別子はエージェント ID とは異なります。エージェント ID は、インベントリの追跡、クロスサーフェス ID のルックアップ、登録済みサービスのフィルタリングのみを目的として設計された論理 URN です。一方、エージェント ID はエージェントの安全なランタイム ID を表します。安全なポリシーベースのエージェント通信を管理するには、代わりにエージェント プリンシパルを使用する必要があります。詳細については、IAM ポリシーの概要をご覧ください。

エージェント ID は、取り込み時に Agent Registry によって自動的に生成され、Uniform Resource Name(URN)形式に従います。正確な形式は、エージェントがデプロイされている場所によって異なります。次に例を示します。

  • Gemini Enterprise Agent Platform の Agent Runtime: urn:agent:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:REGION:aiplatform:reasoningEngines:AGENT_ID
  • Cloud Run サービス: urn:agent:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:REGION:run:services:SERVICE_NAME
  • Cloud Run ジョブ: urn:agent:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:REGION:run:jobs:JOB_NAME
  • GKE の Deployment: urn:agent:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:REGION:container:clusters:CLUSTER_NAME:k8s:namespaces:NAMESPACE:apps:deployments:DEPLOYMENT_NAME
  • Gemini Enterprise: urn:agent:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:global:discoveryengine:collections:default_collection:engines:ENGINE_ID:assistants:default_assistant:agents:AGENT_ID
  • Google Workspace: urn:agent:googleapis.com:locations:global:workspaceagent:workspaceagent--a2a
  • 手動で登録されたエージェント: urn:agent:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:REGION:agentregistry:services:AGENT_ID

エージェント プリンシパル

エージェントに割り当てられた一意の Identity and Access Management(IAM)識別子。これにより、エージェントは権限を保持し、監査を受けることができます。これは、エージェントまたはサーバーにバインドされた、検証可能なGoogle Cloud サービス アカウントまたはマネージド ワークロード ID(SPIFFE ID など)の形式を取ります。

この ID はエージェントのランタイムのコンピューティング リソースに直接バインドされているため、プリンシパル文字列には、その基盤となるリソースへの正確なパスが組み込まれています。IAM は、エージェント アクセスを制御する際に、次の 3 つのレベルのメンバー ID をサポートしています。

  • 単一のエンジン インスタンス: 特定のエージェント デプロイに権限を付与します。たとえば、Gemini Enterprise Agent Platform の個々の Agent Runtime インスタンスは、プリンシパル principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/REGION/reasoningEngines/REASONING_ENGINE_ID で表されます。
  • プロジェクト スコープ: プリンシパル セット principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER を介して、特定のプロジェクト内で実行されているすべての推論エンジンに権限を付与します。
  • 組織全体のスコープ: プリンシパル セット principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/* を介して、組織全体のすべてのエージェントに権限を付与します。

エージェントの詳細を表示すると、Agent Registry に個々のエージェント プリンシパルが出力専用の属性として表示されます。

プロジェクト間のガバナンスでは、ワークロード プロジェクトのエージェントがリソースにアクセスしたり、中央の Agent Gateway を介して下り(外向き)をルーティングしたりする場合、中央プロジェクトのターゲット リソースに対するエージェントのプリンシパルまたはプリンシパル セットに roles/iap.egressor ロールを付与します。

エージェント コンポーネント

AI エコシステム内のモジュール型の機能エンティティ。Agent Registry を使用して登録、検出、管理できます。レジストリは、エージェント コンポーネントを 4 つの主なタイプ(エージェント、MCP サーバー、エンドポイント、スキル)に分類します。

エージェント ワークフロー

AI エージェントがタスクを完了するために、ツールの使用、推論、実行パスを独自に決定する一連のステップ。

Auth provider(認証プロバイダ)

エージェント ID 認証マネージャー内の構成。エージェントを特定の外部ツールやアプリケーションに接続するための認証情報(API キーや OAuth トークンなど)を保存、取得、管理し、認証タイプを定義します。

バインディング

ソース エージェントとターゲット リソース(別のエージェント、MCP サーバーエンドポイントなど)間の接続。バインディングを作成すると、オーケストレーター エージェントがダウンストリーム機能とやり取りできる明示的な関係が確立されます。バインディングは、委任された権限をサポートするために、エージェントを認証プロバイダに関連付けるためにも使用されます。

データ リソース

MCP サーバーによって公開される特定のデータ コンテキストまたはデータセット。エージェントは、レスポンスの根拠やアクションの通知のためにこのデータにアクセスできます。

現状把握

レジストリをクエリして、説明、タグ、スキルに基づいて既存のエージェント、MCP ツールエンドポイントを検索するプロセス。

Agent Registry の検出は、AI オーケストレーターが使用できる消費中心の機能に重点を置いています。登録済みの機能を検出して、AI システムを構築し、オーケストレートします。

Agent Registry のこのプロセスは、App Hub などのインフラストラクチャ検出とは異なります。インフラストラクチャ検出では、 Google Cloud プロジェクトで登録されていないコンピューティング リソースが特定されます。

エンドポイント

Agent Registry API の場合、エージェントがアクセスするターゲット URL(通常は REST API)を表すリソース。これらの宛先を管理可能なリソースに抽象化することで、Agent Registry を使用すると、エージェントがアクセスできる外部サービスを一元的に管理できます。

Model Context Protocol(MCP)

AI モデルをデータソースやツールに接続するために使用されるオープン スタンダード。カスタム プラグインに取って代わります。

MCP サーバー(またはサーバー)

Model Context Protocol(MCP)を実装して、標準化されたツールデータリソースを AI エージェントに提供するサービス。

MCP サーバー識別子

MCP サーバーのグローバルに一意で不変の Uniform Resource Name(URN)。エージェント識別子と同様に、この名前は特定のツールセットを検出するための安定した参照を提供します。

エージェント識別子と同様に、MCP サーバー識別子は、安定したルックアップとインベントリ カタログ作成に使用される論理名です。安全なポリシー管理エージェント通信を管理するには、代わりにエージェント プリンシパルを使用する必要があります。

形式は、組み込みの Google サービスか、登録済みの外部サーバーかによって異なります。次に例を示します。

  • Google Cloud リモート MCP サーバー: urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:SERVER_NAME
  • 手動で登録された MCP サーバー: urn:mcp:projects-PROJECT_NUMBER:projects:PROJECT_NUMBER:locations:REGION:agentregistry:services:SERVER_ID

登録

エージェント、MCP サーバー、エンドポイントなどのエージェント コンポーネントをレジストリに追加するプロセス。Agent Registry には、次の登録メカニズムが用意されています。

  • 自動登録: Agent Runtime などのサポートされているGoogle Cloud AI リソースの自動取り込み。自動登録は、単一のプロジェクトのスコープ内で動作します。
  • 手動登録: カスタム エージェント コンポーネントまたは外部エージェント コンポーネントの手動オンボーディング、または一元化された検出とガバナンスのために複数の Google Cloud プロジェクトにデプロイされたエージェントの手動オンボーディング。

リソースの URI

エージェントまたは MCP サーバーをホストする物理ランタイムの場所またはインフラストラクチャ。Uniform Resource Identifier(URI)は、このランタイム リソースを識別する一意の文字シーケンスです。たとえば、リソース URI は、エージェント ランタイム エンドポイント、Google Kubernetes Engine(GKE)デプロイ、Cloud Run サービスなどです。

リソース URI は、エージェント識別子または MCP サーバー識別子とは異なります。これらの値は、レジストリでエージェントと MCP サーバーを識別する URN 形式の一意の名前です。一方、リソース URI は、エージェントまたはサーバーが実行される実際のコンピューティング リソースを指します。

エージェントの URI へのパスは、エージェント プリンシパル文字列に埋め込まれ、IAM ポリシーでそのリソースを一意に識別します。クロス プロジェクトの登録の場合、リソース URI はコンピューティング リソースが存在するプロジェクトを参照します。

この URI は、エージェントの詳細を表示するときに、出力専用の属性として Agent Registry に表示されます。

リソース URI を使用して、トポロジ グラフでクエリを作成し、特定のエージェントのトラフィック フローと関係を可視化できます。Agent Registry API では、この値は agentregistry.googleapis.com/system/RuntimeReference 属性で表されます。

サービス

Agent Registry API の場合、カスタムまたは外部のエージェント コンポーネントをレジストリに手動で登録するために使用される書き込み可能なリソース。Service は、レジストリに手動で追加されたエージェント、MCP サーバー、エンドポイントを表します。Service リソースを作成して管理し、Agent Registry が自動的に取り込まないエージェント コンポーネントのエンドポイントとメタデータを定義します。

指定した仕様に応じて、Agent Registry はこの Service を読み取り専用の AgentMcpServer、または検出用の Endpoint リソースとしてコンシューマー側に自動的に投影します。

レジストリ エントリの作成、編集、削除には、常に Service リソースを使用します。ただし、これらのエントリを取得、一覧表示、検索するには、読み取り専用の AgentMcpServerEndpoint リソースをクエリします。

スキル

A2A スキルと比較します。

Agent Registry の最上位リソースとして登録され、タスクを完了するための特定の指示、自然言語、コードを提供することでエージェントの機能を拡張する、スタンドアロンの実行可能パッケージ。スキルには、命令ファイル(SKILL.md)、ランタイム実行スクリプト、メタデータ アセットが含まれています。

スキルは Uniform Resource Name(URN)で識別されます。正確な形式はパブリッシャーによって異なります。次に例を示します。

  • Google が作成したスキル: urn:skill:PUBLISHER_ID:NAMESPACE:SKILL_ID。 例: urn:skill:discoveryengine.googleapis.com:discoveryengine:report-writing
  • 手動で登録したスキル: urn:skill:projects-PROJECT_NUMBER:locations:LOCATION:private-SKILL_ID。 例: urn:skill:projects-123456789:locations:global:private-create-docs

Google が作成したスキルは、Agent Registry を設定するとすぐに表示されます。ただし、独自のスキルを登録することもできます。スキルは、エージェントMCP サーバーの兄弟リソースとして Agent Registry に登録します。各スキルにはデフォルトのリビジョンがあり、複数のバージョン管理されたスキル リビジョンを含めることができます。

プラットフォーム管理者は、ライフサイクル状態を管理し、ランタイム解決のデフォルト バージョン ポインタを設定することで、スキルを管理します。

スキル リビジョン

スキル パッケージの不変のバージョン付きスナップショット。リビジョンを使用すると、親スキルの識別子を変更せずに、スキル手順やコードを更新できます。

スキル リビジョンを管理して、スキルのバージョン管理を行うことができます。

パブリッシャー

Agent Registry でスキルを作成して登録するエンティティ。

事前入力されたパブリッシャーには、cloud.google.comdiscoveryengine.googleapis.com などの Google パブリッシャーや、確認済みのパートナーが含まれます。これらのパブリッシャーの Google 作成スキルは、Agent Registry を設定するとすぐに表示されます。

作成したスキルはデフォルトの private パブリッシャーに自動的に割り当てられるため、特定のスキルの公開 ID には private- という接頭辞が付きます。カスタム パブリッシャー リソースは登録できません。

登録したスキルのパブリッシャーの詳細を確認します。

ツール

エージェントが呼び出すことができる MCP サーバーによって提供される決定論的関数。