ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 161
Numărul 160 Numărul 159 Numărul 158 Numărul 157 Numărul 156 Numărul 155 Numărul 154 Numărul 153 Numărul 152 Numărul 151 Numărul 150 Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 161
Abonamente

Protocolul MCP și modul în care ne influențează viața

Raul Călugăr
Full Stack Developer @ .msg România



PROGRAMARE

Protocolul MCP reprezintă unul dintre cele mai importante puncte de cotitură în evoluția inteligenței artificiale, deoarece introduce un standard care permite aplicațiilor de tip LLM să se conecteze într-un mod unitar și eficient la diverse unelte și surse de date externe. Prin implementarea acestui protocol se elimină eforturile suplimentare de mentenanță și se oferă o arhitectură clară pentru integrarea dintre modelele LLM și servicii externe. Nevoia de a crea un astfel de protocol a apărut odată cu extinderea capabilităților LLM-urilor, care au evoluat de la sisteme capabile doar să genereze text sau imagini la aplicații ce pot efectua diverse sarcini și pot interacționa cu resurse externe. În acest articol se va prezenta succint contextul care a dus la apariția acestui protocol, analizând evoluția modelelor LLM, momentele cheie din dezvoltarea lor și modul în care protocolul MCP răspunde provocărilor identificate de-a lungul acestei evoluții.

Un eveniment important în evoluția inteligenței artificiale și a modului în care aceasta ne-a schimbat viețile este, fără îndoială, lansarea ChatGPT de către cei de la OpenAI în anul 2022, fiind bazat pe modelul LLM GPT-3.5, care a fost generat folosind 175 de miliarde de date. Acesta a fost considerat un adevărat punct de cotitură, deoarece le-a permis utilizatorilor posibilitatea ca prin intermediul NLP să pună întrebări acestuia, apoi să obțină răspunsuri. Prima limitare care a fost în cadrul acestei etape a fost aceea că toate răspunsurile folosite de ChatGPT proveneau din datele cu care acesta a fost antrenat.

Dar și această problemă a fost rezolvată prin lansarea GPT-4 în anul 2023, care pe lângă îmbunătățirea calității răspunsurilor text oferite, mai oferea posibilitatea de a primi informație multimodal (text, imagini, voce, video) sau de a genera astfel de date ca date de ieșire. Un alt aspect care a fost adăugat a fost reprezentat de posibilitatea de a căuta răspunsuri și resurse de pe internet, folosind diverse motoare de căutare.

Putem observa faptul că toate aceste îmbunătățiri ale inteligenței artificiale se bazează pe formularea unor întrebări și primirea unor răspunsuri de tip text, sub forma unei imagini sau a unui document, dar nu rezolvă propriu-zis problemele, cu alte cuvinte nu întreprind nici o acțiune. Spre exemplu, dacă folosim inteligența artificială pentru a planifica concedii, ea doar ne oferă idei și sugestii, dar nu poate face rezervări la hotel în locul nostru, nu poate oferi recenzii despre anumite hoteluri, restaurante sau obiective turistice. De asemenea, dacă folosim inteligența artificială pentru a rezolva sarcini din programare, nu putem de exemplu, să o folosim pentru a face queries într-o bază de date, pentru a manipula repos pe git sau alte situații similare.

Tocmai de aceea a apărut un nou concept în domeniul inteligenței artificiale, numit AI agent, care reprezintă sisteme software concepute folosind LLM pentru a efectua diverse sarcini de automatizare în numele unui anumit utilizator, folosind unelte externe sau calluri de API. Un aspect important de menționat când vine vorba de AI agents este acela că ele au capacitatea de a lua decizii pe cont propriu, pe baza experienței lor, a modului în care au fost antrenate.

Pentru ca un agent AI să poată folosi o unealtă externă, între cele două entități trebuie să existe o conexiune, care necesită diferiți parametri, configurări și nu în ultimul rând mentenanță. După cum putem anticipa, fiecare unealtă pe care dorim să o conectăm la un agent AI are propria implementare, propriile caracteristici și metode de conectare. Pentru una sau două conexiuni, sarcina nu este atât de grea, dar problema se pune în momentul în care dorim să conectăm un AI agent la mai multe resurse externe, principalele probleme care reies din acest fapt fiind:

Astfel s-a constatat că este nevoie de apariția unui protocol standard, prin care agenții AI să se conecteze la resurse externe. Acest lucru a dus la apariția protocolului MCP, care rezolvă toate aceste probleme menționate anterior.

Protocolul MCP (Model Context Protocol) a fost dezvoltat de către cei de la Antrophic în noiembrie 2024. El reprezintă un standard open-source care facilitează modul în care agenții AI se conectează la surse externe în numele utilizatorului, pentru a putea executa diverse sarcini în numele acestuia.

Protocolul MCP se bazează pe o arhitectură de tip client-server, care se realizează între aplicația LLM și serverul extern care expune către aplicațiile LLM (agenții AI) funcționalitățile disponibile. În cadrul acestei arhitecturi se regăsesc trei actori importanți: host, client și server, fiecare dintre ei urmând a fi explicate mai jos.

MCP server tools pot fi privite ca funcții executabile, pe care aplicațiile LLM le pot executa pentru a realiza diverse operațiuni (Exemple: API calls, operații pe fișiere, database queries, funcții care pot executa diverse operațiuni).

MCP server resources. Reprezintă surse de date care oferă diverse date aplicațiilor LLM și sunt doar read-only (exemple: documentații, fișiere de configurare etc.)

MCP server prompts. Reprezintă structuri de templates, care sunt reutilizabile și pot fi adaptate în funcție de context (exemplu: generare de tichete, creare buguri etc.)

Buna funcționare a protocolului MCP este asigurată prin existența a două layere esențiale, fiecare având roluri și caracteristici distincte: Transport layer și Data layer.

Transport layer definește mecanismele și canalele de comunicare care permit schimbul de date între client și server. Acesta oferă două metode principale de transport: stdio și streamable HTTP transport. Mecanismul stdio utilizează fluxurile standard de intrare și ieșire, fiind potrivit pentru scenariile locale, în care MCP Server și MCP Client rulează pe aceeași mașină sau în același proces. În schimb, streamable HTTP transport facilitează conectarea la distanță între un MCP Client și un MCP Server, folosind metode standard de autentificare HTTP, cum ar fi tokenuri bearer, chei API sau headere personalizate, oferind astfel o soluție scalabilă și sigură pentru comunicații distribuite.

Data layer reprezintă componenta logică a protocolului MCP și este responsabil de structura, formatul și consistența schimbului de informații între client și server. Acest layer

implementează protocolul JSON-RPC 2.0, care asigură un mod standardizat, eficient și ușor de extins pentru transmiterea comenzilor și răspunsurilor. Prin intermediul acestui layer, mesajele sunt organizate sub formă de obiecte JSON, ceea ce facilitează interoperabilitatea între diferite limbaje de programare și medii de execuție. Data layer gestionează totodată tipurile de mesaje - cum ar fi cereri, răspunsuri și notificări - și se ocupă de validarea, rutarea și interpretarea corectă a acestora. În plus, acest strat oferă o separare clară între logica de comunicare (asigurată de transport layer) și logica de date, permițând astfel o arhitectură modulară, extensibilă și ușor de întreținut în cadrul protocolului MCP.

Provocări ale protocolului MCP

Putem afirma fără nici un dubiu faptul că protocolul MCP ne va schimba modul în care vom folosi inteligența artificială de acum înainte, făcându-ne viața mai simplă, dar trebuie să fim conștienți de anumite limitări și provocări pe care acest concept le are.

Prima limitare pe care acest concept o are este aceea că, datorită creșterii în popularitate pe care a avut-o într-o perioadă foarte scurtă de timp, mulți dintre furnizorii de servere MCP nu au reușit să asigure o mentenanță eficientă acestora, acest lucru ducând la apariția multor buguri sau deficiențe de funcționare, adică la funcționarea deficitară a unui astfel de server.

A doua limitare pe care o putem întâlni este reprezentată de faptul că mulți dintre furnizorii de servere MCP nu oferă suficiente clarificări cu privire la funcționalitățile pe care le oferă. Astfel, aplicațiile LLM care folosesc protocolul MCP pentru a furniza funcționalitățile acestor servere vor oferi rezultate incorecte, iar utilizatorul final va trebui să descopere care sunt cauzele care generează aceste probleme.

Un alt aspect foarte important pe care trebuie să îl luăm în considerare este reprezentat de partea de securitate. Putem anticipa faptul că, datorită creșterii importanței pe care acest concept o are, foarte mulți hackeri pot crea propriile servere de MCP, cu scopuri precum furtul unor date importante, inserarea de scripturi malițioase sau chiar atacuri de tip ransomware. De asemenea, trebuie să luăm în considerare faptul că tot mai mulți hackeri vor încerca să execute atacuri asupra serverelor de tip MCP sau chiar asupra protocolului.

Nu în ultimul rând, când ne gândim la protocolul MCP, trebuie să ne gândim la modul în care acesta va fi integrat în proiectele pe care lucrăm, ținând cont de politicile de compliance și securitate ale firmei sau clienților pentru care lucrăm. Acest lucru se traduce prin studierea tuturor acestor aspecte, prin dialog și alegerea celor mai bune soluții.

Concluzii

Într-o lume în care inteligența artificială devine tot mai prezentă în viața noastră, este esențial să înțelegem rolul său și modul în care poate fi utilizată responsabil. Protocolul MCP reprezintă un pas important către o integrare sigură, transparentă și etică a tehnologiilor bazate pe AI. Pentru a valorifica pe deplin potențialul său, trebuie să ne dezvoltăm gândirea critică și capacitatea de a pune întrebări corecte, astfel încât să putem filtra și interpreta corect informațiile generate de sisteme inteligente. În același timp, nu trebuie să uităm că relațiile interumane rămân fundamentale, iar încrederea deplină în răspunsurile oferite de AI trebuie înlocuită cu o abordare echilibrată, bazată pe verificare și discernământ. Implementarea cu atenție a măsurilor de securitate, conformitate și etică, precum și asigurarea transparenței în utilizarea AI sunt elemente-cheie pentru ca protocolul MCP să contribuie la construirea unui ecosistem digital sigur și de încredere.

LANSAREA NUMĂRULUI 161

Smarter AI Automations

Miercuri, 26 Noiembrie, ora 18:00

sediul Cognizant

Facebook Meetup StreamEvent YouTube

NUMĂRUL 159 - Industria Automotive

Sponsori

  • BT Code Crafters
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • GlobalLogic
  • BMW TechWorks Romania