С увеличаването на употребата на AI агенти нараства и нуждата от протоколи, които осигуряват стандартизация, сигурност и подкрепят отворените иновации. В този урок ще разгледаме три протокола, които се стремят да отговорят на тази нужда - Model Context Protocol (MCP), Agent to Agent (A2A) и Natural Language Web (NLWeb).
В този урок ще разгледаме:
• Как MCP позволява на AI агенти да достъпват външни инструменти и данни, за да изпълняват задачи на потребителя.
• Как A2A улеснява комуникацията и сътрудничеството между различни AI агенти.
• Как NLWeb предоставя интерфейси на естествен език за всеки уебсайт, позволявайки на AI агенти да откриват и взаимодействат със съдържанието.
• Идентифициране на основната цел и предимствата на MCP, A2A и NLWeb в контекста на AI агенти.
• Обяснение как всеки протокол улеснява комуникацията и взаимодействието между LLMs, инструменти и други агенти.
• Разпознаване на различните роли, които всеки протокол играе в изграждането на сложни агентни системи.
Model Context Protocol (MCP) е отворен стандарт, който предоставя стандартизиран начин за приложенията да предоставят контекст и инструменти на LLMs. Това позволява “универсален адаптер” към различни източници на данни и инструменти, към които AI агентите могат да се свързват по последователен начин.
Нека разгледаме компонентите на MCP, предимствата в сравнение с директното използване на API и пример за това как AI агенти могат да използват MCP сървър.
MCP работи на клиент-сървър архитектура, а основните компоненти са:
• Hosts са LLM приложения (например редактор на код като VSCode), които стартират връзките към MCP сървър.
• Clients са компоненти в приложението хост, които поддържат едно към едно връзки със сървъри.
• Servers са леки програми, които предоставят специфични възможности.
Протоколът включва три основни примитива, които представляват възможностите на MCP сървър:
• Инструменти: Това са отделни действия или функции, които AI агент може да извика, за да изпълни действие. Например, услуга за времето може да предостави инструмент “получи времето”, или сървър за електронна търговия може да предостави инструмент “закупи продукт”. MCP сървърите рекламират името, описанието и схемата за вход/изход на всеки инструмент в списъка с възможности.
• Ресурси: Това са данни или документи само за четене, които MCP сървър може да предостави, а клиентите могат да ги извлекат при поискване. Примери включват съдържание на файлове, записи в база данни или лог файлове. Ресурсите могат да бъдат текстови (като код или JSON) или бинарни (като изображения или PDF).
• Подсказки: Това са предварително дефинирани шаблони, които предоставят предложени подсказки, позволявайки по-сложни работни потоци.
MCP предлага значителни предимства за AI агенти:
• Динамично откриване на инструменти: Агенти могат динамично да получават списък с налични инструменти от сървър, заедно с описания на техните функции. Това контрастира с традиционните API, които често изискват статично кодиране за интеграции, което означава, че всяка промяна в API изисква актуализация на кода. MCP предлага подход “интегрирай веднъж”, водещ до по-голяма адаптивност.
• Интероперативност между LLMs: MCP работи с различни LLMs, предоставяйки гъвкавост за смяна на основни модели за оценка на по-добра производителност.
• Стандартизирана сигурност: MCP включва стандартен метод за автентикация, подобряващ мащабируемостта при добавяне на достъп до допълнителни MCP сървъри. Това е по-просто от управлението на различни ключове и типове автентикация за различни традиционни API.
Представете си, че потребител иска да резервира полет с помощта на AI асистент, захранван от MCP.
Връзка: AI асистентът (MCP клиент) се свързва с MCP сървър, предоставен от авиокомпания.
Откриване на инструменти: Клиентът пита MCP сървъра на авиокомпанията: “Какви инструменти имате на разположение?” Сървърът отговаря с инструменти като “търсене на полети” и “резервиране на полети”.
Извикване на инструмент: След това потребителят казва на AI асистента: “Моля, потърси полет от Портланд до Хонолулу.” AI асистентът, използвайки своя LLM, идентифицира, че трябва да извика инструмента “търсене на полети” и предава съответните параметри (начална точка, дестинация) на MCP сървъра.
Изпълнение и отговор: MCP сървърът, действайки като обвивка, прави действителното извикване към вътрешния API за резервации на авиокомпанията. След това получава информацията за полета (например JSON данни) и я изпраща обратно на AI асистента.
Допълнително взаимодействие: AI асистентът представя опциите за полети. След като изберете полет, асистентът може да извика инструмента “резервиране на полет” на същия MCP сървър, завършвайки резервацията.
Докато MCP се фокусира върху свързването на LLMs с инструменти, Agent-to-Agent (A2A) протоколът прави крачка напред, като позволява комуникация и сътрудничество между различни AI агенти. A2A свързва AI агенти от различни организации, среди и технологични платформи, за да изпълнят обща задача.
Ще разгледаме компонентите и предимствата на A2A, както и пример за това как може да се приложи в нашето приложение за пътуване.
A2A се фокусира върху улесняване на комуникацията между агенти и тяхната съвместна работа за изпълнение на подзадача на потребителя. Всеки компонент на протокола допринася за това:
Подобно на това как MCP сървър споделя списък с инструменти, карта на агента съдържа:
Изпълнителят на агента е отговорен за предаване на контекста на потребителския чат на отдалечения агент, който се нуждае от това, за да разбере задачата, която трябва да бъде изпълнена. В A2A сървър, агент използва своя собствен LLM, за да анализира входящите заявки и да изпълнява задачи с помощта на свои вътрешни инструменти.
След като отдалеченият агент завърши поисканата задача, неговият продукт се създава като артефакт. Артефактът съдържа резултата от работата на агента, описание на това, което е завършено, и текстовия контекст, който се изпраща чрез протокола. След като артефактът бъде изпратен, връзката с отдалечения агент се затваря, докато не бъде необходима отново.
Този компонент се използва за обработка на актуализации и предаване на съобщения. Той е особено важен в производствени системи за агенти, за да предотврати затварянето на връзката между агенти преди завършването на задача, особено когато времето за изпълнение на задачата може да бъде по-дълго.
• Подобрено сътрудничество: Позволява на агенти от различни доставчици и платформи да взаимодействат, споделят контекст и работят заедно, улеснявайки безпроблемната автоматизация между традиционно несвързани системи.
• Гъвкавост при избор на модел: Всеки A2A агент може да реши кой LLM да използва за обслужване на своите заявки, позволявайки оптимизирани или фино настроени модели за всеки агент, за разлика от единична LLM връзка в някои MCP сценарии.
• Вградена автентикация: Автентикацията е интегрирана директно в A2A протокола, предоставяйки надеждна рамка за сигурност за взаимодействията между агенти.
Нека разширим нашия сценарий за резервация на пътуване, но този път използвайки A2A.
Заявка от потребител към мулти-агент: Потребител взаимодейства с “Туристически агент” A2A клиент/агент, например казвайки: “Моля, резервирай цялото ми пътуване до Хонолулу за следващата седмица, включително полети, хотел и кола под наем.”
Оркестрация от туристическия агент: Туристическият агент получава тази сложна заявка. Той използва своя LLM, за да разсъждава върху задачата и да определи, че трябва да взаимодейства с други специализирани агенти.
Комуникация между агенти: Туристическият агент използва A2A протокола, за да се свърже с агенти надолу по веригата, като “Агент на авиокомпания”, “Агент на хотел” и “Агент за коли под наем”, които са създадени от различни компании.
Делегирано изпълнение на задачи: Туристическият агент изпраща специфични задачи на тези специализирани агенти (например “Намери полети до Хонолулу”, “Резервирай хотел”, “Наеми кола”). Всеки от тези специализирани агенти, използвайки свои собствени LLMs и инструменти (които могат да бъдат 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 агент: Т
Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за каквито и да е недоразумения или погрешни интерпретации, произтичащи от използването на този превод.