Agente de IA para Notificações Escolares

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

Como criar um agente de IA que envie notificações automáticas para pais e alunos sobre eventos, prazos de matrícula, feriados.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos, consulta a documentos e demais requisitos funcionais para o Fluxo de Agentes "Notificações Escolares", uma solução de automação projetada para enviar notificações automáticas para pais e alunos sobre eventos, prazos de matrícula, feriados e outras informações importantes. 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 é manter pais e alunos informados de maneira consistente e oportuna, utilizando notificações automáticas personalizadas com base em um calendário escolar atualizado.

2. Contexto e Problema

Cenário Atual

As instituições de ensino enfrentam desafios significativos em manter uma comunicação efetiva com pais e alunos. Problemas comuns incluem:

  • Falta de comunicação efetiva sobre eventos escolares, prazos e feriados.
  • Necessidade de manter pais e alunos informados de maneira consistente e oportuna.

A ausência de um sistema automatizado de notificações resulta em atrasos nas comunicações, informações perdidas e falta de engajamento dos pais e alunos com as atividades escolares.


Problemas Identificados

  • Falta de consistência: A comunicação manual pode ser inconsistente, levando a informações desencontradas.
  • Atrasos na comunicação: Informações importantes nem sempre chegam a tempo aos destinatários.
  • Falta de personalização: Mensagens genéricas não atendem às necessidades específicas dos alunos e pais.
  • Integração ineficaz: Sistemas de comunicação existentes não são utilizados de forma otimizada.

3. Impactos Esperados

A implementação deste fluxo de automação visa alcançar os seguintes resultados:

  • Melhorar a comunicação entre a escola e as famílias, garantindo que informações importantes sejam entregues de forma oportuna.
  • Aumentar o engajamento dos pais e alunos nas atividades escolares.
  • Reduzir o tempo necessário para a equipe escolar enviar notificações.
  • Personalizar as mensagens para atender às necessidades individuais dos usuários.

4. Visão Geral da Solução

O agente de IA para notificações escolares automatiza a comunicação com pais e alunos, enviando notificações personalizadas sobre eventos, prazos de matrícula e feriados, utilizando um calendário escolar atualizado. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue como um assistente eficiente e autônomo na comunicação escolar.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a consulta ao documento de calendário escolar e termina com o envio das mensagens renderizadas para os usuários finais.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo. O fluxo inclui etapas condicionais que são executadas apenas se critérios específicos forem atendidos, conforme detalhado após a tabela.

Agentes Função Principal
Agente de Execução de Consulta a Documento (RF 1) Realizar consulta ao documento 'calendário_escolar_atualizado' para obter eventos, prazos e feriados relevantes.
Agente de Preparação e Planejamento de Notificações (RF 2) Selecionar eventos para cada usuário, definir momento de envio, canal e construir payload padronizado de notificação.
Agente de Renderização de Mensagens Multicanal (RF 3) Transformar template e variáveis em mensagens finais por canal, aplicando limites de tamanho e formato conforme o canal.
Agente de Execução de Chamada à API (RF 4) Realizar chamada à API do Sistema de Comunicação Escolar para agendar e/ou enviar as mensagens já renderizadas.

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 os usuários 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 Consulta a Documento

1.1 Tarefa do Agente

Realizar consulta ao documento 'calendário_escolar_atualizado' para obter eventos, prazos e feriados relevantes em um intervalo de datas e para públicos específicos.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma solicitação para consultar o documento 'calendário_escolar_atualizado'. Use os parâmetros fornecidos para retornar eventos, prazos e feriados relevantes.

# 2. Objetivo
Executar a consulta ao documento de calendário escolar atualizado e retornar os dados normalizados.

# 3. Regras que você deve seguir para gerar sua resposta
- Execute a consulta apenas com os parâmetros recebidos.
- Retorne os dados em formato JSON, sem interpretação adicional.
- Inclua apenas eventos, prazos e feriados que coincidam com os filtros recebidos.

# 4. Exemplo de Output que você deve produzir
[
  {
    "id_evento": "evt_123",
    "titulo": "Reunião de Pais",
    "tipo": "evento",
    "data_inicio": "2025-12-20T18:00:00-03:00",
    "data_fim": "2025-12-20T19:00:00-03:00",
    "publico_alvo": ["pais"],
    "series": ["6º ano"],
    "local": "Auditório",
    "observacoes": "Trazer documento de identidade"
  }
] 
1.3 Configurações do Agente

1.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente ao receber uma solicitação de consulta ao documento 'calendário_escolar_atualizado'.
  • Tipo do input: Os parâmetros de entrada devem ser um objeto JSON contendo escola_id, intervalo_datas e filtros.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (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 uma lista de objetos JSON contendo eventos, prazos e feriados que atendem aos critérios de busca.
  • Exemplo de Estrutura de Output:
    [
      {
        "id_evento": "evt_123",
        "titulo": "Reunião de Pais",
        "tipo": "evento",
        "data_inicio": "2025-12-20T18:00:00-03:00",
        "data_fim": "2025-12-20T19:00:00-03:00",
        "publico_alvo": ["pais"],
        "series": ["6º ano"],
        "local": "Auditório",
        "observacoes": "Trazer documento de identidade"
      }
    ]
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.000 caracteres.

1.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

1.3.4 Ferramentas do Agente

  • Documentos: Consulta o documento 'calendário_escolar_atualizado'.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

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 Preparação e Planejamento de Notificações (RF 2).

RF 2. Agente de Preparação e Planejamento de Notificações

2.1 Tarefa do Agente

Selecionar eventos pertinentes para cada usuário, definir momento de envio, canal prioritário e construir payload padronizado de notificação com variáveis e políticas aplicadas.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista de eventos, prazos e feriados relevantes e um conjunto de usuários com suas preferências de notificação.

# 2. Objetivo
Planejar o envio de notificações personalizadas, selecionando o momento e o canal apropriado para cada usuário.

# 3. Regras que você deve seguir para gerar sua resposta
- Vincule cada evento ao usuário se houver interseção entre público_alvo/series do evento e perfil/series do usuário.
- Calcule a janela de disparo para cada evento e prazo, respeitando as preferências de horário de silêncio dos usuários.
- Selecione os canais de envio com base nos consentimentos do usuário e preferências de canal.
- Garante que notificações não sejam enviadas fora do horário apropriado.

# 4. Exemplo de Output que você deve produzir
[
  {
    "notification_id": "ntf_abc123",
    "user_id": "usr_1",
    "event_id": "evt_123",
    "channel_plan": ["app","whatsapp","email"],
    "schedule_time_utc": "2025-12-17T21:00:00Z",
    "message_template_id": "tmpl_evento_padrao",
    "vars": {
      "NOME": "Cheila",
      "TITULO_EVENTO": "Reunião de Pais",
      "DATA_LOCAL": "20/12 18:00 – Auditório"
    },
    "priority": "normal",
    "dedupe_key": "usr_1|evt_123|principal",
    "consent_checked": true,
    "quiet_hours_respected": true,
    "urgency": "informativa",
    "fallback_plan": ["email"],
    "metadata": {
      "idioma": "pt-BR",
      "series_alvo": ["6º ano"]
    }
  }
]
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 uma lista de eventos e um conjunto de dados de usuários.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input combinado de até 10.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser uma lista de objetos JSON detalhando as notificações planejadas para envio, incluindo canais, horários e variáveis personalizadas.
  • Exemplo de Estrutura de Output:
    [
      {
        "notification_id": "ntf_abc123",
        "user_id": "usr_1",
        "event_id": "evt_123",
        "channel_plan": ["app","whatsapp","email"],
        "schedule_time_utc": "2025-12-17T21:00:00Z",
        "message_template_id": "tmpl_evento_padrao",
        "vars": {
          "NOME": "Cheila",
          "TITULO_EVENTO": "Reunião de Pais",
          "DATA_LOCAL": "20/12 18:00 – Auditório"
        },
        "priority": "normal",
        "dedupe_key": "usr_1|evt_123|principal",
        "consent_checked": true,
        "quiet_hours_respected": true,
        "urgency": "informativa",
        "fallback_plan": ["email"],
        "metadata": {
          "idioma": "pt-BR",
          "series_alvo": ["6º ano"]
        }
      }
    ]
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.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.
  • Calculadora: Utiliza lógica interna para calcular horários de envio e respeitar horários de silêncio.
  • 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 Renderização de Mensagens Multicanal (RF 3).

RF 3. Agente de Renderização de Mensagens Multicanal

3.1 Tarefa do Agente

Transformar template e variáveis em mensagens finais por canal, aplicando limites de tamanho, links, assunto e corpo conforme o canal.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo notificações planejadas com templates e variáveis a serem renderizadas em mensagens finais para múltiplos canais.

# 2. Objetivo
Renderizar mensagens finais por canal, garantindo que estejam dentro dos limites de tamanho e formato apropriados.

# 3. Regras que você deve seguir para gerar sua resposta
- Para SMS, priorize RESUMO_SMS quando existir; caso contrário, gere versão resumida <=160 caracteres.
- Para push (app), gere title <=48 caracteres e body <=180, evitando quebra de palavras.
- Para WhatsApp/SMS, evite URLs longas; se LINK_DETALHES existir, preferir versão curta, caso contrário, omitir.
- Para email, gere subject objetivo e html simples com parágrafos.
- Preserve acentuação e emojis apenas quando apropriado ao canal.
- Se var obrigatória do template faltar, marque canal como "invalido_por_variavel_ausente".

# 4. Exemplo de Output que você deve produzir
[
  {
    "notification_id": "ntf_abc123",
    "rendered_messages": {
      "app": {
        "title": "Reunião de Pais",
        "body": "Olá Cheila, Reunião de Pais em 20/12 18:00 – Auditório."
      },
      "whatsapp": {
        "body": "Olá Cheila! Reunião de Pais em 20/12 18:00 – Auditório."
      },
      "sms": {
        "body": "Reunião de Pais 20/12 18:00 – Auditório."
      },
      "email": {
        "subject": "Reunião de Pais – 20/12 18:00",
        "html": "

Olá Cheila,

Reunião de Pais em 20/12 18:00 – Auditório.

" } } } ]
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 notificações planejadas com templates e variáveis.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input combinado de até 8.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser uma lista de objetos JSON contendo as mensagens renderizadas por canal para cada notificação.
  • Exemplo de Estrutura de Output:
    [
      {
        "notification_id": "ntf_abc123",
        "rendered_messages": {
          "app": {
            "title": "Reunião de Pais",
            "body": "Olá Cheila, Reunião de Pais em 20/12 18:00 – Auditório."
          },
          "whatsapp": {
            "body": "Olá Cheila! Reunião de Pais em 20/12 18:00 – Auditório."
          },
          "sms": {
            "body": "Reunião de Pais 20/12 18:00 – Auditório."
          },
          "email": {
            "subject": "Reunião de Pais – 20/12 18:00",
            "html": "

    Olá Cheila,

    Reunião de Pais em 20/12 18:00 – Auditório.

    " } } } ]
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 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.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

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 Execução de Chamada à API (RF 4).

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

Ao concluir sua execução, esse agente aciona o Agente de Execução de Chamada à API (RF 4).

RF 4. Agente de Execução de Chamada à API

4.1 Tarefa do Agente

Realizar chamada à API do Sistema de Comunicação Escolar para agendar e/ou enviar as mensagens já renderizadas por canal.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo mensagens renderizadas que devem ser enviadas aos usuários finais através dos canais apropriados.

# 2. Objetivo
Realizar as chamadas à API do Sistema de Comunicação Escolar para agendar e/ou enviar as mensagens.

# 3. Regras que você deve seguir para gerar sua resposta
- Execute as chamadas à API com o payload recebido.
- Retorne os recibos de agendamento/entrega como output.
- Em caso de falha, registre o erro para análise manual.

# 4. Exemplo de Output que você deve produzir
[
  {
    "notification_id": "ntf_abc123",
    "envios": [
      {
        "canal": "app",
        "status": "agendado",
        "id_externo": "sch_001"
      },
      {
        "canal": "whatsapp",
        "status": "agendado",
        "id_externo": "sch_002"
      }
    ],
    "falhas": [],
    "timestamp": "2025-12-15T16:38:00Z"
  }
]
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 do agente anterior (RF 3).
  • Tipo do input: Este agente deve ser apto a receber mensagens renderizadas prontas para envio.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser uma lista de objetos JSON contendo os recibos de agendamento/entrega para cada notificação enviada.
  • Exemplo de Estrutura de Output:
    [
      {
        "notification_id": "ntf_abc123",
        "envios": [
          {
            "canal": "app",
            "status": "agendado",
            "id_externo": "sch_001"
          },
          {
            "canal": "whatsapp",
            "status": "agendado",
            "id_externo": "sch_002"
          }
        ],
        "falhas": [],
        "timestamp": "2025-12-15T16:38:00Z"
      }
    ]
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.500 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: Não se aplica (uso de ferramenta)

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá enviar as mensagens renderizadas para a API externa do Sistema de Comunicação Escolar e retornar os recibos recebidos como resposta.

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 (recibos de agendamento/entrega) é o entregável final e não é passada para outros agentes internos.

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

A execução deste agente finaliza o fluxo. Os recibos gerados são o resultado que deve ser registrado e analisado conforme necessário.

© 2025 prototipe.ai. Todos os direitos reservados.