(Klikněte na obrázek výše pro zobrazení videa této lekce)
S rostoucím využíváním AI agentů roste i potřeba protokolů, které zajišťují standardizaci, bezpečnost a podporu otevřené inovace. V této lekci si představíme 3 protokoly, které tuto potřebu naplňují – Model Context Protocol (MCP), Agent to Agent (A2A) a Natural Language Web (NLWeb).
V této lekci se zaměříme na:
• Jak MCP umožňuje AI agentům přístup k externím nástrojům a datům pro plnění úkolů uživatelů.
• Jak A2A umožňuje komunikaci a spolupráci mezi různými AI agenty.
• Jak NLWeb přináší přirozené jazykové rozhraní na jakoukoli webovou stránku, což umožňuje AI agentům objevovat a interagovat s jejím obsahem.
• Identifikovat hlavní účel a přínosy MCP, A2A a NLWeb v kontextu AI agentů.
• Vysvětlit, jak každý protokol usnadňuje komunikaci a interakci mezi LLM, nástroji a dalšími agenty.
• Rozpoznat odlišné role, které každý protokol hraje při tvorbě složitých agentních systémů.
Model Context Protocol (MCP) je otevřený standard, který poskytuje standardizovaný způsob, jak aplikace mohou poskytovat kontext a nástroje LLM. To umožňuje „univerzální adaptér“ pro různé zdroje dat a nástroje, ke kterým se AI agenti mohou připojit konzistentním způsobem.
Podívejme se na komponenty MCP, výhody oproti přímému používání API a příklad, jak mohou AI agenti používat MCP server.
MCP funguje na klient-server architektuře a hlavní komponenty jsou:
• Hostitelé jsou LLM aplikace (například kódovací editor jako VSCode), které zahajují připojení k MCP serveru.
• Klienti jsou komponenty uvnitř hostitelské aplikace, které udržují jedno-na-jedno připojení k serverům.
• Servery jsou lehké programy, které zpřístupňují specifické schopnosti.
Součástí protokolu jsou tři základní primitivy, což jsou schopnosti MCP serveru:
• Nástroje: Jsou to samostatné akce nebo funkce, které může AI agent zavolat k provedení úkolu. Například meteorologická služba může zpřístupnit nástroj „získat počasí“ nebo e-commerce server nástroj „koupit produkt“. MCP servery zveřejňují jméno, popis a vstupní/výstupní schéma každého nástroje ve svém seznamu schopností.
• Zdroje: Jsou to datové položky nebo dokumenty pouze pro čtení, které MCP server může poskytovat, a klienti je mohou na vyžádání získat. Příklady zahrnují obsah souborů, záznamy databází nebo log soubory. Zdroje mohou být textové (např. kód nebo JSON) nebo binární (např. obrázky nebo PDF).
• Předvolby (Prompts): Jsou to předdefinované šablony, které poskytují navrhované výzvy, což umožňuje složitější pracovní toky.
MCP nabízí významné výhody pro AI agenty:
• Dynamické objevování nástrojů: Agenti mohou dynamicky získat seznam dostupných nástrojů ze serveru spolu s popisy jejich funkcí. To kontrastuje s tradičními API, která často vyžadují statické programování pro integrace, což znamená, že jakákoli změna API vyžaduje úpravu kódu. MCP nabízí přístup „integrace jednou“, což vede k větší adaptabilitě.
• Interoperabilita napříč LLM: MCP funguje s různými LLM, poskytuje flexibilitu v přepínání modelů pro lepší výkon.
• Standardizovaná bezpečnost: MCP zahrnuje standardní autentizační metodu, která zlepšuje škálovatelnost při přidávání přístupu k dalším MCP serverům. To je jednodušší než správa různých klíčů a typů autentizace pro různá tradiční API.

Představte si, že uživatel chce rezervovat let pomocí AI asistenta založeného na MCP.
Připojení: AI asistent (MCP klient) se připojí k MCP serveru letecké společnosti.
Objevování nástrojů: Klient se zeptá MCP serveru letecké společnosti: „Jaké nástroje máte k dispozici?“ Server odpoví nástroji jako „vyhledat lety“ a „rezervovat lety“.
Volání nástroje: Poté požádáte AI asistenta: „Prosím, vyhledej let z Portlandu do Honolulu.“ AI asistent využívající svůj LLM zjistí, že musí zavolat nástroj „vyhledat lety“ a předá relevantní parametry (odlet, cíl) MCP serveru.
Provedení a odpověď: MCP server fungující jako obal provede skutečný hovor do interního rezervačního API letecké společnosti. Poté přijme informace o letu (např. ve formátu JSON) a odešle je zpět AI asistentovi.
Další interakce: AI asistent zobrazí možnosti letu. Po výběru letu může asistent zavolat nástroj „rezervovat let“ na stejném MCP serveru a dokončit rezervaci.
Zatímco MCP se zaměřuje na připojení LLM k nástrojům, Agent-to-Agent (A2A) protokol jde o krok dále tím, že umožňuje komunikaci a spolupráci mezi různými AI agenty. A2A propojuje AI agenty napříč různými organizacemi, prostředími a technologiemi k dokončení společného úkolu.
Podíváme se na komponenty a přínosy A2A a uvedeme příklad, jak by mohl být použit v naší cestovní aplikaci.
A2A se soustředí na umožnění komunikace mezi agenty a jejich spolupráci při plnění dílčího úkolu uživatele. Každá komponenta protokolu k tomu přispívá:
Podobně jako MCP server sdílí seznam nástrojů, Agent Card obsahuje:
Agent Executor je zodpovědný za předání kontextu uživatelského chatu vzdálenému agentovi, který jej potřebuje k pochopení úkolu, který má být splněn. V A2A serveru používá agent svůj vlastní Large Language Model (LLM) k analýze příchozích požadavků a vykonání úkolů pomocí svých interních nástrojů.
Jakmile vzdálený agent dokončí požadovaný úkol, vzniká jako výstup artifact. Artifact obsahuje výsledek práce agenta, popis toho, co bylo dokončeno, a textový kontext, který je přenášen protokolem. Po odeslání artifactu je spojení s vzdáleným agentem uzavřeno, dokud není znovu potřeba.
Tato komponenta slouží k zpracování aktualizací a předávání zpráv. Je obzvláště důležitá v produkci pro agentní systémy, aby se zabránilo ukončení spojení mezi agenty před dokončením úkolu, zejména když dokončení úkolů může trvat delší dobu.
• Vylepšená spolupráce: Umožňuje agentům od různých dodavatelů a platforem vzájemně komunikovat, sdílet kontext a spolupracovat, což usnadňuje plynulou automatizaci napříč tradičně nespojenými systémy.
• Flexibilita výběru modelu: Každý A2A agent si může zvolit, který LLM používá k obsluze svých požadavků, což umožňuje optimalizované či doladěné modely pro jednotlivé agenty, na rozdíl od jednoho LLM připojení v některých MCP scénářích.
• Integrovaná autentizace: Autentizace je přímo integrována do A2A protokolu, což poskytuje robustní bezpečnostní rámec pro interakce agentů.

Rozvineme náš scénář rezervace cestování, tentokrát však za použití A2A.
Požadavek uživatele na multi-agenta: Uživatel komunikuje s A2A klientem/agentem „Travel Agent“ například tím, že řekne: „Prosím, zarezervuj celý výlet do Honolulu na příští týden, včetně letů, hotelu a půjčení auta“.
Orchestrace cestovním agentem: Travel Agent obdrží tento složitý požadavek. Používá svůj LLM, aby zvážil úkol a určil, že musí komunikovat s dalšími specializovanými agenty.
Komunikace mezi agenty: Travel Agent pak použije A2A protokol k připojení k následným agentům, jako jsou „Airline Agent“, „Hotel Agent“ a „Car Rental Agent“, které vytvářejí různé společnosti.
Delegované provádění úkolů: Travel Agent pošle specifické úkoly těmto specializovaným agentům (např. „Najdi lety do Honolulu“, „Zarezervuj hotel“, „Půjč auto“). Každý z těchto agentů, provozující vlastní LLM a používající vlastní nástroje (které sami mohou být MCP servery), vykoná svou část rezervace.
Konsolidovaná odpověď: Po dokončení všech úkolů následnými agenty Travel Agent sestaví výsledky (detaily letu, potvrzení hotelu, rezervace auta) a zašle souhrnnou, chatovou odpověď zpět uživateli.
Webové stránky dlouhodobě představují hlavní způsob, jak uživatelé přistupují k informacím a datům na internetu.
Podívejme se na různé komponenty NLWeb, přínosy NLWeb a příklad, jak náš NLWeb funguje na naší cestovní aplikaci.
NLWeb aplikace (základní kód služby): Systém, který zpracovává přirozené jazykové dotazy. Spojuje různé části platformy pro tvorbu odpovědí. Můžete ji vnímat jako motor, který pohání přirozené jazykové funkce webu.
NLWeb protokol: Toto je základní sada pravidel pro přirozenou jazykovou interakci s webem. Vrací odpovědi ve formátu JSON (často využívá Schema.org). Jeho účelem je vytvořit jednoduchý základ „AI webu“, obdobně jako HTML umožnilo sdílení dokumentů online.
MCP server (Model Context Protocol koncový bod): Každé nastavení NLWeb také funguje jako MCP server. To znamená, že může sdílet nástroje (jako metodu „ask“) a data s jinými AI systémy. V praxi to umožňuje, aby obsah a schopnosti webu byly použitelné AI agenty, což umožňuje webu stát se součástí širšího „agentního ekosystému“.
Embedding modely: Tyto modely se používají k převodu obsahu webu na číselné reprezentace nazývané vektory (embeddingy). Tyto vektory zachycují význam způsobem, kterému mohou počítače porovnávat a vyhledávat. Ukládají se do speciální databáze a uživatelé si mohou zvolit, který embedding model chtějí využít.
Vektorová databáze (retrieval mechanismus): Tato databáze ukládá embeddingy obsahu webových stránek. Když někdo položí dotaz, NLWeb zkontroluje vektorovou databázi, aby rychle našel nejrelevantnější informace. Poskytne rychlý seznam možných odpovědí, seřazených podle podobnosti. NLWeb pracuje s různými systémy pro uložení vektorů, jako jsou Qdrant, Snowflake, Milvus, Azure AI Search a Elasticsearch.

Znovu si vezměme náš cestovní rezervační web, tentokrát poháněný NLWebem.
Nahrání dat: Stávající katalogy produktů na cestovním webu (např. seznamy letů, popisy hotelů, zájezdy) jsou formátovány pomocí Schema.org nebo načteny přes RSS feedy. NLWebovy nástroje zpracují tato strukturovaná data, vytvoří embeddingy a uloží je do lokální nebo vzdálené vektorové databáze.
Dotaz v přirozeném jazyce (člověk): Uživatel navštíví web a místo procházení menu napíše do chatovacího rozhraní: „Najdi mi rodinný hotel v Honolulu s bazénem na příští týden“.
Zpracování NLWebem: NLWeb aplikace tento dotaz přijme. Odešle ho k pochopení do LLM a současně vyhledá v jeho vektorové databázi relevantní nabídky hotelů.
Přesné výsledky: LLM pomáhá interpretovat výsledky vyhledávání z databáze, identifikuje nejlepší odpovídající výsledky na základě kritérií „rodinný“, „bazén“ a „Honolulu“ a poté formátuje odpověď v přirozeném jazyce. Důležité je, že odpověď odkazuje na skutečné hotely z katalogu webu, ne na vymyšlené informace.
Interakce AI agenta: Protože NLWeb funguje jako MCP server, může se ke zdejšímu NLWebu připojit i externí AI cestovní agent. Ten může použít MCP metodu ask k přímému dotazu na web, například: ask("Jsou v oblasti Honolulu veganské restaurace doporučené hotelem?"). NLWeb tuto žádost zpracuje, využije svou databázi informací o restauracích (pokud je načtena) a vrátí strukturovanou JSON odpověď.
Připojte se k Microsoft Foundry Discord, kde potkáte další studenty, můžete navštěvovat konzultační hodiny a získat odpovědi na své otázky o AI agentech.
Context Engineering pro AI agenty
Prohlášení o omezení odpovědnosti: Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.