Shared Memory vs. Message Passing v multiagentových systémoch
Shared Memory a Message Passing sú dve základné paradigmy koordinácie agentov. Pri Shared Memory (vzor Blackboard) všetci agenti čítajú zo spoločného stavu a zapisujú doň. Pri Message Passing agenti komunikujú výlučne prostredníctvom správ a nezdieľajú žiadny stav. Voľba rozhoduje o konzistencii, previazanosti, škálovaní a debugovateľnosti multiagentového systému.
Na prvý pohľad
- Shared Memory (Blackboard) znamená spoločný stav, z ktorého všetci agenti čítajú a do ktorého zapisujú; Message Passing zapuzdruje každého agenta a necháva ho komunikovať len prostredníctvom správ.
- Kritické pravidlo konzistencie znie: čítanie môže prebiehať paralelne ako fan-out, zápis musí zostať single-threaded. Súbežné zápisy do zdieľaného stavu vedú podľa Cognition k protichodným implicitným rozhodnutiam a krehkým výsledkom.
- Message Passing prevláda v štandardoch roku 2026: A2A definuje životný cyklus úlohy s nepriehľadnými internými detailmi agentov, OpenAI Agents SDK využíva handoffy, Anthropic Claude Agent SDK nástroj Agent (predtým nástroj Task) s komprimovanými výstupmi.
- Shared Memory sa dá debugovať pri topológiách s jedným zapisovateľom (single-writer), pri voľných zápisoch však kolabuje; Message Passing potrebuje dôsledný distributed tracing s correlation ID.
- V praxi produkčné systémy kombinujú oboje: interne zdieľaný stav (napr. stavový objekt v LangGraph s checkpointingom), navonok Message Passing cez A2A.
Shared Memory a Message Passing sú dve základné paradigmy, pomocou ktorých sa dá koordinovať viacero AI agentov. Pri Shared Memory (v klasickej podobe vzor Blackboard) všetci agenti čítajú zo spoločného stavu a zapisujú doň. Pri Message Passing je každý agent zapuzdrený a komunikuje výlučne prostredníctvom správ, bez zdieľaného stavu. Voľba medzi nimi určuje štyri vlastnosti multiagentového systému: konzistenciu, previazanosť, škálovanie a debugovateľnosť. Tento článok porovnáva obe paradigmy podľa týchto kritérií a ukazuje, kedy sa ktorá hodí.
- Shared Memory / Blackboard: spoločný stav (scratchpad, vektorová databáza, stavový objekt), z ktorého všetci agenti čítajú a do ktorého zapisujú. Silná previazanosť, jednoduchá výmena kontextu, ale riziko pri paralelných zápisoch.
- Message Passing: izolovaní agenti, výmena len prostredníctvom správ. Agenti sú od seba oddelení, systém škáluje cez hranice procesov aj poskytovateľov a je to štandard, na ktorom stavajú A2A, OpenAI Agents SDK aj Anthropic Claude Agent SDK.
- Rozhodujúce pravidlo: čítanie môže prebiehať paralelne ako fan-out, zápis by mal zostať single-threaded, bez ohľadu na zvolenú paradigmu.
Shared Memory a vzor Blackboard
Pri prístupe Shared Memory zdieľajú všetci agenti centrálnu pamäť. Klasický vzor Blackboard pochádza z výskumu umelej inteligencie: spoločná „tabuľa“ (blackboard) drží aktuálny stav úlohy, špecializovaní agenti ju sledujú, čítajú z nej časti, ktoré sú pre nich relevantné, zapisujú na ňu svoje čiastkové výsledky a reagujú na zmeny, ktoré spôsobili iní agenti. Neexistuje pevný plán priebehu; poradie vyplýva z toho, ktorý agent práve dokáže prispieť niečím zmysluplným.
V moderných multiagentových systémoch sa Shared Memory objavuje v rôznych podobách. Rozšírené sú štyri externé pamäťové vrstvy:
- Vektorové databázy (pgvector, Pinecone, Weaviate, Qdrant) pre kontext rozšírený o vyhľadané informácie (retrieval-augmented).
- Štruktúrované databázy (Postgres, BigQuery, SAP HANA, Snowflake) pre fakty.
- Scratchpady ako dočasné zdieľané poznámkové bloky, z ktorých agenti čítajú a do ktorých zapisujú, zvyčajne so sémantikou append-only alebo compare-and-swap.
- Perzistentná pamäť agentov (v štýle Letta/MemGPT, cross-thread store v LangGraph, memory tool od Anthropicu).
Čiastočne sem patrí aj vzor peer-to-peer, resp. swarm: rovnocenní agenti na zdieľanej zbernici správ (message bus) a/alebo nad zdieľanou pamäťou bez pevného orchestrátora. Referenciou je OpenAI Swarm: experimentálny framework zverejnený v októbri 2024, ktorý v marci 2025 nahradilo produkčne pripravené OpenAI Agents SDK. Pre firemné prostredie v regióne DACH je však tento voľný model zriedka vhodný, pretože pri ňom trpí debugovateľnosť a zodpovednosť.
Slabým miestom je konzistencia. Hneď ako dvaja agenti čítajú tú istú pamäť a aspoň jeden do nej zapisuje, treba jasnú stratégiu. Bežné sú tri možnosti: (a) optimistická súbežnosť, (b) jeden zapisovateľ s viacerými čitateľmi alebo (c) explicitná sémantika zámkov. Väčšina produkčných systémov volí (b), čo zodpovedá pravidlu Cognition „Writes stay single-threaded“.
Message Passing a komunikácia agentov prostredníctvom správ
Pri Message Passing má každý agent vlastný stav a vlastné kontextové okno. Informácie prúdia len cez explicitné správy, nikdy cez priamy prístup k cudziemu stavu. To agentov od seba oddeľuje: agent nemusí vedieť nič o internom fungovaní, modeli ani pamäti iného agenta, musí poznať len formát správ.
Presne na tejto myšlienke stojí protokol Agent-to-Agent (A2A), ktorý Google zverejnil v apríli 2025 na konferencii Cloud Next a 23. júna 2025 odovzdal nadácii Linux Foundation. A2A definuje, ako agenti hovoria, nie ako myslia: každý agent zverejňuje AgentCard (dokument JSON s endpointom, schopnosťami, zručnosťami (skills), modalitami a schémami autentifikácie). Spolupráca prebieha cez životný cyklus úlohy (task lifecycle):
submitted -> working -> input-required -> completed | failed | canceled
Interné procesy vzdialeného agenta pritom zostávajú nepriehľadné. Práve vďaka tomu môže agent v Salesforce zavolať agenta v SAP bez toho, aby jeden druhému odhalil prompty, pamäť alebo model. Kým A2A pokrýva úroveň medzi agentmi, Model Context Protocol (MCP) rieši úroveň medzi agentom a nástrojom. V odvetví rozšírené pravidlo (stav 2026) znie: MCP pre schopnosti (agent k nástroju), A2A pre spoluprácu (agent k agentovi).
Iné stacky implementujú Message Passing s vlastnou sémantikou:
Stack | Sémantika Message Passing |
|---|---|
A2A | Životný cyklus úlohy, viacdielne správy, artefakty ako výstup, nepriehľadné interné detaily medzi agentmi |
OpenAI Agents SDK | Explicitné handoffy: jeden agent ukončí svoj ťah, ďalší preberá, história konverzácie sa odovzdáva ďalej |
AutoGen (v režime údržby, nástupca: Microsoft Agent Framework) | Skupinový chat so striedaním ťahov (turn-taking), zdieľaná história konverzácie, adresovanie cez zmienky (mentions) |
LangGraph | Typovaný stavový objekt odovzdávaný medzi uzlami, ukladaný v checkpointoch, zachovaný aj po reštarte servera |
Anthropic Claude Agent SDK | Hlavný agent spúšťa subagentov cez nástroj Agent (predtým nástroj Task), subagenti vracajú komprimované štruktúrované výstupy |
Bedrock Multi-Agent Collaboration | Supervisor plus spolupracujúci agenti (collaborators), režim smerovania (routing) vs. plná orchestrácia |
Agentforce | Atlas Reasoning Engine smeruje požiadavky, špecializovaní agenti vracajú výsledky, kontext konverzácie zostáva zachovaný |
LangGraph je tu zaujímavý hraničný prípad: typovaný stavový objekt je v skutočnosti zdieľaný stav, ale kontrolovane sa odovzdáva z uzla do uzla a ukladá v checkpointoch, nikto doň teda nezapisuje voľne. To je zmiešaná forma, ktorá je v praxi bežná.
Kompromisy v priamom porovnaní
Dimenzia | Shared Memory / Blackboard | Message Passing |
|---|---|---|
Previazanosť | Vysoká: všetci agenti poznajú schému stavu | Nízka: zdieľa sa len formát správ |
Konzistencia | Citlivá: race conditions pri súbežných zápisoch, vyžaduje jedného zapisovateľa (single-writer) alebo zámky | Jednoduchšia: neexistuje zdieľaný stav, ktorý by sa dal poškodiť |
Škálovanie | Obmedzené súperením o zápis (write contention) v zdieľanej pamäti | Škáluje cez hranice procesov, tímov aj dodávateľov |
Výmena kontextu | Veľmi priama: celý stav je okamžite viditeľný | Explicitná: len to, čo sa vedome odošle |
Debugovateľnosť | Dobrá pri jednom zapisovateľovi, pri voľných zápisoch kolabuje | Vyžaduje distributed tracing s correlation ID naprieč všetkými správami |
Auditovateľnosť | Snímky stavu, ale „kto čo rozhodol“ býva často nejasné | Každá správa je dátový bod relevantný pre audit |
Typické nasadenie | Tesne previazané čiastkové úlohy v jednom procese | Workflowy naprieč systémami a dodávateľmi |
Štandardný protokol 2026 | proprietárny / interný v rámci frameworku | A2A (Linux Foundation), MCP pre nástroje |
Dva typy zlyhaní si zaslúžia osobitnú pozornosť. Prvým je fragmentácia kontextu: subagenti prijímajú nekompatibilné implicitné rozhodnutia. Cognition to formuluje ako princíp: akcie nesú implicitné rozhodnutia a protichodné rozhodnutia vedú k zlým výsledkom. Proti tomu pomáha zdieľanie úplných záznamov behu (traces) pri vysokej previazanosti, single-threaded zápisy a explicitné dohody o rozhodnutiach. Druhým je debuggability collapse: pri Message Passing neexistuje jediný trace, ktorý pokrýva celý beh, ale N trajektórií subagentov plus syntéza. Riešením je dôsledný distributed tracing s correlation ID, ktoré sa propagujú cez každú úlohu A2A a každé volanie MCP.
Konkrétny príklad: read fan-out s jedným zapisovateľom
Anthropic Research Agent (jún 2025) je referenciou pre správne rozdelenie úloh. Hlavný agent (lead, Claude Opus 4) rozloží požiadavku a spustí N paralelných subagentov (Claude Sonnet 4). Každý subagent má vlastné kontextové okno s približne 200k tokenmi, skúma nezávisle a vracia komprimované zhrnutie (nie celý prepis) hlavnému agentovi, ktorý výsledky syntetizuje. To je čisté Message Passing s izolovanými kontextmi. Výsledok podľa internej výskumnej evaluácie Anthropicu: multiagentový systém dosiahol o 90,2 % lepšie výsledky ako jeden agent s Claude Opus 4. Cenou je približne 15-násobná spotreba tokenov v porovnaní s bežnou interakciou v chate; jeden agent sa pohybuje okolo 4-násobku. Takéto náklady sa oplatia len pri hodnotných úlohách, ktoré sa dajú paralelizovať.
Náprotivkom z poisťovacej praxe je Allianz Project Nemo: sedem špecializovaných agentov (Planner, Cyber, Coverage, Weather, Fraud, Payout, Audit) pre škody zo skazenia potravín po prírodných katastrofách. V prípadovej štúdii Allianz uplynie od nahlásenia škody po záverečnú kontrolu menej ako päť minút. Táto kontrola zostáva na človeku: likvidátor si prečíta zhrnutie z auditu a s konečnou platnosťou rozhodne o vyplatení (human-in-the-loop ako explicitná požiadavka). Poisťovňa Allianz vyvinula systém za menej ako 100 dní a v júli 2025 ho spustila v Austrálii. Zdokumentovaný výsledok: o 80 % kratší čas spracovania a vybavenia pri oprávnených škodách pod 500 AUD.
V pseudokóde vyzerá topológia read fan-out s jediným zapisovateľom takto:
fragmenty = parallel_map(sub_agent.preskumaj, podulohy): čítanie beží paralelne ako fan-out s izolovanými kontextmi.vysledok = lead.syntetizuj(fragmenty): fragmenty spája práve jeden zapisovateľ.commit(vysledok): zápis zostáva single-threaded.
Súbežným zápisom viacerých agentov do toho istého stavu sa naopak treba vyhnúť, pretože paralelne zapisujúci agenti prijímajú navzájom protichodné implicitné rozhodnutia.
Kedy zvoliť ktorú paradigmu
- Message Passing zvoľ, keď agenti spolupracujú naprieč hranicami procesov, tímov alebo dodávateľov, keď majú interné detaily zostať zapuzdrené a keď treba auditovať každú správu. Je to predvolená voľba pre workflowy naprieč systémami (Agentforce k Joule a ďalej ku Copilotu cez A2A) a pre fan-out s prevahou čítania (rešerš, retrieval, klasifikácia, kontrola).
- Shared Memory zvoľ, keď v rámci jedného procesu bežia tesne previazané čiastkové úlohy, spoločný stav je malý, frekvencia zápisov nízka a dá sa zaviesť jediný zapisovateľ. Blackboard sa hodí na úlohy bez pevného plánu priebehu.
- Kombinuj oboje, čo zodpovedá produkčnej realite: interný flow v LangGraph s trvácnym stavovým objektom a checkpointingom, navonok vystavený ako endpoint A2A s AgentCard. Interne kontrolovane zdieľaný stav, navonok čisté Message Passing.
Pre agentúry a B2B manažérov
Otázka paradigmy je otázkou prevádzkového rizika. Kto v regióne DACH nasadzuje multiagentové workflowy, mal by predvolene zvoliť Message Passing cez ustálenú štandardnú kombináciu MCP plus A2A a Shared Memory vedome obmedziť na tesne previazané interné čiastkové úlohy s jedným zapisovateľom. Pre marketingové agentúry to konkrétne znamená: obsahové, rešeršné a kontrolné pipeliny profitujú z paralelného read fan-out, posledný krok zápisu (publikovanie, záznam v CRM) zostáva single-threaded. Ak plánuješ produkčne pripravenú architektúru agentov s možnosťou auditu pre svojich klientov alebo vlastnú firmu, stanov profil previazanosti, stratégiu konzistencie a infraštruktúru pre tracing včas, ešte predtým, než vznikne prvý riadok orchestrácie. Presne tu nastupuje poradenstvo Blck Alpaca.
Otvorí chat s pripraveným promptom.
Často kladené otázky
Aký je rozdiel medzi Shared Memory a Message Passing pri agentoch?
Čo je vzor Blackboard pri agentoch?
Kedy by som mal zvoliť Message Passing namiesto Shared Memory?
Prečo sú paralelné zápisy do zdieľaného stavu problematické?
Akú paradigmu využívajú bežné frameworky v roku 2026?
Ísť hlbšie?
Získajte nové analýzy priamo do schránky, alebo sa pozrite, ako tieto poznatky nasadzujeme pre firmy.