A IA generativa oferece muitas oportunidades no contexto de operações e desenvolvimento, mas também apresenta muitos desafios para quem busca incorporá-la a uma solução de segurança.
Um desses desafios é como obter insights por meio de LLMs (grandes modelos de linguagem) sobre conteúdo confidencial que não pode ser compartilhado com nenhum serviço de IA de terceiros, como políticas de segurança usadas para proteger aplicações e APIs contra fraudes e abusos.
Um segundo desafio dos LLMs é sua tendência a alucinar, especialmente quando solicitados a analisar ou gerar conteúdo relacionado a um assunto sobre o qual têm pouco conhecimento. Isso costuma ocorrer com linguagens específicas de domínio, como a DEX. Trata-se de uma linguagem puramente funcional, estaticamente tipada e não Turing-completa que, embora seja bem definida, não é amplamente utilizada.
O primeiro desafio, a privacidade dos dados, parece inicialmente intransponível. As empresas de segurança devem levar muito a sério a privacidade e a segurança de todos os dados dos clientes — incluindo as políticas. Portanto, embora o uso de um LLM para ajudar a extrair insights das políticas beneficie tanto as práticas operacionais quanto os clientes, é necessária uma solução capaz de obter insights a partir de dados confidenciais sem compartilhá-los com um LLM de terceiros, impossibilitando que o LLM os processe. O segundo desafio (as alucinações) é algo que todo o setor está tentando superar atualmente, sobretudo no que diz respeito a respostas sobre políticas, configurações e código.
Embora os seres humanos vejam um programa como uma sequência de caracteres, o compilador o interpreta de outra forma. Para o compilador, um programa DEX é um tipo de estrutura de dados chamada AST (Árvore Sintática Abstrata). Essa árvore é um grafo acíclico direcionado, o que significa que as políticas em questão são adequadas para serem representadas como um grafo. Assim, a solução que encontramos utiliza um banco de dados de grafos (Neo4j) e emprega um agente GPT para gerar consultas GraphQL nesse banco. Essa abordagem resolve de forma eficaz o primeiro desafio, pois podemos usar GraphQL para consultar um banco de dados de grafos que contém os dados, preservando sua privacidade perante o LLM de terceiros.
O segundo desafio — as alucinações — é mais difícil de superar, mas nossa abordagem também funciona nesse caso, utilizando diversas técnicas de IA para mitigar o risco. Além disso, GraphQL é uma linguagem de consulta amplamente utilizada e bem documentada, com a qual a maioria dos modelos GPT está familiarizada e cuja sintaxe pode ser facilmente verificada por inúmeras ferramentas. Isso reduz a probabilidade de uma alucinação e permite garantir a exatidão antes do uso.
O que são alucinações de IA?
Alucinações de IA referem-se a situações em que uma IA generativa produz resultados que não se baseiam em dados ou padrões reais, mas que são inventados ou distorcidos. Essas alucinações geralmente ocorrem devido a limitações ou vieses nos dados de treinamento da IA, ou quando ela tenta gerar resultados para situações com as quais nunca se deparou. As alucinações podem se manifestar como conteúdos ou conclusões inventados ou sem sentido, que podem não ter coerência lógica ou não corresponder aos dados de entrada. Por exemplo, uma IA geradora de texto pode produzir frases que parecem plausíveis, mas que, no fim das contas, não fazem sentido ou não têm relação com o contexto fornecido.
O que é GraphQL?
GraphQL é uma linguagem de consulta de código aberto para APIs (Interfaces de Programação de Aplicações) e um ambiente de execução no lado do servidor que executa essas consultas usando um sistema de tipos definido para os dados. Desenvolvida pela Meta (Facebook), ela foi projetada para oferecer uma alternativa mais eficiente, poderosa e flexível às APIs RESTful tradicionais. As APIs GraphQL são definidas por um esquema que especifica os tipos de dados que podem ser consultados ou alterados. Essa tipagem forte possibilita melhores ferramentas, introspecção e validação.
Nossa abordagem
Nossa abordagem para incorporar com segurança a IA generativa à área de segurança assume a forma de um agente GPT. Embora o uso de uma linguagem bem documentada ajude a reduzir o risco de alucinações, precisávamos encontrar uma maneira de restringir o espaço de saída do nosso agente a um formato que pudesse ser verificado programaticamente quanto a erros, sem enviar dados confidenciais à OpenAI. O uso do GraphQL como espaço de saída funciona bem nesse caso, pois ele é expressivo o suficiente para responder à maioria das perguntas e, ao mesmo tempo, constitui uma abstração que pode ser verificada programaticamente em relação a um esquema conhecido.
Embora tenhamos aplicado essa abordagem ao DEX, ela funcionará com qualquer conjunto de dados suficientemente interconectado e relacional, como redes sociais, topologias de redes e infraestrutura, cadeias de suprimentos e dados geoespaciais (de mapeamento).

A arquitetura PC-graph consiste em componentes que transformam DEX em uma representação em grafo. Os dados de grafo resultantes são então armazenados em um banco de dados Neo4j. A saída de um agente GPT pode ser enviada via API para um servidor GraphQL Apollo, que executa a consulta no banco de dados de grafos.
Nosso agente usa o GPT4 para responder a solicitações em linguagem natural sobre informações de políticas escritas em DEX. Para isso, o agente compreende a API do pc-graph e responde com uma consulta ou mutação apropriada, que pode então ser revisada e executada pelo usuário.
Além da API pc-graph, nosso agente também compreende as bibliotecas utilizadas e alguns conceitos da linguagem DEX. Essas informações são cuidadosamente selecionadas para serem incluídas no contexto durante a execução, a fim de proporcionar os melhores resultados.
Um dos desafios é que o agente precisa de um contexto amplo para comportar as partes relevantes do esquema, bem como o material complementar, como a documentação do neo4j-graphQL, que inclui tipos, consultas e mutações adicionais gerados pela biblioteca. Ao usar o GPT4-8k, simplesmente ficamos sem espaço para um aprendizado em contexto adequado. Um contexto de 32k produz resultados aceitáveis, mas também gera custos adicionais. Por exemplo, precisamos enviar a SDL do GraphQL (Linguagem de Definição de Esquema) à OpenAI em cada solicitação. Isso não seria um problema se pudéssemos fazer o ajuste fino dos modelos conversacionais GPT4 com nosso esquema, eliminando a necessidade de incluí-lo no contexto. No entanto, atualmente isso não é compatível com a OpenAI.
Identificamos três abordagens de IA que melhoram os resultados do GPT4:
- Cadeia de pensamento
- Cadeia de Pensamento (CoT) é um conceito de IA que simula processos de pensamento semelhantes aos humanos, permitindo que os sistemas sigam uma sequência lógica de ideias ou conceitos, de forma semelhante à maneira como os humanos conectam pensamentos em cadeia. Isso auxilia na compreensão da linguagem natural, no raciocínio e na compreensão do contexto. Essa técnica produz os melhores resultados quando aplicada ao modelo de última geração GPT-4.
- IA reflexiva
- A IA reflexiva, também conhecida como IA autoconsciente ou IA com capacidades reflexivas, refere-se a sistemas de inteligência artificial capazes de realizar introspecção e tomar decisões sobre suas próprias ações e processos. Esse nível de IA vai além do aprendizado de máquina tradicional e das capacidades básicas de tomada de decisão, pois envolve um grau mais elevado de autoconsciência e autoavaliação. Reflexion, uma estrutura para agentes de linguagem com aprendizado por reforço verbal, “reflete verbalmente sobre os sinais de feedback das tarefas e, em seguida, mantém seu próprio texto reflexivo em um buffer de memória episódica para promover uma melhor tomada de decisão nas tentativas subsequentes.”
- Dialogando consigo mesma
- Os agentes de resolução por meio de diálogo (DERA) foram apresentados como um método para melhorar iterativamente os resultados dos LLMs por meio da comunicação de feedback. A técnica utiliza dois agentes: um pesquisador para processar as informações e um decisor para tomar as decisões finais. A interação é estruturada como um diálogo entre os agentes e confere ao decisor autonomia para avaliar o resultado final.
Como última etapa, usamos ferramentas que realizam a verificação estática de erros de sintaxe em consultas GraphQL para detectar possíveis alucinações que tenham escapado das medidas iniciais de mitigação.

Esse design é aprimorado ainda mais ao gerar inicialmente três respostas possíveis no mesmo prompt. Isso não apenas reduz o tempo e o custo de um determinado prompt, como também melhora a consistência, pois aumenta a probabilidade de que os aspectos corretos de uma resposta apareçam. Dessa forma, também há espaço para variações aleatórias, a fim de explorar opções improváveis, mas precisas.
Como resultado da nossa abordagem, conseguimos extrair insights das políticas sem compartilhar dados privados. A qualidade e a consistência dos resultados das nossas consultas também melhoraram significativamente, com uma redução considerável nas alucinações, especialmente em tarefas que envolvem a criação de consultas extensas ou complexas, com vários filtros e/ou funções de agregação.
De certa forma, conseguimos unir o melhor dos dois mundos: quando precisamos escolher entre um agente criativo e um determinístico, simplesmente usamos ambos.
Sobre o autor
Publicações relacionadas no blog
O estado da maturidade digital empresarial: a transformação digital ainda não terminou
Explore como a IA impacta as empresas, as aplicações da IA generativa, as estratégias para modernizar as operações de TI e os benefícios da maturidade digital com a F5.
Como a IA generativa acelera a transformação digital
Veja como a IA generativa impulsiona a transformação digital nas empresas, acelerando tendências como a integração de APIs, os desafios dos modelos operacionais de TI híbrida e a adoção de AIOps.
Seis capacidades técnicas para acelerar a transformação digital
As arquiteturas empresariais atuais carecem dos fatores necessários de agilidade, escalabilidade, segurança e observabilidade, essenciais para impulsionar a mudança tecnológica. No entanto, estas seis capacidades fundamentais ajudarão as empresas a gerenciar riscos e desafios ao longo de sua transformação digital.
Inverter a API é a transformação digital de que as empresas precisam para participar e competir em uma economia de APIs
As organizações detêm um valor latente — na forma de APIs internas — que precisam explorar para competir em uma economia de APIs. Embora os desafios técnicos e de segurança possam desestimular algumas delas, as empresas precisam reconhecer que inverter suas APIs permitirá liberar o valor da organização como plataforma.
A modernização da TI começa pela infraestrutura
O hardware e o software evoluíram rapidamente desde os primórdios da internet, mas, para aproveitar ao máximo os benefícios resultantes dessa evolução, as organizações precisam avaliar e modernizar sua infraestrutura e a entrega de aplicativos. Acelere os esforços de modernização com a nova F5 rSeries.