BanditDB

Memoria de decisiones persistente para agentes de IA: aprende qué acción funciona en cada contexto, a partir de resultados reales.

Documentación

Uso de Herramientas Nativas de Agente (MCP)

Dale a cualquier agente basado en Claude una memoria de decisiones persistente mediante el Protocolo de Contexto de Modelo.

Los agentes LLM estándar no tienen estado — si enrutan una tarea al modelo equivocado y fallan, repiten el mismo error mañana. El servidor MCP integrado de BanditDB le da a todo el enjambre de agentes una memoria persistente compartida.

El servidor MCP viene dentro del SDK de Python — no requiere instalación por separado:

pip install banditdb-python   # provides the banditdb-mcp entry point

Agrega el servidor a tu configuración de Claude Desktop en ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "banditdb": {
      "command": "banditdb-mcp",
      "env": {
        "BANDITDB_URL": "http://localhost:8080",
        "BANDITDB_API_KEY": "your-secret-key"
      }
    }
  }
}

El agente ahora tiene nueve herramientas:

HerramientaQué hace
create_campaignCrea una nueva campaña de decisión. Acepta algorithm, alpha y un objeto metadata opcional de formato libre para adjuntar contexto (nombres de características, propietario, versión, etc.).
list_campaignsLista todas las campañas activas con el conteo de brazos, alfa y metadatos.
campaign_diagnosticsPor brazo: theta_norm, conteo de predicciones, tasa de recompensa, además de selection_entropy, entropy_status, entropy_trend y un suggested_action cuando se detecta colapso. Úsalo cuando una campaña no está aprendiendo o sospechas que la exploración se ha detenido.
get_intuitionDevuelve la acción recomendada y un interaction_id para guardar.
record_outcomeReporta el resultado y actualiza el modelo compartido — 1.0 éxito, 0.0 fallo o cualquier valor intermedio. Los valores fuera de [0, 1] son rechazados.
batch_get_intuitionHasta 100 decisiones en un solo viaje de ida y vuelta, cada una con su propia campaña y contexto. El fallo parcial es por elemento: un contexto malo no hunde el lote.
campaign_reportResumen legible para humanos de cómo está funcionando una campaña — qué brazo está ganando y si la diferencia ya es significativa.
archive_campaignEliminación suave. La campaña deja de servir, pero su modelo aprendido se conserva.
restore_campaignRevierte un archivo, con el modelo intacto.

Cada agente en un enjambre comparte la misma instancia de BanditDB, por lo que el modelo aprendido mejora con cada interacción en toda la flota.

Ejemplo: Qué Hace el Agente

Un bucle de decisión típico dentro de una sesión de agente — el agente pide una intuición, actúa sobre ella y luego reporta el resultado:

// 1. Agent calls get_intuition
{ "campaign_id": "model-routing", "context": [0.8, 0.2, 0.5, 0.1] }

// → BanditDB responds
{ "arm": "claude-sonnet-5", "interaction_id": "9f2c-4e1a" }

// 2. Agent routes the task to claude-sonnet-5, task succeeds

// 3. Agent calls record_outcome
{ "interaction_id": "9f2c-4e1a", "reward": 1.0 }

Los argumentos incorrectos regresan como un mensaje legible, no como un fallo. Un agente que envía un contexto que contiene NaN, o una recompensa de 5.0, recibe una explicación de qué estuvo mal y qué valor lo causó — para que pueda corregirse en el siguiente turno en lugar de descartar la herramienta.

El siguiente agente que enfrente un contexto similar — en cualquier sesión, en cualquier máquina que apunte a la misma instancia de BanditDB — se beneficia de este resultado de inmediato. Sin paso de reentrenamiento, sin despliegue.