S rostoucím využíváním AI agentů roste i potřeba protokolů, které zajistí standardizaci, bezpečnost a podporu otevřené inovace. V této lekci se podíváme na 3 protokoly, které se snaží tuto potřebu naplnit – Model Context Protocol (MCP), Agent to Agent (A2A) a Natural Language Web (NLWeb).
V této lekci se naučíte:
• Jak MCP umožňuje AI agentům přistupovat 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áší rozhraní v přirozeném jazyce na jakýkoli web, což umožňuje AI agentům objevovat a interagovat s 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 budování komplexních agentních systémů.
Model Context Protocol (MCP) je otevřený standard, který poskytuje standardizovaný způsob, jak mohou aplikace 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 by AI agenti mohli využít MCP server.
MCP funguje na architektuře klient-server a jeho základními komponenty jsou:
• Hostitelé jsou aplikace LLM (například editor kódu jako VSCode), které zahajují připojení k MCP serveru.
• Klienti jsou komponenty v hostitelské aplikaci, které udržují jednosměrná připojení k serverům.
• Servery jsou lehké programy, které zpřístupňují specifické schopnosti.
Protokol zahrnuje tři základní primitiva, která představují schopnosti MCP serveru:
• Nástroje: Jedná se o jednotlivé akce nebo funkce, které může AI agent vyvolat k provedení úkolu. Například služba počasí může zpřístupnit nástroj "získat počasí" nebo e-commerce server může zpřístupnit nástroj "koupit produkt". MCP servery inzerují název, popis a schéma vstupů/výstupů každého nástroje ve svém seznamu schopností.
• Zdroje: Jedná se o datové položky nebo dokumenty pouze pro čtení, které může MCP server poskytovat a které mohou klienti na vyžádání získat. Příklady zahrnují obsah souborů, záznamy z databáze nebo logy. Zdroje mohou být textové (například kód nebo JSON) nebo binární (například obrázky nebo PDF).
• Šablony: Jedná se o předdefinované šablony, které poskytují navrhované výzvy, což umožňuje složitější pracovní postupy.
MCP přináší AI agentům významné výhody:
• Dynamické objevování nástrojů: Agenti mohou dynamicky získat seznam dostupných nástrojů ze serveru spolu s popisy jejich funkcí. To je v kontrastu s tradičními API, která často vyžadují statické kódování pro integrace, což znamená, že jakákoli změna API vyžaduje aktualizaci kódu. MCP nabízí přístup "integrovat jednou", což vede k větší přizpůsobivosti.
• Interoperabilita napříč LLM: MCP funguje napříč různými LLM, což poskytuje flexibilitu při přepínání základních modelů za účelem hodnocení lepšího výkonu.
• Standardizovaná bezpečnost: MCP zahrnuje standardní metodu autentizace, což 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 poháněného MCP.
Připojení: AI asistent (MCP klient) se připojí k MCP serveru poskytovanému leteckou společností.
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".
Vyvolání nástroje: Poté požádáte AI asistenta: "Prosím, vyhledej let z Portlandu do Honolulu." AI asistent pomocí svého LLM identifikuje, že potřebuje zavolat nástroj "vyhledat lety" a předá relevantní parametry (odlet, destinace) MCP serveru.
Provedení a odpověď: MCP server, který funguje jako obal, provede skutečné volání na interní API letecké společnosti. Poté obdrží informace o letu (např. data ve formátu JSON) a pošle je zpět AI asistentovi.
Další interakce: AI asistent představí možnosti letů. Jakmile si vyberete let, asistent může vyvolat nástroj "rezervovat let" na stejném MCP serveru a dokončit rezervaci.
Zatímco MCP se zaměřuje na propojení LLM s nástroji, Agent-to-Agent (A2A) protokol jde o krok dál 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 technologickými stacky, aby splnili společný úkol.
Podíváme se na komponenty a výhody A2A spolu s příkladem, jak by mohl být aplikován v naší cestovní aplikaci.
A2A se zaměřuje na umožnění komunikace mezi agenty a jejich spolupráci na splně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ů, agentní karta obsahuje:
◦ Název agenta.
◦ Popis obecných úkolů, které plní.
◦ Seznam specifických dovedností s popisy, které pomáhají ostatním agentům (nebo dokonce lidským uživatelům) pochopit, kdy a proč by chtěli tohoto agenta zavolat.
◦ Aktuální URL koncového bodu agenta.
◦ Verzi a schopnosti agenta, jako jsou streamované odpovědi a push notifikace.
Agentní vykonavatel je zodpovědný za předání kontextu uživatelského chatu vzdálenému agentovi, který tento kontext potřebuje k pochopení úkolu, který má být splněn. Na A2A serveru agent používá svůj vlastní LLM k analýze příchozích požadavků a provádění úkolů pomocí svých vlastních interních nástrojů.
Jakmile vzdálený agent dokončí požadovaný úkol, jeho výstup je vytvořen jako artefakt. Artefakt obsahuje výsledek práce agenta, popis toho, co bylo dokončeno, a textový kontext, který je odeslán prostřednictvím protokolu. Po odeslání artefaktu je spojení se vzdáleným agentem uzavřeno, dokud není znovu potřeba.
Tato komponenta se používá k zpracování aktualizací a předávání zpráv. Je obzvláště důležitá v produkčním prostředí agentních systémů, aby se zabránilo uzavření spojení mezi agenty před dokončením úkolu, zejména když dokončení úkolu může trvat delší dobu.
• Vylepšená spolupráce: Umožňuje agentům od různých dodavatelů a platforem interagovat, sdílet kontext a spolupracovat, což usnadňuje bezproblémovou automatizaci napříč tradičně oddělenými systémy.
• Flexibilita výběru modelu: Každý A2A agent si může zvolit, který LLM použije k obsluze svých požadavků, což umožňuje optimalizované nebo jemně doladěné modely pro jednotlivé agenty, na rozdíl od jediného LLM připojení v některých scénářích MCP.
• Integrovaná autentizace: Autentizace je přímo integrována do protokolu A2A, což poskytuje robustní bezpečnostní rámec pro interakce agentů.

Rozšiřme náš scénář rezervace cestování, tentokrát s využitím A2A.
Požadavek uživatele na multi-agenta: Uživatel interaguje s "Cestovním agentem" (A2A klient/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 pronájmu auta."
Orchestrace cestovním agentem: Cestovní agent obdrží tento komplexní požadavek. Použije svůj LLM k analýze úkolu a určí, že musí interagovat s dalšími specializovanými agenty.
Meziagentní komunikace: Cestovní agent poté použije protokol A2A k připojení k dalším agentům, jako je "Agent letecké společnosti", "Agent hotelu" a "Agent autopůjčovny", které vytvořily různé společnosti.
Delegované provedení úkolu: Cestovní agent pošle specifické úkoly těmto specializovaným agentům (např. "Najdi lety do Honolulu", "Rezervuj hotel", "Pronajmi auto"). Každý z těchto specializovaných agentů, běžících na svých vlastních LLM a využívajících své vlastní nástroje (které mohou být samy MCP servery), provede svou specifickou část rezervace.
Konsolidovaná odpověď: Jakmile všichni specializovaní agenti dokončí své úkoly, cestovní agent sestaví výsledky (detaily letu, potvrzení hotelu, rezervace auta) a pošle uživateli komplexní odpověď ve stylu chatu.
Webové stránky byly dlouho hlavním způsobem, jak uživatelé přistupují k informacím a datům na internetu.
Podívejme se na různé komponenty NLWeb, výhody NLWeb a příklad, jak NLWeb funguje na naší cestovní aplikaci.
NLWeb aplikace (jádro služby): Systém, který zpracovává otázky v přirozeném jazyce. Spojuje různé části platformy, aby vytvořil odpovědi. Můžete si jej představit jako motor, který pohání funkce přirozeného jazyka na webu.
NLWeb protokol: Jedná se o základní sadu pravidel pro interakci v přirozeném jazyce s webem. Odesílá odpovědi ve formátu JSON (často pomocí Schema.org). Jeho účelem je vytvořit jednoduchý základ pro "AI web", podobně jako HTML umožnilo sdílení dokumentů online.
MCP server (Model Context Protocol Endpoint): Každé nastavení NLWeb také funguje jako MCP server. To znamená, že může sdílet nástroje (například 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 "ekosystému agentů".
Modely vkládání: Tyto modely se používají k převodu obsahu webu na číselné reprezentace zvané vektory (embeddingy). Tyto vektory zachycují význam způsobem, který počítače mohou porovnávat a vyhledávat. Jsou uloženy ve speciální databázi a uživatelé si mohou vybrat, který model vkládání chtějí použít.
Vektorová databáze (mechanismus vyhledávání): Tato databáze ukládá embeddingy obsahu webu. Když někdo položí otázku, NLWeb zkontroluje vektorovou databázi, aby rychle našel nejrelevantnější informace. Poskytuje rychlý seznam možných odpovědí, seřazených podle podobnosti. NLWeb pracuje s různými systémy pro ukládání vektorů, jako jsou Qdrant, Snowflake, Milvus, Azure AI Search a Elasticsearch.

Zvažme opět náš cestovní web, tentokrát poháněný NLWeb.
Zpracování dat: Stávající katalogy produktů cestovního webu (např. seznamy letů, popisy hotelů, balíčky zájezdů) jsou formátovány pomocí Schema.org nebo načteny prostřednictvím RSS feedů. Nástroje NLWeb tato strukturovaná data zpracují, 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 rozhraní chatu: "Najdi mi rodinný hotel v Honolulu s bazénem na příští týden."
Zpracování NLWeb: Aplikace NLWeb obdrží tento dotaz. Pošle dotaz LLM pro pochopení a současně prohledá svou vektorovou databázi, aby našla relevantní seznamy hotelů.
Přesné výsledky: LLM pomáhá interpretovat výsledky vyhledávání z databáze, identifikovat nejlepší shody na základě kritérií "rodinný", "bazén" a "Honolulu" a poté formátovat odpověď v přirozeném jazyce. Klíčové je, že odpověď odkazuje na skutečné hotely z katalogu webu, čímž se vyhýbá vymyšleným informacím.
Interakce AI agenta: Protože NLWeb slouží jako MCP server, externí AI cestovní agent by se mohl také připojit k této instanci NLWeb webu. AI agent by pak mohl použít metodu ask MCP k přímému dotazování webu: ask("Jsou v oblasti Honolulu nějaké veganské restaurace doporučené hotelem?"). Instance NLWeb by to zpracovala, využila svou databázi informací o restauracích (pokud je načtena) a vrátila strukturovanou odpověď ve formátu JSON.
Připojte se k Azure AI Foundry Discord, kde se můžete setkat s dalšími studenty, zúčastnit se konzultačních hodin a získat odpovědi na své otázky ohledně AI agentů.
Prohlášení:
Tento dokument byl přeložen pomocí služby AI pro překlady Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.