Data

20 mai, 2026

Perceptron (P), na prática: filtro neural de mensagens para agentes IA

Publicidade

Construir nossas aplicações agênticas é realmente incrível, mas como bons engenheiros de IA, sabemos que cada token executado custa dinheiro. E quando começamos a escalar agentes, esse custo pode sair do controle muito rapidamente.

Pensando nisso, resolvi criar este post para te mostrar como filtrar mensagens a partir de uma rede Perceptron, garantindo que apenas o que realmente importa seja processado pelo modelo.

Com um bom mecanismo de filtragem, conseguimos:

  • Reduzir custos com tokens.
  • Evitar chamadas desnecessárias ao LLM.
  • Melhorar o desempenho do seu sistema de IA.

Neste conteúdo, vamos explorar como aplicar filtros de mensagens, na prática, garantindo que somente mensagens aprovadas pelo seu critério cheguem ao seu modelo, mantendo eficiência, controle e economia.

Imagem com representação de uma rede neural.

O que é a rede Perceptron (P)

A rede do tipo Perceptron é uma das arquiteturas mais simples e fundamentais da história das redes neurais, representando um marco inicial no desenvolvimento da Inteligência Artificial. Proposta por Frank Rosenblatt em 1957, essa rede foi inspirada no funcionamento de um neurônio biológico, buscando simular como sinais de entrada são processados para gerar uma decisão.

Press enter or click to view image in full size

https://pt.wikipedia.org/wiki/Frank_Rosenblatt

Em sua forma mais simples, o Perceptron pode ser entendido como um classificador linear, capaz de separar duas classes a partir de uma combinação linear das entradas. De maneira informal, pode até ser comparado a uma estrutura de if/else, mas com pesos ajustáveis aprendidos a partir dos dados. A rede recebe um vetor de entradas, multiplica cada valor pelo seu peso correspondente, soma os resultados e, em seguida, aplica uma função de ativação para produzir a saída final.

Press enter or click to view image in full size

https://datascientest.com/en/perceptron-definition-and-use-cases

Apesar de sua simplicidade, o Perceptron é surpreendentemente poderoso para resolver problemas linearmente separáveis. Ele estabeleceu as bases conceituais para arquiteturas mais avançadas, como as redes neurais multicamadas e os algoritmos de backpropagation. Compreender o Perceptron é essencial para entender como modelos aprendem padrões a partir de dados e como essas ideias evoluíram ao longo do tempo.

No nosso caso prático, utilizaremos uma lista de palavras como vetor de entrada para determinar uma condição de execução — ou seja, decidir se uma ação deve ou não ser realizada. Essa abordagem pode facilmente evoluir para um roteiro automatizado no futuro, onde as entradas seriam geradas dinamicamente a partir dos dados enviados ao agente. Para este exemplo, porém, trabalharemos com uma lista estática para facilitar o entendimento.

Criando nosso filtro com Perceptron (P)

Agora que já entendemos os conceitos básicos, vamos criar nosso filtro utilizando o Perceptron.

O primeiro passo é importar as bibliotecas que serão utilizadas ao longo do projeto. Todo o desenvolvimento será feito no Google Colab, facilitando a execução e a reprodução dos experimentos.

import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer

Agora, vamos criar a lista de palavras que será utilizada como base para o treinamento do modelo. Em seguida, iremos definir o eixo y do treinamento, atribuindo a cada vetor de entrada um rótulo que indica se aquela pergunta pode ou não ser processada pelo modelo.

Esses rótulos serão valores binários:

  • 1 → pergunta permitida (o modelo pode executar)
  • 0 → pergunta não permitida

Para este exemplo, consideraremos apenas duas perguntas permitidas:

  • “Qual meu saldo?”
  • “Qual o valor da fatura?”

Essas perguntas serão representadas como vetores de entrada (x) e associadas ao valor 1 no eixo y, enquanto quaisquer outras variações ou perguntas fora desse escopo poderão ser rotuladas como 0.

texts_train = [
    "oi",
    "olá",
    "bom dia",
    "qual meu saldo?",
    "qual o valor da fatura?",
    "explique backpropagation",
    "compare gpt e claude",
    "como implementar um perceptron",
    "asdfasdf",
    "ajuda",
    "implemente um algoritmo de gradiente descendente",
]

y = np.array([
    0,
    0,
    0,
    1,
    1,
    0,
    0,
    0,
    0,
    0,
    0
])