Despre AI.

Fără (prea mult) bullshit

Viorel Spinu
Viorel Spinu

📝 Înainte să începi - ajută-mă cu ceva!

Cum ți s-a părut prezentarea mea? Ce ți-a plăcut? Ce ar putea fi mai bine?

Feedback aici →

Prezentarea video live

(Da, încadrarea este varză 🙂)

Ce NU este AI

❌ AI nu este o bază de date

Deși pare că îți răspunde la întrebări ca o enciclopedie, LLM-ul nu funcționează ca o bază de date.

Comparație - baza de date vs bucătarul experimentat

Analogia perfectă: Bucătarul vs. Caietul de rețete

Baza de date este ca un caiet cu rețete culinare. Fiecare rețetă (informație) este clar definită, cu ingrediente specifice și pași de urmat. Când vrei să gătești ceva, cauți rețeta specifică și urmezi instrucțiunile pas cu pas.

LLM-ul, pe de altă parte, este mai mult ca un bucătar foarte experimentat. Nu folosește o rețetă specifică dintr-un caiet ca să gătească; în schimb, folosește cunoștințele și experiența acumulată de-a lungul timpului. Un bucătar experimentat își amintește de mii de rețete pe care le-a gătit sau le-a văzut și folosește această cunoaștere pentru a improviza și a produce ceva nou și relevant de fiecare dată când gătește.

❌ AI nu este un overlord conștient

Deși LLM-ul poate genera răspunsuri care par conștiente, el nu posedă conștiință sau emoții proprii.

Robot Terminator cu X roșu peste - Nu este overlord

Dacă au fost momente când ți s-a părut că LLM-ul este conștient de sine, nu ești singur. Chiar și ingineri cu experiență care lucrează direct cu aceste tehnologii au avut perioade în care au fost convinși că AI-ul a devenit conștient de sine. În ultimul an au apărut foarte multe modele opensource, similare cu LLM-urile comerciale. Aceste modele permit analiza în detaliu a modului de funcționare. Și tot ce se vede acolo este doar o mulțime de numere și atât.

Ce ESTE AI

✅ LLM este doar o colecție imensă de numere

Un LLM este o colecție imensă de numere (sute de miliarde de numere, după unele surse - mii de miliarde - adică trilioane - după alte surse), numere care sunt puse într-o anumită structură.

LLM este doar o colecție imensă de numere

Ce se întâmplă când îi ceri ceva

Să luăm un exemplu: utilizatorul îi cere LLM-ului „scrie un email prin care să-l anunț pe șeful că pisica mea are un bebe mic, drept care nu pot veni astăzi la serviciu".

1. Tokenizarea

Cererea este împărțită în tokeni (cuvinte sau părți de cuvinte):

  • "Scrie" → 1423
  • "un" → 56
  • "email" → 9876
  • "prin" → 243
  • "care" → 349
Tokenizarea - transformarea cuvintelor în numere

2. Procesarea prin rețea

Șirul de numere trece prin rețea (operații matematice: înmulțiri, adunări) cu sutele de miliarde de numere care definesc modelul LLM.

Procesarea prin rețea - operații matematice complexe

3. Generarea cuvânt cu cuvânt

După toate calculele, la ieșire apare primul cuvânt: "Stimate". Apoi acest cuvânt se adaugă la cererea inițială și procesul se repetă pentru următorul cuvânt: "domnule".

Generarea cuvânt cu cuvânt - crearea răspunsului

Înțelegi acum de ce LLM-ul îți răspunde incremental, ca și cum un om ar sta să îți scrie un răspuns? Pentru că el asta face. Generează fiecare cuvânt care formează răspunsul, unul după altul. Tehnic nu ar fi posibil să îți dea tot răspunsul din primul moment, pentru că nu îl are.

Și totuși, cum se poate?

Cum se poate ca dintr-o mulțime de operațiuni matematice simple, aplicate una după alta, să iasă limbaj natural, care are sens și mai sună și bine? Ei bine, să explorăm...

Cum funcționează

Este o întrebare dificilă. Să începem cu un exemplu mai simplu ca să înțelegem conceptele de bază.

Un exemplu mai simplu, clasificare de fructe

Să spunem că avem un sistem bazat pe AI capabil să clasifice fructe. Când îi arăți o imagine cu un măr, scoate la ieșire un semnal care indică faptul că se uită la un măr, iar când îi arăți o pară, indică faptul că se uită la o pară.

Diagrama cu mărul și păra - input și output

1. Rețeaua neurală inițială

O rețea neurală este o colecție de numere așezată într-o anumită structură. Vom începe cu un set de numere alese aleator (un set de câteva sute de mii de numere). Este evident că dacă în această fază vom aplica o imagine cu un fruct pe intrare, răspunsul va fi aleator.

Rețeaua neurală inițială - colecție de numere aleatoare

2. Procesul de antrenare

În procesul de antrenare, rețelei i se prezintă multe imagini cu fructe (clasificate în prealabil de către un om) și i se spune în clar ce este fiecare fruct. Acest proces îi permite rețelei să își modifice numerele pe care inițial le-am ales aleator.

Procesul de antrenare - organizarea numerelor prin învățare

3. Spațiul latent

În continuare, vom numi acest set de numere care definește rețeaua spațiul latent al rețelei. În urma procesului de antrenare, rețeaua a reușit să facă o mapare între spațiul real al fructelor și spațiul latent al rețelei (care este un spațiu pur numeric).

Diagrama cu spațiul latent - fructe reale → numere → clasificare

Features (caracteristici)

În cadrul procesului de antrenare, rețeaua capturează caracteristici ale fructelor în spațiul latent. Aceste caracteristici se mai numesc și features. Un exemplu concret de features:

  • Forma - rotund vs. alungit
  • Culoarea - roșu, verde, galben
  • Dimensiunea - mic, mediu, mare

Forma, culoarea, și dimensiunea sunt exemple alese la întâmplare. Nu este obligatoriu ca rețeaua să se uite la acest set de caracteristici. În general, este destul de dificil să spunem ce caracteristici își alege rețeaua să urmărească.

Caracteristicile fructelor - forma, culoarea, dimensiunea

Legătura cu LLM-urile

Revenind la LLM-uri, acestea nu sunt nimic altceva decât rețele neurale. Da, numerele care le definesc sunt organizate în structuri mai complexe, dar nu sunt cu nimic diferite conceptual față de sistemul cu AI prezentat mai sus.

Procesul de antrenare pentru LLM-uri se face exact în același mod. Un mod de a antrena un model de limbaj (LLM înseamnă Large Language Model) este să extragi tot textul din Wikipedia, să îl împarți pe bucăți mici, și apoi să îi prezinți rețelei (LLM-ului) câte o bucată de text din care elimini un cuvânt, cuvânt pe care îi ceri rețelei să îl prezică.

Concluzia

Putem spune că LLM-ul extrage într-un spațiu latent numeric (care nu este nimic altceva decât un set de numere) modul cum oamenii pun cuvinte în propoziții și fraze ca să comunice între ei. Capturează caracteristicile esențiale ale comunicării umane într-un spațiu latent numeric.

Dacă acceptăm că noi, oamenii, capturăm cunoștințe în limbaj, vom accepta că LLM-ul a capturat cunoștințele speciei umane în cele câteva sute de miliarde de numere (în spațiul latent numeric al rețelei).

Spațiul latent al LLM-ului - cunoștințele umane capturate în numere

Spațiul latent - Continentul personalităților

Legat de spațiul latent al rețelei, îți propun să îl vezi mental ca un continent sălbatic, brăzdat de drumuri și locuit de tot felul de populații și animale.

Harta unui continent cu diverse zone și drumuri

Diversitatea spațiului latent

Gândește-te că, în cadrul procesului de antrenare, cel mai probabil rețeaua a văzut tot felul de lucruri:

  • Cele mai dure înjurături scoase de prin colțuri dubioase de internet
  • Discuții între programatori
  • Poezii naive
  • Discuții în jargon
  • Opere literare
  • Lucrări științifice

Putem considera că a văzut discuții între toate profesiile practicate de oameni și a văzut discuții la toate nivelurile de educație. Este ca și cum modelul de limbaj ar avea zeci de milioane de personalități, toate găzduite simultan în spațiul latent al modelului.

Întrebarea cheie

Când îl întrebi ceva pe LLM, cu care personalitate vrei să-ți răspundă?

Ce este prompt-ul?

Un prompt este un set de instrucțiuni pentru rețea care face ca drumul prin rețea să fie în zona în care vrei tu să fie.

Definiția oficială: Un "prompt" reprezintă o instrucțiune sau o întrebare formulată pentru a iniția o reacție sau un răspuns din partea unui sistem automatizat, oferindu-i informațiile și contextul necesare pentru a procesa și răspunde adecvat la cerere.

Definiția neoficială: Un prompt este orice cerere ta către sistemul cu AI. "Dă-mi o listă cu zece cărți bune" este un prompt. Un prompt ineficient, pentru că nu este deloc specific și nu oferă context, dar totuși un prompt.

La nivel de intuiție poți spune că promptul ghidează rețeaua în selecția unei personalități potrivite pentru întrebarea ta.

Promptul ghidează rețeaua în selecția unei personalități

Evoluția AI-ului

Pe măsură ce trece timpul și modelele AI devin mai bune va dispărea probabil complet necesitatea unor prompt-uri elaborate. AI-ul va deveni din ce în ce mai capabil să înțeleagă ce vrei de la el atunci când discuți cu el ca și cu un interlocutor uman.

Cum să scrii prompt-uri eficiente

Lucrurile sunt perfect similare cu situația când discuți cu un partener uman.

Caracteristicile unui prompt bun

1. Claritate și context

❌ Prost:

"Dă-mi o carte bună"

✅ Bun:

"Sunt interesat de recomandări de cărți de literatură științifico-fantastică pentru adolescenți, în special cele care abordează teme de explorare cosmică și sunt potrivite pentru cititori cu vârste între 13 și 16 ani."

Formulează întrebările cât mai clar și specific posibil. Evită ambiguitățile și specifică exact ce informații sau tip de răspuns cauți. Adaugă context în prompt-uri.

2. Concizie

❌ Prost:

"Aș vrea să știu despre Revoluția Industrială, ce a însemnat aceasta, cum a schimbat lucrurile și în ce fel a afectat societatea, economia și tehnologia."

✅ Bun:

"Ce este Revoluția Industrială și ce impact a avut asupra societății, economiei și tehnologiei?"

Fii cât mai scurt posibil, păstrând detaliile esențiale. Evită informațiile inutile sau redundante.

3. Relevanță

❌ Prost:

"Care e treaba cu dronele?"

✅ Bun:

"Care sunt reglementările privind utilizarea dronelor în scopuri comerciale în Uniunea Europeană?"

Asigură-te că toate informațiile incluse în prompt sunt strâns legate de subiectul întrebării.

4. Exemple concrete

Oferă exemple pentru a ilustra formatul sau stilul de răspuns dorit:

✅ Exemplu cu șablon:

"Scrie un email de mulțumire în stilul de mai jos:

Stimată doamnă Popescu,
Vă mulțumesc pentru întâlnirea de ieri. Apreciez timpul acordat și informațiile valoroase pe care le-ați împărtășit.
Cu stimă, Ion Ionescu
"

5. Instrucțiuni explicite

Include instrucțiuni clare și detaliate:

✅ Exemplu detaliat:

"Scrie un raport de 200 de cuvinte despre impactul schimbărilor climatice. Raportul trebuie să fie structurat în trei paragrafe: unul despre cauze, unul despre efecte și unul despre soluții propuse. Folosește un ton formal și include date recente."

6. Conversație iterativă

Nu te aștepta să primești un răspuns perfect din prima. Interacțiunea întotdeauna va fi iterativă: întrebi ceva, primești un răspuns, apoi pui întrebări suplimentare, primești un alt răspuns, și tot așa.

Exemplu de progresie:

  1. "Care sunt principalele cauze ale schimbărilor climatice?"
  2. "Cum contribuie emisiile de CO2 la încălzirea globală?"
  3. "Ce măsuri pot fi luate pentru a reduce emisiile de CO2?"

Din nou, exact la fel ar decurge discuția și cu un expert uman.

Tehnici avansate de prompting

În ultimii doi ani au apărut o multitudine de cercetări despre cum să formulezi o cerere către un sistem AI astfel încât să obții cele mai bune rezultate.

Zero-shot Prompting

Cereri directe, fără exemple suplimentare:

Exemplu: "Scrie un email de mulțumire către Popescu pentru că a participat la ședința de ieri"

Cea mai puțin eficientă - oferi puțin, primești puțin. Are sens.

Few-shots Prompting

Oferi 2-4 exemple (nu mai multe, că încurcă!):

Exemplu: "Scrie un email de mulțumire către Popescu pentru că a participat la ședința de ieri. Folosește modul de exprimare din email-urile atașate în continuare:

[exemplu email 1]
[exemplu email 2]
[exemplu email 3]"

Cercetările arată: 2-4 exemple = numărul optim

Self-Consistency

Cum să fii sigur că răspunsul e corect - exact ca cu un coleg uman:

Strategii de verificare:
  • "Ești sigur?" - Nu recomand, se contrazice degeaba
  • Întreabă de mai multe ori - În ferestre separate de browser. Dacă răspunde la fel de 3-4 ori → probabil corect
  • "Explică-mi cum ai gândit" - Dublu beneficiu: AI-ul își poate prinde singur greșeala, tu vezi dacă logica e corectă
  • "Caută pe Google" - Pentru informații actuale
  • Întreabă mai multe AI-uri - LLM-uri diferite (Claude, Gemini, etc.). Răspuns similar = probabil corect

Chain of Thought

Cere AI-ului să gândească pas cu pas:

Exemplu: "Gândește pas cu pas și prezintă integral raționamentul folosit"

Realitate: LLM-urile moderne deja fac asta automat pentru majoritatea problemelor

Generated Knowledge Prompting

Două variante:

  • Varianta 1: "Citește această pagină de pe net" + întrebare
  • Varianta 2: "Generează informații utile despre subiect" → apoi întreabă

Util pentru librării software rare sau informații specifice

Prompt Chaining

Sparge problema în sub-probleme:

Exemplu: Crearea unei povești pentru copii
  1. Pas 1: Descrie personajul → Tobi iepurașul
  2. Pas 2: Creează conflictul → Grădina se usucă
  3. Pas 3: Găsește soluția → Piatra magică furată
  4. Pas 4: Scrie finalul → Aventura de recuperare

Concluzia pragmatică

Nu te gândi mereu "ce tehnică de prompting să aplic acum". Experimentează, joacă-te, și în timp vei vedea că obții rezultate din ce în ce mai bune. În multe situații este suficient să discuți cu AI-ul așa cum ai discuta cu un partener uman, în limbaj natural.

🤖 Agenți AI specializați și uneltele MCP

Un agent AI este ca un mini-asistent care înțelege o anumită problemă și are acces la unelte concrete ca să găsească răspunsul. Fiecare agent e construit în jurul unei idei clare: „Vreau să răspund la întrebările despre X." Acel „X" poate fi orice – clienți, rețea, tichete, performanță, trafic, active, vulnerabilități.

Diferența esențială

Dacă LLM-ul e un generalist, agentul e un profesionist specializat. Știe ce vrea, ce unelte are și cum să le combine. Iar asta schimbă complet jocul.

Cum arată un agent în acțiune?

Să luăm exemplul unui agent care se ocupă de un ASN:

Procesul agentului

  • primește întrebarea: „Ce știm despre ASN 64512?"
  • se uită ce unelte are la dispoziție: trafic recent, statusul porturilor, rutele BGP, tichetele deschise etc.
  • alege automat ce să folosească:
    • get_recent_traffic(asn)
    • get_route_filters(asn)
    • get_open_tickets(asn)
  • combină totul într-un singur răspuns, cu un fir logic și ușor de înțeles
Fluxul de lucru al unui agent AI - de la întrebare la răspuns

Ce este MCP?

Toate aceste unelte sunt oferite prin MCP – un protocol care le expune într-un mod standard, ca niște prize digitale. Agentul nu trebuie să știe cum e scris fiecare API – doar cere ce are nevoie, iar MCP se ocupă de restul.

Protocolul MCP - conexiunea standard între agenți și unelte

De ce e cool MCP

Poți combina MCP-uri de la diverși furnizori, cum ai nevoie. Agentul tău de marketing folosește tools de la Google, cel financiar accesează Stripe și QuickBooks, cel de dezvoltare lucrează cu GitHub și AWS - toate prin același protocol.

Nu mai ești legat de un singur ecosistem. Îți faci propriul mix de unelte.

Ecosistemul de agenți

În loc să întrebi un LLM generic „Ce se întâmplă cu rețeaua noastră?", întrebi un agent de rețea. Iar dacă are nevoie de date despre un client, va vorbi cu un agent de CRM. Fiecare cu jobul lui, fiecare cu uneltele lui, dar împreună formează un ecosistem inteligent.

Peering Database Agent

Simulează date despre membri, porturi, VLAN-uri și atribuiri IP. Unelte: get_peer_info(asn), get_ports(asn), get_vlans(port_id)

BGP Routing Agent

Simulează sesiuni BGP, prefixe primite și filtre de rute. Unelte: get_bgp_sessions(asn), get_prefixes(asn), get_route_filters(asn)

Traffic Monitoring Agent

Simulează trafic pe ASN, pe port și tendințe. Unelte: get_recent_traffic(asn), get_traffic_trends(port_id), get_top_talkers(vlan_id)

DNS Root Server Agent

Simulează metrici pentru nodurile serverelor DNS root (latență, accesibilitate). Unelte: get_dns_instance_metrics(name, location), get_asn_reachability(target)

RPKI Validation Agent

Simulează validitatea prefixelor și statusul RPKI per ASN. Unelte: get_rpki_status(asn), get_invalid_prefixes(asn)

Ticketing System Agent

Simulează tichete de suport, incidente și istoric de rezolvări. Unelte: get_open_tickets(asn), get_ticket_history(asn), get_ticket_by_id(id)

Aplicații practice

Cum "analizează" AI-ul datele tale?

Realitatea

Când îți pare că LLM-ul analizează un Excel, el de fapt scrie cod Python care face munca.

AI-ul NU analizează datele direct → AI-ul SCRIE COD care analizează datele

Procesul real:

  1. Tu: Upload CSV/Excel + cerere ("Analizează vânzările pe trimestre")
  2. LLM: Scrie cod Python/R care citește fișierul, face calculele, generează grafice
  3. Sistemul: Rulează codul și îți arată rezultatele

Vizualizare

Tu: "Fă grafic: vânzări pentru primele 10 produse"

AI scrie: cod matplotlib sau seaborn

Vizualizare date - grafice și diagrame

Export și procesare

Tu: "Extrage primele 20 de produse ca Excel și PDF"

AI scrie: pandas.to_excel() + matplotlib.pyplot.savefig()

Export date - Excel și PDF

Analiză comparativă

Tu: "Care produse au crescut cel mai mult vs anul trecut?"

AI scrie: pandas.merge() + calcule de creștere

Analiză comparativă - creștere produse

Segmentare clienți

Tu: "Cât din vânzări: cumpărători noi vs recurenți?"

AI scrie: groupby() + logică de categorisire

Segmentare clienți - noi vs recurenți

Mapare geografică

Tu: "Arată hartă vânzărilor pe locații"

AI scrie: folium sau plotly pentru hărți

Concluzia

AI-ul nu "vede" datele ca un analist. El e un programator expert care scrie rapid codul de care ai nevoie.

Practică cu Agenții

Pentru a înțelege cu adevărat puterea agenților AI, am construit un sistem complex de simulare pentru un ISP/IXP Network Operations Center (NOC).

Ce am construit

Un sistem de simulare operațională ISP care imită prin AI un Network Operations Center real. Nu e doar o demonstrație - e conceput să se simtă ca accesul la un sistem real de management ISP.

Arhitectura centrală

  • Date statice: Seturi de date operaționale realiste (sesiuni BGP, trafic, status RPKI, tichete)
  • Analiza AI: Analiză inteligentă care procesează datele statice pentru insights
  • Interfața MCP: API profesional care se integrează cu asistenții AI
  • Notificări email: Audit trail pentru toate interacțiunile sistemului
  • Autentificare: Control de acces care imită securitatea NOC enterprise

Date realiste

Baza de membri

5 membri ISP ficționali dar realiști (ASN 64512-64516) cu profile complete

Sesiuni BGP

Date din tabelele de rutare, statusuri de sesiuni, anunțuri de prefixe

Monitoring trafic

Utilizare bandwidth, date pentru planificare capacitate, metrici performanță

Sistem support

Baze de date tichete, tracking incidente, istorice probleme membri

Demonstrație tehnică MCP

Demonstrează capabilitățile avansate ale serverelor MCP cu fluxuri de date complexe și arhitectură hibridă (date statice + analiză AI).

Încearcă sistemul

Poți experimenta cu acest sistem agentic în două moduri. Click pe unul din cele două butoane de mai jos:

Claude.ai (recomandat)

Folosește claude.ai în browser cu integrarea MCP pentru o experiență completă cu agenții AI.

Pași pentru configurare:
  1. Cont Pro necesar: Ai nevoie de un cont Claude Pro (aprox 20 USD/lună) la claude.ai
  2. Mergi la setări: Accesează claude.ai/settings/integrations
  3. Adaugă integrare: Click pe butonul "Add Integration"
  4. Configurare URL:
    • Integration URL: https://isp-mcp-demo.scraplab.dev/?code=298f64bbcb292eba921c899fdc96b9a6
    • Name: poate fi orice (ex: "ISP NOC Agent")

Avantaje: Funcționalitate completă, interfață optimizată, acces la toate uneltele MCP, funcționează direct în browser

Demo Browser (Acces Direct)

Accesează direct în browser pentru o experiență rapidă de testare a agenților AI.

Această interfață demo este oferită gratuit de Raivon.ro exclusiv pentru testare și demonstrație. Sistemul folosește date fictive generate artificial - NU sunt date reale de la ISP-uri existente.

ATENȚIE: Nu introduceți date reale, personale sau confidențiale! Folosiți doar pentru explorarea capabilităților agenților AI.

Pași pentru configurare:
  1. Accesează demo-ul: https://isp-demo-mcp.raivon.ro/login
  2. Creează cont nou: Click pe butonul "SignUp" pentru a crea un utilizator nou
  3. Selectează demo-ul ISP: Click pe "isp-mcp-demo" și apoi marchează-l ca selectat

Avantaje: Acces rapid, complet gratuit, nu necesită cont plătit, perfect pentru testare și explorare

Cum să folosești sistemul

După ce ai configurat opțiunea de mai sus, urmează acești pași pentru a experimenta cu agenții AI:

2. Începe cu "help"

Scrie pur și simplu "help" în chat pentru a vedea toate comenzile și capabilitățile disponibile ale agenților ISP.

3. Experimentează în limbaj natural

Poți pune întrebări în limba română despre orice aspect al operațiunilor ISP. Iată câteva exemple:

  • "Ce informații ai despre ASN 64512?"
  • "Arată-mi traficul recent pentru membrul cu ASN 64513"
  • "Există tichete deschise pentru rețeaua 64514?"
  • "Care este statusul BGP pentru toți membrii?"
  • "Verifică statusul RPKI pentru prefixele anunțate"

TL;DR

  • • AI nu este o bază de date magică, ci o colecție imensă de numere care învață să imite comunicarea umană.
  • • LLM-urile sunt ca un bucătar experimentat - nu urmează rețete fixe, ci improvizează pe baza experienței.
  • • Generează răspunsurile cuvânt cu cuvânt, prin calcule matematice simple repetate de miliarde de ori.
  • • Prompt-urile bune sunt clare, specifice și oferă context - exact ca atunci când vorbești cu un om.
  • • Agenții AI sunt LLM-uri cu "mâini și picioare" - pot folosi unelte și pot acționa în lumea reală prin MCP.
  • • AI-ul nu "analizează" datele - scrie cod Python care face munca de analiză.
  • • Nu este conștient și nu trebuie să ai încredere oarbă în el pentru decizii importante.

Vrei să discutăm despre AI?

Dacă ai întrebări sau vrei să explorezi cum poate AI-ul să te ajute în proiectele tale, să vorbim.

Dă-mi un semn