Зі зростанням використання AI-агентів зростає потреба у протоколах, які забезпечують стандартизацію, безпеку та підтримують відкриті інновації. У цьому уроці ми розглянемо три протоколи, які прагнуть задовольнити ці потреби: 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) Protocol йде далі, дозволяючи комунікацію та співпрацю між різними AI-агентами. A2A з’єднує AI-агентів з різних організацій, середовищ та технологічних стеків для виконання спільного завдання.
Ми розглянемо компоненти та переваги A2A, а також приклад його застосування у нашому додатку для подорожей.
A2A зосереджений на забезпеченні комунікації між агентами та їх співпраці для виконання підзавдання користувача. Кожен компонент протоколу сприяє цьому:
Подібно до того, як сервер MCP ділиться списком інструментів, картка агента містить:
Виконавець агента відповідає за передачу контексту чату користувача віддаленому агенту, щоб той міг зрозуміти завдання, яке потрібно виконати. На сервері A2A агент використовує свою власну модель LLM для аналізу вхідних запитів і виконання завдань за допомогою своїх внутрішніх інструментів.
Після того, як віддалений агент виконав запитане завдання, його результат створюється як артефакт. Артефакт містить результат роботи агента, опис виконаного завдання та текстовий контекст, який передається через протокол. Після передачі артефакту з’єднання з віддаленим агентом закривається до наступного запиту.
Цей компонент використовується для обробки оновлень та передачі повідомлень. Він особливо важливий у виробничих системах для запобігання закриттю з’єднання між агентами до завершення завдання, особливо якщо виконання завдання займає тривалий час.
• Покращена співпраця: A2A дозволяє агентам від різних постачальників і платформ взаємодіяти, ділитися контекстом і працювати разом, забезпечуючи безперервну автоматизацію між традиційно роз’єднаними системами.
• Гнучкість у виборі моделей: Кожен агент A2A може вирішувати, яку модель LLM використовувати для обслуговування своїх запитів, дозволяючи оптимізовані або спеціально налаштовані моделі для кожного агента, на відміну від єдиного з’єднання LLM у деяких сценаріях MCP.
• Вбудована автентифікація: Автентифікація інтегрована безпосередньо в протокол A2A, забезпечуючи надійну систему безпеки для взаємодії агентів.
Розширимо наш сценарій бронювання подорожі, але цього разу використовуючи A2A.
Запит користувача до мультиагента: Користувач взаємодіє з “агентом подорожей” клієнтом/агентом A2A, наприклад, кажучи: “Будь ласка, забронюй повну поїздку до Гонолулу на наступний тиждень, включаючи рейси, готель і оренду автомобіля”.
Оркестрація агентом подорожей: Агент подорожей отримує цей складний запит. Він використовує свою модель LLM, щоб розібратися в завданні та визначити, що потрібно взаємодіяти з іншими спеціалізованими агентами.
Міжагентна комунікація: Агент подорожей використовує протокол A2A для підключення до агентів нижчого рівня, таких як “агент авіакомпанії”, “агент готелю” та “агент оренди автомобілів”, створених різними компаніями.
Виконання делегованих завдань: Агент подорожей надсилає конкретні завдання цим спеціалізованим агентам (наприклад, “Знайди рейси до Гонолулу”, “Забронюй готель”, “Орендуй автомобіль”). Кожен із цих спеціалізованих агентів, використовуючи свої власні моделі LLM та інструменти (які можуть бути серверами MCP), виконує свою частину бронювання.
Консолідована відповідь: Після того, як усі агенти нижчого рівня завершують свої завдання, агент подорожей збирає результати (деталі рейсу, підтвердження готелю, бронювання автомобіля) і надсилає комплексну відповідь у стилі чату назад користувачу.
Вебсайти давно стали основним способом доступу користувачів до інформації та даних в інтернеті.
Розглянемо різні компоненти NLWeb, переваги NLWeb та приклад роботи NLWeb на основі нашого додатку для подорожей.
NLWeb-додаток (основний код сервісу): Система, яка обробляє запитання природною мовою. Вона з’єднує різні частини платформи для створення відповідей. Її можна уявити як двигун, що забезпечує функції природної мови вебсайту.
Протокол NLWeb: Це базовий набір правил для взаємодії природною мовою з вебсайтом. Він повертає відповіді у форматі JSON (зазвичай використовуючи Schema.org). Його мета — створити простий фундамент для “AI Web”, так само як HTML зробив можливим обмін документами онлайн.
Сервер MCP (кінцева точка Model Context Protocol): Кожна установка NLWeb також працює як сервер MCP. Це означає, що вона може ділитися інструментами (наприклад, методом “запитати”) та даними з іншими AI-системами. На практиці це робить контент і можливості вебсайту доступними для AI-агентів, дозволяючи сайту стати частиною ширшої “екосистеми агентів”.
Моделі вбудовування: Ці моделі використовуються для перетворення контенту вебсайту у числові представлення, які називаються векторами (вбудовування). Ці вектори захоплюють значення таким чином, щоб комп’ютери могли порівнювати та шукати. Вони зберігаються у спеціальній базі даних, і користувачі можуть вибирати, яку модель вбудовування вони хочуть використовувати.
Векторна база даних (механізм пошуку): Ця база даних зберігає вбудовування контенту вебсайту. Коли хтось задає запитання, NLWeb перевіряє векторну базу даних, щоб швидко знайти найбільш релевантну інформацію. Вона надає швидкий список можливих відповідей, ранжованих за схожістю. NLWeb працює з різними системами зберігання векторів, такими як Qdrant, Snowflake, Milvus, Azure AI Search та Elasticsearch.
Розглянемо наш вебсайт для бронювання подорожей, але цього разу він працює на основі NLWeb.
Інтеграція даних: Існуючі каталоги продуктів вебсайту (наприклад, списки рейсів, описи готелів, туристичні пакети) форматуються за допомогою Schema.org або завантажуються через RSS-канали. Інструменти NLWeb інтегрують ці структуровані дані, створюють вбудовування та зберігають їх у локальній або віддаленій векторній базі даних.
Запит природною мовою (людина): Користувач заходить на вебсайт і, замість навігації по меню, вводить у чат-інтерфейс: “Знайди мені сімейний готель у Гонолулу з басейном на наступний тиждень”.
Обробка NLWeb: Додаток NLWeb отримує цей запит. Він надсилає запит до LLM для розуміння і одночасно шукає у своїй векторній базі даних відповідні списки готелів.
Точні результати: LLM допомагає інтерпретувати результати пошуку з бази даних, визначити найкращі варіанти за критеріями “сімейний”, “басейн” і “Гонолулу”, а потім форматує відповідь природною мовою. Важливо, що відповідь стосується реальних готелів із каталогу вебсайту, уникаючи вигаданих даних.
Взаємодія AI-агента: Оскільки NLWeb працює як сервер MCP, зовнішній AI-агент для подорожей також може підключитися до NLWeb-інстанції цього вебсайту. AI-агент може використовувати метод ask
MCP для прямого запиту до вебсайту: ask("Чи є веганські ресторани в районі Гонолулу, рекомендовані готелем?")
. Інстанція NLWeb обробить це, використовуючи свою базу даних інформації про ресторани (якщо
Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.