Aller au contenu principal

A2A — agent-to-agent

Wiki runtime · Manuel agent · Spec A2A officielle

A2A Specificat = protocole agent ↔ agent : JSON-RPC, Agent Card, skills {agent}:{facet}.

Trois usages, même wire :

UsageDéclaration YAMLAppelant
Délégation intra-projetcapacity.kind: agentAgent parent du même project.yaml
Exposition publiquetrigger external-gatewayPartenaire / UI / autre projet
Délégation entrantetrigger delegation-gatewayAutre runtime authentifié

Protocole industry : Agent2Agent (A2A) — Linux Foundation, complémentaire de MCP (agent-to-tool).

Le YAML kind: agent ne change pas. Seul le runtime change : tâche A2A, pas d'appel in-process.

Fiches​

FicheSujet
yaml-model.mdexternal-gateway, facade → Agent Card
delegation.mdYAML kind: agent (target + scope: [id, …])
internal-delegation.mdFlux parent → enfant (tâche A2A)
payload.mdvalues → message A2A ; retour artefact
delegation-gateway.mdDélégation entrante depuis un autre runtime
public-invocation.mdFlux HTTP / JSON-RPC entrant public
inter-project.mdContrats entre projets (pas kind: agent)
security.mdAuth JWT, mTLS, anti-patterns

vs MCP vs exposition réseau​

kind: agentMCP (kind: mcp)external-gatewaydelegation-gateway
CibleAgent même projetServeur outillageAppelant externe / autre projetAgent distant authentifié
WireA2AMCPA2AA2A
AuthJWT utilisateur forwardéSession MCP / OAuth outilOAuth / clé APImTLS ou JWT
ContratInstruction + facette (skill)Tools / prompts / resourcesFaçade + triggerPayload + agents[] du trigger

Intra-projet vs public​

Intra-projet (kind: agent)Public (external-gateway)
ScopeMême project.yamlInter-projets / partenaires
DécouverteServices cluster (DNS / ACH)Agent Card publiée
Skill{target}:{facet} (un id de scope[])Facettes listées sur le trigger
AuthJWT utilisateur forwardéOAuth / clé API

Exemples YAML​

Délégation : project-reference/03-code-assistant.yaml, 04-multi-agent-writer.yaml, 10-deal-room.yaml.
Public : project-reference/06-api-service.yaml.
Cycles : project-reference/00-smoke-test.yaml.