Како употреба 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) протокол иде корак даље омогућавајући комуникацију и сарадњу између различитих AI агената. A2A повезује AI агенте из различитих организација, окружења и технолошких платформи ради испуњавања заједничког задатка.
Испитаћемо компоненте и предности A2A, као и пример како би се могао применити у нашој апликацији за путовања.
A2A се фокусира на омогућавање комуникације између агената и њихову сарадњу ради испуњавања подзадатка корисника. Свака компонента протокола доприноси овоме:
Слично као што MCP сервер дели листу алата, картица агента садржи:
Извршилац агента је одговоран за преношење контекста корисничког разговора удаљеном агенту, који је потребан да би разумео задатак који треба да се обави. У A2A серверу, агент користи свој Large Language Model (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 Endpoint): Сваки NLWeb подешавање такође функционише као MCP сервер. То значи да може делити алате (као што је метода “питај”) и податке са другим AI системима. У пракси, ово чини садржај и могућности веб сајта употребљивим за AI агенте, омогућавајући сајту да постане део ширег “екосистема агената.”
Модели за уграђивање: Ови модели се користе за претварање садржаја веб сајта у нумеричке репрезентације зване вектори (уграђивања). Ови вектори хватају значење на начин који рачунари могу упоређивати и претраживати. Чувају се у посебној бази података, а корисници могу изабрати који модел за уграђивање желе да користе.
Векторска база података (механизам за преузимање): Ова база података чува уграђивања садржаја веб сајта. Када неко постави питање, NLWeb проверава векторску базу података да брзо пронађе најрелевантније информације. Даје брзу листу могућих одговора, рангираних по сличности. NLWeb ради са различитим системима за складиштење вектора као што су Qdrant, Snowflake, Milvus, Azure AI Search и Elasticsearch.
Размотримо наш веб сајт за резервацију путовања, али овог пута, он је покренут NLWeb-ом.
Унос података: Постојећи каталози производа веб сајта за путовања (нпр. листе летова, описи хотела, туристички пакети) се форматирају користећи Schema.org или учитавају преко RSS фидова. Алатке NLWeb-а уносе ове структуриране податке, креирају уграђивања и чувају их у локалној или удаљеној векторској бази података.
Питање на природном језику (човек): Корисник посећује веб сајт и, уместо да прегледа меније, уноси у интерфејс за разговор: “Пронађи ми хотел прилагођен породицама у Хонолулуу са базеном за следећу недељу.”
Обрада NLWeb-а: NLWeb апликација прима ово питање. Шаље питање LLM-у ради разумевања и истовремено претражује своју векторску базу података за релевантне листе хотела.
Прецизни резултати: LLM помаже у интерпретацији резултата претраге из базе података, идентификује најбоље подударности на основу критеријума “прилагођен породицама,” “базен,” и “Хонолулу,” и затим форматира одговор на природ
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако настојимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква неспоразумевања или погрешна тумачења која могу произаћи из коришћења овог превода.