A2A プロファイル(エージェント間の通信)¶
英語の仕様の参考訳です(25/10/2026 更新)。規範となるのは英語版です。この翻訳に規範的な効力はなく、内容が異なる場合は英語版が優先されます。識別子とコードブロックは翻訳せずにそのまま掲載しています。
状態: 公開済み — v2.0
範囲: エージェントの発見、セッションの確立、伝送の結び付け、メッセージの交換
目的¶
DCP コアは、個々のエージェントが検証器に対して自らのアイデンティティと説明責任をどう証明するかを定義します。A2A プロファイルはこれを、エージェント同士の直接のやり取りに広げます。DCP の認定を受けた 2 つのエージェントが互いをどう見つけ、相互に認証したセッションをどう確立し、監査証跡と完全に統合してメッセージをどう交換するかです。
これは明示的にコアの外にあります。理由は次のとおりです:
- 多くの DCP の展開は、エージェントと検証器の間のやり取り(受動的な検証)だけを含む
- A2A には、コアが義務づけるべきでない伝送ごとの結び付け(WebSocket、gRPC、HTTP/2)が必要
- 発見の仕組みは展開の文脈(well-known の URL、レジストリ、直接の交換)に依存する
- セッションの管理は、状態を持たないコアの検証のモデルには含まれない状態を持ち込む
ここにあるもの(コアにはない)¶
エージェントの発見¶
.well-known/dcp-agent-directory.json によるエージェントのディレクトリの公開と解決で、エージェントのメタデータ、能力、エンドポイント、サポートするアルゴリズムを含みます。
DCP-04 の 2 節を参照してください。
ハンドシェイクのプロトコル¶
ハイブリッドの KEM(X25519 + ML-KEM-768)を使い、相互に認証し、ポスト量子で保護されたセッションを確立する、4 つのメッセージのハンドシェイク(A2A_HELLO、A2A_WELCOME、A2A_CONFIRM、A2A_ESTABLISHED)。
DCP-04 の 3 節を参照してください。
セッションの管理¶
セッションの状態(鍵、カウンター、鍵の更新)、暗号化したメッセージの形式(AES-256-GCM)、鍵の更新のプロトコル、セッションの終了、セッションの再開。
DCP-04 の 4 節を参照してください。
伝送の結び付け¶
セッションのメッセージに CBOR の符号化を使う、WebSocket、gRPC、HTTP/2 SSE の伝送の選択肢。
DCP-04 の 7 節を参照してください。
信頼のモデル¶
相互のバンドルの検証によるセッションごとの信頼の確立、組織の信頼、そして深さの上限を設定できる省略可能な推移的な信頼。
DCP-04 の 5 節を参照してください。
A2A の監査イベント¶
A2A のやり取りに固有の監査エントリーの種類:a2a_hello_sent、a2a_session_established、a2a_message_sent、a2a_rekey、a2a_session_closed など。
DCP-04 の 6 節を参照してください。
コアに残るもの¶
- A2A のハンドシェイクの間にエージェントが提示する Signed Bundle — その構造と検証はコアのもの
- A2A のイベントが生むハッシュチェーンの監査エントリー — その形式はコアのものだが、A2A 固有のイベントの種類はプロファイルの範囲
- 各エージェントを特定する Agent Passport — その構造はコアのもの
規範的な参照¶
- DCP-04 — エージェント間の通信(完全な規範的な仕様)
- DCP-AI v2.0 — セッションの結び付け(8 節)、鍵の導出
実装に関する注記(参考)¶
2026 年 10 月 25 日に追加。規範的ではありません。 これらの注記は要件を加えず、上の内容を何も変えません。
mainのリファレンスの コードがこの文書とどう関係するかを説明するものです。食い違う場合は、上の規範的な本文がそのまま有効です。
- 「公開済み」は仕様についてのことです。
mainでは、すべての SDK がA2A_HELLOとA2A_WELCOMEを作りますが、どれもA2A_CONFIRM/A2A_ESTABLISHEDや DCP-04 §3.4 のセッション鍵の導出を実装していません。メッセージが 告げるハイブリッドの X25519 + ML-KEM-768 の KEM を持つのは TypeScript の SDK だけで、Rust の SDK にはセッションの 層がありません(tools/interop-matrix)。 - SDK のヘルパーは、呼び出し元が鍵を与えるメッセージ、ディレクトリ、セッションのオブジェクトを作ります。ハンドシェイク、 KEM の交換、バンドルの検証、アドミッション、ネットワーク、監査の記録を自ら実行することはありません。それらは 呼び出し元が行うもので、リファレンスのサーバーはどの伝送の結び付けも実装していません。