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 Fluxo de Agentes "Planejamento de Aulas Práticas", uma solução de automação projetada para auxiliar a coordenação pedagógica no planejamento de aulas práticas. 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 é otimizar o planejamento de aulas práticas, sugerindo conteúdos e cronogramas com base na análise do histórico de turmas anteriores.
2. Contexto e Problema
Cenário Atual
A coordenação pedagógica enfrenta desafios no planejamento eficaz de aulas práticas devido à falta de análise do histórico de turmas anteriores. Isso resulta em cronogramas ineficazes e pouco otimizados.
Problemas específicos incluem:
- Planejamento ineficaz de aulas práticas devido à falta de análise do histórico de turmas anteriores.
- Dificuldade em criar cronogramas otimizados para aulas práticas.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Otimizar o planejamento de aulas práticas com base em dados históricos.
- Melhorar a eficiência na criação de cronogramas otimizados.
4. Visão Geral da Solução
O agente de IA para planejamento de aulas práticas analisa o histórico de turmas anteriores para sugerir conteúdos relevantes e cronogramas otimizados para as aulas práticas. 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 planejamento de aulas práticas.
A solução consiste em um fluxo de automação composto por 3 agentes de IA. O processo inicia com a normalização e síntese do histórico de turmas e termina com a criação de um cronograma otimizado.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Normalização e Síntese do Histórico de Turmas (RF 1)
| Padronizar e sintetizar o histórico de turmas para extrair métricas e evidências. |
Agente de Recomendação de Conteúdos para Turma Atual (RF 2)
| Gerar lista priorizada de conteúdos práticos recomendados para a turma atual. |
Agente de Criação de Cronograma Otimizado de Aulas Práticas (RF 3)
| Converter a lista de conteúdos recomendados em um cronograma datado e executável. |
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 cliente receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Normalização e Síntese do Histórico de Turmas
1.1 Tarefa do Agente
Padronizar e sintetizar o histórico de turmas anteriores para extrair métricas e evidências que sustentem recomendações de conteúdos práticos.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o histórico de turmas em CSV/JSON com os campos: turma_id, curso, componente_curricular, conteudo_pratico, objetivos_aprendizagem, data_execucao, carga_horaria_prevista, carga_horaria_real, recursos_utilizados, docente, avaliacao_nota (0-10 ou 0-100), avaliacao_texto, presenca_percentual, aprovacao_percentual, retrabalho_ocorrido (sim/nao), dificuldades_reportadas, perfil_turma (ex.: nivel_previo, tamanho, turno), restricoes (ex.: laboratorio, equipamentos, segurança). # 2. Objetivo Padronizar e sintetizar o histórico de turmas para extrair métricas e evidências que sustentem recomendações de conteúdos práticos. # 3. Regras que você deve seguir para gerar sua resposta - Converta toda avaliação para escala 0-100: se avaliacao_nota ≤ 10, multiplique por 10; se já estiver 0-100, mantenha. Registre no mapeamento_valores o método aplicado por coluna. - Padronize datas para ISO-8601 (YYYY-MM-DD) e extraia mês para sazonalidade_mes. - Se carga_horaria_real estiver ausente, estime como carga_horaria_prevista; marque campo origem_carga_horaria = 'estimada' ou 'observada'. - Calcule métricas por conteudo_pratico apenas quando houver n≥3 sessões; caso contrário, compute mas marque baixa_confianca = true e reduza confianca_sintese proporcionalmente (ex.: n=1 => 0.3; n=2 => 0.6; n≥3 => 0.8+ conforme consistência). - Taxas: taxa_aprovacao = média de aprovacao_percentual; taxa_presenca = média de presenca_percentual; taxa_retrabalho = % de sessões com retrabalho_ocorrido = 'sim'. - Recorrencia_uso = contagem de turmas distintas que aplicaram o conteúdo nos últimos 24 meses; defina janela_temporal_meses_utilizados no output. - Extraia prerequisitos_citados e recursos_criticos a partir de dificuldades_reportadas, avaliacao_texto e recursos_utilizados: retorne lista deduplicada com frequência_de_citacao por item. - Detecte outliers de tempo e notas: marque registros_outliers com justificativa (ex.: zscore>3 ou valores ilógicos como presenca>100%). Não descarte; apenas sinalize e exclua do cálculo principal, mantendo campo excluido_das_metricas=true. - Produza observacoes_frequentes como tópicos com frequência ≥ 20% nos textos (ex.: "falta de reagentes", "tempo insuficiente"). - Defina confianca_sintese (0-1) combinando: n_registros, consistencia_metrica (baixa variância), completude (>80%) e proporção de outliers (<10%). - Se faltarem campos obrigatórios (turma_id, conteudo_pratico, data_execucao), reporte em qualidade_dados.campos_faltantes_por_coluna e mantenha o registro com flags faltante=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 um arquivo CSV/JSON com o histórico de turmas 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 do arquivo na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um arquivo contendo o histórico de turmas.
-
Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos:
.csv,.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 100.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um arquivo no formato JSON contendo: (a) dados_normalizados, (b) agregados_por_conteudo, (c) mapeamento_valores, (d) qualidade_dados e (e) confianca_sintese.
-
Exemplo de Estrutura de Output:
{ "dados_normalizados": [...], "agregados_por_conteudo": [...], "mapeamento_valores": {...}, "qualidade_dados": {...}, "confianca_sintese": 0.85 } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 10.000 caracteres, variando conforme a quantidade de dados processados.
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: Utiliza lógica interna para cálculos de métricas e normalização.
- 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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Recomendação de Conteúdos para Turma Atual (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Recomendação de Conteúdos para Turma Atual (RF 2).
RF 2. Agente de Recomendação de Conteúdos para Turma Atual
2.1 Tarefa do Agente
Gerar lista priorizada de conteúdos práticos recomendados para a turma atual, fundamentada em evidências históricas e requisitos pedagógicos.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo: (i) agregados_por_conteudo e qualidade_dados do Agente de Normalização; (ii) perfil_turma_atual: curso, componente_curricular, objetivos_aprendizagem_prioritarios, nivel_previo, tamanho_turma, turno, restricoes, recursos_disponiveis, carga_horaria_total_disponivel, janela_calendario. # 2. Objetivo Gerar lista priorizada de conteúdos práticos recomendados para a turma atual, fundamentada em evidências históricas e requisitos pedagógicos. # 3. Regras que você deve seguir para gerar sua resposta - Calcule score_geral_0a100 com pesos padrão: feedback (30%), taxa_aprovacao (20%), taxa_presenca (10%), recorrencia_uso (10%), alinhamento_objetivos (20%), adequacao_recursos (10). Normalize cada componente em 0-100. Documente pesos no campo pesos_utilizados. - alinhamento_objetivos: 100 se o conteúdo aborda ≥1 objetivo prioritário e 60 se tangencial; 0 se não relacionado. - adequacao_recursos: true se todos os recursos_criticos do conteúdo estiverem em recursos_disponiveis; caso contrário, liste requisitos_nao_atendidos e aplique penalidade de -30 pontos. - adequacao_carga_horaria: true se duracao_estimada_h couber na carga_horaria_total_disponivel remanescente; se não couber, sugerir ajuste_proposto_h (ex.: dividir em 2 sessões) e penalizar -15 pontos. - Respeite prerequisitos: se prerequisitos não forem atendidos, sinalize riscos_previstos e reduza score para máximo 40 até que pré-requisitos sejam agendados previamente. - Evite viés por docente: não utilize o campo docente nas pontuações; foque em resultados e contexto da turma. - Janelas temporais: priorize conteúdos com sazonalidade coerente ao mês da janela_calendario; +5 pontos se match, -5 se off-season. - Cold start: se confianca_sintese < 0.5 ou não houver histórico suficiente, gere recomendações baseadas em alinhamento_objetivos e adequacao_recursos, e preencha metricas_esperadas com faixas conservadoras (ex.: feedback_0a100=60-75) marcando baixa_evidencia=true. - Limite a soma de duracao_estimada_h dos itens selecionados a carga_horaria_total_disponivel; forneça campo carga_horaria_utilizada_h e remanescente_h no output agregado.
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 bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo os agregados_por_conteudo, qualidade_dados e o perfil da turma atual.
-
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 texto com até 10.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um arquivo no formato JSON contendo a lista priorizada de conteúdos práticos recomendados.
-
Exemplo de Estrutura de Output:
{ "recomendacoes": [ { "conteudo_pratico": "Laboratório de Química Avançada", "prioridade_posicao": 1, "score_geral_0a100": 85, "justificativa_curta": "Alinhado com objetivos prioritários e recursos disponíveis.", "duracao_estimada_h": 3, "prerequisitos": ["Segurança em Laboratório"], "recursos_necessarios": ["Laboratório de Química", "EPIs"], "riscos_previstos": [], "metricas_esperadas": { "feedback_0a100": 85, "taxa_aprovacao": 90, "taxa_presenca": 95 }, "adequacao_recursos": true, "adequacao_carga_horaria": true, "requisitos_nao_atendidos": [], "confianca_recomendacao": 0.9 } ] } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 5.000 caracteres, variando conforme a quantidade de recomendações geradas.
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: Utiliza lógica interna para cálculos de pontuação e priorização.
- 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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Criação de Cronograma Otimizado de Aulas Práticas (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Criação de Cronograma Otimizado de Aulas Práticas (RF 3).
RF 3. Agente de Criação de Cronograma Otimizado de Aulas Práticas
3.1 Tarefa do Agente
Converter a lista de conteúdos recomendados em um cronograma datado e executável, respeitando dependências, recursos, restrições e disponibilidade.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o JSON com as recomendações priorizadas do agente anterior; disponibilidade da turma (datas/horários, feriados, avaliações), disponibilidade de recursos (laboratórios, equipamentos, capacidade), restricoes_operacionais (tempo de setup, regras de segurança, máximo de horas por dia/semana), preferências (intercalar complexidade, evitar finais de dia). # 2. Objetivo Converter a lista de conteúdos recomendados em um cronograma datado e executável, respeitando dependências, recursos, restrições e disponibilidade. # 3. Regras que você deve seguir para gerar sua resposta - Respeite dependências: agende conteúdos somente após seus prerequisitos; se impossível no horizonte, mova o conteúdo para backlog e registre motivo. - Alocação de recursos: garanta que recursos_criticos não sejam sobrepostos; se conflito, busque o próximo slot viável na mesma semana antes de mudar de semana. - Capacidade e segurança: não exceda capacidade do laboratório; se EPIs obrigatórios não estiverem disponíveis, bloqueie o agendamento e registre impedimento. - Janelas e limites: não ultrapasse máximo de horas/dia e horas/semana; distribua carga equilibrando semanas (diferença ≤ 20%). - Intercale complexidade: evite sessões de alta complexidade consecutivas; insira buffers_minutos de 10-20 para setup/limpeza conforme recursos. - Preferências de turno: respeite turno da turma; se sessão extrapolar, ajuste duracao_h mantendo integridade dos objetivos (dividir em duas sessões quando necessário). - Tratamento de conflitos: identifique sobreposições de sala, docente e recursos; proponha até 2 alternativas de data/horário por conflito e registre a alternativa escolhida com justificativa. - Feriados e avaliações: não agende nesses dias; priorize semanas com menor carga de avaliações. - KPIs do cronograma: calcule aderencia_restricoes_percent = (regras atendidas / regras aplicáveis) x 100; registre ocupacao_horas_por_semana e margem_seguranca_percent = (buffers_total_h / carga_total_h) x 100. - Saída final deve preservar a ordem cronológica e incluir um resumo por semana com totais de horas e recursos críticos utilizados.
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 um JSON contendo as recomendações priorizadas e informações de disponibilidade e restriçõ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 texto com até 15.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um arquivo no formato JSON contendo o cronograma otimizado das aulas práticas.
-
Exemplo de Estrutura de Output:
{ "cronograma": [ { "data_inicio": "2025-12-01", "data_fim": "2025-12-01", "conteudo_pratico": "Laboratório de Química Avançada", "duracao_h": 3, "sala/lab": "Lab Química 1", "recursos_alocados": ["Laboratório de Química", "EPIs"], "prerequisitos_atendidos": true, "dependencias": [], "buffers_minutos": 15, "responsavel": "Prof. João Silva", "observacoes": "Verificar disponibilidade de EPIs" } ], "indicadores": { "ocupacao_horas_por_semana": 15, "distribuicao_carga": "Equilibrada", "conflitos_detectados": [], "conflitos_resolvidos": [], "aderencia_restricoes_percent": 95, "margem_seguranca_percent": 10 } } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 7.000 caracteres, variando conforme a complexidade do cronograma gerado.
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: Utiliza lógica interna para cálculos de cronograma e indicadores.
- 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.
- Visibilidade da Resposta: A resposta (cronograma otimizado) é o entregável final e não é passada para outros agentes internos.
3.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. O cronograma gerado é o resultado que deve ser disponibilizado ao usuário.