(Щракнете върху горната снимка, за да гледате видео на този урок)
С нарастването на използването на 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 агент може да извика да изпълни задача. Например услуга за прогноза на времето може да предостави инструмент „получи времето“, или e-commerce сървър - инструмент „закупи продукт“. 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 сървър. Това означава, че може да споделя инструменти (като метод за „питане“) и данни с други AI системи. На практика това прави съдържанието и възможностите на сайта използваеми от AI агенти, позволявайки сайтът да се превърне в част от по-широкия „екосистем на агенти“.
Embedding модели: Тези модели се използват за преобразуване на съдържанието на уебсайта в числови представяния, наречени вектори (embedding-и). Тези вектори улавят смисъла по начин, който компютрите могат да сравняват и търсят. Те се съхраняват в специална база данни, а потребителите могат да избират кой 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 инстанция на сайта. AI агентът може да използва MCP метода ask, за да запита сайта директно: ask("Има ли препоръчани вегански ресторанти в района на Хонолулу от хотела?"). NLWeb инстанцията ще обработи това, използвайки своята база данни с ресторанти (ако е заредена), и ще върне структуриран JSON отговор.
Присъедини се към Microsoft Foundry Discord, за да се запознаеш с други учащи, да участваш в офис часове и да получиш отговори на въпросите си за AI агенти.
Контекстно инженерство за AI агенти
Отказ от отговорност: Този документ е преведен с помощта на AI преводачески услуга Co-op Translator. Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.