El problema
Los agentes de IA consumen créditos de búsqueda de forma impredecible. Un agente de investigación puede realizar 500 búsquedas en una sesión, mientras que un simple agente de preguntas y respuestas utiliza 5. Los equipos establecen presupuestos generales que matan de hambre a los agentes de investigación o desperdician dinero en consultas baratas. No existe ninguna lógica de enrutamiento que haga coincidir la complejidad de las consultas con el costo del proveedor.
La solucion de Scavio
Implemente una capa de enrutamiento consciente de los costos. Las consultas objetivas simples utilizan Scavio a $0,005/crédito. La investigación compleja de varios pasos utiliza Tavily Researcher a $0,03/consulta. El enrutador clasifica la intención de la consulta y la dirige al proveedor más barato que pueda manejarla. La mayoría de las consultas de los agentes son búsquedas simples que Scavio maneja a un costo 6 veces menor que Tavily.
Antes
Todas las consultas de los agentes van a Tavily a $0,03/consulta. Factura mensual: $900 por 30K consultas. El 80% de las consultas son búsquedas simples que podrían realizarse de forma más económica.
Después
El enrutador envía el 80% de las consultas a Scavio a $0,005. 20% consultas complejas a Tavily a $0.03. Factura mensual: $300. Misma calidad de resultado. $600/mes ahorrados.
Para quien es
Equipos que ejecutan agentes de IA con un volumen de búsqueda variable que desean minimizar los costos de la API de búsqueda sin sacrificar la calidad de los resultados.
Beneficios clave
- Reducción de costos del 60 al 70 % en gastos de búsqueda
- Enrutamiento automático basado en la complejidad de la consulta
- Consultas simples a $0.005 vía Scavio
- Consultas de investigación complejas enviadas al proveedor adecuado
- Seguimiento de presupuesto y alertas integrados
Ejemplo en Python
import requests, os
SCAVIO_KEY = os.environ["SCAVIO_API_KEY"]
def classify_query(query: str) -> str:
"""Classify query complexity: simple or complex."""
complex_signals = ["compare", "analyze", "research", "step by step", "in depth"]
if any(s in query.lower() for s in complex_signals):
return "complex"
return "simple"
def scavio_search(query: str) -> dict:
"""$0.005/credit search for simple queries."""
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": SCAVIO_KEY, "Content-Type": "application/json"},
json={"query": query, "country_code": "us"},
timeout=10,
)
return {"provider": "scavio", "cost": 0.005, "data": resp.json()}
def route_search(query: str) -> dict:
"""Route to cheapest provider that can handle the query."""
complexity = classify_query(query)
if complexity == "simple":
return scavio_search(query)
# For complex queries, still try Scavio first
result = scavio_search(query)
if len(result["data"].get("organic_results", [])) >= 5:
return result
# Only escalate if Scavio returns thin results
return scavio_search(query) # Replace with expensive provider if needed
result = route_search("what is kubernetes")
print(f"Provider: {result['provider']}, Cost: ${result['cost']}, Results: {len(result['data'].get('organic_results', []))}")Ejemplo en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
function classifyQuery(query) {
const complex = ['compare','analyze','research','step by step','in depth'];
return complex.some(s=>query.toLowerCase().includes(s)) ? 'complex' : 'simple';
}
async function scavioSearch(query) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, country_code:'us'})});
return {provider:'scavio', cost:0.005, data:await r.json()};
}
async function routeSearch(query) {
const complexity = classifyQuery(query);
if (complexity === 'simple') return scavioSearch(query);
const result = await scavioSearch(query);
if ((result.data.organic_results||[]).length >= 5) return result;
return result;
}
const r = await routeSearch('what is kubernetes');
console.log('Provider: '+r.provider+', Cost: $'+r.cost+', Results: '+(r.data.organic_results||[]).length);Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
YouTube
Búsqueda de videos con transcripciones y metadatos
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit