Agent2Agent (A2A) Protocol
Agent2Agent (A2A) Protocol je otvorený štandard pre komunikáciu medzi AI agentmi. Predstav si to ako spoločný „jazyk", vďaka ktorému môže tvoj agent požiadať cudzí (remote) agentický systém o prácu — bez toho, aby musel poznať jeho internú logiku.
1. Čo to je (definícia + analógia)
Definícia: A2A je protokol, ktorý štandardizuje, ako si agenti posielajú požiadavky, priebežný stav a výsledky (vrátane dlhších úloh).
Analógia: Ak je API „zásuvka" pre aplikácie, A2A je „telefónny protokol" pre agentov — dohodnú sa na formáte hovoru, aj keď každý z nich má vlastný mozog a vlastné nástroje.
Prečo to vzniklo: Agentické systémy rastú rýchlo, ale bez štandardu vzniká chaos integrácií „každý s každým". Google A2A predstavil v apríli 2025 s podporou 50+ partnerov.
Kto za tým stojí: Primárne Google, s podporou firiem ako Salesforce, SAP, Atlassian, MongoDB, Deloitte, Accenture, LangChain, CrewAI a ďalších.
2. Stavebné bloky protokolu
A2A definuje 5 kľúčových konceptov:
| Koncept | Čo to je | Analógia |
|---|---|---|
| Agent Card | JSON „vizitka" agenta: identita, endpoint, schopnosti, autentifikácia, zoznam skillov | Profil na LinkedIn |
| Message | Jednorazová výmena správ medzi agentmi (otázka → odpoveď) | SMS správa |
| Task | Stavová úloha s lifecycle (submitted → working → completed / failed) |
Ticket v issue trackeri |
| Artifact | Štruktúrovaný výstup úlohy (dokument, súbor, JSON, tabuľka) | Príloha v emaili |
| contextId | Identifikátor, ktorý zoskupuje súvisiace interakcie do jednej „témy" | Vlákno v chate |
3. Ako to funguje (krok za krokom)
Typický priebeh A2A komunikácie:
┌──────────────┐ ┌──────────────┐
│ Client Agent │ │ Remote Agent │
│ (žiadateľ) │ │ (vykonávateľ)│
└──────┬───────┘ └──────┬───────┘
│ 1) GET /.well-known/agent.json │
│ ──────────────────────────────► │
│ ◄── Agent Card (skills, auth) │
│ │
│ 2) POST /tasks (nová úloha) │
│ ──────────────────────────────► │
│ ◄── Task { id, status: working } │
│ │
│ 3) Priebežný update │
│ ◄── streaming / webhook / poll │
│ │
│ 4) Výsledok │
│ ◄── Task { status: completed, │
│ artifacts: [...] } │
└───────────────────────────────────┘
Detailnejšie:
1) Objavenie agenta (discovery):
- Agent si najprv zistí, čo ten druhý agent vie — stiahne si Agent Card z dobre známej URL (
/.well-known/agent.json). - Agent Card obsahuje: meno, popis, URL endpoint, podporované skills, autentifikačné požiadavky, podporované modality (text, súbory, štruktúrované dáta).
- Agent si najprv zistí, čo ten druhý agent vie — stiahne si Agent Card z dobre známej URL (
2) Odoslanie správy alebo štart úlohy:
- Jednoduché veci idú ako Message (jednorazová výmena).
- Zložitejšie sa zmenia na Task (stavová úloha s lifecycle).
- Každá správa môže obsahovať Parts — časti rôznych typov (text, súbor, dáta).
3) Priebežné výsledky a stav:
- Pri dlhšej úlohe môže agent posielať update cez:
- Polling (request/response) — klient sa pýta „už to je?"
- Streaming (SSE) — výsledky chodia postupne v reálnom čase
- Push (webhook) — server zavolá späť, keď sa niečo zmení
- Pri dlhšej úlohe môže agent posielať update cez:
4) Výstupy ako „Artifacts":
- Výsledok nemusí byť len text. Artifact môže byť PDF, CSV, JSON, obrázok alebo akékoľvek štruktúrované dáta.
5) Kontext naprieč krokmi:
- contextId zoskupuje súvisiace interakcie, aby sa viac úloh držalo jednej „témy" — podobne ako vlákno v chate.
4. A2A vs. MCP — kľúčový rozdiel
Tieto dva protokoly sa často zamieňajú, ale riešia iný problém:
| A2A | MCP | |
|---|---|---|
| Čo spája | Agent ↔ Agent | Agent ↔ Nástroje/Dáta |
| Analógia | Dvaja kolegovia si delegujú prácu | Jeden kolega používa nástroje (kalkulačka, databáza, email) |
| Komunikácia | Výmena úloh, stavov a artefaktov | Volanie funkcií (tool calls) |
| Výstupy | Tasks + Artifacts (dlhodobé) | Tool results (okamžité) |
| Discovery | Agent Card (skills, auth) | Tool list (názov, parametre) |
| Stavovosť | Áno — úlohy majú lifecycle | Nie — každé volanie je nezávislé |
| Typický scenár | „Agent, urob mi analýzu trhu" | „Daj mi dáta z databázy XY" |
| Autor | Google (2025) | Anthropic (2024) |
V praxi sa kombinujú: Agent používa MCP na prístup k nástrojom a dátam, a A2A na delegovanie práce iným agentom. Nie sú konkurenti — sú komplementárne vrstvy.
5. Konkrétny príklad: 3 agenti pripravujú report
Používateľ: „Priprav mi týždenný report predaja pre EMEA región."
┌─────────────────────────────────────────────────────────────┐
│ Orchestrator Agent (hlavný agent) │
│ 1. Rozloží úlohu na časti │
│ 2. Deleguje cez A2A: │
│ ├── Data Agent: „Daj mi predaje EMEA za posledný týždeň"│
│ │ └── (používa MCP na query do databázy) │
│ │ └── vráti Artifact: JSON s dátami │
│ │ │
│ ├── Analytics Agent: „Analyzuj tieto dáta, nájdi trendy"│
│ │ └── vráti Artifact: analýza + grafy │
│ │ │
│ └── Report Agent: „Zlož to do PDF reportu" │
│ └── vráti Artifact: report.pdf │
│ │
│ 3. Skontroluje výsledky, zloží finálny output │
│ 4. Vráti používateľovi hotový report │
└─────────────────────────────────────────────────────────────┘
Každý agent je nezávislý — môže bežať na inom serveri, v inom frameworku, dokonca u inej firmy. A2A zabezpečuje, že si rozumejú.
6. Bezpečnosť a súkromie
A2A komunikácia prebieha medzi systémami, často naprieč organizáciami — bezpečnosť je kritická:
Autentifikácia a autorizácia:
- Agent Card definuje, aký typ autentifikácie agent vyžaduje (OAuth 2.0, API keys, mTLS).
- Klient musí preukázať identitu pred tým, než môže posielať úlohy.
- Princíp least privilege: agent by mal mať prístup len k tým skills, ktoré skutočne potrebuje.
Opacity (nepriehľadnosť):
- Kľúčový dizajnový princíp A2A — agenti sú opaque (nepriehľadní).
- Client agent nevidí interné nástroje, prompty ani logiku remote agenta — vidí len jeho skills a výstupy.
- Toto chráni intelektuálne vlastníctvo a zabraňuje prompt injection naprieč agentmi.
Riziká v praxi:
| Riziko | Popis | Mitigácia |
|---|---|---|
| Prompt injection cez artifact | Škodlivý agent vloží inštrukcie do výstupu | Validácia a sanitizácia artefaktov |
| Confused deputy | Agent vykoná akciu v mene neautorizovaného klienta | Per-task autorizácia, audit log |
| Data exfiltration | Remote agent odošle citlivé dáta tretej strane | Network policies, monitoring, sandboxing |
| Agent impersonation | Falošný agent sa vydáva za legitímny | Verifikácia Agent Card, TLS, registry dôvery |
| Cascading failures | Zlyhanie jedného agenta zrúti celý workflow | Timeouty, circuit breakers, fallback stratégie |
- Praktické odporúčania:
- Používaj len agentov z overených registrov alebo od dôveryhodných poskytovateľov.
- Loguj všetky A2A interakcie (kto, čo, kedy, s akým výsledkom).
- Nastav timeouty na úlohy — dlho bežiaci task môže byť znak problému.
- Pri cross-org komunikácii vyžaduj mTLS a explicitný consent na zdieľanie dát.
7. Ekosystém a adopcia
- Špecifikácia: otvorený štandard, GitHub repozitár pod Google.
- Podporované frameworky: LangChain, CrewAI, Google ADK (Agent Development Kit), Vertex AI Agent Builder.
- Enterprise adopcia: Salesforce, SAP, Atlassian, ServiceNow, MongoDB, Deloitte, KPMG, Accenture — signalizuje silnú enterprise orientáciu.
- Vzťah k iným štandardom:
- MCP (Anthropic) — komplementárny, nie konkurenčný (viď sekcia 4).
- OpenAI function calling — low-level tool-use, A2A je vyššia vrstva.
- FIPA ACL — starší štandard pre multi-agent systémy, A2A je jeho moderný nástupca.
8. Quick Reference
| Parameter | Hodnota | Poznámka |
|---|---|---|
| Účel | Štandardná komunikácia agent ↔ agent | „Telefónny protokol pre agentov" |
| Autor | Google (apríl 2025) | 50+ launch partnerov |
| Discovery | Agent Card (/.well-known/agent.json) |
JSON vizitka agenta |
| Komunikácia | Message (jednorazová) / Task (stavová) | JSON cez HTTPS |
| Výstupy | Artifacts (súbory, dáta, dokumenty) | Multimodálne |
| Doručovanie | Polling, SSE streaming, webhook push | 3 mechanizmy |
| Kontext | contextId |
Zoskupuje súvisiace interakcie |
| Autentifikácia | OAuth 2.0, API keys, mTLS | Definovaná v Agent Card |
| Kľúčový princíp | Opacity — agenti nevidia internú logiku druhého | Ochrana IP + bezpečnosť |
| Vzťah k MCP | Komplementárny (A2A = agent↔agent, MCP = agent↔tools) | Nie konkurenti |
| Licencia | Open standard | Apache 2.0 |
Zhrnutie
A2A je otvorený protokol, ktorý štandardizuje komunikáciu medzi AI agentmi cez správy, úlohy a artefakty — iniciovaný Googlom s podporou 50+ firiem.
Kľúčové stavebné bloky sú Agent Card (discovery), Task (lifecycle úlohy), Message (výmena správ), Artifact (štruktúrované výstupy) a contextId (udržanie témy).
A2A a MCP nie sú konkurenti — A2A rieši komunikáciu agent↔agent, MCP rieši agent↔nástroje. V praxi sa kombinujú.
Najväčší prínos je interoperabilita — agenti z rôznych frameworkov a organizácií si vedia delegovať prácu bez custom integrácií.
Najväčšie riziko je bezpečnosť pri cross-org komunikácii — vyžaduje silnú autentifikáciu, audit, opacity a disciplínu v riadení oprávnení.