Agente de IA para Gerenciamento de Calendário Escolar

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

Como criar um agente de IA que organiza e atualiza automaticamente o calendário escolar.

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

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

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

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

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

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.

© 2025 prototipe.ai. Todos os direitos reservados.