Isolamento entre clientes em agentes de IA
Aprenda a isolar dados, memória, ferramentas e execuções entre clientes em agentes de IA, com testes, controles de acesso e resposta a falhas.
Uma resposta correta pode carregar o contexto do cliente errado
Uma empresa opera um agente de atendimento para várias contas. O usuário faz uma pergunta comum sobre um pedido. O agente encontra uma política válida, produz uma resposta clara e cita uma condição comercial que pertence a outro cliente.
O texto parece plausível. A falha está na fronteira usada para recuperar contexto.
Esse risco aparece em plataformas SaaS, operações terceirizadas, grupos empresariais, consultorias, centrais compartilhadas e agentes internos que atendem unidades diferentes. Quanto mais fontes, memórias e ferramentas entram no fluxo, maior a necessidade de provar que cada execução permaneceu dentro do escopo autorizado.
Isolamento entre clientes em agentes de IA é o conjunto de controles que impede uma tarefa de consultar, combinar, memorizar, registrar ou alterar recursos pertencentes a outra conta. A fronteira precisa acompanhar o trabalho inteiro, da autenticação ao efeito confirmado no sistema final.
O que significa tenant em uma arquitetura de agentes
Tenant é a unidade cujo conteúdo e recursos precisam permanecer separados. Dependendo do negócio, pode representar:
- uma empresa cliente;
- uma unidade do mesmo grupo;
- uma carteira comercial;
- uma organização dentro de um SaaS;
- um projeto sob confidencialidade;
- um ambiente de teste ou produção;
- uma área com regras próprias de acesso.
A definição precisa ser explícita. Usar cliente, conta, workspace, organização e projeto como se fossem equivalentes cria brechas. Um grupo empresarial pode compartilhar contratos entre unidades e proibir o compartilhamento de dados trabalhistas. Uma consultoria pode atender duas marcas do mesmo controlador sob acordos diferentes.
Registre qual objeto governa o isolamento, quem pode pertencer a ele e quais exceções de compartilhamento são permitidas.
Onde a mistura entre clientes costuma acontecer
Recuperação de dados
Uma busca vetorial, consulta SQL ou chamada de API retorna registros sem filtro obrigatório por tenant. O modelo recebe conteúdo de várias contas e escolhe o trecho que parece responder melhor.
Memória
Resumo de conversa, preferência, correção humana ou fato persistido entra em uma memória comum. Outra execução recupera esse conteúdo porque a similaridade semântica foi alta.
Cache
A resposta de uma consulta fica armazenada com uma chave incompleta. O próximo cliente faz uma pergunta parecida e recebe o resultado anterior.
Ferramentas
A credencial usada pelo agente alcança várias contas. O prompt informa qual cliente deve ser usado, mas a API aceita qualquer identificador enviado nos argumentos.
Filas e estado
Uma tarefa assíncrona perde o vínculo com a conta durante retentativa, retomada ou transferência entre agentes. O worker processa o payload com configuração padrão.
Logs e avaliação
Prompts, respostas e argumentos de ferramentas ficam disponíveis para equipes, fornecedores ou ambientes que não deveriam acessar aquele cliente. O fluxo final pode estar correto enquanto a observabilidade cria a exposição.
Artefatos
Relatórios, planilhas e PDFs são gravados em uma pasta comum, herdam link público ou recebem um nome previsível. A entrega certa existe, mas a proteção do arquivo está errada.
O guia de DLP para agentes de IA trata a passagem de dados por essas fronteiras. O isolamento multi-tenant acrescenta uma obrigação específica: uma identidade autorizada em uma conta não deve atravessar para outra durante a mesma unidade de trabalho.
O tenant precisa nascer em uma fonte confiável
O agente não deveria escolher livremente qual conta usar a partir de texto da conversa. Expressões como “consulte a empresa X” podem ser ambíguas, estar desatualizadas ou ter sido inseridas por conteúdo não confiável.
O identificador do tenant deve vir de uma fonte autenticada, como:
- sessão do usuário;
- token emitido para a aplicação;
- registro oficial do caso;
- canal vinculado previamente à conta;
- evento assinado por um sistema autorizado;
- relação confirmada entre usuário, cliente e recurso.
Depois de estabelecido, o identificador acompanha a execução em um envelope protegido. O modelo pode receber o contexto necessário para trabalhar, mas não recebe autoridade para trocar o tenant.
Um envelope mínimo pode conter:
tenant_id;- identidade solicitante;
- caso ou objeto de negócio;
- finalidade;
- ambiente;
- política aplicável;
- ferramentas permitidas;
- versão da configuração;
- identificador da execução.
A fonte da verdade para agentes de IA ajuda a definir qual sistema governa cada objeto quando CRM, atendimento, documentos e memória apresentam registros divergentes.
Aplique a fronteira em cada camada
Identidade e autorização
Prefira identidades restritas a uma conta quando a plataforma permitir. Quando uma identidade técnica atende vários tenants, a autorização precisa validar usuário, ação, objeto e tenant em cada chamada.
Uma credencial ampla protegida somente por instrução transfere a segurança para o componente mais probabilístico do sistema. A página sobre identidade e credenciais para agentes detalha contas próprias, escopos, tokens curtos, rotação e revogação.
Banco de dados
Filtros por tenant devem ser aplicados no repositório, na política de linha ou na camada de acesso. Evite montar consultas em que o modelo pode omitir ou substituir a condição.
Controles úteis incluem:
- políticas de segurança por linha;
- conexões ou esquemas separados para maior criticidade;
- índices compostos com tenant;
- bloqueio de consultas sem escopo;
- validação do objeto retornado antes do uso;
- testes que tentam acessar identificadores de outra conta.
Busca e RAG
O índice precisa preservar metadados de origem e tenant. O filtro deve ocorrer antes da seleção de trechos. Filtrar o resultado depois da recuperação permite que conteúdo indevido influencie ranking, resumo ou ferramentas subsequentes.
Verifique também documentos sem metadado, arquivos movidos, duplicatas e reindexações. Um único item órfão pode entrar em todas as buscas.
Memória
Separe memória por tenant, usuário, processo e finalidade. Uma correção feita por um cliente não deveria virar regra global sem revisão e promoção explícitas.
Defina:
- chave de particionamento;
- tipos de memória permitidos;
- prazo de validade;
- origem e autoridade;
- regra de recuperação;
- descarte ao encerrar contrato;
- processo para transformar aprendizado local em padrão comum.
O artigo sobre memória de agentes de IA mostra como distinguir estado de sessão, memória operacional, conhecimento e preferências persistentes.
Cache
Inclua tenant, ambiente, versão, permissão e parâmetros relevantes na chave. Respostas que dependem do usuário ou da autorização podem exigir cache privado ou nenhuma reutilização.
A invalidação também precisa respeitar a fronteira. Atualizar a política de um cliente não deveria apagar tudo nem manter uma resposta vencida somente para aquela conta. Veja o guia de cache para agentes de IA.
Ferramentas e ações
Ferramentas estreitas reduzem o espaço de erro. Em vez de expor buscar_cliente(id_livre), a arquitetura pode oferecer buscar_cliente_do_caso(caso_autorizado). O adaptador resolve o tenant a partir do envelope e rejeita argumentos divergentes.
Antes de executar, valide:
- identidade técnica;
- tenant da execução;
- tenant do objeto;
- ação permitida;
- ambiente;
- alçada;
- confirmação esperada no destino.
O catálogo de ferramentas para agentes ajuda a registrar contrato, efeito, autenticação e limites de cada capacidade.
Logs e traces
Cada evento deve carregar o tenant para investigação e controle de acesso. O conteúdo registrado precisa ser reduzido e protegido. Equipes de suporte podem consultar metadados operacionais sem receber automaticamente prompts, anexos ou dados completos de todos os clientes.
A política de retenção de dados para agentes orienta finalidade, prazo, acesso e descarte das evidências.
Escolha o nível de separação pelo impacto
Uma única arquitetura física pode atender casos de baixo risco quando controles lógicos são fortes e testados. Processos críticos podem exigir separação maior.
Separação lógica
Recursos compartilhados usam identificadores, políticas e controles de acesso para dividir contas. Costuma simplificar operação e custo, mas qualquer falha no filtro pode ampliar o alcance.
Separação por esquema, índice ou fila
Cada tenant ou grupo de risco recebe componentes próprios em algumas camadas. Isso reduz caminhos de mistura e aumenta complexidade de provisionamento, migração e observabilidade.
Separação física
Banco, armazenamento, runtime ou ambiente dedicado atende uma conta. Pode ser necessário por contrato, risco, residência de dados ou consequência operacional. Ainda exige identidade e configuração corretas. Infraestrutura dedicada não corrige envio para destinatário errado.
A decisão deve considerar sensibilidade, volume, obrigações, raio de impacto, capacidade de detecção e custo de reconstrução. O comparativo sobre residência de dados em IA complementa a análise quando país, região e subfornecedores também fazem parte do contrato.
Teste isolamento como uma propriedade do sistema
Uma demonstração com duas contas limpas prova pouco. Os testes precisam tentar romper a fronteira.
Casos de leitura cruzada
Use identificadores válidos de outra conta em URLs, argumentos, anexos, buscas, filtros e referências indiretas. O resultado esperado é bloqueio antes da recuperação do conteúdo.
Casos de memória e cache
Ensine uma preferência exclusiva no tenant A e faça uma pergunta semelhante no tenant B. Repita com sessões, usuários, idiomas e versões diferentes.
Casos de ferramenta
Tente atualizar um objeto de outra conta, trocar o identificador depois da aprovação e retomar uma tarefa com envelope incompleto. Verifique a resposta da API e o estado final.
Casos assíncronos
Exercite fila, retentativa, timeout, cancelamento, DLQ e reprocessamento. O tenant deve permanecer vinculado à unidade mesmo depois de várias transições.
Casos de observabilidade
Confirme que suporte, avaliação e engenharia acessam somente o escopo autorizado. Procure conteúdo em logs, erros, traces, arquivos temporários e exportações.
Casos de ciclo de vida
Crie, migre, suspenda e encerre uma conta. Teste revogação, exclusão, retenção autorizada e impossibilidade de recuperar memória após o término.
Falhas encontradas devem entrar no conjunto de regressão. O ambiente de teste para agentes organiza dados, identidades e integrações para esse exercício.
Monitore sinais de quebra de fronteira
Mistura entre clientes merece alerta imediato. Alguns sinais:
- recurso retornado com tenant divergente;
- consulta sem filtro obrigatório;
- documento sem metadado de conta;
- cache hit entre tenants;
- memória recuperada fora do escopo;
- tentativa de ferramenta sobre objeto divergente;
- worker iniciado sem envelope completo;
- artefato salvo em local compartilhado indevido;
- log acessado por equipe sem vínculo com a conta;
- volume anormal de bloqueios por uma mesma integração.
O alerta precisa informar execução, identidade, contas envolvidas, objeto, ferramenta, versão e ação de contenção. Evite copiar o conteúdo sensível para o próprio alerta.
Se houver exposição confirmada ou possibilidade relevante de dano, pause a capacidade afetada, preserve evidência e acione o plano de resposta a incidentes de IA.
Checklist de isolamento entre clientes
- [ ] O tenant está definido para cada unidade de trabalho?
- [ ] O identificador nasce em uma fonte autenticada?
- [ ] O modelo está impedido de trocar o tenant?
- [ ] Banco, busca e armazenamento aplicam filtro antes de retornar conteúdo?
- [ ] Memória e cache usam chaves com escopo completo?
- [ ] Ferramentas validam tenant da execução e do objeto?
- [ ] Filas preservam o vínculo em retentativas e retomadas?
- [ ] Logs e avaliações têm controle de acesso por conta?
- [ ] Artefatos recebem localização e compartilhamento compatíveis?
- [ ] Contas suspensas perdem acesso sem afetar as demais?
- [ ] Testes tentam leitura, escrita e persistência cruzadas?
- [ ] Existe alerta e interrupção para qualquer divergência?
- [ ] Contratos de exclusão e retenção podem ser executados?
- [ ] Um dono responde pela fronteira completa?
Isolamento precisa ser demonstrável
Separar clientes por convenção de nomes, prompt ou pasta funciona até a primeira exceção. Agentes atravessam várias camadas e podem carregar contexto por rotas que a interface não mostra.
Uma arquitetura segura vincula tenant, identidade, objeto e finalidade desde a entrada. Cada consulta, memória, ferramenta, fila e artefato verifica essa relação novamente. Testes adversariais e monitoramento mostram se a fronteira continua funcionando depois de mudanças.
A empresa deveria conseguir responder uma pergunta objetiva: qual controle impede esta execução de ler, lembrar ou alterar qualquer recurso de outra conta? Quando a resposta depende de o modelo interpretar corretamente o nome do cliente, a separação ainda não está pronta para produção.