BanditDB

Memória persistente de decisões para agentes de IA — aprende qual ação funciona em qual contexto, a partir de resultados reais.

Documentação

Uso de Ferramentas Nativas de Agente (MCP)

Dê a qualquer agente baseado em Claude uma memória de decisão persistente por meio do Model Context Protocol.

Agentes LLM padrão são sem estado — se eles rotearem uma tarefa para o modelo errado e falharem, eles repetem o mesmo erro amanhã. O servidor MCP integrado do BanditDB dá a todo o enxame de agentes memória persistente compartilhada.

O servidor MCP vem dentro do SDK Python — sem instalação separada:

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

Adicione o servidor à sua configuração do Claude Desktop em ~/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"
      }
    }
  }
}

O agente agora tem nove ferramentas:

FerramentaO que ela faz
create_campaignCria uma nova campanha de decisão. Aceita algorithm, alpha e um objeto metadata opcional de forma livre para anexar contexto (nomes de recursos, proprietário, versão, etc.).
list_campaignsLista todas as campanhas ativas com contagem de braços, alfa e metadados.
campaign_diagnosticsPor braço, theta_norm, contagem de previsões, taxa de recompensa, além de selection_entropy, entropy_status, entropy_trend e um suggested_action quando colapso é detectado. Use quando uma campanha não está aprendendo ou você suspeita que a exploração parou.
get_intuitionRetorna a ação recomendada e um interaction_id para salvar.
record_outcomeRelata o resultado e atualiza o modelo compartilhado — 1.0 sucesso, 0.0 falha ou qualquer coisa entre eles. Valores fora de [0, 1] são rejeitados.
batch_get_intuitionAté 100 decisões em uma única ida e volta, cada uma com sua própria campanha e contexto. Falha parcial é por item: um contexto ruim não afunda o lote.
campaign_reportResumo legível por humanos de como uma campanha está se saindo — qual braço está vencendo e se a diferença já é significativa.
archive_campaignExclusão suave. A campanha para de servir, mas seu modelo aprendido é mantido.
restore_campaignReverte um arquivamento, com o modelo intacto.

Todo agente em um enxame compartilha a mesma instância do BanditDB, então o modelo aprendido melhora a cada interação em toda a frota.

Exemplo: O Que o Agente Faz

Um loop de decisão típico dentro de uma sessão de agente — o agente pede uma intuição, age com base nela e então relata o 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 }

Argumentos ruins retornam como uma mensagem legível, não um travamento. Um agente que envia um contexto contendo NaN, ou uma recompensa de 5.0, recebe uma explicação do que estava errado e qual valor causou isso — para que possa se corrigir na próxima rodada em vez de descartar a ferramenta.

O próximo agente que enfrentar um contexto semelhante — em qualquer sessão, em qualquer máquina apontando para a mesma instância do BanditDB — se beneficia desse resultado imediatamente. Sem etapa de retreinamento, sem implantação.