Sari la conținut
Danube Labs

Căutare pentru agenți AI: API plătit sau instanță proprie

Un agent care nu caută știe doar ce a învățat la antrenament. Comparăm API-urile de căutare plătite cu o instanță SearXNG proprie: cost pe interogare, confidențialitate și ce se strică.

De Alexandru Secureanu9 min de citit
Interogări trimise de un agent către mai multe motoare de căutare și unite într-o singură listă de rezultate

Un agent care nu poate căuta este limitat la ce știe deja modelul, adică la o fotografie a webului de acum câteva luni. Dă-i o unealtă de căutare și poate verifica un preț, poate citi un changelog, poate afla ce versiune de bibliotecă există acum sau poate confirma că o pagină mai spune ce spunea ea în datele de antrenament. În momentul acela căutarea nu mai este o funcție, ci infrastructură, cu întrebările pe care le are orice infrastructură: cât costă, cât de fiabilă e și ce expune. Alegerea între un API plătit și o instanță de metascutare găzduită de tine este aritmetică și confidențialitate, nu ideologie. Le folosim pe amândouă, iar mai jos e cum decidem.

Ce face de fapt un agent cu căutarea?

Unealta de căutare este o funcție pe care modelul o poate apela. Scrie o interogare, primește titluri, URL-uri și fragmente, apoi fie răspunde din fragmente, fie descarcă două-trei pagini pentru textul complet. O sarcină de research din automatizările noastre înseamnă de obicei între cinci și patruzeci de interogări: prima căutare, câteva reluări pe numele găsite și una-două repetări când fragmentul nu a fost de ajuns. Pe acest număr se calculează bugetul. Tokenii de ieșire sunt costul vizibil al unui agent; apelurile de căutare sunt cele tăcute.

Cât costă o interogare la un API de căutare plătit?

Patru furnizori cu prețurile citite astăzi, cu toții API-uri cu cheie care întorc JSON:

Prețul afișat ascunde trei lucruri. Creditele Serper expiră după șase luni, deci tariful de 0,30 dolari înseamnă 3.750 de dolari plătiți acum și 12,5 milioane de interogări consumate într-o jumătate de an. Tavily ia două credite pentru o căutare avansată, ceea ce dublează cei 8 dolari. Exa facturează separat conținutul paginilor, câte 1 dolar pentru 1.000 de pagini pe fiecare tip.

O opțiune care era cândva implicită nu mai există pentru proiecte noi. API-ul JSON al Google Programmable Search este închis pentru clienți noi, iar cei existenți au termen până la 1 ianuarie 2027 să migreze. Costa 5 dolari pentru 1.000 de interogări, cu 100 gratuite pe zi.

Cât costă o instanță găzduită de tine?

O instanță SearXNG nu are index propriu. Trimite interogarea în paralel către mai multe motoare sursă, parsează HTML-ul care se întoarce, unește și elimină duplicatele, apoi livrează rezultatul ca pagină sau ca JSON. Munca este legată de rețea și vine în rafale, deci pragul de hardware e jos. CX23 de la Hetzner costă 5,99 euro pe lună fără TVA, cu 2 vCPU, 4 GB RAM, 40 GB NVMe și 20 TB trafic, deși pagina îl arăta indisponibil când am verificat; cel mai mic droplet DigitalOcean este 6 dolari pentru 1 GB memorie, 25 GB disc și 1 TB transfer. Mai jos tratăm serverul ca 7 dolari pe lună și ignorăm domeniul, pe care probabil îl ai deja.

Ce nu include prețul este atenția: motoarele își schimbă markup-ul, adaugă verificări și blochează adrese, iar fiecare dintre ele înseamnă o seară de lucru.

Unde este pragul de rentabilitate?

Ipoteze: o căutare este o interogare facturată, fără repetări; instanța costă 7 dolari pe lună la orice volum; cifrele sunt prețuri de listă, fără taxe.

  • 1.000 de interogări pe lună: Brave 5 dolari, Serper 1 dolar, Tavily 8 dolari, instanță proprie 7 dolari.
  • 10.000 de interogări pe lună: Brave 50 de dolari, Serper 10 dolari, Tavily 80 de dolari, instanță proprie 7 dolari.
  • 30.000 de interogări pe lună: Brave 150 de dolari, Serper 30 de dolari, Tavily 240 de dolari, instanță proprie 7 dolari.
  • 100.000 de interogări pe lună: Brave 500 de dolari, Serper 100 de dolari, Tavily 800 de dolari, instanță proprie 7 dolari.

Prima linie decide majoritatea proiectelor. La o mie de interogări pe lună nivelurile gratuite te acoperă aproape peste tot, iar instanța este cea mai scumpă opțiune din listă. Serverul câștigă abia după ce factura trece de 7 dolari, adică față de Brave în jur de 1.400 de interogări pe lună, cam 45 pe zi. Față de Tavily sunt vreo 900. Față de un dolar la Serper sunt 7.000, iar față de cel mai bun tarif prepaid al lor, 23.000.

Deci pragul financiar este jos, iar la 30.000 de interogări pe lună diferența nu e subtilă: 150 de dolari față de 7. Cifra aceea presupune însă că instanța răspunde. Nu include repetările când un motor e suspendat, seara în care repari un parser sau a doua instanță când căutarea stă pe un drum critic. Ne mutăm când volumul e constant, interogările sunt interne și serverul există deja pentru altceva.

Ce află un API plătit despre interogările tale?

Fiecare cerere duce textul interogării, un timestamp, cheia ta API și adresa mașinii care a trimis-o. Atât e suficient ca să reconstruiască la ce au lucrat agenții tăi, în ordine și la ce oră. Regula practică pentru lucrul cu clienți e mai scurtă decât cea juridică: presupune că furnizorul poate citi fiecare interogare. Pentru research public e de obicei în regulă; pentru orice se află sub NDA, de obicei nu.

Politica de confidențialitate a Tavily spune că firma colectează „datele interogării și orice documente încarci”, că poate împărtăși datele interogării cu furnizori terți de index atunci când indexul propriu nu poate aduce conținutul și că poate folosi „anumite porțiuni din datele interogării pentru a îmbunătăți răspunsurile la interogări viitoare”, dacă acordul nu prevede altfel. API-ul Brave este legat de o cheie de cont, iar noi nu am putut confirma o declarație despre retenție pe pagina lui de prețuri, așa că citește termenii înainte să presupui că interogările se șterg.

Ce scapă totuși o instanță proprie?

Mai puțin, dar nu nimic. Documentația SearXNG spune că nu trimite cookie-uri către motoarele sursă și că generează un profil de browser aleatoriu pentru fiecare cerere, apoi enunță limita direct: „adresa IP folosită va fi IP-ul instanței”. Interogarea tot iese din rețeaua ta și tot ajunge la Google, Bing, Brave și DuckDuckGo, de la o singură adresă pe care o împart toate căutările tale.

Concentrarea aceea taie în două direcții. Motoarele nu pot lega o interogare de o persoană, dar văd o singură sursă care trimite multe interogări într-un ritm care nu arată a browser, iar exact asta observă detecția lor de boți. Aceeași pagină avertizează că o instanță publică poate fi abuzată până când motoarele impun CAPTCHA sau blochează adresa. Self-hosted nu înseamnă anonim. Înseamnă fără loguri la un terț, atât timp cât așa rămâne: hostingul vede în continuare traficul, iar instanța loghează ce o configurezi. Dacă interogările trebuie să nu poată fi atribuite, ruta documentată este un proxy sau Tor, care adaugă latență și face blocarea mai probabilă.

Ce motoare poate agrega o instanță?

SearXNG susține până la 261 de servicii de căutare și pornește 81 implicit, pe categorii de web general, imagini, știri, video, hărți, cod, știință și social. Instalarea pe care o publicăm pornește șapte: Google, DuckDuckGo, Brave, Bing, Wikipedia, GitHub și YouTube. Este o alegere, nu un plafon. Fiecare motor în plus adaugă o cerere la fiecare interogare, un parser care se poate strica și o șansă de a primi o verificare.

Motoarele de cod surprind lumea. Stack Overflow, GitHub, MDN și registrele de pachete sunt servicii separate, așa că un agent întrebat despre un traceback de Python poate interoga locurile unde se discută acel traceback, în loc să spere că un index general a scos la suprafață firul potrivit. Un detaliu operațional prinde pe toată lumea o dată: ieșirea JSON e oprită implicit, iar o cerere pentru un format neactivat întoarce 403.

Ce se strică primul: limitele și blocările

Motoarele sursă nu sunt un API gratuit și tratează traficul automat ca atare. SearXNG vine cu timp de suspendare pentru fiecare refuz: un HTTP 429 suspendă motorul o oră, un CAPTCHA o zi, un CAPTCHA de la Google o săptămână, iar unul de la Cloudflare cincisprezece zile. Cât timp un motor e suspendat, instanța răspunde în continuare, cu mai puține rezultate și fără eroare. Un agent care nu verifică de unde vin rezultatele nu va observa că jumătate din surse au dispărut discret.

Instanța are nevoie de protecție și în cealaltă direcție. Limitatorul SearXNG există pentru că traficul de boți prin instanța ta face instanța să pară ea însăși bot în fața motoarelor, iar el are nevoie de o bază Valkey ca să urmărească adresele și să aplice limite. Fără el, un endpoint deschis permite altcuiva să îți blocheze serverul.

Are cache și e aceeași calitate?

SearXNG nu are cache propriu pentru rezultate; setările lui de căutare acoperă eșecuri și suspendări, nu stocare. Cache-ul este ceva ce adaugi tu, iar instalarea noastră folosește un Redis local. Merită pentru un agent care repetă întrebarea, dar un răspuns din cache la „ultima versiune” e un răspuns greșit cu un timestamp pe el.

Calitatea este limita onestă. O instanță de metascutare unește liste pe care fiecare motor le-a clasat pentru produsul lui, fără model comun de ranking, fără date de click și fără garanție de prospețime. Pentru interogări de navigare și știri de ultimă oră se apropie de un API comercial. Pentru întrebări tehnice de nișă, potriviri exacte de frază și orice situație în care contează și al zecelea rezultat, este mai slab, uneori vizibil. Căutarea self-hosted este o a doua sursă și o plasă de siguranță, nu un înlocuitor pentru un index comercial reglat.

Cum alegem între ele

  • Sub 1.000 de interogări pe lună: folosește un nivel gratuit și pune efortul în prompt.
  • Volum intern constant, date pe care preferi să nu le dai unui furnizor: self-hosted, plus o cheie plătită pentru zilele când un motor e suspendat.
  • Funcție de produs unde un rezultat lipsă costă bani: API plătit cu suport, cu cache, și instanța în spate pentru când se termină cota.
  • Date reglementate: self-hosted, și presupune în continuare că motoarele sursă văd textul interogării.

Ce rulăm noi este hibridul: o cheie plătită pentru tot ce e vizibil pentru utilizatori, o instanță pentru research intern.

Se poate instala cu o comandă?

Am publicat instalarea pe care o folosim, SearXNG plus pluginul de căutare pentru OpenClaw, la searxng.danubelabs.net. Instalează instanța cu cele șapte motoare de mai sus, un cache Redis local și un serviciu systemd, apoi înregistrează pluginul de căutare în configurația OpenClaw după ce o salvează ca backup. Pagina estimează cam douăzeci de minute pe Ubuntu 20.04 sau Debian 11 și mai nou, proiectul e sub licență MIT, iar cererile ajung în continuare la motoarele sursă, de la adresa serverului tău.

Danube Labs este un studio de software și AI condus de fondator, în București. Construim agenți care au nevoie să caute lucruri și ne pasă prin ce infrastructură le caută. Dacă legi căutarea într-un produs și vrei o a doua părere despre cost sau despre traseul datelor, vezi proiectele noastre de sisteme AI sau programează un apel introductiv gratuit.

Întrebări frecvente

Căutarea self-hosted este mai ieftină decât un API de căutare plătit?
Doar peste un anumit volum. Un server mic costă aproximativ 6-7 dolari pe lună indiferent de numărul de interogări, iar Brave ia 5 dolari pentru 1.000, deci serverul câștigă după vreo 1.400 de interogări pe lună. Sub 1.000 de interogări, nivelurile gratuite de la Brave, Tavily și Exa nu costă nimic, iar serverul devine opțiunea mai scumpă dacă pui în calcul întreținerea.
Ce află un API de căutare despre interogările agentului meu?
Fiecare cerere duce textul interogării, un timestamp, cheia ta API și adresa IP a serverului. Atât ajunge ca să reconstruiască la ce au lucrat agenții tăi și când. Ce păstrează furnizorul și dacă folosește interogările ca să își îmbunătățească serviciul depinde de politica lui: Tavily spune că poate folosi porțiuni din datele interogării pentru răspunsuri viitoare, dacă acordul nu prevede altfel.
SearXNG este anonim?
Nu. SearXNG elimină cookie-urile și construiește un profil de browser aleatoriu pentru fiecare cerere, dar documentația lui spune că motoarele sursă văd adresa IP a instanței. Fiecare interogare ajunge în continuare la Google, Bing sau Brave, de la serverul tău. Dispari din ecuație furnizorul terț, nu motoarele de căutare. Un proxy sau Tor poate schimba adresa, cu prețul latenței și al blocărilor mai dese.
Ce motoare de căutare poate folosi o instanță SearXNG?
SearXNG susține până la 261 de servicii de căutare și pornește 81 implicit, acoperind web general, știri, imagini, video, hărți, cod și știință. Instalarea pe care o publicăm pornește șapte: Google, DuckDuckGo, Brave, Bing, Wikipedia, GitHub și YouTube. Mai puține motoare înseamnă mai puține cereri pe interogare, mai puține parsere de întreținut și o șansă mai mică de CAPTCHA.
De ce lipsesc uneori rezultatele la căutarea self-hosted?
Pentru că un motor sursă a refuzat cererea și SearXNG l-a suspendat. Un HTTP 429 suspendă motorul o oră, un CAPTCHA o zi, un CAPTCHA de la Google o săptămână, iar unul de la Cloudflare cincisprezece zile. Instanța răspunde în continuare din celelalte motoare, fără eroare, deci lista de rezultate e mai scurtă și nimic nu îți spune de ce.
Poate căutarea self-hosted să înlocuiască un API comercial?
Nu pentru interogări pretențioase. O instanță de metascutare unește liste clasate de motoare diferite, fără model comun de ranking, fără date de click și fără garanție de prospețime. Se apropie la interogări de navigare și știri de ultimă oră, e mai slabă la întrebări tehnice de nișă și fraze exacte. Trateaz-o ca a doua sursă sau ca rezervă, nu ca înlocuitor direct pentru un index comercial reglat.
Distribuie

Articole similare

  • 7 min de citit

    ROI agenți AI: cum îl calculezi, cu exemplu numeric

    ROI agenți AI înseamnă timp salvat înmulțit cu costul complet, minus tokeni, verificare și mentenanță. O formulă, un exemplu numeric, metoda pilotului și când să nu automatizezi.

    • AI
    • Automatizare
    • Afaceri
  • 8 min de citit

    Traducere documente Word cu AI, fără să-ți strici formatarea

    La traducere documente Word cu AI, formatarea se păstrează dacă extragi textul pe run-uri, îl traduci pe bucăți, cu context, și îl scrii înapoi în aceleași run-uri. PDF-urile cer întâi extragere sau OCR.

    • AI
    • Traducere
    • Automatizare