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 e demais requisitos funcionais para o Agente de IA para Gerenciamento de Calendário Escolar. 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 é transformar o processo de organização do calendário escolar, integrando automaticamente atividades extracurriculares e aulas de reforço, com atualizações em tempo real e notificações automáticas para alterações e novos eventos.
2. Contexto e Problema
Cenário Atual
Atualmente, a manutenção do calendário escolar é realizada manualmente, o que é propenso a erros e consome tempo significativo dos administradores. Além disso, a integração de atividades extracurriculares e aulas de reforço no calendário é um desafio constante devido à falta de uma solução centralizada e automatizada.
Problemas Identificados
- Manutenção Manual: A atualização manual do calendário é vulnerável a erros e desatualizações.
- Integração Difícil: Dificuldade em adicionar e coordenar atividades extracurriculares e aulas de reforço de maneira eficaz.
- Falta de Notificações: Ausência de um sistema de notificações automáticas para informar as partes interessadas sobre alterações ou novos eventos no calendário.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Automatizar a atualização do calendário em tempo real, reduzindo erros manuais.
- Centralizar todas as atividades escolares em um único calendário integrado.
- Implementar notificações automáticas para garantir que todos os interessados sejam informados sobre alterações e eventos futuros.
4. Visão Geral da Solução
O agente de IA para gerenciamento de calendário escolar organiza e atualiza automaticamente o calendário, integrando atividades extracurriculares e aulas de reforço. 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 útil e autônomo no gerenciamento do calendário escolar.
A solução consiste em um fluxo de automação composto por 7 agentes de IA. O processo inicia com a recuperação do calendário vigente e termina com o envio de notificações automáticas.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Chamada à API - Obter Calendário Vigente (RF 1)
| Realizar chamada à API do sistema de calendário escolar para recuperar o calendário vigente e suas configurações. |
Agente de Normalização e Validação de Eventos (RF 2)
| Padronizar eventos de entrada e validar campos críticos antes da análise de conflitos e da integração ao calendário único. |
Agente de Análise de Conflitos e Regras Acadêmicas (RF 3)
| Identificar conflitos de agenda e aplicar regras acadêmicas e operacionais antes da consolidação. |
Agente de Consolidação e Geração de Operações CRUD do Calendário (RF 4)
| Integrar eventos analisados ao calendário único e produzir operações idempotentes de criação/atualização/remoção. |
Agente de Execução de Chamada à API - Persistir Alterações no Calendário (RF 5)
| Executar chamadas à API do calendário para aplicar operações CRUD geradas. |
Agente de Preparação de Notificações (RF 6)
| Gerar notificações automáticas para públicos-alvo sobre criações, atualizações e cancelamentos. |
Agente de Execução de Chamada à API - Enviar Notificações (RF 7)
| Executar o envio das notificações nos canais configurados (e-mail, app, SMS). |
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 o usuário receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Execução de Chamada à API - Obter Calendário Vigente
1.1 Tarefa do Agente
Realizar chamada à API do sistema de calendário escolar para recuperar o calendário vigente e suas configurações, incluindo feriados, blocos de horário, turmas e locais.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um payload contendo os parâmetros necessários para realizar uma chamada à API do sistema de calendário escolar.
# 2. Objetivo
Realizar a chamada à API para obter o calendário vigente e suas configurações.
# 3. Regras que você deve seguir para gerar sua resposta
- Execute a chamada à API utilizando os parâmetros fornecidos no payload.
- Certifique-se de que a resposta da API contenha todos os dados esperados, incluindo eventos existentes e configurações do calendário.
- Retorne um objeto JSON contendo o calendário vigente e as configurações obtidas.
# 4. Exemplo de Output que você deve produzir
{
"calendario_vigente": [ "eventos_existentes" ],
"configuracoes": { "feriados": [...], "janelas_horarias": [...], "turmas": [...], "locais": [...] },
"meta": { "versao": "1.0", "data_extracao": "2025-12-22T04:55:00Z" }
} 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 contendo os parâmetros necessários para a chamada à API do calendário escolar. 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 é um payload JSON contendo os parâmetros para a chamada à API.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos:
.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 objeto JSON contendo o calendário vigente e suas configurações.
-
Exemplo de Estrutura de Output:
{ "calendario_vigente": [ "eventos_existentes" ], "configuracoes": { "feriados": [...], "janelas_horarias": [...], "turmas": [...], "locais": [...] }, "meta": { "versao": "1.0", "data_extracao": "2025-12-22T04:55:00Z" } } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado 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: Conecta-se ao sistema de calendário escolar para recuperar dados.
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 Normalização e Validação de Eventos (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Normalização e Validação de Eventos (RF 2).
RF 2. Agente de Normalização e Validação de Eventos
2.1 Tarefa do Agente
Padronizar eventos de entrada e validar campos críticos antes da análise de conflitos e da integração ao calendário único.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista JSON de eventos brutos com possíveis variações de campos.
# 2. Objetivo
Padronizar os eventos de entrada e validar campos críticos para garantir a consistência antes da análise de conflitos.
# 3. Regras que você deve seguir para gerar sua resposta
- Mapear os eventos para um schema padrão, garantindo consistência nos campos de dados.
- Converter datas e horas para o formato ISO 8601 e alinhar o timezone.
- Validar campos obrigatórios e rejeitar eventos com dados inconsistentes.
- Normalizar tipos de eventos e gerar chaves de deduplicação para identificar duplicatas.
# 4. Exemplo de Output que você deve produzir
{
"eventos_normalizados": [ {...} ],
"eventos_invalidos": [ {...} ],
"schema": { "campos_padrao": [...] },
"estatisticas": { "total_entrada": 100, "validos": 95, "invalidos": 5 }
} 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 JSON de eventos brutos.
-
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 objeto JSON contendo eventos normalizados, eventos inválidos, schema e estatísticas.
-
Exemplo de Estrutura de Output:
{ "eventos_normalizados": [ {...} ], "eventos_invalidos": [ {...} ], "schema": { "campos_padrao": [...] }, "estatisticas": { "total_entrada": 100, "validos": 95, "invalidos": 5 } } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado 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 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 Análise de Conflitos e Regras Acadêmicas (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 Conflitos e Regras Acadêmicas (RF 3).
RF 3. Agente de Análise de Conflitos e Regras Acadêmicas
3.1 Tarefa do Agente
Identificar conflitos de agenda e aplicar regras acadêmicas e operacionais antes da consolidação dos eventos no calendário único.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo eventos normalizados e o calendário vigente, incluindo suas configurações.
# 2. Objetivo
Analisar os eventos para identificar conflitos de agenda e aplicar regras acadêmicas antes da consolidação no calendário único.
# 3. Regras que você deve seguir para gerar sua resposta
- Detectar conflitos de tempo e sobreposições de recursos, como locais e turmas.
- Aplicar regras acadêmicas específicas, como restrições de horário e capacidade.
- Gerar sugestões de resolução automática para conflitos detectados.
- Produzir um resumo dos conflitos identificados e das ações tomadas.
# 4. Exemplo de Output que você deve produzir
{
"eventos_analisados": [ {...} ],
"resumo_conflitos": { "por_tipo": [...], "por_turma": [...], "por_local": [...] },
"houve_conflitos": true
} 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 eventos normalizados e o calendário vigente, incluindo suas configurações.
-
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é 15.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo eventos analisados, resumo de conflitos e um indicador de conflitos.
-
Exemplo de Estrutura de Output:
{ "eventos_analisados": [ {...} ], "resumo_conflitos": { "por_tipo": [...], "por_turma": [...], "por_local": [...] }, "houve_conflitos": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado 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 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 Consolidação e Geração de Operações CRUD do Calendário (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Consolidação e Geração de Operações CRUD do Calendário (RF 4).
RF 4. Agente de Consolidação e Geração de Operações CRUD do Calendário
4.1 Tarefa do Agente
Integrar eventos analisados ao calendário único e produzir operações idempotentes de criação, atualização e remoção.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo eventos analisados e o calendário vigente, prontos para integração e consolidação.
# 2. Objetivo
Integrar os eventos analisados ao calendário único e gerar operações CRUD idempotentes.
# 3. Regras que você deve seguir para gerar sua resposta
- Identificar eventos novos, atualizados e obsoletos para aplicar as operações CRUD apropriadas.
- Garantir idempotência das operações geradas para evitar duplicações.
- Produzir um resumo das operações realizadas e das alterações feitas no calendário.
# 4. Exemplo de Output que você deve produzir
{
"operacoes": {
"create": [ {...} ],
"update": [ {...} ],
"delete": [ {...} ]
},
"diff_resumo": { "creates": 10, "updates": 5, "deletes": 2 },
"houve_alteracoes": true
} 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 como input eventos analisados e o calendário vigente.
-
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é 15.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo as operações CRUD e um resumo das alterações.
-
Exemplo de Estrutura de Output:
{ "operacoes": { "create": [ {...} ], "update": [ {...} ], "delete": [ {...} ] }, "diff_resumo": { "creates": 10, "updates": 5, "deletes": 2 }, "houve_alteracoes": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 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 utiliza.
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 Execução de Chamada à API - Persistir Alterações no Calendário (RF 5).
4.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 - Persistir Alterações no Calendário (RF 5).
RF 5. Agente de Execução de Chamada à API - Persistir Alterações no Calendário
5.1 Tarefa do Agente
Executar chamadas à API do calendário para aplicar operações CRUD geradas e confirmar as alterações realizadas.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo operações CRUD geradas para serem aplicadas no calendário escolar.
# 2. Objetivo
Executar chamadas à API do calendário para aplicar as operações CRUD e confirmar as alterações realizadas.
# 3. Regras que você deve seguir para gerar sua resposta
- Realizar chamadas à API para cada operação CRUD utilizando os endpoints apropriados.
- Confirmar que as alterações foram aplicadas com sucesso e retornar recibos de execução por operação.
- Em caso de falha, registrar o erro para análise manual e interromper o processo.
# 4. Exemplo de Output que você deve produzir
{
"resultado": {
"create": [ { "id_novo": "abc123", "status": "sucesso" } ],
"update": [ { "id": "def456", "status": "sucesso" } ],
"delete": [ { "id": "ghi789", "status": "sucesso" } ]
},
"alteracoes_confirmadas": true
} 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 do agente anterior (RF 4).
- Tipo do input: Este agente deve ser apto a receber como input operações CRUD geradas.
-
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.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o resultado das operações CRUD e a confirmação de alterações.
-
Exemplo de Estrutura de Output:
{ "resultado": { "create": [ { "id_novo": "abc123", "status": "sucesso" } ], "update": [ { "id": "def456", "status": "sucesso" } ], "delete": [ { "id": "ghi789", "status": "sucesso" } ] }, "alteracoes_confirmadas": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: Não se aplica (uso de ferramenta)
5.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Conecta-se ao sistema de calendário escolar para aplicar operações CRUD.
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 deve ser visível para o Agente de Preparação de Notificações (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Preparação de Notificações (RF 6).
RF 6. Agente de Preparação de Notificações
6.1 Tarefa do Agente
Gerar notificações automáticas para públicos-alvo sobre criações, atualizações e cancelamentos, com mensagens e horários de disparo adequados.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o resultado das operações CRUD e os eventos de origem.
# 2. Objetivo
Gerar notificações automáticas para os públicos-alvo sobre as alterações no calendário escolar.
# 3. Regras que você deve seguir para gerar sua resposta
- Criar mensagens específicas para cada tipo de operação (criação, atualização, cancelamento).
- Calcular o horário de envio das notificações com base nas políticas definidas.
- Consolidar múltiplas alterações em uma única notificação quando possível.
# 4. Exemplo de Output que você deve produzir
{
"lote_notificacoes": [
{ "publico": "alunos", "destino_ids": [ "id1", "id2" ], "canal": "app", "assunto": "Novo evento", "mensagem": "Você tem um novo evento no calendário.", "data_envio_iso": "2025-12-22T06:00:00Z" }
],
"houve_notificacoes": true
} 6.3 Configurações do Agente
6.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
- Tipo do input: Este agente deve ser apto a receber como input o resultado das operações CRUD e os eventos de origem.
-
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.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o lote de notificações geradas e um indicador de notificações.
-
Exemplo de Estrutura de Output:
{ "lote_notificacoes": [ { "publico": "alunos", "destino_ids": [ "id1", "id2" ], "canal": "app", "assunto": "Novo evento", "mensagem": "Você tem um novo evento no calendário.", "data_envio_iso": "2025-12-22T06:00:00Z" } ], "houve_notificacoes": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.
6.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
6.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
6.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 - Enviar Notificações (RF 7).
6.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 - Enviar Notificações (RF 7).
RF 7. Agente de Execução de Chamada à API - Enviar Notificações
7.1 Tarefa do Agente
Executar o envio das notificações nos canais configurados (e-mail, app, SMS) via endpoints apropriados.
7.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um lote de notificações prontas para serem enviadas aos destinatários.
# 2. Objetivo
Executar o envio das notificações utilizando os canais configurados e confirmar o sucesso do envio.
# 3. Regras que você deve seguir para gerar sua resposta
- Realizar chamadas às APIs de envio para cada notificação utilizando os canais apropriados.
- Confirmar que todas as notificações foram enviadas com sucesso e retornar recibos de envio por canal/destino.
- Em caso de falha, registrar o erro para análise manual e interromper o processo.
# 4. Exemplo de Output que você deve produzir
{
"recibos_envio": [
{ "canal": "app", "destino": "id1", "status": "sucesso", "mensagem_id": "msg123" }
],
"notificacoes_enviadas": true
} 7.3 Configurações do Agente
7.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 6).
- Tipo do input: Este agente deve ser apto a receber como input o lote de notificações prontas para envio.
-
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.
7.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os recibos de envio e a confirmação de notificações enviadas.
-
Exemplo de Estrutura de Output:
{ "recibos_envio": [ { "canal": "app", "destino": "id1", "status": "sucesso", "mensagem_id": "msg123" } ], "notificacoes_enviadas": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.000 caracteres.
7.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: Não se aplica (uso de ferramenta)
7.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Conecta-se aos sistemas de envio de notificações configurados.
7.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.
7.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. Os recibos de envio são o resultado que deve ser disponibilizado ao usuário.