Agente de IA para Relatórios de Incidentes em Escolas

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

Como criar um agente de IA que coleta e analisa dados de incidentes escolares, identificando padrões.

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 para Relatórios de Incidentes em Escolas. 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 é coletar e analisar dados de incidentes ocorridos durante as atividades escolares, identificando padrões e propondo medidas preventivas para melhorar a segurança e o ambiente escolar.

2. Contexto e Problema

Cenário Atual

As escolas enfrentam problemas significativos relacionados à subnotificação e à falta de análise de incidentes escolares. A incapacidade de identificar padrões impede a implementação de medidas preventivas eficazes, resultando em um ambiente menos seguro para alunos e funcionários.


Problemas Identificados

  • Subnotificação: Muitos incidentes não são relatados ou registrados de forma consistente, dificultando a análise abrangente.
  • Falta de Análise: A ausência de uma análise sistemática impede a identificação de padrões e causas comuns de incidentes.
  • Prevenção Ineficaz: Sem dados concretos, as escolas têm dificuldade em implementar medidas preventivas eficazes.

3. Impactos Esperados

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

  • Aumentar a taxa de notificação de incidentes escolares em pelo menos 50%.
  • Identificar padrões e causas comuns de incidentes para informar estratégias preventivas.
  • Propor ações preventivas baseadas em dados que possam ser implementadas de maneira eficiente e eficaz.

4. Visão Geral da Solução

O Agente de IA para Relatórios de Incidentes em Escolas coleta e analisa dados de incidentes ocorridos durante as atividades escolares, identificando padrões e propondo medidas preventivas. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente funcione de maneira eficaz e autônoma.

A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a coleta de dados de incidentes e termina com a geração de um relatório executivo e técnico.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo. O fluxo inclui etapas específicas para padronização, análise de padrões e proposição de medidas preventivas.

Agentes Função Principal
Agente de Coleta de Dados de Incidentes (RF 1) Coletar dados de incidentes ocorridos durante atividades escolares de forma sistemática e contínua.
Agente de Padronização, Validação e Anonimização de Incidentes (RF 2) Transformar registros brutos em eventos padronizados, validados, anonimizados e deduplicados.
Agente de Análise de Padrões de Incidentes (RF 3) Identificar padrões, tendências e possíveis causas com base nos incidentes válidos e não duplicados.
Agente de Proposição de Medidas Preventivas (RF 4) Sugerir ações preventivas específicas, priorizadas por impacto, evidência e custo.
Agente de Geração de Relatório e KPIs (RF 5) Compilar um relatório executivo e técnico com KPIs, padrões, recomendações e plano de ação monitorável.

5. Protótipos

Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que a escola receberá. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Coleta de Dados de Incidentes

1.1 Tarefa do Agente

Coletar dados de incidentes ocorridos durante atividades escolares de forma sistemática e contínua, gerando um registro bruto estruturado imediatamente após a ocorrência.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo relatos de incidentes ocorridos durante atividades escolares. Esses dados são essenciais para criar um registro estruturado de cada incidente.

# 2. Objetivo
Coletar dados de incidentes de forma sistemática e contínua, garantindo que cada relato seja registrado com precisão e consistência.

# 3. Regras que você deve seguir para gerar sua resposta
- Gere id_coleta único e timestamp_captura em ISO 8601 UTC.
- Preserve integralmente o relato_bruto sem reescritas.
- Registre metadados_coleta.origem e autor_relato_role conforme a fonte; se ausente, defina origem:"form_web" e autor_relato_role:"docente".
- Capturar consentimento_registro; se não declarado, definir como true quando origem for funcionário/gestor; para discente/responsável, definir null.
- Copiar campos estruturados fornecidos pelo usuário em campos_informados sem normalização.
- Não solicitar dados sensíveis desnecessários (endereço, contato, diagnóstico). Se fornecidos, mantenha apenas no relato_bruto; não crie campos dedicados.
- Não inferir classificações neste agente; apenas coletar. 
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 relatos de incidentes via API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um relato livre ou formulário preenchido por professores, equipe ou alunos com descrição do incidente e contexto.
  • Formatos Suportados: Esse agente deve ser capaz de receber relatos nos formatos: .txt, .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 10.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado contendo todos os dados coletados, incluindo id_coleta, timestamp_captura, relato_bruto, metadados_coleta e campos_informados.
  • Exemplo de Estrutura de Output:
     {"id_coleta":"uuid-gerado","timestamp_captura":"2025-12-14T07:21:00Z","relato_bruto":"Texto original do relato","metadados_coleta":{"origem":"form_web|app|email|voz","autor_relato_role":"docente|discente|coordenação|funcionário|responsável","consentimento_registro":true},"campos_informados":{"data_evento":"2025-12-13","hora_evento":"09:35","local_informado":"Sala 3A","tipo_informado":"bullying","pessoas_mencionadas":["Aluno A","Aluno B"],"gravidade_informada":"média"}} 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 2.000 caracteres.

1.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

1.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 Padronização, Validação e Anonimização de Incidentes (RF 2).

RF 2. Agente de Padronização, Validação e Anonimização de Incidentes

2.1 Tarefa do Agente

Transformar registros brutos em eventos padronizados, validados, anonimizados e deduplicados, prontos para análise.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo registros brutos de incidentes escolares. Sua tarefa é padronizar, validar e anonimizar esses registros para prepará-los para análise.

# 2. Objetivo
Transformar registros brutos em eventos padronizados, validados, anonimizados e deduplicados, prontos para análise.

# 3. Regras que você deve seguir para gerar sua resposta
- Normalizar data_hora_evento combinando data_evento e hora_evento; se hora faltante, usar 12:00 local; saída em ISO 8601 com fuso local conhecido ou -03:00 por padrão.
- Mapear local_informado para local_categoria conforme vocabulário; se não mapeável, usar "outro" e manter local_detalhe com o texto original.
- Classificar tipo_incidente com base em termos do relato_bruto/campos_informados. Priorizar termos explícitos; se ambíguo, usar "outro".
- Gerar descricao_normalizada: resumo factual sem nomes, apelidos, números de matrícula, contatos ou identificadores pessoais.
- Definir gravidade_nivel (1 a 5): 1=sem dano/baixo risco; 2=conflito verbal/pequeno risco; 3=lesão leve/dano material moderado/ameaça não específica; 4=lesão moderada/ameaça específica/posse de substâncias; 5=risco grave à vida/arma/lesão grave/autolesao ativa.
- Inferir periodo a partir da hora: 07:00–07:20 entrada; 07:20–11:50 aula; 09:30–10:30 intervalo; 11:50–12:20 saída; fora desses, "atividade_externa". Ajuste conforme relato (ex.: "recreio"=>intervalo).
- Anonimização: substituir cada nome próprio mencionado por hash estável (SHA-like) derivado de nome+data_evento+escola_salt textual; saída somente pessoas_env_hash.
- Deduplicação: calcular assinatura usando (data_hora_evento arredondada a 30min, local_categoria, tipo_incidente, conjunto de hashes, trigramas da descricao_normalizada). Se semelhança textual >=0.8 e mesmos hashes, marcar duplicado_de com id_incidente do primeiro; status_validacao:"duplicado".
- Validação obrigatória: requer data_hora_evento e tipo_incidente. Se ausente, status_validacao:"incompleto" e listar erros_validacao.
- Garantir id_incidente determinístico: hash de fonte_id_coleta + data_hora_evento + tipo_incidente. 
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 bem-sucedida do agente anterior (RF 1).
  • Tipo do input: Este agente deve ser apto a receber como input os registros brutos coletados pelo agente anterior, incluindo relato_bruto, metadados_coleta e campos_informados.
  • 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 texto com até 12.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON padronizado contendo o registro do incidente anonimizados e validados, prontos para análise.
  • Exemplo de Estrutura de Output:
     {"id_incidente":"uuid-estável","fonte_id_coleta":"","data_hora_evento":"2025-12-13T09:35:00-03:00","local_categoria":"sala_de_aula|pátio|corredor|quadra|banheiro|refeitório|transporte|área_externa|online|outro","local_detalhe":"Sala 3A","tipo_incidente":"bullying|agressao_fisica|agressao_verbal|acidente|dano_patrimonial|posse_substancias|cyberbullying|discriminacao|assedio|autolesao|ameaca|outro","descricao_normalizada":"Resumo objetivo de até 400 caracteres sem PII","gravidade_nivel":1,"periodo":"aula|intervalo|entrada|saida|atividade_externa","pessoas_env_hash":["h_92af..","h_b1c3.."],"duplicado_de":null,"status_validacao":"valido|incompleto|duplicado","erros_validacao":[],"observacoes":""} 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 3.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: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

2.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Análise de Padrões de Incidentes (RF 3).

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

Ao concluir sua execução, esse agente aciona o Agente de Análise de Padrões de Incidentes (RF 3).

RF 3. Agente de Análise de Padrões de Incidentes

3.1 Tarefa do Agente

Identificar padrões, tendências e possíveis causas com base nos incidentes válidos e não duplicados.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista de incidentes escolares padronizados, validados e anonimizados. Sua tarefa é analisar esses dados para identificar padrões e tendências.

# 2. Objetivo
Identificar padrões, tendências e possíveis causas com base nos incidentes válidos e não duplicados.

# 3. Regras que você deve seguir para gerar sua resposta
- Considerar janela_analise_dias padrão de 90 dias; se menos de 30 registros, reduzir para 30 e marcar confiança baixa.
- Excluir registros com status_validacao != "valido".
- Calcular KPIs: total, media_semanal, gravidade_media ponderada, taxa_por_100_alunos quando fornecido n_alunos em metadados; se ausente, omitir campo.
- Tendência: comparar soma das últimas 4 semanas com média das 8 semanas anteriores; variação >= +15% => "alta"; <= -15% => "queda"; caso contrário "estavel".
- Identificar picos por local e período quando participação > 1.5x da participação média do conjunto.
- Padrões: registrar quando uma categoria cresce >=30% vs média de referência, ou quando gravidade_media de uma categoria/área >=3 por 3 semanas consecutivas.
- Atribuir confiança: alta quando n>=50 e sinais consistentes em 2 ou mais métricas; média quando n entre 20–49; baixa quando n<20.
- Causas_hipoteticas devem estar vinculadas a evidências observadas (ex.: supervisão, densidade de alunos, calendário de provas). Não incluir PII ou julgamento moral. 
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 bem-sucedida do agente anterior (RF 2).
  • Tipo do input: Este agente deve ser apto a receber como input uma lista de incidentes padronizados, validados e anonimizados.
  • 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 texto com até 15.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo a análise de padrões, tendências e possíveis causas dos incidentes.
  • Exemplo de Estrutura de Output:
     {"janela_analise_dias":90,"kpis":{"total":120,"taxa_por_100_alunos":8.4,"media_semanal":9.6,"gravidade_media":2.7},"tendencias":{"ultimas_4_semanas":{"direcao":"alta|estavel|queda","variacao_percentual":35}},"picos":{"por_local":[{"local_categoria":"pátio","participacao":0.32}],"por_periodo":[{"periodo":"intervalo","participacao":0.45}]},"padroes_identificados":[{"descricao":"Aumento de bullying no intervalo","criterio":"+30% vs média 8 semanas","evidencia":{"freq_atual":18,"media_ref":13},"confianca":"alta"}],"causas_hipoteticas":["Falta de supervisão no intervalo","Conflitos entre turmas"],"segmentacoes_criticas":[{"tipo_incidente":"agressao_fisica","gravidade_media":3.6}]} 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 4.000 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

3.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Proposição de Medidas Preventivas (RF 4).

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

Ao concluir sua execução, esse agente aciona o Agente de Proposição de Medidas Preventivas (RF 4).

RF 4. Agente de Proposição de Medidas Preventivas

4.1 Tarefa do Agente

Sugerir ações preventivas específicas, priorizadas por impacto, evidência e custo, alinhadas aos padrões identificados.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo padrões, picos, tendências e causas hipotéticas identificadas a partir dos incidentes escolares. Sua tarefa é propor medidas preventivas específicas com base nesses dados.

# 2. Objetivo
Sugerir ações preventivas específicas, priorizadas por impacto, evidência e custo, alinhadas aos padrões identificados.

# 3. Regras que você deve seguir para gerar sua resposta
- Para cada padrao com confiança "alta" ou "média", gerar pelo menos 1 e no máximo 3 ações específicas, mensuráveis, atribuíveis e com prazo.
- Mapear biblioteca prática: bullying=> mediação de conflitos, campanhas de convivência, supervisão direcionada; agressao_fisica=> rondas em corredores, separação de turmas em horários críticos; cyberbullying=> orientação digital, canais de denúncia; discriminacao=> formações, protocolos de resposta.
- Definir custo_relativo: baixo (recursos existentes), medio (pequena compra/horas extras), alto (estrutura/contratação).
- Calcular score_prioridade = (impacto_numerico * peso_evidencia) / custo (baixo=1, medio=2, alto=3), normalizado 0–1; se não for possível quantificar, usar heurística impacto: alto=0.8, médio=0.5, baixo=0.3; evidência: alta=1, média=0.75, baixa=0.5.
- Incluir indicador_sucesso diretamente ligado ao padrão (frequência, gravidade média, taxa por 100 alunos) e prazo de verificação de 4–8 semanas.
- Não sugerir ações punitivas sem componente educativo ou restaurativo; evitar itens que dependam de dados pessoais. 
4.3 Configurações do Agente

4.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão bem-sucedida do agente anterior (RF 3).
  • Tipo do input: Este agente deve ser apto a receber como input padrões, picos, tendências e causas hipotéticas identificadas a partir dos incidentes escolares.
  • 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 texto com até 10.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo as medidas preventivas sugeridas, priorizadas por impacto, evidência e custo.
  • Exemplo de Estrutura de Output:
     {"medidas_preventivas":[{"referencia_padrao":"Aumento de bullying no intervalo","acao":"Aumentar supervisão no pátio durante o intervalo de 09:30–10:30","responsavel_sugerido":"Coordenação disciplinar","prazo_implantacao_dias":14,"custo_relativo":"baixo|medio|alto","impacto_esperado":"reduzir incidentes de bullying em 20% em 6 semanas","indicador_sucesso":"freq_bullying_intervalo","precondicoes":["Escala de inspetores definida"],"score_prioridade":0.78}]} 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 3.500 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

4.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Geração de Relatório e KPIs (RF 5).

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

Ao concluir sua execução, esse agente aciona o Agente de Geração de Relatório e KPIs (RF 5).

RF 5. Agente de Geração de Relatório e KPIs

5.1 Tarefa do Agente

Compilar um relatório executivo e técnico com KPIs, padrões, recomendações e plano de ação monitorável.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo as saídas dos agentes de Análise de Padrões e de Proposição de Medidas Preventivas. Sua tarefa é compilar essas informações em um relatório executivo e técnico.

# 2. Objetivo
Compilar um relatório executivo e técnico com KPIs, padrões, recomendações e plano de ação monitorável.

# 3. Regras que você deve seguir para gerar sua resposta
- Gerar resumo_executivo com 3–5 frases objetivas, sem jargão técnico e sem PII.
- Consolidar KPIs do período analisado; se algum KPI indisponível, omitir o campo sem texto placeholder.
- Ordenar plano_acao por score_prioridade (desc) e sinalizar metas SMART (indicador, baseline quando disponível e meta temporal).
- Incluir anexos_dados com séries semanais (últimas 12 semanas), picos e padrões conforme obtidos, mantendo consistência de categorias.
- Garantir conformidade: pii_removida=true; não listar nomes, hashes ou detalhes que identifiquem indivíduos.
- Saída única e auto-contida em JSON pronto para persistência e apresentação. 
5.3 Configurações do Agente

5.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão bem-sucedida do agente anterior (RF 4).
  • Tipo do input: Este agente deve ser apto a receber como input as saídas dos agentes de Análise de Padrões e de Proposição de Medidas Preventivas.
  • 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 texto com até 20.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o relatório executivo e técnico completo, pronto para persistência e apresentação.
  • Exemplo de Estrutura de Output:
     {"relatorio":{"resumo_executivo":"Síntese clara de principais achados e ações prioritárias","kpis":{"periodo":"últimos 90 dias","total":120,"taxa_por_100_alunos":8.4,"tendencia":"alta","top_locais":["pátio","corredor"]},"insights_chave":["Bullying concentrado no intervalo","Gravidade média estável"],"plano_acao":[{"acao":"Aumentar supervisão no pátio","responsavel":"Coordenação","prazo":"14 dias","indicador":"freq_bullying_intervalo","score_prioridade":0.78}],"anexos_dados":{"picos":[],"padroes_identificados":[],"series_temporais":[{"semana":"2025-W46","total":10}]},"conformidade":{"pii_removida":true,"base_dados_atualizada":"2025-12-14T07:21:00Z"}}} 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 5.000 caracteres.

5.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

5.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

5.3.5 Memória

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

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

A execução deste agente finaliza o fluxo. O relatório gerado é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.