Agente de IA para Análise de Carga Horária Docente

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

Como criar um agente de IA que verifica a carga horária atribuída aos professores em relação às normas institucionais.

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 "Análise de Carga Horária Docente". 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 é verificar a carga horária atribuída aos professores em relação às normas institucionais e sugerir ajustes para equilibrar a distribuição de trabalho, garantindo conformidade com as diretrizes estabelecidas.

2. Contexto e Problema

Cenário Atual

Em muitas instituições de ensino, a distribuição da carga horária entre os professores não é feita de maneira equitativa, o que pode levar a sobrecarga de trabalho para alguns e subutilização para outros. Além disso, é essencial que a carga horária esteja alinhada com as normas institucionais para garantir a conformidade e o bom funcionamento acadêmico.


Problemas Identificados

  • Distribuição desigual: A carga horária entre os professores não é distribuída de forma equitativa, resultando em sobrecarga para alguns e subutilização para outros.
  • Conformidade com normas: A carga horária atribuída aos professores precisa estar em conformidade com as normas institucionais para garantir o bom funcionamento acadêmico.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Equilibrar a carga horária entre os professores, garantindo uma distribuição justa e eficiente.
  • Assegurar a conformidade com as normas institucionais, evitando penalidades e melhorando o funcionamento acadêmico.
  • Otimizar o uso dos recursos docentes, potencializando o aproveitamento e a produtividade dos professores.

4. Visão Geral da Solução

O agente de IA para análise de carga horária docente processa dados sobre a carga horária atribuída aos professores, verifica a conformidade com as normas institucionais e sugere ajustes para equilibrar a distribuição de trabalho. 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 na análise e ajuste da carga horária docente.

A solução consiste em um fluxo de automação composto por vários agentes de IA. O processo inicia com a validação e normalização dos dados e termina com a consolidação e geração de um relatório final para decisão gerencial.

A execução dos agentes é sequencial, seguindo a ordem definida na tabela abaixo.

Agentes Função Principal
Agente de Validação e Normalização de Dados da Carga Horária Validar e normalizar os dados de carga horária docente para um formato padronizado.
Agente de Cálculo e Diagnóstico de Conformidade Calcular métricas de carga por professor e classificar o status de conformidade.
Agente de Geração de Propostas de Ajuste Produzir propostas de redistribuição de carga que corrijam inconformidades.
Agente de Simulação de Cenários (Opcional) Avaliar cenários específicos e medir impactos na conformidade e equidade.
Agente de Consolidação e Relatório Final Consolidar diagnóstico e propostas em um pacote final para decisão gerencial.

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 Validação e Normalização de Dados da Carga Horária

1.1 Tarefa do Agente

Validar a consistência e normalizar os dados de carga horária docente para um formato padronizado antes da análise de conformidade.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um conjunto de dados contendo informações sobre carga horária docente, turmas e normas institucionais.

# 2. Objetivo
Validar a consistência dos dados e normalizá-los para um formato padronizado antes da análise de conformidade.

# 3. Regras que você deve seguir para gerar sua resposta
- Rejeitar ou sinalizar entradas com horas_semanais <= 0, datas inválidas ou intervalos de tempo sobrepostos na mesma turma.
- Unificar chaves e tipos: converter ids para string, horas para números com duas casas, datas para ISO, dias_semana para padrão [seg..dom].
- Expandir unidades_letivas em slots semanais com h-inicio e h-fim em minutos desde 00:00, marcando modalidade e sala.
- Mapear professor_atribuido: se null, registrar vaga_aberta=true; se id inexistente em professores[], criar erro_crítico referenciando turma.id.
- Validar habilitações: se requisitos_habilitacao da turma não estiver contido em habilitacoes do professor_atribuido, registrar alerta de inconformidade_habilitacao.
- Consolidar atividades_extras por professor e tipo somando horas por semana, preservando periodo vigente; se períodos não cobrirem o calendário das turmas, considerar horas apenas na interseção de períodos.
- Calcular horas_docencia_semanais por professor somando horas_semanais de turmas atribuídas; calcular total_semanais = docencia + soma(extras por tipo).
- Construir mapa_horarios_por_professor com todos os slots semanais de docência; identificar sobreposições intra-professor e registrar issues_validacao de tipo conflito_horario.
- Normalizar normas ausentes aplicando defaults seguros: max_blocos_dia=3, intervalo_min_entre_blocos=10, max_preparacoes_diferentes_semana=6, pesos_equidade.desvio_permitido_percentual=10, e marcar em issues_validacao tipo norma_default_aplicada.
- Definir dataset_aprovado=false se existir pelo menos um erro_crítico (ids inválidos, datas malformadas, horas negativas, professor inexistente referenciado). Caso contrário, dataset_aprovado=true.
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 dados sobre carga horária docente 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 conjunto de dados estruturados contendo informações sobre professores, turmas e normas institucionais.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .csv, .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 50.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um conjunto de dados normalizados e uma lista de issues de validação, se houver.
  • Exemplo de Estrutura de Output:
     {
      "dataset_normalizado": { "professores": [...], "turmas": [...], "atribuicoes": {...} },
      "issues_validacao": [{ "tipo": "conflito_horario", "severidade": "erro", "entidade": "professor", "id": "123", "descricao": "Conflito de horário detectado.", "sugestao_correcao": "Revisar atribuições." }],
      "dataset_aprovado": true
    }
  • Número de caracteres esperado: O output deve ser claro e direto, com um tamanho estimado em 5.000 caracteres.

1.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

1.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para normalização de dados.
  • 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 próximo agente no fluxo.

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

Ao concluir sua execução, esse agente aciona o próximo agente no fluxo.

RF 2. Agente de Cálculo e Diagnóstico de Conformidade

2.1 Tarefa do Agente

Calcular métricas de carga por professor, comparar com normas institucionais e classificar o status de conformidade.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um conjunto de dados normalizados e issues de validação do agente anterior.

# 2. Objetivo
Calcular métricas de carga por professor, comparar com normas institucionais e classificar o status de conformidade.

# 3. Regras que você deve seguir para gerar sua resposta
- Se dataset_aprovado=false, retornar somente erro_execucao com referência às issues críticas.
- Para cada professor, comparar horas.docencia com normas.carga_min_docencia_por_regime[regime_trabalho] e normas.carga_max_docencia_por_regime; classificar status.docencia.
- Calcular horas.total = docencia + soma(extras), e comparar com normas.carga_total_min_por_regime e normas.carga_total_max_por_regime.
- Calcular preparacoes_diferentes como número de disciplinas distintas em turmas atribuídas; se > normas.max_preparacoes_diferentes_semana, adicionar alerta.
- Verificar max_horas_dia e max_blocos_dia por professor; sinalizar violações por dia.
- Verificar intervalo_min_entre_blocos entre slots consecutivos; sinalizar quando menor que o mínimo.
- Calcular carga_noturna somando horas em janela_noturna; comparar com janela_noturna.max_horas_semanais quando definido.
- Detectar conflitos_horarios por professor a partir do mapa de slots; registrar contagem e lista resumida (dia, intervalo).
- Identificar lacunas_oferta: turmas com vaga_aberta=true ou atribuídas a professor sem habilitação compatível.
- Medir equidade: calcular desvio padrão das horas de docência; marcar professores cujo desvio relativo ao P50 exceda pesos_equidade.desvio_permitido_percentual.
- Não alterar dados de entrada; apenas produzir diagnóstico imutável.
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.
  • Tipo do input: Este agente deve ser apto a receber um conjunto de dados normalizados e issues de validação do agente anterior.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 50.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um diagnóstico detalhado de conformidade por professor.
  • Exemplo de Estrutura de Output:
     {
      "diagnostico": {
        "por_professor": [
          {
            "id_prof": "123",
            "horas": { "docencia": 20, "por_tipo_extras": {...}, "total": 40 },
            "limites": { "docencia": { "min": 10, "max": 40 }, "total": { "min": 30, "max": 50 } },
            "status": { "docencia": "em_conformidade", "total": "abaixo" },
            "conflitos_horarios": 1,
            "preparacoes_diferentes": 3,
            "dias_trabalhados": 5,
            "carga_noturna": { "horas": 5, "status": "em_conformidade" },
            "alertas": [...]
          }
        ],
        "lacunas_oferta": [...],
        "desequilibrio_equidade": { "desvio_padrao_horas_docencia": 5, "faixa_min_max": [20, 40], "professores_em_desvio_acima_percentual": [...] },
        "indicadores_globais": { "distribuicao_horas_docencia": { "p10": 15, "p50": 25, "p90": 35, "media": 27.5 }, "taxa_conflitos_por_professor": 0.1, "porcentagem_vagas_abertas": 0.05 }
      }
    }
  • Número de caracteres esperado: O output deve ser detalhado e preciso, com um tamanho estimado em 5.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para cálculo de métricas de conformidade.
  • 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 próximo agente no fluxo.

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

Ao concluir sua execução, esse agente aciona o próximo agente no fluxo.

RF 3. Agente de Geração de Propostas de Ajuste

3.1 Tarefa do Agente

Produzir propostas de redistribuição de carga que corrijam inconformidades e reduzam desequilíbrios, com impacto quantificado e justificativas.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um diagnóstico detalhado de conformidade por professor e um conjunto de dados normalizados.

# 2. Objetivo
Produzir propostas de redistribuição de carga que corrijam inconformidades e reduzam desequilíbrios, com impacto quantificado e justificativas.

# 3. Regras que você deve seguir para gerar sua resposta
- Priorizar correções que: (1) eliminem sobrecarga acima do máximo e subcarga abaixo do mínimo de docência, (2) removam conflitos de horário, (3) reduzam desvio de equidade.
- Considerar elegibilidade: somente sugerir atribuição de turma a professor com habilitação compatível e sem conflito de horário no slot da turma.
- Respeitar limites: não propor solução que faça qualquer professor ultrapassar max_horas_dia, max_blocos_dia, carga_max_docencia_por_regime ou carga_total_max_por_regime.
- Minimizar novas preparações: evitar aumentar preparacoes_diferentes acima do limite; quando inevitável, justificar.
- Manter continuidade pedagógica: preferir trocas dentro da mesma unidade/área; incluir justificativa caso cruze unidades.
- Para cada mudança, calcular impactos antes/depois por professor e atualizar indicadores_globais simulados (ao menos desvio padrão das horas de docência).
- Tratar vagas_abertas propondo: (a) atribuição a professor elegível subcarregado, (b) sugestão de abertura de nova contratação somente se nenhum elegível estiver disponível, marcando como recomendação administrativa.
- Gerar no máximo 3 cenários com diferentes ênfases: conformidade estrita, equilíbrio de equidade, minimização de alterações; cada cenário deve ser internamente consistente.
- Não modificar calendários ou cargas das turmas; atuar apenas em reatribuição entre professores e realocação de atividades extras quando permitido pelas normas.limites_por_tipo.
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.
  • Tipo do input: Este agente deve ser apto a receber um diagnóstico detalhado de conformidade por professor e um conjunto de dados normalizados.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 50.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um conjunto de propostas de ajuste de carga horária docente.
  • Exemplo de Estrutura de Output:
     {
      "propostas": [
        {
          "id_proposta": "1",
          "descricao_curta": "Ajuste de carga horária para equilíbrio.",
          "mudancas": [...],
          "aderencia_pos_ajuste": { "violacoes_remanescentes": 0, "metas_equidade": true },
          "riscos_e_observacoes": [...]
        }
      ],
      "criterios_utilizados": { "prioridades": [...], "restricoes_consideradas": [...] }
    }
  • Número de caracteres esperado: O output deve ser claro e detalhado, com um tamanho estimado em 5.000 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para cálculo de propostas de ajuste.
  • 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 próximo agente no fluxo.

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

Ao concluir sua execução, esse agente aciona o próximo agente no fluxo.

RF 4. Agente de Simulação de Cenários (Opcional)

4.1 Tarefa do Agente

Avaliar cenários específicos solicitados (por exemplo, remoção temporária de professor, inclusão de nova turma) e medir impactos na conformidade e equidade.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um conjunto de dados normalizados e uma lista de ajustes hipotéticos.

# 2. Objetivo
Avaliar cenários específicos solicitados e medir impactos na conformidade e equidade.

# 3. Regras que você deve seguir para gerar sua resposta
- Aplicar apenas as mudanças explicitamente fornecidas em mudancas_simuladas ao dataset de trabalho temporário; não persistir.
- Recalcular diagnóstico com as mesmas regras do agente de diagnóstico e reportar diferenças chave (mudanças nas classificações de docência e total, vagas abertas, desvio padrão).
- Se qualquer mudança violar normas explícitas (ex.: criar turma com horas<=0), descartar o cenário e reportar erro de entrada do cenário específico.
- Limitar a 5 cenários por chamada; nomear cenários conforme entrada ou gerar nomes descritivos.
4.3 Configurações do Agente

4.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado conforme necessidade de simulação de cenários.
  • Tipo do input: Este agente deve ser apto a receber um conjunto de dados normalizados e uma lista de ajustes hipotéticos.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 50.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um resultado de simulação de cenários.
  • Exemplo de Estrutura de Output:
     {
      "resultado_simulacao": {
        "cenarios": [
          {
            "nome": "Cenário 1",
            "mudancas_aplicadas": [...],
            "diagnostico_pos": {...},
            "impactos_globais": { "conformidade": true, "equidade": true, "vagas_abertas": 0 }
          }
        ]
      }
    }
  • Número de caracteres esperado: O output deve ser claro e detalhado, com um tamanho estimado em 5.000 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para simulação de cenários.
  • 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 próximo agente no fluxo.

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

Ao concluir sua execução, esse agente aciona o próximo agente no fluxo.

RF 5. Agente de Consolidação e Relatório Final

5.1 Tarefa do Agente

Consolidar diagnóstico e propostas em um pacote final padronizado para decisão gerencial.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um diagnóstico, propostas de ajuste e um conjunto de dados normalizados.

# 2. Objetivo
Consolidar diagnóstico e propostas em um pacote final padronizado para decisão gerencial.

# 3. Regras que você deve seguir para gerar sua resposta
- Produzir resumo objetivo com números e percentuais; evitar texto prolixo.
- Ordenar destaques por severidade: sobrecarga > subcarga > conflitos > vagas.
- No comparativo, padronizar indicadores_chave em mesma ordem e unidade; marcar com ✓ a melhor métrica por coluna.
- Se não houver proposta que elimine todas as violações, indicar a de menor violação residual e explicitar quais permanecem.
- Gerar recomendacao_sugerida com base em regra: priorizar menor violacoes_totais; em empate, menor desvio_padrao_docencia; persistindo empate, menor numero de mudancas_totais.
- Garantir que todos os ids referenciados nas tabelas existam no dataset_normalizado; caso contrário, apontar inconsistências antes de finalizar.
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.
  • Tipo do input: Este agente deve ser apto a receber um diagnóstico, propostas de ajuste e um conjunto de dados normalizados.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 50.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um relatório final consolidado para decisão gerencial.
  • Exemplo de Estrutura de Output:
     {
      "relatorio_final": {
        "resumo_execucao": { "datahora": "2025-12-21T12:39:00", "total_professores": 100, "total_turmas": 50, "principais_inconformidades": [...] },
        "destaques": { "professores_sobrecarga": [...], "professores_subcarga": [...], "conflitos_horarios": [...], "vagas_abertas": [...] },
        "comparativo_cenarios": [...],
        "recomendacao_sugerida": { "id_proposta": "1", "justificativa": "Menor violação residual." },
        "anexos": { "tabelas_csv_like": { "professores": [...], "turmas": [...], "atribuicoes": [...] }, "json_machine_readable": { "diagnostico": {...}, "propostas": [...] } }
      }
    }
  • Número de caracteres esperado: O output deve ser detalhado e abrangente, com um tamanho estimado em 10.000 caracteres.

5.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.7

5.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Utiliza lógica interna para consolidação de dados.
  • 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 do fluxo.

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.

© 2025 prototipe.ai. Todos os direitos reservados.