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