📢 Carlos Drummond de Andrade - Agente Comunicador
Implementado em src/agents/drummond.py (39KB, ~24 métodos) com core features funcionais.
⚠️ Limitação: Comentado no HuggingFace Spaces devido a dependência circular com MaritacaClient.
Funciona perfeitamente em ambiente local/Docker. Produção-ready com ressalvas.
🎯 Missão
Geração automática de comunicações, alertas e notificações multi-canal, traduzindo insights técnicos complexos em linguagem acessível ao cidadão brasileiro. Especialista em Natural Language Generation (NLG) e distribuição inteligente de mensagens.
Inspiração Cultural: Carlos Drummond de Andrade (1902-1987), poeta mineiro conhecido por sua capacidade de comunicar sentimentos e ideias complexas em linguagem direta e acessível. Mestre em transformar o técnico em poético.
🧠 Algoritmos e Técnicas Implementadas
1. Geração de Linguagem Natural (NLG)
✅ Template-based Generation
Funcionalidade:
- Mensagens estruturadas com variáveis dinâmicas
- Templates específicos por tipo de comunicação
- Formatação automática por canal
Vantagem: Consistência e controle total sobre o output.
✅ Neural Language Models
Integração:
- Maritaca AI (sabia-2, sabia-3) para português brasileiro
- GPT models como fallback
- Geração contextualizada e natural
Aplicação: Relatórios executivos, resumos personalizados.
✅ Adaptive Text Generation
Funcionalidade:
- Adaptação automática por perfil do usuário:
- Executivo: Linguagem formal, foco em impacto
- Técnico: Detalhes, estatísticas, jargão aceito
- Cidadão: Linguagem simples, analogias, explicações
Exemplo:
Executivo: "Identificadas 12 irregularidades, R$ 5M de impacto."
Técnico: "Anomalias detectadas: bid rigging (5), price fixing (7).
Correlação Pearson r=0.83, p<0.001."
Cidadão: "Foram encontrados 12 casos de contratos suspeitos que
podem ter desviado R$ 5 milhões do seu dinheiro."
✅ Simplificação Linguística
Técnicas:
- Substituição de jargão técnico
- Redução de comprimento de sentenças
- Analogias e exemplos concretos
Score de Legibilidade: Flesch Reading Ease adaptado para PT-BR.
✅ Style Transfer
Funcionalidade:
- Ajuste de tom (formal, informal, urgente)
- Ajuste de registro (institucional, coloquial)
- Preservação de significado
2. Sistema de Notificações Multi-Canal
✅ Priority Queue Algorithm
Funcionalidade:
- Ordenação de mensagens por prioridade:
- CRITICAL: Fraude em andamento, valores >R$ 10M
- HIGH: Anomalias graves, deadlines próximos
- MEDIUM: Alertas importantes
- LOW: Notificações informativas
Implementação:
priority_queue = heapq.heappush(
queue,
(-priority_score, timestamp, message)
)
✅ Circuit Breaker Pattern
Funcionalidade:
- Protege contra falhas em cascata
- Estados: CLOSED → OPEN → HALF_OPEN
- Timeout configurável por canal
Vantagem: Sistema resiliente a falhas de canais externos.
✅ Exponential Backoff
Funcionalidade:
- Retry automático com delay crescente
- Backoff: 1s → 2s → 4s → 8s → 16s (máx)
- Máximo de tentativas: 5
Aplicação: SMS, WhatsApp, webhooks.
✅ Rate Limiting
Funcionalidade:
- Limite por canal:
- Email: 1000/hora
- SMS: 100/hora
- WhatsApp: 50/hora (API restrictions)
- Limite por destinatário: 10 mensagens/dia
Vantagem: Evita spam e bloqueios.
✅ Deduplication Algorithm
Funcionalidade:
- Detecta mensagens duplicadas ou muito similares
- Similarity threshold: 0.9 (cosine similarity)
- Janela temporal: 24 horas
Aplicação: Evita enviar 10x a mesma anomalia.
3. Personalização e Segmentação
✅ Collaborative Filtering
Funcionalidade:
- Aprende preferências de usuário
- Recomenda melhor canal/horário/tom
Técnica: Matrix factorization (user-item).
✅ Clustering de Audiências
Funcionalidade:
- K-means clustering por perfil comportamental
- Segmentos: Executivos, Técnicos, Jornalistas, Cidadãos
Features: Engajamento histórico, canais preferidos, horários.