Le problème
Les agents IA effectuent plus d'appels de recherche que les développeurs ne le pensent. Un agent ReAct peut effectuer 3 à 8 recherches par requête utilisateur, et les workflows agentiques avec plusieurs étapes peuvent facilement atteindre 20+ recherches par session. À 0,01-0,025 $/recherche avec les API SERP traditionnelles, les coûts s'accumulent rapidement : 10 000 sessions agent par jour à 5 recherches chacune donne 50 000 recherches/jour, coûtant 500-1 250 $/jour. De nombreuses équipes découvrent que leur facture d'API de recherche est le plus grand coût d'infrastructure après l'inférence LLM.
La solution Scavio
Réduisez les coûts de recherche des agents avec trois stratégies : utilisez une API par requête moins chère (Scavio à 0,005 $ contre 0,01-0,025 $), implémentez un cache des résultats pour les requêtes répétées au sein d'une même session, et ajoutez un budget de recherche par session d'agent qui oblige l'agent à raisonner avant de chercher. Ces trois changements réduisent généralement les coûts de recherche de 60 à 80 % sans perte de qualité.
Avant
Avant : Un agent effectuait en moyenne 6 recherches par session à 0,015 $/recherche (SerpAPI). Avec 10 000 sessions par jour, la facture mensuelle de recherche était de 27 000 $. Aucun cache n'était implémenté. L'agent effectuait des recherches redondantes pour des requêtes similaires au sein d'une même conversation.
Après
Après : Passer à Scavio (0,005 $/recherche) a réduit le coût de base de 67 %. L'ajout d'un cache TTL pour les requêtes identiques dans une session a réduit le volume de recherche de 30 %. Un budget de 4 recherches par session a forcé l'agent à être délibéré, réduisant le nombre moyen de recherches de 6 à 3,5. La facture mensuelle est passée de 27 000 $ à 3 675 $ (réduction de 86 %).
À qui cela s'adresse
Développeurs d'agents et responsables techniques gérant les coûts d'API de recherche pour les agents en production. Toute personne dont la facture d'API de recherche est devenue le deuxième plus grand coût d'infrastructure après l'inférence LLM.
Avantages clés
- Réduisez le coût par recherche de 50 à 80 % en passant d'API à 0,01-0,025 $ à 0,005 $
- Le cache en session réduit les recherches redondantes de 25 à 35 %
- Les budgets de recherche obligent les agents à raisonner avant de chercher, réduisant le volume de 30 à 40 %
- Les stratégies combinées offrent une réduction totale des coûts de 60 à 80 %
- Économies mensuelles de 20 000 $+ pour les déploiements d'agents à volume élevé
Exemple Python
import requests
import hashlib
import json
from functools import lru_cache
API_KEY = "your_scavio_api_key"
SESSION_BUDGET = 4
class CachedSearch:
def __init__(self):
self.cache = {}
self.session_count = 0
def search(self, query: str, platform: str = "google") -> dict:
cache_key = hashlib.md5(f"{platform}:{query}".encode()).hexdigest()
if cache_key in self.cache:
return self.cache[cache_key] # Free: cached result
if self.session_count >= SESSION_BUDGET:
return {"error": "search budget exceeded", "remaining": 0}
r = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=10,
)
result = r.json()
self.cache[cache_key] = result
self.session_count += 1
return result
searcher = CachedSearch()
print(searcher.search("python async patterns")) # API call (1/4)
print(searcher.search("python async patterns")) # Cache hit (free)
print(f"Budget remaining: {SESSION_BUDGET - searcher.session_count}")Exemple JavaScript
const API_KEY = "your_scavio_api_key";
const SESSION_BUDGET = 4;
class CachedSearch {
constructor() {
this.cache = new Map();
this.sessionCount = 0;
}
async search(query, platform = "google") {
const cacheKey = `${platform}:${query}`;
if (this.cache.has(cacheKey)) return this.cache.get(cacheKey);
if (this.sessionCount >= SESSION_BUDGET) {
return { error: "search budget exceeded", remaining: 0 };
}
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query }),
});
const result = await res.json();
this.cache.set(cacheKey, result);
this.sessionCount++;
return result;
}
}
const searcher = new CachedSearch();
console.log(await searcher.search("python async patterns")); // API call (1/4)
console.log(await searcher.search("python async patterns")); // Cache hit (free)
console.log(`Budget remaining: ${SESSION_BUDGET - searcher.sessionCount}`);Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA
YouTube
Recherche de vidéos avec transcriptions et métadonnées
Amazon
Recherche de produits avec prix, notes et avis
Communauté, publications et commentaires imbriqués de n'importe quel subreddit