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