- JSON 表現
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- セキュリティ
- StringList
- AgentSkill
- AgentCardSignature
AgentCard には、次の重要な情報が表示されます。- 全体的な詳細(バージョン、名前、説明、用途)- スキル: エージェントが実行できる一連のアクション/ソリューション - エージェントがサポートするデフォルトのモダリティ/コンテンツ タイプ。- 認証の要件 Next ID: 19
| JSON 表現 |
|---|
{ "protocolVersion": string, "name": string, "description": string, "url": string, "preferredTransport": string, "additionalInterfaces": [ { object ( |
| フィールド | |
|---|---|
protocolVersion |
このエージェントがサポートする A2A プロトコルのバージョン。 |
name |
人が読める形式のエージェントの名前。例: 「レシピ エージェント」 |
description |
エージェントの行動範囲/ソリューション スペースの説明。例: 「レシピや料理についてユーザーをサポートするエージェント。」 |
url |
エージェントがホストされているアドレスへの URL。これは、エージェントによって宣言された優先エンドポイントを表します。 |
preferredTransport |
優先エンドポイントのトランスポート。空の場合、デフォルトで JSONRPC になります。 |
additionalInterfaces[] |
サポート対象のトランスポートの追加に関するお知らせ。クライアントはサポートされているトランスポートのいずれかを使用できます。 |
provider |
エージェントのサービス プロバイダ。 |
version |
エージェントのバージョン。例: 「1.0.0」 |
documentationUrl |
エージェントに関する追加のドキュメントを提供する URL。 |
capabilities |
エージェントがサポートする A2A 機能セット。 |
securitySchemes |
このエージェントでの認証に使用されるセキュリティ スキームの詳細。
|
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED エージェントに連絡するためのセキュリティ要件。このリストは、AND の OR と見なすことができます。リスト内の各オブジェクトは、リクエストに存在する必要があるセキュリティ要件の可能なセットを 1 つ記述します。これにより、「呼び出し元は OAuth または API キーと mTLS のいずれかを使用する必要がある」などの指定が可能になります。例: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
defaultInputModes[] |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED エージェントがすべてのスキルでサポートするインタラクション モードのセット。これはスキルごとにオーバーライドできます。MIME タイプとして定義されます。 |
defaultOutputModes[] |
このエージェントの出力としてサポートされている MIME タイプ。 |
skills[] |
スキルは、エージェントが実行できる能力の単位を表します。これはやや抽象的ですが、エージェントが成功する可能性が高い、より焦点を絞った一連のアクションを表しています。 |
supportsAuthenticatedExtendedCard |
ユーザーが認証されたときにエージェントが拡張エージェントカードを提供するかどうか。つまり、.well-known のカードが v1.getCard のカードと異なるかどうか。 |
signatures[] |
この AgentCard に対して計算された JSON Web Signature。 |
iconUrl |
エージェントのアイコンへの URL(省略可)。 |
AgentInterface
エージェントの追加の輸送情報を定義します。
| JSON 表現 |
|---|
{ "url": string, "transport": string, "tenant": string } |
| フィールド | |
|---|---|
url |
このインターフェースが見つかる URL。 |
transport |
この URL をサポートしているトランスポート。これはオープン形式の文字列で、多くのトランスポート プロトコルに簡単に拡張できます。公式にサポートされているコアは JSONRPC、GRPC、HTTP+JSON です。 |
tenant |
エージェントを呼び出すときにリクエストで設定されるテナント。試験運用版。1.0 リリースで変更される可能性があります。 |
AgentProvider
エージェントのサービス プロバイダに関する情報を表します。
| JSON 表現 |
|---|
{ "url": string, "organization": string } |
| フィールド | |
|---|---|
url |
プロバイダの参照 URL。例: "https://ai.google.dev" |
organization |
プロバイダの組織名。例: 「Google」 |
SecurityScheme
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| JSON 表現 |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| フィールド | |
|---|---|
description |
このセキュリティ スキームの説明。 |
scheme |
RFC7235 で定義されている Authorization ヘッダーで使用される HTTP 認証スキームの名前。使用される値は、IANA 認証スキーム レジストリに登録されるべきです。RFC7235 で定義されているように、値では大文字と小文字が区別されません。 |
bearerFormat |
ベアラートークンの形式を識別するためのクライアントへのヒント。通常、ベアラートークンは認可サーバーによって生成されるため、この情報は主にドキュメント作成を目的としています。 |
OAuth2SecurityScheme
| JSON 表現 |
|---|
{
"description": string,
"flows": {
object ( |
| フィールド | |
|---|---|
description |
このセキュリティ スキームの説明。 |
flows |
サポートされているフロータイプの構成情報を含むオブジェクト |
oauth2MetadataUrl |
oauth2 認証サーバー メタデータ RFC8414 の URL。TLS が必要です。 |
OAuthFlows
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| JSON 表現 |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
authorizationUrl |
このフローで使用される認証 URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています |
tokenUrl |
このフローで使用するトークン URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
refreshUrl |
更新トークンの取得に使用する URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
scopes |
OAuth2 セキュリティ スキームで使用可能なスコープ。スコープ名とその簡単な説明のマッピング。マップは空でも構いません。
|
ClientCredentialsOAuthFlow
| JSON 表現 |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
tokenUrl |
このフローで使用するトークン URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
refreshUrl |
更新トークンの取得に使用する URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
scopes |
OAuth2 セキュリティ スキームで使用可能なスコープ。スコープ名とその簡単な説明のマッピング。マップは空でも構いません。
|
ImplicitOAuthFlow
| JSON 表現 |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
authorizationUrl |
このフローで使用される認証 URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています |
refreshUrl |
更新トークンの取得に使用する URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
scopes |
OAuth2 セキュリティ スキームで使用可能なスコープ。スコープ名とその簡単な説明のマッピング。マップは空でも構いません。
|
PasswordOAuthFlow
| JSON 表現 |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
tokenUrl |
このフローで使用するトークン URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
refreshUrl |
更新トークンの取得に使用する URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
scopes |
OAuth2 セキュリティ スキームで使用可能なスコープ。スコープ名とその簡単な説明のマッピング。マップは空でも構いません。
|
OpenIdConnectSecurityScheme
| JSON 表現 |
|---|
{ "description": string, "openIdConnectUrl": string } |
| フィールド | |
|---|---|
description |
このセキュリティ スキームの説明。 |
openIdConnectUrl |
[[OpenID-Connect-Discovery]] プロバイダ メタデータを検出するための既知の URL。 |
MutualTlsSecurityScheme
| JSON 表現 |
|---|
{ "description": string } |
| フィールド | |
|---|---|
description |
このセキュリティ スキームの説明。 |
セキュリティ
| JSON 表現 |
|---|
{
"schemes": {
string: {
object ( |
| フィールド | |
|---|---|
schemes |
|
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| JSON 表現 |
|---|
{ "list": [ string ] } |
| フィールド | |
|---|---|
list[] |
|
AgentSkill
AgentSkill は、エージェントが実行できるアクション/ソリューションの単位を表します。これは、エージェントに提供を依頼できる信頼性の高いソリューションの一種と考えることができます。エージェントは特定のスキルをいつどのように使用するかを自律的に選択できますが、クライアントは、スキルが定義されていれば、そのアクション単位を確実に実行できると確信する必要があります。
| JSON 表現 |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"security": [
{
object ( |
| フィールド | |
|---|---|
id |
このエージェント内のスキルの固有識別子。 |
name |
人が読める形式のスキルの名前。 |
description |
スキルに関する詳細と動作の説明(人間または LLM が読める形式)。 |
tags[] |
分類と利用を強化するためのスキルのタグのセット。例: ["cooking", "customer support", "billing"] |
examples[] |
このスキルが対応するように設計されている一連のサンプルクエリ。これらの例は、特定の目標を達成するためにエージェントにリクエストを作成する方法を理解するのに役立ちます。例: ["パンのレシピが必要です"] |
inputModes[] |
サポートされている入力モダリティ。 |
outputModes[] |
生成される可能性のある出力モダリティ |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED エージェントがこのスキルを活用するために必要なセキュリティ スキーマ。AgentCard.security 全体と同様に、このリストはセキュリティ要件オブジェクトの論理 OR を表します。各オブジェクトは、一緒に使用する必要があるセキュリティ スキーマのセットです(論理 AND)。protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
AgentCardSignature
AgentCardSignature は、AgentCard の JWS 署名を表します。これは、RFC 7515 JSON Web Signature(JWS)の JSON 形式に準拠しています。
| JSON 表現 |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| フィールド | |
|---|---|
protected |
必須。署名の保護された JWS ヘッダー。これは常に base64url エンコードされた JSON オブジェクトです。必須。 |
signature |
必須。計算された署名(base64url でエンコード)。必須。 |
header |
保護されていない JWS ヘッダー値。 |