Como a Meta usa agentes de IA para acesso e segurança ao data warehouse

A Meta possui um dos maiores data warehouses do mundo, suportando análises, aprendizado de máquina e cargas de trabalho de IA em diversas equipes. Cada decisão de negócios, experimento e melhoria de produto depende de acesso rápido e seguro a esses dados.

Para organizar um sistema tão vasto, a Meta construiu seu data warehouse como uma hierarquia. No topo estão equipes e organizações, seguidas por conjuntos de dados, tabelas e, finalmente, dashboards que visualizam insights. Cada nível se conecta ao próximo, formando uma estrutura em que cada pedaço de dados pode ser rastreado até sua origem.

O acesso a esses ativos de dados tradicionalmente foi gerenciado por meio de controle de acesso baseado em funções (RBAC). Isso significa que as permissões de acesso são concedidas com base em cargos. Um analista de marketing, por exemplo, pode visualizar dados de desempenho de marketing, enquanto um engenheiro de infraestrutura pode visualizar logs de desempenho de servidores. Quando alguém precisava de dados adicionais, solicitava manualmente ao proprietário dos dados, que aprovava ou negava o acesso com base nas políticas da empresa.

Esse processo manual funcionou bem nos estágios iniciais. No entanto, à medida que as operações e os sistemas de IA da Meta expandiram, esse modelo começou a sofrer pressão por seu próprio peso. Gerenciar quem podia acessar o quê tornou-se um processo complexo e demorado.

Três problemas principais começaram a surgir:

  • O grafo de dados tornou-se imenso. Cada tabela, dashboard e pipeline de dados conecta-se a outros, formando uma teia de relacionamentos. Compreender dependências e conceder permissões com segurança nessa teia tornou-se difícil.
  • As decisões de acesso tornaram-se mais lentas e exigiram múltiplas aprovações. Diferentes equipes precisavam coordenar-se entre departamentos para gerenciar a segurança.
  • Os sistemas de IA mudaram a forma como os dados eram usados. Antes, cada equipe trabalhava principalmente dentro de seu próprio domínio de dados. Agora, modelos de IA frequentemente precisam analisar dados de múltiplos domínios ao mesmo tempo. O sistema tradicional de acesso gerenciado por humanos não conseguiu acompanhar esses padrões cruzados de domínio.

Para manter a inovação em movimento enquanto mantém a segurança, a Meta precisou encontrar uma maneira melhor de lidar com o problema do acesso a dados em escala. A equipe de engenharia da Meta descobriu que a resposta estava em agentes de IA. Esses agentes são sistemas de software inteligentes capazes de entender solicitações, avaliar riscos e tomar decisões autonomamente dentro de limites pré-definidos.

Neste artigo, examinamos como a Meta redesenhou sua arquitetura de data warehouse para funcionar com humanos e agentes.

550x534.8901098901099

A Solução Agente: Arquitetura de Dois Agentes

Para superar a crescente complexidade do acesso a dados, a equipe de engenharia da Meta desenvolveu o que chamam de sistema multiagente.

Em termos simples, é uma configuração em que diferentes agentes de IA trabalham juntos, cada um lidando com partes específicas do fluxo de trabalho de acesso a dados. Esse design permite que a Meta torne o acesso a dados mais rápido e seguro, permitindo que agentes assumam tarefas repetitivas e procedurais que antes eram feitas manualmente por humanos.

No coração desse sistema estão dois tipos principais de agentes que interagem entre si:

  • Agentes de usuário de dados, que atuam em nome de funcionários ou sistemas que precisam acessar dados.
  • Agentes de proprietário de dados, que atuam em nome das pessoas ou equipes responsáveis por gerenciar e proteger os dados.

Veja o diagrama abaixo:

550x294.64285714285717

Agente de Usuário de Dados

O agente de usuário de dados não é um único programa. Em vez disso, é um grupo de agentes menores e especializados que trabalham juntos. Esses subagentes são coordenados por uma camada de triagem, que atua como um gerente que decide qual subagente deve lidar com cada parte da tarefa.

Veja o diagrama abaixo:

550x323.7293956043956

Há três subagentes principais dentro dessa estrutura:

Subagente de Sugestão de Alternativas

Esse subagente ajuda os usuários a encontrar maneiras mais seguras ou menos restritivas de acessar as informações de que precisam. Por exemplo, se alguém solicitar acesso a uma tabela de dados sensíveis, o agente pode recomendar outra tabela que contenha dados semelhantes, mas não sensíveis. Ele pode até ajudar a reescrever consultas para usar apenas colunas não restritas ou fontes de dados públicas.

O subagente depende de modelos de linguagem grandes (LLMs) para raciocinar sobre relacionamentos entre conjuntos de dados. Tradicionalmente, esse tipo de conhecimento existia apenas como “conhecimento tribal”, ou seja, era conhecido informalmente por poucos engenheiros experientes. Agora, o agente pode sintetizar essa informação oculta e oferecer recomendações inteligentes automaticamente.

Subagente de Exploração de Baixo Risco

A maioria dos usuários não precisa de acesso total a um conjunto de dados quando ainda está explorando. Muitas vezes, eles apenas precisam olhar uma pequena parte para entender sua estrutura ou conteúdo.

Esse subagente fornece acesso temporário ou parcial a pequenas amostras de dados, para que os usuários possam explorar com segurança. Ele garante que esse tipo de exploração de baixo risco não exponha informações sensíveis.

Subagente de Negociação de Acesso

Quando é necessário acesso total, esse subagente prepara a solicitação formal de permissão. Ele se comunica diretamente com o agente de proprietário de dados para solicitar acesso com base nas necessidades de negócios e nas políticas de dados.

No momento, a Meta mantém um humano no loop para supervisionar essas interações, ou seja, uma pessoa revisa ou confirma as ações do agente. No entanto, a equipe de engenharia espera que, com o tempo, esse subagente possa operar de forma mais autônoma à medida que o sistema amadurece e os mecanismos de segurança melhoram.

Agente de Proprietário de Dados

Do outro lado do fluxo de trabalho está o agente de proprietário de dados, que representa os gerentes ou equipes de dados que controlam informações sensíveis.

Ele também consiste em componentes especializados, cada um focado em uma responsabilidade diferente. Veja o diagrama abaixo:

550x359.99313186813185

Vamos examinar os dois componentes principais do agente de proprietário de dados:

Subagente de Operações de Segurança

Esse subagente funciona como um engenheiro de segurança júnior. Ele segue Procedimentos Operacionais Padrão (SOPs) escritos pelos proprietários de dados e os aplica às solicitações de acesso recebidas.

Quando um agente de usuário de dados envia uma solicitação, esse subagente a verifica contra as regras e políticas de risco estabelecidas. Ele garante que a solicitação siga os protocolos de segurança e que apenas usuários legítimos com propósitos válidos recebam acesso.

Subagente de Gerenciamento de Acesso

Além de lidar com solicitações, esse subagente desempenha um papel proativo na modelagem e manutenção de políticas de acesso. Ele evolui o antigo processo de “mineração de funções”, em que engenheiros examinavam manualmente funções e permissões de usuários, para um sistema mais inteligente e automatizado.

Usando metadados, semântica de dados e padrões históricos de acesso, ele refinará e otimizará continuamente quem deve ter acesso a quais recursos. Isso ajuda a Meta a reduzir a sobrecarga manual de gerenciar permissões, mantendo o data warehouse seguro.

Tornando o Data Warehouse Amigável para Agentes

O próximo desafio para a equipe de engenharia da Meta foi tornar o data warehouse utilizável não apenas por humanos, mas também por agentes de IA.

Diferentemente das pessoas, os agentes interagem por meio de interfaces baseadas em texto. Isso significa que eles não podem navegar por dashboards gráficos ou navegar manualmente por pastas. Eles precisam que as informações sejam apresentadas em um formato estruturado e legível por texto, que possam processar e raciocinar.

Para alcançar isso, a Meta redesenhou o data warehouse em algo que pode ser descrito como uma hierarquia navegável por texto, semelhante à forma como pastas e arquivos são organizados em um computador. Nessa configuração, cada elemento no warehouse (como uma tabela, um dashboard ou uma política) é tratado como um recurso. Os agentes podem ler esses recursos e entender como eles se relacionam entre si. O sistema transforma objetos complexos do warehouse em resumos de texto que descrevem o que cada recurso representa e como pode ser usado.

Além disso, materiais importantes como SOPs, documentação interna e até regras históricas de acesso também são representados como texto. Essa abordagem permite que os LLMs que alimentam os agentes analisem esses recursos textuais da mesma forma que analisariam informações escritas em um documento.

Gerenciamento de Contexto e Intenção

Para tomar boas decisões sobre acesso a dados, um agente de IA deve entender a situação completa em torno de uma solicitação. A equipe de engenharia da Meta chama isso de gerenciamento de contexto e intenção. Juntos, esses dois conceitos ajudam o agente a descobrir quem está solicitando dados, o que estão tentando acessar e por que precisam deles.

Vamos começar com o gerenciamento de contexto. O contexto fornece ao agente as informações de fundo necessárias antes de agir. A Meta define três tipos principais de contexto:

  • Contexto automático: Quando alguém tenta abrir um conjunto de dados ou executar uma consulta, o sistema já sabe quem são e qual recurso estão tentando acessar. Essas informações são coletadas automaticamente de ferramentas internas e identidades de usuários.
  • Contexto estático: Às vezes, um usuário deseja focar em um projeto ou categoria específica de conjunto de dados. Eles podem definir esse escopo manualmente. Por exemplo, um engenheiro pode escolher trabalhar na área do projeto “Métricas de Anúncios” para limitar os resultados da pesquisa a tabelas relevantes.
  • Contexto dinâmico: Os agentes podem refinar ainda mais o contexto analisando metadados ou realizando pesquisas de similaridade. Por exemplo, se um usuário estiver estudando dados de gastos com anúncios, o agente pode encontrar automaticamente outras tabelas relacionadas a orçamentos de anúncios ou desempenho de campanhas.

550x377.74725274725273

Uma vez que o contexto está claro, a próxima etapa é o gerenciamento de intenção, que identifica o motivo por trás da solicitação de um usuário. A Meta aborda isso de duas maneiras:

  • Intenção explícita é quando um usuário declara claramente seu propósito. Por exemplo, eles podem indicar que estão “investigando o desempenho de anúncios para o Q3”. O sistema pode então combinar essa função ou objetivo com políticas apropriadas de acesso a dados.
  • Intenção implícita é quando o sistema infere o propósito a partir do comportamento do usuário. Se um engenheiro de repente começar a acessar logs de erros à meia-noite, o sistema pode razoavelmente assumir que estão respondendo a uma falha e conceder temporariamente acesso diagnóstico limitado.

550x327.50686813186815

Análise Profunda: Prévia Parcial de Dados

Para entender como o sistema de acesso a dados baseado em agentes da Meta realmente funciona, vamos examinar um exemplo de ponta a ponta.

O processo começa quando um cientista de dados deseja examinar novos dados para análise. Em vez de conceder imediatamente acesso total a um conjunto de dados inteiro, o subagente de exploração de baixo risco entra em ação primeiro. Ele permite que o usuário visualize uma pequena amostra limitada dos dados, para que possam entender sua estrutura e decidir se é relevante para sua tarefa. Nessa etapa, controles conscientes de contexto garantem que apenas partes não sensíveis do conjunto de dados sejam visíveis.

Se o usuário precisar posteriormente de acesso mais profundo ou amplo, o subagente de negociação de acesso prepara automaticamente uma solicitação formal de permissão e contata o agente de proprietário de dados para revisão. Esse fluxo de trabalho não apenas acelera a exploração, mas também mantém a segurança intacta, aplicando camadas de proteção a cada etapa.

Todo o sistema opera por meio de quatro capacidades principais:

  • Análise de contexto: O agente entende o que o usuário está tentando fazer e combina isso com regras e políticas de negócios.
  • Controle de acesso em nível de consulta: Cada consulta é examinada para ver quanto dados ela toca e se realiza agregações ou amostragem aleatória. Isso ajuda o sistema a julgar o risco potencial de exposição.
  • Orçamentos de acesso a dados: Cada funcionário tem uma cota diária de quanto dados podem acessar. Esse orçamento é redefinido automaticamente todos os dias e atua como uma salvaguarda contra exposição acidental excessiva.
  • Gerenciamento de risco baseado em regras: O sistema monitora continuamente o comportamento dos agentes por meio de regras analíticas de risco, detectando qualquer coisa incomum ou potencialmente insegura.

Veja o diagrama abaixo:

Nos bastidores, uma arquitetura complexa alimenta esse fluxo de trabalho.

O agente de usuário de dados serve como ponto de entrada. Ele coleta sinais de várias ferramentas internas:

  • Registros de atividade do usuário, que incluem ações como edição de código (diffs), visualização de dashboards, conclusão de tarefas ou tratamento de eventos de serviço.
  • Informações de perfil do usuário, como equipe, cargo e detalhes do projeto atual.

Usando essas informações, o agente constrói um modelo de intenção, uma compreensão estruturada do motivo pelo qual o usuário está fazendo a solicitação e o que precisa realizar. Esse modelo é combinado com a forma da consulta (por exemplo, se está lendo algumas linhas, agregando dados ou unindo tabelas grandes) para formar uma imagem completa da situação.

Uma vez que essa intenção é formada, o agente de usuário de dados transfere o controle para o agente de proprietário de dados. Esse segundo agente recupera metadados sobre os recursos solicitados, incluindo resumos de tabelas, descrições de colunas e SOPs. Em seguida, usa um modelo de linguagem grande (LLM) para raciocinar se o acesso deve ser concedido ou negado. O raciocínio do LLM é verificado por um conjunto de guardrails que aplicam cálculos de risco baseados em regras para garantir que o resultado esteja alinhado com as políticas de segurança.

Veja o diagrama abaixo:

550x349.79395604395603

Toda ação, decisão e resultado é registrada com segurança para auditoria e análise futuras. Isso torna possível rastrear exatamente como e por que cada decisão de acesso foi tomada.

Conclusão

A equipe de engenharia da Meta fez progressos significativos em direção à transformação de como os dados são acessados e protegidos em seus sistemas massivos de data warehouse. No entanto, a jornada rumo a uma infraestrutura totalmente pronta para agentes ainda está em andamento. A visão de longo prazo é criar um sistema em que humanos e agentes de IA possam trabalhar lado a lado, com segurança e eficiência, sem adicionar complexidade ou risco.

A primeira área de foco contínuo é a colaboração entre agentes. A Meta está cada vez mais vendo cenários em que agentes atuam em nome de usuários sem entrada humana direta. No futuro, esses agentes podem se comunicar e negociar entre si automaticamente. Para apoiar isso, a Meta precisa refinar como os agentes interagem, garantindo que cada troca permaneça transparente, auditável e alinhada às políticas da empresa.

Em seguida, a própria infraestrutura deve evoluir. Muitas das ferramentas, APIs e interfaces de warehouse da Meta foram originalmente construídas para uso humano. Para habilitar totalmente fluxos de trabalho de máquina para máquina, esses sistemas precisam ser reengenheirados para acomodar raciocínio automatizado, compreensão contextual e delegação segura entre agentes.

Finalmente, a Meta está investindo pesadamente em benchmarking e avaliação. Para que os agentes operem com segurança, a empresa deve medir continuamente desempenho, precisão e conformidade. Isso envolve definir métricas claras e realizar avaliações regulares para detectar erros ou regressões. O loop de feedback criado pela revisão humana e avaliação automatizada garante que o sistema aprenda e melhore ao longo do tempo.

Em resumo, o data warehouse da Meta agora integra agentes de IA que não apenas solicitam, mas também aprovam acesso de maneira controlada. A combinação de raciocínio baseado em LLM com guardrails baseados em regras garante que produtividade e segurança permaneçam equilibradas.

Referências:* Criando soluções de agentes de IA para acesso e segurança de dados em armazéns

Disclaimer: Os detalhes neste post foram derivados das informações compartilhadas online pela Equipe de Engenharia da Meta. Todo o crédito pelos detalhes técnicos vai para a Equipe de Engenharia da Meta. Os links para os artigos e fontes originais estão presentes na seção de referências ao final do post. Tentamos analisar os detalhes e fornecer nossa opinião sobre eles. Se encontrar quaisquer imprecisões ou omissões, por favor, deixe um comentário, e faremos o nosso melhor para corrigi-las.

Publicado por ByteByteGo