Skip to content

Sub-Issue #176.1: Implementar Guardrails de Segurança para Sumarização #187

Description

@ODenteAzul

Contexto

Issue pai: #176 - Pipeline de Sumarização Abstrativa para Produção

Esta sub-issue implementa proteção contra conteúdo ofensivo/inseguro nos resumos gerados por LLM, ANTES de migrar o modelo de Haiku para Nova Pro/Lite.


Objetivo

Implementar sistema de moderação de conteúdo para garantir que resumos gerados não contenham:

  • ❌ Linguagem ofensiva, racista ou discriminatória
  • ❌ Discurso de ódio
  • ❌ Violência ou ameaças
  • ❌ Conteúdo sexual explícito
  • ❌ PII (CPF, RG, telefone, email)

Criticidade: 🔴 BLOQUEANTE para produção (portal governamental)


Solução: Regex + LLM (Híbrido)

Arquitetura

Summary gerado → Regex Check (< 1ms)
                   ↓
              🟢 95% CLEAN → PostgreSQL
              🟡 5% SUSPEITO → Haiku verifica (~200ms)
                   ↓
              ✅ SAFE → PostgreSQL
              ❌ UNSAFE → summary = NULL + flag

Por que NÃO usar AWS Bedrock Guardrails?

  • 🚨 Custo: +$11.25/mês adicional
  • 🚨 ROI negativo (notícias gov.br são fontes confiáveis)
  • ✅ Nossa solução: $0/mês (regex) ou +$0.10-2/mês (se adicionar Haiku)

Tarefas

1. Migration PostgreSQL (30 min)

2. Implementar Regex Check (2 horas)

3. Implementar Haiku Verificação (2 horas)

4. Pipeline Completo (1 hora)

5. Atualizar Handler (1 hora)

6. Testes Unitários (3 horas)

7. Deploy + Validação (1 semana)

Ver detalhes completos em: docs/ISSUE_176_PLANO_COMPLETO_FINAL.md


Entregáveis

  • Migration: 013_add_summary_moderation.sql
  • Código: check_summary_safety() em llm_client.py
  • Código: Handler atualizado
  • Testes: test_content_safety.py (100% pass)
  • Dashboard: View news_moderation_log (BigQuery)
  • Documentação: Atualizar CLAUDE.md

Métricas de Sucesso

  • ✅ Taxa de bloqueio: < 1%
  • ✅ 100% PII protegido (CPF, telefone)
  • ✅ Latência adicional: < 10ms (regex) ou < 250ms (com Haiku)
  • ✅ Custo adicional: <= $2/mês
  • ✅ 0 falsos negativos (conteúdo ofensivo aprovado)

Timeline

Estimativa: 5 dias úteis (1 semana)
Validação: +7 dias (observação)
Total: 2 semanas

Dependências:


Prioridade: 🔴 Alta
Tipo: enhancement
Custo: ~$0-2/mês

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions