El problema
Los sistemas de múltiples agentes (AutoGen, CrewAI, LangGraph) necesitan una herramienta de búsqueda compartida que todos los agentes puedan usar sin claves API conflictivas, formatos de resultados inconsistentes o lógica de búsqueda duplicada en las definiciones de agentes.
La solucion de Scavio
Cree una única función de herramienta de búsqueda de Scavio que cualquier agente del sistema pueda invocar. La herramienta maneja la autenticación, la selección de plataforma y la normalización de resultados, brindando a cada agente acceso consistente a datos web en vivo.
Antes
Cada agente en el sistema multiagente tiene su propia implementación de búsqueda con diferentes API, formatos de resultados y manejo de errores. La depuración de errores de búsqueda requiere verificar varias bases de código de agentes.
Después
Una herramienta de búsqueda compartida brinda servicios a todos los agentes con autenticación, manejo de errores y formato de resultados consistentes. Agregar capacidad de búsqueda a un nuevo agente requiere una línea de registro de herramienta.
Para quien es
Desarrolladores que crean orquestación de múltiples agentes con DeerFlow, LangGraph o CrewAI.
Beneficios clave
- Herramienta de búsqueda única compartida entre todos los agentes
- Formato de resultados consistente independientemente de la plataforma
- Autenticación centralizada y manejo de errores
- Registro de herramienta de una línea para nuevos agentes
Ejemplo en Python
import requests
from typing import Optional
def scavio_search(
query: str,
platform: str = "google",
limit: int = 10,
context: Optional[str] = None
) -> dict:
"""Universal search tool for multi-agent systems.
Register this function with any agent framework."""
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": SCAVIO_API_KEY, "Content-Type": "application/json"},
json={"query": query, "platform": platform, "limit": limit}
)
if resp.status_code != 200:
return {"error": f"Search failed: {resp.status_code}", "results": []}
data = resp.json()
return {
"query": query,
"platform": platform,
"result_count": len(data.get("results", [])),
"results": [
{
"title": r.get("title", ""),
"url": r.get("link", ""),
"snippet": r.get("snippet", ""),
"position": r.get("position")
}
for r in data.get("results", [])
],
"agent_context": context
}
# AutoGen: register as tool
# assistant.register_function({"scavio_search": scavio_search})
# CrewAI: add as tool
# search_tool = Tool(name="web_search", func=scavio_search, description="Search the web")Ejemplo en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
fetch('https://api.scavio.dev/api/v1/search', {method: 'POST', headers: H, body: JSON.stringify({query: 'example', country_code: 'us'})}).then(r => r.json()).then(d => console.log(d.organic_results?.length + ' results'));Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
YouTube
Búsqueda de videos con transcripciones y metadatos
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit