Da Fila ao Cérebro: Como Integrei Apache Kafka e Agentes de IA para Validar Operações Financeiras
No meu último artigo, compartilhei como superei os desafios de ambiente, Docker e encoding para colocar de pé uma API de operações financeiras. Mas como todo bom projeto de tecnologia, o MVP era apenas o começo. O desafio agora era maior: Como validar essas operações em tempo real, sem travar o sistema principal e usando Inteligência Artificial?
Neste artigo, conto como foi a jornada para implementar uma arquitetura orientada a eventos utilizando Apache Kafka, LangChain e um Agente de IA para validar títulos como CRIs, CRAs e Debêntures.
O Problema: Por que não usar apenas o Django?
Imagine que a empresa comece a receber centenas de operações por segundo. Se colocarmos a IA para validar a operação diretamente na requisição do usuário, de forma síncrona, teríamos dois grandes problemas:
- Latência: A API da OpenAI leva alguns segundos para responder. O usuário ficaria esperando a tela carregar.
- Resiliência: Se a API da OpenAI ficasse fora do ar por 5 segundos, a nossa aplicação inteira falharia.
A Solução: Arquitetura Orientada a Eventos
Para resolver isso, desacoplei o sistema. O Django apenas recebe o dado, salva no banco com o status PENDING (Pendente) e joga a operação em uma fila. Quem faz o trabalho pesado de validação é um Worker Python isolado, que consome essa fila em segundo plano.
Parte 1: Orquestrando a Mensageria com Apache Kafka
O primeiro passo foi adicionar o Apache Kafka ao nosso docker-compose.yml. O Kafka funciona como uma esteira de produção extremamente rápida e confiável.
O Produtor (Django)
Toda vez que uma nova operação financeira é criada via POST, o Django dispara um evento para o tópico financial-operations. Usando a biblioteca confluent-kafka, o código ficou simples e direto:
Parte 2: O Cérebro da Operação (O Agente de IA com LangChain)
Com as mensagens caindo na esteira do Kafka, criei o agent_worker.py, um script Python independente, que fica escutando a fila continuamente. Para fazer a validação, utilizei o LangChain integrado com o modelo gpt-4o-mini da OpenAI. O segredo aqui foi criar um prompt muito bem estruturado com regras de negócio claras do mercado de capitais:
- O código do ativo deve começar com CRI, CRA ou DEB.
- O emissor não pode estar em branco.
- O valor da operação deve ser coerente (acima de R$ 100.000).
Além disso, forcei a IA a me responder estritamente em formato JSON:

Essa padronização é fundamental para que o nosso sistema consiga interpretar a resposta da IA de forma programática, sem que ela invente textos adicionais.
A Vida Como Ela É: Lições Aprendidas no Caminho
Como nem tudo são flores no desenvolvimento de software, aqui estão os aprendizados dessa segunda fase:
Gerenciamento de Custos e Privacidade: Durante os testes, ativei o compartilhamento de dados com a OpenAI em troca de uma franquia gratuita de até 2.5 milhões de tokens por dia no modelo gpt-4o-mini. Como usei dados 100% fictícios (mockados), foi a estratégia perfeita para testar exaustivamente sem gastar um centavo. Dica de segurança: se os dados fossem reais, essa opção deveria ficar desativada por compliance e LGPD.
O "Don't Show Again" do VS Code: Um aviso chato sobre injeção de variáveis de ambiente do .env no terminal tentou me distrair, mas como usei o python-dotenv diretamente no código, pude ignorar o aviso sem quebrar a aplicação.
Resultado Final


Conclusão e Próximos Passos
Desenvolver esse projeto foi um excelente exercício de arquitetura moderna. Unir a robustez do Django, a resiliência do Kafka e a inteligência do LangChain/OpenAI mostra o poder dos microserviços na prática.
O código completo do projeto está disponível no meu GitHub.
https://github.com/viniciushoffmanndev/vert-agentic-validator
Até o próximo desafio!



