(Klõpsa ülaloleval pildil, et vaadata selle õppetunni videot)
Kuna AI agente kasutatakse järjest enam, suureneb ka vajadus protokollide järele, mis tagavad standardimise, turvalisuse ning toetavad avatud innovatsiooni. Selles õppetunnis käsitleme kolme protokolli, mis püüavad sellele vajadusele vastata – Model Context Protocol (MCP), Agent to Agent (A2A) ja Natural Language Web (NLWeb).
Selles õppetunnis käsitleme:
• Kuidas MCP võimaldab AI agentidel ligi pääseda välistele tööriistadele ja andmetele, et täita kasutaja ülesandeid.
• Kuidas A2A võimaldab erinevate AI agentide omavahelist suhtlust ja koostööd.
• Kuidas NLWeb toob loomuliku keele liidesed mis tahes veebisaidile, võimaldades AI agentidel sisu avastada ja sellega suhelda.
• Tuletada meelde MCP, A2A ja NLWeb põhieesmärk ja eelised AI agentide kontekstis.
• Selgitada, kuidas iga protokoll hõlbustab kommunikatsiooni ja suhtlust LLM-ide, tööriistade ja teiste agentide vahel.
• Tuvastada iga protokolli eraldi rollid keerukate agentsete süsteemide ülesehitamisel.
Model Context Protocol (MCP) on avatud standard, mis pakub rakendustele standardiseeritud viisi pakkuda konteksti ja tööriistu LLM-idele. See võimaldab „universaalset adapterit“ erinevatele andmeallikatele ja tööriistadele, millesse AI agentidel on võimalik järjepidevalt ühendada.
Vaatleme MCP komponente, eeliseid võrreldes otse API kasutamisega ja näidet, kuidas AI agent võib MCP serverit kasutada.
MCP töötab kliendi-serveri arhitektuuril ja põhikomponendid on:
• Hostid on LLM rakendused (näiteks koodiredaktor nagu VSCode), mis alustavad ühendusi MCP serveriga.
• Kliendid on komponendid hostrakenduse sees, mis hoiavad ühe-ühe ühendust serveritega.
• Serverid on kergekaalulised programmid, mis avaldavad spetsiifilisi võimeid.
Protokolli kuuluvad kolm põhialgatust, mis on MCP serveri võimed:
• Tööriistad: Need on eraldiseisvad toimingud või funktsioonid, mida AI agent saab kutsuda mingi tegevuse sooritamiseks. Näiteks võib ilmapalvel teenus pakkuda „saada ilm“ tööriista või e-kaubanduse server „osta toode“ tööriista. MCP serverid reklaamivad iga tööriista nime, kirjeldust ja sisend-/väljundskeemi oma võimete nimekirjas.
• Ressursid: Need on ainult-lugemisandmed või dokumendid, mida MCP server saab pakkuda ja mida kliendid saavad nõudmisel kätte saada. Näiteks faili sisu, andmebaasi kirjed või logifailid. Ressursid võivad olla tekstilised (nt kood või JSON) või binaarsed (nt pildid või PDF-id).
• Sissutõmbed: Need on ette määratud mallid, mis pakuvad ettepanekutena sisutõmbeid, võimaldades keerukamaid töövooge.
MCP pakub AI agentidele märkimisväärseid eeliseid:
• Dünaamiline tööriistade avastamine: Agendid saavad dünaamiliselt serverilt kätte nimekirja saadaolevatest tööriistadest koos nende tegevuste kirjeldustega. See erineb traditsioonilistest API-dest, mille integreerimiseks on sageli vaja staatilist kodeerimist, mis tähendab, et iga API muutus nõuab koodi uuendusi. MCP pakub „integreeri üks kord“ lähenemist, mis võimaldab suuremat kohanemisvõimet.
• Ühenduvus eri LLM-idega: MCP töötab erinevate LLM-idega, pakkudes paindlikkust tuumamodelleid vahetada parema jõudluse saavutamiseks.
• Standardiseeritud turvalisus: MCP sisaldab standardset autentimismeetodit, mis parandab skaleeritavust, kui lisatakse ligipääsu täiendavatele MCP serveritele. See on lihtsam kui erinevate traditsiooniliste API-de võtmete ja autentimistüüpide haldamine.

Kujutame ette, et kasutaja soovib lennukipileti broneerida AI assistendi kaudu, mida juhib MCP.
Ühendus: AI assistent (MCP klient) loob ühenduse lennufirma pakutava MCP serveriga.
Tööriistade avastamine: Klient küsib lennufirma MCP serverilt: „Millised tööriistad teil olemas on?“ Server vastab tööriistadega nagu „lennupiletite otsimine“ ja „lennupiletite broneerimine“.
Tööriista kutsumine: Seejärel palud AI assistendil „Palun otsi lendu Portlandist Honolulu suunas“. AI assistent, kasutades oma LLM-i, tuvastab, et tuleb kutsuda tööriist „lennupiletite otsimine“ ja edastab asjakohased parameetrid (lähtesta, sihtkoht) MCP serverile.
Täideviimine ja vastus: MCP server, tegutsedes kui „ümbris“, teeb tegeliku kõne lennufirma siseühendusele API-le. Seejärel saab lennuinformatsiooni (nt JSON-andmed) ja saadab selle AI assistendile tagasi.
Järgmine suhtlus: AI assistent esitab lennuvõimalused. Kui kasutaja valib lennu, kutsub assistent võib-olla sama MCP serveri „lennupileti broneerimise“ tööriista, lõpetades broneerimise.
Kui MCP keskendub LLM-ide ühendamisele tööriistadega, siis Agent-to-Agent (A2A) protokoll läheb samm edasi, võimaldades suhtlust ja koostööd erinevate AI agentide vahel. A2A ühendab AI agendid erinevate organisatsioonide, keskkondade ja tehnoloogiastiikrite vahel ühise ülesande täitmiseks.
Uurime A2A komponente ja eeliseid ning näidet, kuidas seda võiks rakendada meie reisis rakenduses.
A2A keskendub agentide omavahelise kommunikatsiooni võimaldamisele ja nende koostööle kasutaja alamülesande täitmiseks. Iga protokolli komponent panustab sellesse:
Sarnaselt MCP serveri tööriistade loendiga sisaldab Agentkaart järgmist:
Agendikäitaja vastutab kasutaja vestluse konteksti edastamise eest kaugagentile, kuna kaugagent vajab seda ülesande mõistmiseks. A2A serveris kasutab agent oma suurt keelemudelit (LLM), et analüüsida saabunud taotlusi ja täita ülesandeid oma sisemiste tööriistade abil.
Kui kaugagent on taotletud ülesande lõpetanud, luuakse tema töö tulemusena artefakt. Artefakt sisaldab agendi töö tulemust, kirjeldust täidetud ülesandest ja tekstikonteksti, mis on protokolli kaudu saadetud. Pärast artefakti saatmist suletakse ühendus kaugagentiga, kuni seda uuesti vajatakse.
See komponent kasutatakse uuenduste haldamiseks ja sõnumite edastamiseks. See on tootmises agentsete süsteemide puhul eriti oluline, et takistada agentide vahelise ühenduse sulgumist enne, kui ülesanne on lõpetatud, eriti kui ülesande täitmine võib võtta kauem aega.
• Täiustatud koostöö: See võimaldab agentidel erinevatelt müüjatelt ja platvormidelt suhelda, jagada konteksti ja koos töötada, võimaldades sujuvat automatiseerimist tavaühenduste vahel.
• Mudelite valiku paindlikkus: Iga A2A agent saab valida, millist LLM-i ta kasutab oma päringute teenindamiseks, võimaldades optimeeritud või häälestatud mudeleid iga agendi jaoks, erinevalt mõnest MCP stsenaariumist, kus on ainult üks LLM ühendus.
• Sisseehitatud autentimine: Autentimine on otse integreeritud A2A protokolli, pakkudes tugevat turvafraami agentide interaktsiooniks.

Täiendame meie reisibroneerimise stsenaariumi, kuid sel korral kasutades A2A-d.
Kasutaja taotlus mitmeagendile: Kasutaja suhtleb „Reisiagendi“ A2A kliendi/agendiga, näiteks öeldes: „Palun broneeri kogu reis Honolulu järgmisele nädalale, sealhulgas lennud, hotell ja autorent“.
Reisiagendi orkestreerimine: Reisiagent saab selle keeruka taotluse. Ta kasutab oma LLM-i, et ülesannet analüüsida ja teha kindlaks, et peab suhtlema teiste spetsialiseerunud agentidega.
Agendid vaheline suhtlus: Reisiagent kasutab siis A2A protokolli, et ühenduda alamagentidega, nagu „Lennufirma agent“, „Hotelli agent“ ja „Autorendi agent“, mille on loonud erinevad ettevõtted.
Ülesannete delegeerimine: Reisiagent saadab spetsialiseerunud agentidele konkreetsed ülesanded (nt „Leia lennud Honolulu“, „Broneeri hotell“, „Võta autorent“). Iga spetsialiseerunud agent, kasutades oma LLM-i ja oma tööriistu (mis võivad olla ise MCP serverid), täidab oma osa broneerimisest.
Koondatud vastus: Kui kõik alamagendid on oma ülesanded lõpule viinud, koostab Reisiagent tulemused (lennu andmed, hotelli kinnitus, autorendi broneering) ja saadab kasutajale täieliku vestlusstiilis vastuse.
Veebilehed on juba kaua olnud peamine viis kasutajate jaoks internetis info ja andmeteni ligipääsuks.
Vaatleme NLWebi erinevaid komponente, selle eeliseid ja näidet, kuidas meie NLWeb töötab, vaadates tolle reisiaplikatsiooni.
NLWeb rakendus (tuumteenuse kood): Süsteem, mis töötleb loomulikus keeles esitatud küsimusi. See ühendab platvormi erinevad osad vastuste loomiseks. Seda võib mõelda kui mootorit, mis jõustab veebisaidi loomuliku keele funktsioonid.
NLWeb protokoll: See on loomuliku keele suhtluse põhireeglistik veebisaidiga. See saadab vastuseid tagasi JSON formaadis (tihti kasutades Schema.org-i). Selle eesmärk on luua lihtne alus „AI-veebile“, samamoodi nagu HTML võimaldas dokumentide jagamist veebis.
MCP server (Model Context Protocoli lõpp-punkt): Iga NLWeb seadistus töötab ka MCP serverina. See tähendab, et see võib jagada tööriistu (näiteks „küsida“ meetod) ja andmeid teiste AI süsteemidega. Tegelikkuses teeb see veebisaidi sisu ja võimed AI agentide jaoks kasutatavaks, võimaldades saidist saada osa laiemast „agendisüsteemist“.
Embedimise mudelid: Need mudelid teisendavad veebisaidi sisu arvulisteks esituskujunditeks ehk vektoriteks (embeddingudeks). Need vektorid kannavad tähendust, mida arvutid saavad omavahel võrrelda ja otsida. Need salvestatakse spetsiaalsesse andmebaasi ning kasutajad saavad valida, millist embedimise mudelit nad soovivad kasutada.
Vektorandmebaas (tagastamismehhanism): See andmebaas salvestab veebisaidi sisu embeddingud. Kui keegi esitab küsimuse, kontrollib NLWeb kiiresti vektorandmebaasi, et leida kõige asjakohasem info. Ta annab kiire nimekirja võimalikest vastustest, järjestatult sarnasuse järgi. NLWeb töötab koos erinevate vektorite salvestussüsteemidega nagu Qdrant, Snowflake, Milvus, Azure AI Search ja Elasticsearch.

Võtame uuesti meie reisibroneerimise veebisaidi, kuid seekord seda juhib NLWeb.
Andmete omistamine: Reisi veebisaidi olemasolevad tootekataloogid (nt lennu nimekirjad, hotelli kirjeldused, ekskursioonipaketid) on vormistatud Schema.org abil või laetud RSS voo kaudu. NLWeb tööriistad loevad need struktureeritud andmed sisse, loovad embeddingud ja salvestavad need kohalikku või kaugvektorandmebaasi.
Loomuliku keele päring (inimene): Kasutaja külastab veebisaidi ja selle asemel, et menüüsid sirvida, sisestab vestlusliidesesse: „Leia Honolulu peresõbralik hotell koos basseiniga järgmiseks nädalaks“.
NLWeb töötlemine: NLWeb rakendus saab selle päringu. See saadab päringu mõistmiseks LLM-ile ning otsib samal ajal oma vektorandmebaasist sobivaid hotelli nimekirju.
Täpsed tulemused: LLM aitab tõlgendada andmebaasi otsingutulemusi, tuvastada parimad vasted kriteeriumite „peresõbralik“, „bassein“ ja „Honolulu“ põhjal ning vormistab loomulikus keeles vastuse. Oluline on, et vastuses viidatakse tegelikele hotellidele veebisaidi kataloogist, vältides leiutatud infot.
AI agente interaktsioon: Kuna NLWeb toimib MCP serverina, võib väline AI reisagent ka ühenduda selle veebisaidi NLWeb instantsiga. AI agent saab siis kasutada ask MCP meetodit, et veebisaidilt otse pärida: ask("Kas hotell soovitab vegansõbralikke restorane Honolulu piirkonnas?"). NLWeb instants töötleb selle, kasutades oma restoraniandmete andmebaasi (kui see on laetud) ja tagastab struktureeritud JSON-vastuse.
Liitu Microsoft Foundry Discordiga, et kohtuda teiste õppijatega, osaleda kontoritundides ja saada oma AI agentide küsimustele vastused.
Lahtiütlus: See dokument on tõlgitud kasutades AI tõlketeenust Co-op Translator. Kuigi me püüdleme täpsuse poole, palun pange tähele, et automatiseeritud tõlgetes võib esineda vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlkega seotud eksimustest või valesti mõistmistest.