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:
| Ferramenta | O que ela faz |
|---|---|
create_campaign | Cria 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_campaigns | Lista todas as campanhas ativas com contagem de braços, alfa e metadados. |
campaign_diagnostics | Por 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_intuition | Retorna a ação recomendada e um interaction_id para salvar. |
record_outcome | Relata 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_intuition | Até 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_report | Resumo legível por humanos de como uma campanha está se saindo — qual braço está vencendo e se a diferença já é significativa. |
archive_campaign | Exclusão suave. A campanha para de servir, mas seu modelo aprendido é mantido. |
restore_campaign | Reverte 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.