Ga naar inhoud

Wat is Google's A2A Protocol? Agent-naar-Agent communicatie uitgelegd

10 min leestijd
Bart Waardenburg

Bart Waardenburg

AI Agent Readiness Expert & Oprichter

In april 2025 introduceerde Google het Agent2Agent Protocol (A2A), een open standaard waarmee AI-agents andere AI-agents kunnen ontdekken, ermee communiceren en taken aan hen delegeren. MCP geeft agents hun tools. A2A geeft ze collega's. Geïsoleerde AI-assistenten worden samenwerkende multi-agentsystemen die complexe bedrijfsworkflows aankunnen.

Wat is het A2A Protocol?

Het Agent2Agent Protocol (A2A) is een open communicatieprotocol waarmee AI-agents met elkaar kunnen praten, ongeacht het framework of de leverancier die ze heeft gebouwd. Zie het als een gemeenschappelijke taal voor AI-agents. Een Salesforce-agent kan een SAP-agent vragen om voorraad te controleren, een reisboeking-agent kan coördineren met een betalingsagent, zonder dat ze elkaars interne architectuur hoeven te kennen.

Vóór A2A waren multi-agentsystemen grotendeels proprietary. Bouwde je agents in LangChain, dan konden ze praten met andere LangChain-agents. Maar niet met agents in Google's ADK of Amazon Bedrock. A2A doorbreekt die silo's met een leveranciersneutraal protocol, gebouwd op bestaande webstandaarden: HTTPS voor transport, JSON-RPC 2.0 voor berichten, en Server-Sent Events (SSE) voor streaming.

INTEROPERABEL

Agents van verschillende leveranciers en frameworks kunnen elkaar ontdekken en samenwerken.

STANDAARD BEVEILIGD

Enterprise-grade authenticatie met OAuth 2.0, API keys, OpenID Connect en ondertekende Agent Cards.

OPEN STANDAARD

Bestuurd door de Linux Foundation met meer dan 150 ondersteunende organisaties.

Waarom A2A belangrijk is

Enterprise software zit vol gespecialiseerde systemen: CRM, ERP, HR, finance, supply chain. Elk steeds vaker aangestuurd door AI-agents. Het probleem: die agents werken in isolatie. Een klantenservice-agent kan een bestelling opzoeken, maar kan de logistieke agent niet vragen naar real-time verzendstatus. Een inkoopagent vindt leveranciers, maar kan niet coördineren met de financiële agent voor budgetgoedkeuring.

A2A lost dit op met een standaardmanier waarop agents:

  • Elkaar ontdekken via Agent Cards, machineleesbare JSON-bestanden die beschrijven wat een agent kan
  • Taken delegeren met een duidelijk gedefinieerde levenscyclus (submitted, working, completed, failed)
  • Rijke content uitwisselen inclusief tekst, bestanden en gestructureerde data
  • Updates streamen in real time voor langlopende operaties
  • Authenticatie onderhandelen voordat er data wordt uitgewisseld

Gary Lerhaupt van Salesforce zei het zo: "De toekomst van enterprise AI ligt in agent-to-agent-samenwerking" voor het orkestreren van losgekoppelde systemen. A2A maakt die samenwerking mogelijk zonder vendor lock-in.

De Agent Card: het visitekaartje van je agent

De kern van A2A is de Agent Card , een JSON-document op een well-known URL dat alles beschrijft wat een client-agent moet weten voordat die met jouw agent praat. Letterlijk een machineleesbaar visitekaartje voor AI-agents.

De Agent Card wordt gehost op /.well-known/agent-card.json (eerdere versies van de specificatie gebruikten /.well-known/agent.json). De kaart bevat:

  • Identiteit: Naam, beschrijving, provider en versie
  • Service URL: Het endpoint waar de agent taken accepteert
  • Mogelijkheden: Of de agent streaming, push-notificaties of uitgebreide kaarten ondersteunt
  • Vaardigheden: Specifieke taken die de agent kan uitvoeren, met input/output-types
  • Authenticatie: Vereiste beveiligingsschema's (API key, OAuth 2.0, OpenID Connect, Mutual TLS)
  • Input/Output-modi: Ondersteunde MIME-types voor communicatie

Zo ziet een echte Agent Card eruit:

/.well-known/agent-card.json json
{
  "name": "Acme Inventory Agent",
  "description": "Real-time inventory lookup and availability checking for Acme Corp products.",
  "url": "https://agents.acme.com/inventory",
  "provider": {
    "organization": "Acme Corp",
    "url": "https://acme.com"
  },
  "version": "1.0.0",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true
  },
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "flows": {
        "clientCredentials": {
          "tokenUrl": "https://auth.acme.com/token",
          "scopes": {
            "inventory:read": "Read inventory levels"
          }
        }
      }
    }
  },
  "security": [{ "oauth2": ["inventory:read"] }],
  "defaultInputModes": ["application/json", "text/plain"],
  "defaultOutputModes": ["application/json", "text/plain"],
  "skills": [
    {
      "id": "check-availability",
      "name": "Check Product Availability",
      "description": "Check real-time stock levels for a given SKU across all warehouses.",
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "reserve-stock",
      "name": "Reserve Inventory",
      "description": "Place a temporary hold on inventory for a pending order.",
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    }
  ]
}

Hoe A2A werkt: de taaklevenscyclus

A2A-communicatie werkt in drie stappen: ontdekken, authenticeren en communiceren. De client-agent vindt via de Agent Card een geschikte remote agent, authenticeert zich, en stuurt dan taken via een duidelijk gedefinieerde levenscyclus.

Stap 1: Ontdekking

De client-agent haalt de Agent Card op van de well-known URL van de remote agent. Die inspecteert de vaardigheden, mogelijkheden en authenticatievereisten om te bepalen of deze agent kan helpen bij de huidige taak.

Stap 2: Authenticatie

Op basis van de beveiligingsschema's in de Agent Card authenticeert de client zich. A2A ondersteunt dezelfde beveiligingsschema's als de OpenAPI-specificatie:

  • API Key: eenvoudige token-gebaseerde authenticatie
  • HTTP Bearer: JWT of opaque tokens
  • OAuth 2.0: Authorization Code, Client Credentials of Device Code flows
  • OpenID Connect: identiteitslaag-authenticatie
  • Mutual TLS: certificaat-gebaseerde wederzijdse authenticatie

Stap 3: Taakuitvoering

De client stuurt een bericht naar de remote agent, die een Task aanmaakt. Dat is de centrale werkeenheid in A2A. Elke taak heeft een uniek ID en doorloopt duidelijk gedefinieerde statussen:

Status Beschrijving Eindstatus?
WORKING Agent verwerkt de taak actief Nee
INPUT_REQUIRED Agent heeft aanvullende informatie van de client nodig Nee
AUTH_REQUIRED Agent vereist aanvullende authenticatie Nee
COMPLETED Taak succesvol afgerond Ja
FAILED Taak heeft een onherstelbare fout ondervonden Ja
CANCELED Client heeft de taak geannuleerd Ja
REJECTED Agent heeft de taak geweigerd Ja

Taken produceren Artifacts: tastbare outputs zoals documenten, datapayloads of bestanden. Elk artifact en bericht bestaat uit Parts. TextPart voor platte tekst, FilePart voor binaire data, DataPart voor gestructureerde JSON.

Real-time updates: streaming en push-notificaties

Voor langlopende taken ondersteunt A2A twee mechanismen voor real-time updates:

  • Streaming via SSE: De client opent een persistente verbinding en ontvangt incrementele updates naarmate de taak vordert. De SendStreamingMessage methode levert statuswijzigingen en gedeeltelijke artifacts in real time.
  • Push-notificaties via Webhooks: Voor asynchrone workflows registreert de client een webhook-URL. De remote agent POST statusupdates (TaskStatusUpdateEvent) en artifact-leveringen (TaskArtifactUpdateEvent) naar dit endpoint.

Transportprotocollen

A2A v0.3 ondersteunt drie transportbindingen. Welke je kiest hangt af van je infrastructuur:

Transport Geschikt voor Streaming
JSON-RPC 2.0 Standaard webintegratie, brede compatibiliteit SSE
gRPC Hoge doorvoer, lage latency microservice-architecturen Native server-push
HTTP+JSON/REST Eenvoudige integraties, vertrouwde REST-patronen SSE of polling

gRPC kwam erbij in v0.3. Een binaire transportoptie voor high-performance agentcommunicatie met lagere latency en kleinere payloads, handig voor gedistribueerde enterprise-systemen.

A2A vs MCP: complementair, niet concurrerend

De vraag die ik het vaakst krijg over A2A: hoe verhoudt het zich tot Anthropic's Model Context Protocol (MCP) ? Kort antwoord: ze lossen verschillende problemen op en zijn ontworpen om samen te werken.

Aspect A2A MCP
Doel Agent-to-agent-samenwerking Agent-naar-tool/resource-toegang
Richting Horizontaal (peer-to-peer) Verticaal (agent-naar-service)
Geïntroduceerd April 2025 (Google) Eind 2024 (Anthropic)
Ontdekking Agent Card op well-known URL Server capabilities handshake
Taakmodel Volledige levenscyclus met statussen Request-response tool calls
Agents zijn Opaque: interne logica is privé Transparant: tools exposeren hun schema
Multi-turn Ingebouwd (INPUT_REQUIRED status) Niet native
Governance Linux Foundation Anthropic (open source)

Het verschil in een zin: MCP verbindt een agent met tools en databronnen (databases, API's, bestandssystemen). A2A verbindt agents met andere agents voor taakdelegatie en samenwerking.

Een praktijkvoorbeeld: een inkoopworkflow. De inkoopagent gebruikt MCP om interne databases te bevragen voor inkoophistorie en budgetdata. Diezelfde agent gebruikt A2A om prijsvergelijking te delegeren aan een externe leveranciersagent en budgetgoedkeuring aan te vragen bij een financiële agent. MCP voor de verticale integratie met tools, A2A voor de horizontale samenwerking tussen agents.

MCP: AGENT → TOOLS

Een agent maakt verbinding met databases, API's en bestandssystemen. Het bevraagt een CRM, leest documenten en roept interne services aan. MCP is de gereedschapsriem van de agent.

A2A: AGENT → AGENTS

Een agent delegeert taken aan andere agents. Het vraagt een logistieke agent om verzendschattingen, of een financiële agent voor betalingsverwerking. A2A is het netwerk van de agent.

Wie staat achter A2A?

A2A heeft snel enterprise-ondersteuning gekregen sinds de lancering in april 2025. De tijdlijn:

  • 9 april 2025: Google kondigt A2A aan met meer dan 50 technologiepartners
  • 23 juni 2025: Google doneert A2A aan de Linux Foundation voor leveranciersneutrale governance
  • 31 juli 2025: A2A v0.3 uitgebracht met gRPC-ondersteuning, ondertekende Agent Cards en verbeterde Python SDK
  • Q3-Q4 2025: Meer dan 150 organisaties ondersteunen nu het protocol

Linux Foundation Governance

Met de oprichting van het Agent2Agent-project onder de Linux Foundation ging A2A van een door Google geleid initiatief naar een leveranciersneutrale standaard. De oprichtende leden:

GOOGLE
Oprichter
AWS
Oprichtend
MICROSOFT
Oprichtend
SALESFORCE
Oprichtend
SAP
Oprichtend
SERVICENOW
Oprichtend
CISCO
Oprichtend
150+
Partners

Naast de oprichtende leden wordt A2A ondersteund door grote technologiebedrijven (Atlassian, Box, Cohere, Intuit, LangChain, MongoDB, PayPal, UKG, Workday) en wereldwijde adviesbureaus (Accenture, BCG, Capgemini, Cognizant, Deloitte, HCLTech, Infosys, KPMG, McKinsey, PwC, TCS, Wipro).

Huidige adoptie en implementaties in de praktijk

Grote platformen integreren A2A al in hun agent-ecosystemen:

  • Salesforce Agentforce: Integreert A2A om AI-agents te laten samenwerken met agents van andere platformen
  • SAP Joule: Werkt samen aan A2A om de enterprise AI-assistent te verbinden met externe agent-ecosystemen
  • ServiceNow Agent Control Tower: Bouwt A2A-ondersteuning in het agent-orkestratieplatform voor cross-platform workflows
  • Google ADK: A2A-ondersteuning is direct ingebouwd in Google's Agent Development Kit, zodat elke ADK-gebouwde agent native A2A spreekt
  • Amazon Bedrock AgentCore: AWS heeft A2A gedocumenteerd als een ondersteund protocolcontract voor Bedrock-agents

Het protocol heeft ook SDK's en referentie-implementaties beschikbaar in Python en Java (met een Quarkus-integratie), waardoor het toegankelijk is voor de meeste enterprise-ontwikkelteams.

Hoe A2A te implementeren

A2A implementeren hangt af van of je een agent aanbiedt (server) of agents consumeert (client). Hier het meest voorkomende scenario: je AI-agent vindbaar en aanroepbaar maken voor andere agents.

Stap 1: Maak je Agent Card

Host een JSON-bestand op /.well-known/agent-card.json op je domein. Dit is het startpunt voor agent-ontdekking:

/.well-known/agent-card.json json
{
  "name": "Your Agent Name",
  "description": "Clear, concise description of what your agent does.",
  "url": "https://yourdomain.com/a2a",
  "provider": {
    "organization": "Your Company",
    "url": "https://yourdomain.com"
  },
  "version": "1.0.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "securitySchemes": {
    "apiKey": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key"
    }
  },
  "security": [{ "apiKey": [] }],
  "defaultInputModes": ["application/json"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    {
      "id": "your-skill-id",
      "name": "Human-Readable Skill Name",
      "description": "What this skill does and when to use it."
    }
  ]
}

Stap 2: Implementeer de A2A-endpoints

Je A2A-server moet minimaal deze JSON-RPC-methoden afhandelen:

  • message/send: Ontvang een bericht van een client-agent en maak een taak aan of werk deze bij
  • tasks/get: Retourneer de huidige status van een taak op basis van ID
  • tasks/cancel: Annuleer een lopende taak

Optionele methoden voor uitgebreide functionaliteit:

  • message/stream: Stream real-time updates via SSE
  • tasks/list: Lijst taken op voor een bepaalde context
  • tasks/pushNotification/*: Beheer webhook-abonnementen

Stap 3: Beheer de taaklevenscyclus

Wanneer een client een bericht stuurt, moet je server:

  1. Authenticatie valideren tegen je gedeclareerde beveiligingsschema's
  2. Een nieuwe Task aanmaken met status WORKING
  3. Het verzoek verwerken. Als je meer informatie nodig hebt, stel de status in op INPUT_REQUIRED
  4. Artifacts genereren (je output) en de status instellen op COMPLETED
  5. Als er iets misgaat, stel de status in op FAILED met een beschrijvende foutmelding
Example: JSON-RPC message/send request json
{
  "jsonrpc": "2.0",
  "id": "req-001",
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "parts": [
        {
          "kind": "text",
          "text": "Check availability for SKU-7890 in the EU warehouse"
        }
      ]
    }
  }
}
Example: Completed task response json
{
  "jsonrpc": "2.0",
  "id": "req-001",
  "result": {
    "id": "task-abc-123",
    "status": {
      "state": "completed"
    },
    "artifacts": [
      {
        "parts": [
          {
            "kind": "data",
            "data": {
              "sku": "SKU-7890",
              "warehouse": "EU-AMS",
              "available": 342,
              "reserved": 18
            }
          }
        ]
      }
    ]
  }
}

Wat het implementeren van A2A betekent voor je website

A2A-ondersteuning implementeren levert zowel directe als strategische voordelen op:

VINDBAARHEID

Je Agent Card maakt je diensten machine-vindbaar. AI-agents kunnen je mogelijkheden vinden en evalueren zonder menselijke tussenkomst.

INTEGRATIE

Agents van andere platformen kunnen direct integreren met jouw diensten, waardoor het werk voor custom API-integraties afneemt.

AGENTVERKEER

Naarmate multi-agentsystemen groeien, zullen A2A-enabled diensten het opkomende "agent economy"-verkeer binnenhalen.

CONCURRENTIEVOORDEEL

Vroege A2A-adoptie positioneert je voor op concurrenten nu enterprise AI-orkestratie de standaard wordt.

IsAgentReady controleert op de aanwezigheid van een A2A Agent Card als onderdeel van de Agent Protocols -categorie (15% van je totaalscore). Een geldige Agent Card op /.well-known/agent-card.json verbetert direct je AI-agentgereedheidsscore.

Wie zou A2A moeten implementeren?

A2A is niet voor elke website. Het is specifiek voor diensten die mogelijkheden hebben die andere agents willen gebruiken. Overweeg A2A als je bent:

  • SaaS-platformen met API's waarmee andere systemen integreren (CRM, ERP, HR, e-commerce)
  • API-providers die data of diensten aanbieden die AI-agents kunnen consumeren (weer, betalingen, verzending, identiteitsverificatie)
  • AI-servicebedrijven die gespecialiseerde agents bouwen die moeten samenwerken met andere agents
  • Enterprise-softwareleveranciers wier producten deel uitmaken van grotere bedrijfsworkflows
  • Marktplaatsoperators waar meerdere partijen gecoördineerde interacties nodig hebben

Is je website voornamelijk informatief (blog, portfolio, marketingsite), dan is A2A minder relevant. Richt je dan op de andere AI-gereedheidscategorieën, zoals gestructureerde data, semantische HTML en content-ontdekking .

Beveiligingsoverwegingen

A2A is ontworpen met enterprise-beveiliging in het achterhoofd. De belangrijkste kenmerken:

  • Opaque agents: Agents exposeren nooit hun interne logica, geheugen of proprietary implementaties. Ze delen alleen wat er in de Agent Card is gedeclareerd.
  • Ondertekende Agent Cards: Vanaf v0.3 kunnen Agent Cards cryptografisch worden ondertekend met JWS (RFC 7515), waardoor clients de identiteit van de agent en de integriteit van de kaart kunnen verifiëren voordat ze verbinding maken.
  • Standaard auth-schema's: A2A sluit aan bij OpenAPI-beveiligingsschema's, zodat bedrijven hun bestaande OAuth 2.0- en OIDC-infrastructuur kunnen gebruiken.
  • Zero-trust-compatibel: Het protocol ondersteunt mutual TLS en kan worden geïntegreerd met enterprise zero-trust-architecturen.
  • Toegangscontrole op taakniveau: Elke vaardigheid kan zijn eigen beveiligingsvereisten declareren, waardoor fijnmazige rechten mogelijk zijn.

Tijdlijn en roadmap

A2A beweegt snel. Van concept naar enterprise-standaard:

Datum Mijlpaal
April 2025 Google kondigt A2A aan met meer dan 50 partners, conceptspecificatie gepubliceerd
Juni 2025 Gedoneerd aan Linux Foundation; AWS, Microsoft, Cisco, Salesforce, SAP, ServiceNow treden toe als oprichtende leden
Juli 2025 v0.3 uitgebracht: gRPC-ondersteuning, ondertekende Agent Cards, Python SDK-verbeteringen
Eind 2025 Productierijpe v1.0 verwacht met officiële SDK's voor meerdere talen
2026 Bredere enterprise-adoptie, dynamische UX-onderhandeling, verbeterde streaming-betrouwbaarheid

Het protocol is nog in ontwikkeling. Verwachte verbeteringen: formele opname van autorisatieschema's in Agent Cards, dynamische validatiemethoden voor vaardigheden, en ondersteuning voor dynamische UX-onderhandeling (audio/video midden in een gesprek toevoegen).

Vandaag beginnen

Klaar voor een volledige A2A-implementatie, of gewoon aan het verkennen? Praktische vervolgstappen:

  1. Publiceer een Agent Card: Begin met een minimale /.well-known/agent-card.json die je dienst en mogelijkheden beschrijft. Zelfs zonder backend-endpoints maakt dit je agent vindbaar.
  2. Scan je website: Gebruik IsAgentReady om te zien hoe je site scoort op ondersteuning van agentprotocollen.
  3. Verken de specificatie: De officiële A2A-specificatie is goed gedocumenteerd en bevat transportbindingdetails voor JSON-RPC, gRPC en REST.
  4. Probeer de SDK: Google biedt Python- en Java-SDK's met voorbeeldimplementaties. Bekijk de A2A GitHub-repository voor quickstarts.
  5. Lees de Agent Card-specificatie: Begrijp alle verplichte en optionele velden om je Agent Card zo compleet mogelijk te maken.

Conclusie

A2A standaardiseert hoe AI-agents samenwerken. Het definieert een agent-web: een netwerk waarin AI-agents elkaar ontdekken, authenticeren en taken aan elkaar delegeren over organisatiegrenzen heen.

Met de steun van de Linux Foundation, oprichtende leden zoals Google, AWS, Microsoft, Salesforce, SAP en ServiceNow, en meer dan 150 organisaties erachter, is A2A op weg om de standaard te worden voor enterprise-agent-interoperabiliteit. Multi-agent-samenwerking wordt de norm. De vraag is of jouw diensten deel uitmaken van dat ecosysteem wanneer het zover is.

Bronnen

Klaar om te checken?

SCAN JE WEBSITE

Ontvang je AI-agentgereedheidscore met bruikbare aanbevelingen over 5 categorieën.

  • Gratis directe scan met lettercijfer
  • 5 categorieën, 47 checkpoints
  • Codevoorbeelden bij elke aanbeveling

GERELATEERDE ARTIKELEN

Lees verder over AI-agentgereedheid en weboptimalisatie.

Wat is agents.json? AI Agent-mogelijkheden op je website adverteren
10 min leestijd

Wat is agents.json? AI Agent-mogelijkheden op je website adverteren

agents.json is de opkomende tegenhanger van robots.txt - een machine-leesbaar bestand dat AI-agents vertelt wat je website kan. We behandelen de Wildcard-specificatie, vergelijken het met A2A, MCP en OpenAPI, en laten stap voor stap zien hoe je het implementeert.

ai-agents web-standards agent-protocols
Wat is MCP? Het Model Context Protocol voor AI Agents
10 min leestijd

Wat is MCP? Het Model Context Protocol voor AI Agents

Anthropic's Model Context Protocol (MCP) verbindt AI-assistenten met externe tools en data. We behandelen de architectuur, discovery via /.well-known/mcp.json, huidige adoptie en hoe je het implementeert.

ai-agents web-standards agent-protocols
Wat is WebMCP en waarom heeft je website het nodig
10 min leestijd

Wat is WebMCP en waarom heeft je website het nodig

WebMCP is het W3C-voorstel om websitefunctionaliteit direct beschikbaar te maken voor AI-agents. We behandelen de Declarative en Imperative API's, site-brede discovery, de browsersupport-tijdlijn en stapsgewijze implementatie met codevoorbeelden.

ai-agents web-standards agent-protocols

ONTDEK MEER

De meeste websites scoren onder de 45. Ontdek waar jij staat.

RANGLIJST
BEKIJK HOE ANDEREN SCOREN

RANGLIJST

Bekijk AI-gereedheidsscores van gescande websites.
VERGELIJKEN
VERGELIJKEN

VERGELIJKEN

Vergelijk twee websites zij-aan-zij over alle 5 categorieën en 47 checkpoints.
OVER ONS
HOE WIJ METEN

OVER ONS

Lees meer over onze scoringsmethodologie met 5 categorieën.