(Натисніть на зображення вище, щоб переглянути відеоурок)
Зі зростанням використання AI-агентів зростає і потреба у протоколах, що забезпечують стандартизацію, безпеку та підтримують відкриті інновації. У цьому уроці ми розглянемо 3 протоколи, які прагнуть задовольнити цю потребу – Model Context Protocol (MCP), Agent to Agent (A2A) та Natural Language Web (NLWeb).
У цьому уроці ми розглянемо:
• Як MCP дозволяє AI-агентам отримувати доступ до зовнішніх інструментів і даних для виконання завдань користувача.
• Як A2A забезпечує комунікацію та співпрацю між різними AI-агентами.
• Як NLWeb надає природньомовний інтерфейс для будь-якого вебсайту, дозволяючи AI-агентам знаходити та взаємодіяти з контентом.
• Визначити основну мету та переваги MCP, A2A та NLWeb у контексті AI-агентів.
• Пояснити, як кожен протокол полегшує комунікацію та взаємодію між LLM, інструментами та іншими агентами.
• Визнати різні ролі, які кожен протокол відіграє у побудові складних агентних систем.
Model Context Protocol (MCP) — це відкритий стандарт, який забезпечує стандартизований спосіб для застосунків надавати контекст і інструменти LLM. Це дає змогу створити «універсальний адаптер» до різних джерел даних і інструментів, до яких AI-агенти можуть підключатися послідовним способом.
Розглянемо компоненти MCP, переваги порівняно з прямим використанням API і приклад, як AI-агенти можуть використовувати MCP-сервер.
MCP працює на основі клієнт-серверної архітектури, і основні компоненти це:
• Хости — це додатки LLM (наприклад, редактор коду VSCode), які ініціюють підключення до MCP-сервера.
• Клієнти — це компоненти всередині хост-додатку, які підтримують однонаправлені з’єднання з серверами.
• Сервери — це легкі програми, що надають конкретні можливості.
Протокол включає три основні примітиви — це можливості MCP-сервера:
• Інструменти: це окремі дії або функції, які AI-агент може викликати для виконання операції. Наприклад, сервіс погоди може надати інструмент «отримати погоду», або сервер електронної комерції — інструмент «купити товар». MCP-сервери публікують назву інструменту, його опис та схему введення/виведення у списку своїх можливостей.
• Ресурси: це дані або документи тільки для читання, які MCP-сервер може надати, а клієнти можуть отримати за запитом. Прикладами є вміст файлів, записи баз даних або лог-файли. Ресурси можуть бути текстовими (наприклад, код або JSON) або бінарними (зображення, PDF).
• Підказки: це заздалегідь визначені шаблони, які пропонують готові підказки для організації складніших робочих процесів.
MCP дає значні переваги для AI-агентів:
• Динамічний пошук інструментів: Агенти можуть динамічно отримувати список доступних інструментів від сервера разом із їх описами. Це на відміну від традиційних API, які часто потребують статичного кодування інтеграцій, і будь-яка зміна API вимагає оновлення коду. MCP пропонує підхід «інтегруй один раз», що забезпечує більшу адаптивність.
• Інтероперабельність між LLM: MCP працює з різними LLM, забезпечуючи гнучкість у зміні основних моделей для оцінки кращої продуктивності.
• Стандартизована безпека: MCP включає стандартний метод автентифікації, що спрощує масштабування при додаванні доступу до кількох MCP-серверів. Це простіше, ніж керувати різними ключами та типами автентифікації для різних традиційних API.

Уявімо, що користувач хоче забронювати рейс за допомогою AI-помічника на базі MCP.
Підключення: AI-помічник (клієнт MCP) підключається до MCP-сервера, який надає авіакомпанія.
Пошук інструментів: Клієнт запитує MCP-сервер авіакомпанії: «Які інструменти доступні?» Сервер відповідає інструментами «пошук рейсів» та «бронювання рейсів».
Виклик інструменту: Ви запитуєте AI-помічника: «Будь ласка, знайди рейс з Портленда до Гонолулу». AI-помічник за допомогою LLM визначає, що потрібно викликати інструмент «пошук рейсів» і передає відповідні параметри (початок, призначення) MCP-серверу.
Виконання та відповідь: MCP-сервер, як обгортка, здійснює справжній виклик внутрішнього API бронювання авіакомпанії. Потім отримує інформацію про рейс (наприклад, у форматі JSON) та надсилає її назад AI-помічнику.
Подальша взаємодія: AI-помічник показує варіанти рейсів. Після вибору рейсу помічник може викликати інструмент «бронювати рейс» на тому самому MCP-сервері, завершуючи бронювання.
У той час як MCP фокусується на підключенні LLM до інструментів, протокол Agent-to-Agent (A2A) робить крок далі, забезпечуючи комунікацію та співпрацю між різними AI-агентами. A2A підключає AI-агентів із різних організацій, середовищ і технологічних стеків для спільного виконання завдань.
Розглянемо компоненти та переваги A2A, а також приклад застосування у нашому додатку для подорожей.
A2A орієнтований на забезпечення комунікації між агентами та кооперацію у виконанні підзадач користувача. Кожен компонент протоколу сприяє цьому:
Подібно до того, як MCP-сервер ділиться списком інструментів, Карта агента містить:
Виконавець агента відповідає за передачу контексту чату користувача віддаленому агенту, який потребує цього для розуміння завдання. На сервері A2A агент використовує власну велику мовну модель (LLM) для розбору вхідних запитів і виконання завдань із власними внутрішніми інструментами.
Коли віддалений агент виконує запитане завдання, результат оформлюється як артефакт. Артефакт містить результат роботи агента, опис того, що було виконано, та текстовий контекст, що передається протоколом. Після відправлення артефакту з’єднання з віддаленим агентом закривається, доки знову не знадобиться.
Компонент використовується для обробки оновлень і передачі повідомлень. Особливо важливий у продуктивних агентних системах для запобігання закриттю з’єднання між агентами до завершення завдання, особливо коли час виконання завдань може бути тривалим.
• Покращена співпраця: Дозволяє агентам з різних постачальників і платформ взаємодіяти, ділитися контекстом і спільно працювати, сприяючи безшовній автоматизації між традиційно роз’єднаними системами.
• Гнучкість вибору моделі: Кожен агент A2A може обирати, яку LLM використовувати для обслуговування своїх запитів, дозволяючи оптимізовані або тонко налаштовані моделі для кожного агента, на відміну від одного з’єднання LLM у деяких сценаріях MCP.
• Вбудована автентифікація: Автентифікація інтегрована безпосередньо в протокол A2A, забезпечуючи надійну безпеку при взаємодії агентів.

Розглянемо наш сценарій бронювання подорожі, але цього разу з використанням A2A.
Запит користувача до мультіагента: Користувач звертається до агента-клієнта «Тревел Агент» у A2A, можливо кажучи: «Будь ласка, забронюй повну поїздку до Гонолулу на наступний тиждень, включаючи рейси, готель і оренду автомобіля».
Оркестрація від Тревел Агента: Тревел Агент отримує це комплексне замовлення. Він використовує свою LLM для аналізу завдання та визначає, що потрібно звернутися до інших спеціалізованих агентів.
Комунікація між агентами: Тревел Агент за допомогою протоколу A2A підключається до дочірніх агентів, таких як «Агент авіакомпанії», «Агент готелю» та «Агент оренди автомобіля», створених різними компаніями.
Делегування завдань: Тревел Агент надсилає конкретні завдання цим спеціалізованим агентам (наприклад, «Знайди рейси до Гонолулу», «Забронюй готель», «Візьми напрокат автомобіль»). Кожен із цих агентів, що працюють з власними LLM і використовуючи власні інструменти (які можуть бути MCP-серверами), виконує свою частину бронювання.
Консолідована відповідь: Коли всі агенти виконують завдання, Тревел Агент збирає результати (дані про рейси, підтвердження готелю, бронювання автомобіля) і надсилає комплексну відповідь у форматі чату користувачеві.
Вебсайти давно є основним способом доступу користувачів до інформації та даних в Інтернеті.
Розглянемо різні компоненти NLWeb, переваги NLWeb і приклад роботи NLWeb на основі нашого додатку для подорожей.
Додаток NLWeb (основний сервісний код): Система, що обробляє запитання природною мовою. Вона з’єднує різні частини платформи для створення відповідей. Це можна розглядати як двигун, що живить функції природної мови на вебсайті.
Протокол NLWeb: Це базовий набір правил природномовної взаємодії з вебсайтом. Він повертає відповіді у форматі JSON (часто використовуючи Schema.org). Його мета — створити просту основу для «AI-вебу», подібно до того, як HTML зробив можливим спільний доступ до документів онлайн.
MCP-сервер (кінцева точка Model Context Protocol): Кожна установка NLWeb також працює як MCP-сервер. Це означає, що вона може ділитися інструментами (наприклад, методом „ask“) і даними з іншими AI-системами. Практично це робить контент і можливості сайту доступними для AI-агентів, дозволяючи сайту стати частиною ширшої «екосистеми агентів».
Моделі вставок: Ці моделі використовуються для перетворення контенту сайту в числові представлення, що називаються векторами (embedding). Ці вектори передають значення в спосіб, зрозумілий комп’ютерам для порівняння і пошуку. Вектори зберігаються у спеціальній базі даних, і користувачі можуть обирати, яку модель вставок використовувати.
Векторна база даних (механізм пошуку): Ця база зберігає embedding контенту сайту. Коли хтось ставить запитання, NLWeb перевіряє векторну базу, щоб швидко знайти найбільш релевантну інформацію. Вона повертає швидкий список можливих відповідей, відсортованих за схожістю. NLWeb працює з різними системами зберігання векторів, такими як Qdrant, Snowflake, Milvus, Azure AI Search і Elasticsearch.

Знову розглянемо наш сайт бронювання подорожей, але тепер на базі NLWeb.
Завантаження даних: Існуючі каталоги продуктів сайту (наприклад, списки рейсів, описи готелів, турпакети) форматується з використанням Schema.org або завантажуються через RSS-канали. Інструменти NLWeb обробляють ці структуровані дані, створюють embedding і зберігають їх у локальній або віддаленій векторній базі.
Природномовний запит (людина): Користувач заходить на сайт і замість навігації меню вводить у чаті: «Знайди сімейний готель у Гонолулу з басейном на наступний тиждень».
Обробка NLWeb: Додаток NLWeb отримує цей запит, передає його LLM для розуміння і одночасно шукає у векторній базі відповідні готелі.
Точні результати: LLM допомагає інтерпретувати результати пошуку у базі, виділяє кращі варіанти за критеріями «для сімей», «басейн» і «Гонолулу», а потім формує відповідь природною мовою. Важливо, що відповідь базується на реальних готелях з каталогу сайту, уникаючи вигаданих даних.
Взаємодія AI-агентів: Оскільки NLWeb працює як MCP-сервер, зовнішній AI-агент з подорожей також може підключитися до NLWeb цієї сторінки. Агент може викликати метод ask MCP, щоб поставити пряме запитання сайту: ask("Чи є в районі Гонолулу веганські ресторани, рекомендовані готелем?"). Інстанс NLWeb обробить це, використовуючи базу даних ресторанів (якщо завантажена), і поверне структуровану JSON-відповідь.
Приєднуйтесь до Microsoft Foundry Discord, щоб познайомитися з іншими учнями, відвідати консультації й отримати відповіді на питання щодо AI-агентів.
Інженерія контексту для AI агентів
Відмова від відповідальності: Цей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.