Agente de IA para Detecção de Bullying em Interações Escolares

06 de December de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que analisa interações entre alunos em plataformas digitais da escola para detectar padrões de bullying.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados e demais requisitos funcionais para o Agente de IA "Detecção de Bullying em Interações Escolares". Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.

O objetivo principal é monitorar interações digitais entre alunos em plataformas escolares para detectar padrões de bullying e notificar educadores imediatamente, garantindo a privacidade e segurança das informações dos alunos.

2. Contexto e Problema

Problemas Específicos

  • Dificuldade em Monitorar: As escolas enfrentam desafios para acompanhar e identificar práticas de bullying nas interações digitais entre alunos.
  • Falta de Notificação Imediata: Educadores muitas vezes não são informados rapidamente sobre incidentes potenciais de bullying, prejudicando a intervenção oportuna.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Identificação Rápida: Detectar incidentes de bullying com rapidez e precisão.
  • Notificação Imediata: Garantir que educadores sejam informados imediatamente sobre possíveis incidentes.
  • Privacidade e Segurança: Manter a privacidade e a segurança das informações dos alunos em todas as etapas do processo.

4. Visão Geral da Solução

O agente de IA para detecção de bullying em interações escolares analisa as comunicações digitais dos alunos, identificando padrões comportamentais que possam indicar bullying e notifica os educadores para intervenção. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue de forma eficaz e segura.

A solução consiste em um fluxo de automação composto por três agentes principais. O processo começa com a coleta de interações digitais e termina com a notificação aos educadores sobre possíveis incidentes de bullying.

Agentes Função Principal
Agente de Execução de Coleta de Interações Digitais (RF 1) Realizar chamadas às APIs das plataformas escolares para recuperar interações digitais entre alunos.
Agente de Análise e Classificação de Bullying (RF 2) Analisar as interações coletadas e classificar possíveis incidentes de bullying.
Agente de Execução de Notificação a Educadores (RF 3) Enviar notificações imediatas aos educadores sobre incidentes detectados.

5. Protótipos

Para proporcionar uma visão clara da solução proposta, desenvolvemos protótipos que demonstram o fluxo de trabalho dos agentes e o resultado final que os educadores receberão. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Execução de Coleta de Interações Digitais

1.1 Tarefa do Agente

Realizar chamadas às APIs das plataformas escolares para recuperar interações digitais entre alunos no período e contexto definidos.

1.2 Prompt ou Instruções do Agente
 Este agente não precisa de instruções de LLM. Sua única função é executar a chamada à API com o payload recebido e retornar as interações normalizadas conforme o expected_output.
1.3 Configurações do Agente

1.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente é o ponto de partida do fluxo e deve ser acionado pelo envio de um payload pronto para execução da coleta via API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados através da interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um payload estruturado contendo parâmetros de coleta.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato JSON.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo as interações digitais recuperadas, estruturadas de acordo com o modelo definido.
  • Exemplo de Estrutura de Output:
     { "interacoes": [ { "msg_id": "abc123", "timestamp": "2025-12-06T09:55:00Z", "remetente_id": "aluno_001", "destinatarios_ids": ["aluno_007"], "canal": "dm", "sala_ou_turma_id": "9A", "conteudo_texto": "...", "conteudo_tipo": "texto", "idioma": "pt-BR", "transcricao_audio": null }, ... ], "periodo": {"inicio": "...", "fim": "..."} }
  • Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 10.000 caracteres, dependendo do volume de interações.

1.3.3 Parâmetros de Geração

  • Modelo: Não se aplica.
  • Temperatura: Não se aplica.

1.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Executa chamadas a APIs das plataformas escolares.

1.3.5 Memória

1.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Análise e Classificação de Bullying (RF 2).

RF 2. Agente de Análise e Classificação de Bullying

2.1 Tarefa do Agente

Analisar o conjunto de interações digitais coletadas e classificar potenciais incidentes de bullying com severidade, repetição e confiança, produzindo um payload mínimo para notificação imediata aos educadores.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um conjunto de interações digitais coletadas entre alunos em plataformas escolares.

# 2. Objetivo
Analisar as interações para identificar e classificar potenciais incidentes de bullying, gerando um payload mínimo para notificação.

# 3. Regras que você deve seguir para gerar sua resposta
- **Unidades de Análise:** Considere cada mensagem e janelas de conversa (agrupamentos por canal, turma e proximidade < 10 minutos).
- **Indicadores Linguísticos Diretos:** Xingamentos, ofensas à aparência/competência, imperativos degradantes, uso de segunda pessoa com ataque.
- **Indicadores Contextuais:** Repetição contra o mesmo alvo, múltiplos agressores, desequilíbrio de poder.
- **Sinais de Risco Agudo:** Ameaças explícitas, incentivo à automutilação/suicídio.
- **Diferenciar Brincadeira de Bullying:** Marque como bullying quando existir pelo menos dois desses critérios: (1) Alvo expressa desconforto explícito; (2) Repetição >= 3; (3) Conteúdo degradante dirigido; (4) Desequilíbrio de poder; (5) Humilhação perante grupo.
- **Privacidade por Padrão:** Não inclua nomes completos, use ids de alunos, limite snippets a 240 caracteres.
- **Escore e Thresholds:** Calcule severidade_score 0–100 (baixa<50, média 50–69, alta ≥70). Define requires_notification = true quando severidade ≥ 70 ou qualquer risco_agudo = true.

# 4. Exemplo de Output que você deve produzir
{
  "incidente_detectado": true,
  "incidentes": [
    {
      "incident_id": "inc_2025-12-06_001",
      "data_incidente": "2025-12-06T09:55:00Z",
      "turma": "9A",
      "alvos_ids": ["aluno_007"],
      "agressores_ids": ["aluno_001"],
      "tipo": ["insulto_verbal", "discriminatorio"],
      "descricao_sintese": "Ataques repetidos com xingamentos direcionados ao aluno_007 no chat da turma.",
      "severidade_score": 78,
      "repeticao_contagem_7d": 4,
      "indicadores": ["linguagem_ofensiva_direcionada", "segunda_pessoa", "pile_on"],
      "evidencias": [
        {"msg_id": "abc123", "snippet_redigido": "...", "timestamp": "..."}
      ],
      "riscos_agudos": { "ameaca_fisica": false, "humilhacao_publica": true, "autoagressao_ideacao": false },
      "confianca": 0.81,
      "privacidade_conformidade": true
    }
  ],
  "requires_notification": true,
  "notification_payload": {
    "tipo_alerta": "possivel_bullying",
    "prioridade": "alta",
    "turma": "9A",
    "periodo_referencia": {"inicio": "...", "fim": "..."},
    "alvos_ids": ["aluno_007"],
    "agressores_ids": ["aluno_001"],
    "severidade_score": 78,
    "repeticao_contagem_7d": 4,
    "descricao_sintese": "Ataques repetidos com xingamentos direcionados ao aluno_007.",
    "evidencias_minimas": [ {"msg_id": "abc123", "snippet_redigido": "..."} ]
  }
}
2.3 Configurações do Agente

2.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 1).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo as interações digitais recuperadas.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato JSON.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo a classificação dos incidentes de bullying e o payload para notificação aos educadores.
  • Exemplo de Estrutura de Output:
     {
      "incidente_detectado": true,
      "incidentes": [
        {
          "incident_id": "inc_2025-12-06_001",
          "data_incidente": "2025-12-06T09:55:00Z",
          "turma": "9A",
          "alvos_ids": ["aluno_007"],
          "agressores_ids": ["aluno_001"],
          "tipo": ["insulto_verbal", "discriminatorio"],
          "descricao_sintese": "Ataques repetidos com xingamentos direcionados ao aluno_007 no chat da turma.",
          "severidade_score": 78,
          "repeticao_contagem_7d": 4,
          "indicadores": ["linguagem_ofensiva_direcionada", "segunda_pessoa", "pile_on"],
          "evidencias": [
            {"msg_id": "abc123", "snippet_redigido": "...", "timestamp": "..."}
          ],
          "riscos_agudos": { "ameaca_fisica": false, "humilhacao_publica": true, "autoagressao_ideacao": false },
          "confianca": 0.81,
          "privacidade_conformidade": true
        }
      ],
      "requires_notification": true,
      "notification_payload": {
        "tipo_alerta": "possivel_bullying",
        "prioridade": "alta",
        "turma": "9A",
        "periodo_referencia": {"inicio": "...", "fim": "..."},
        "alvos_ids": ["aluno_007"],
        "agressores_ids": ["aluno_001"],
        "severidade_score": 78,
        "repeticao_contagem_7d": 4,
        "descricao_sintese": "Ataques repetidos com xingamentos direcionados ao aluno_007.",
        "evidencias_minimas": [ {"msg_id": "abc123", "snippet_redigido": "..."} ]
      }
    }
  • Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 5.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para calcular indicadores e escores.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

2.3.5 Memória

2.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Execução de Notificação a Educadores (RF 3).

RF 3. Agente de Execução de Notificação a Educadores

3.1 Tarefa do Agente

Enviar notificação imediata e mínima necessária aos educadores responsáveis quando houver suspeita de bullying conforme payload preparado.

3.2 Prompt ou Instruções do Agente
 Este agente não precisa de instruções de LLM. Sua única função é executar o envio da notificação via API de comunicação escolar com o payload recebido e retornar o status da entrega.
3.3 Configurações do Agente

3.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 2).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo o payload de notificação preparado.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato JSON.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 3.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o status da entrega da notificação.
  • Exemplo de Estrutura de Output:
     { "status": { "delivered": true, "notification_id": "notif_123", "timestamp": "2025-12-06T10:21:00Z", "error": null } }
  • Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 500 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: Não se aplica.
  • Temperatura: Não se aplica.

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Executa envio de notificações via API de comunicação escolar.

3.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções não são visíveis para agentes subsequentes.
  • Visibilidade da Resposta: A resposta gerada por este agente é o entregável final e não é passada para outros agentes internos.

3.3.6 Regras de Orquestração e Transição

A execução deste agente finaliza o fluxo. O status da notificação é o resultado que deve ser disponibilizado aos gestores escolares.

© 2025 prototipe.ai. Todos os direitos reservados.