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 para Monitoramento de Progresso Educacional. Esse agente é projetado para acompanhar o progresso acadêmico dos alunos ao longo do tempo, gerando relatórios detalhados sobre avanços e áreas que necessitam de atenção. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.
2. Contexto e Problema
Cenário Atual
As instituições de ensino enfrentam desafios significativos no acompanhamento contínuo e detalhado do progresso acadêmico dos alunos. A falta de relatórios que identifiquem áreas de atenção e progresso individual dificulta a intervenção oportuna por parte de professores e pais.
Problemas Identificados
- Falta de acompanhamento contínuo: As escolas carecem de sistemas que monitorem de forma sistemática o desempenho dos alunos.
- Relatórios insuficientes: A ausência de relatórios detalhados impede a identificação de áreas que necessitam de atenção.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Melhoria no acompanhamento acadêmico: Proporcionar um monitoramento contínuo e detalhado do progresso dos alunos.
- Relatórios detalhados: Gerar relatórios que identifiquem avanços e áreas de atenção, fornecendo insights para professores e pais.
4. Visão Geral da Solução
O agente de IA para monitoramento de progresso educacional coleta dados de desempenho acadêmico de forma contínua e sistemática, gerando relatórios detalhados sobre avanços e áreas que necessitam de atençã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 acompanhamento do progresso acadêmico dos alunos.
A solução consiste em um fluxo de automação composto por múltiplos agentes de IA. O processo inicia com a coleta de dados acadêmicos e termina com a geração de relatórios detalhados para professores e pais.
| Agentes | Função Principal |
|---|---|
Agente de Preparação de Parâmetros de Coleta de Dados Acadêmicos | Definir parâmetros padronizados para coleta de dados via API e documentos. |
Agente de Execução de Chamada à API | Realizar chamadas às APIs configuradas para obter dados acadêmicos. |
Agente de Execução de Consulta a Documento | Realizar consultas a documentos para obter dados acadêmicos. |
Agente de Normalização e Consolidação de Dados Acadêmicos | Consolidar e padronizar dados de múltiplas fontes. |
Agente de Geração de Relatório de Progresso Educacional | Produzir relatórios destacando avanços e áreas que necessitam atenção. |
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 Preparação de Parâmetros de Coleta de Dados Acadêmicos
1.1 Tarefa do Agente
Receber a configuração de fontes de dados e produzir parâmetros padronizados para coleta via API e/ou consulta a documentos, além de definir o período de análise e chaves de unificação.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a configuração das fontes de dados acadêmicos. Este input contém informações sobre APIs e documentos que serão utilizados para coleta de dados.
# 2. Objetivo
Produzir parâmetros padronizados para coleta de dados via API e/ou consulta a documentos, definindo também o período de análise e as chaves de unificação.
# 3. Regras que você deve seguir para gerar sua resposta
- Definir coleta_via_api = true se data_source_config.api.habilitada = true; definir coleta_via_documento = true se data_source_config.documentos.habilitada = true.
- Propagar periodo_analisado.inicio e fim para todos os parâmetros de busca (query.data_inicio, query.data_fim) quando canal API estiver habilitado.
- Fixar padroes_unificacao.chave_aluno e chave_data a partir de data_source_config.chaves; se ausentes, usar defaults "aluno_id" e "data".
- Para cada item de documentos, preencher colunas_esperadas conforme o tipo.
- Se periodo_analisado estiver ausente, rejeitar preparação e indicar erro em campo error_msg no output explicando a falta de datas.
- Não expor segredos; copiar headers como recebidos sem mascarar, assumindo ambiente seguro de orquestração.
# 4. Exemplo de Output que você deve produzir
{
"coleta_via_api": true,
"coleta_via_documento": false,
"parametros_api": { "requisicoes": [{"nome": "avaliacoes", "url": "...", "headers": {..}, "query": {"data_inicio": "YYYY-MM-DD", "data_fim": "YYYY-MM-DD"}}, ...] },
"parametros_documento": { "consultas": [{"nome": "historico_avaliacoes", "tipo": "CSV", "local": "...", "colunas_esperadas": ["aluno_id","disciplina","data","tipo","nota","escala_max","peso","competencias"]}, ...] },
"padroes_unificacao": { "chave_aluno": "aluno_id", "chave_data": "data" },
"periodo_analisado": { "inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD" }
} 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 da configuração das fontes de dados 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 de um arquivo na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um objeto JSON contendo a configuração das fontes de dados.
-
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.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os parâmetros padronizados para coleta de dados.
-
Exemplo de Estrutura de Output:
{ "coleta_via_api": true, "coleta_via_documento": false, "parametros_api": { ... }, "parametros_documento": { ... }, "padroes_unificacao": { "chave_aluno": "aluno_id", "chave_data": "data" }, "periodo_analisado": { "inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD" } } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.500 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: 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 Execução de Chamada à API
2.1 Tarefa do Agente
Realizar chamadas às APIs configuradas para obter dados de avaliações, frequências e tarefas no período informado.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo os parâmetros configurados para realizar chamadas às APIs de dados acadêmicos.
# 2. Objetivo
Executar as chamadas às APIs para obter dados de avaliações, frequências e tarefas no período informado.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a chamada à API cujo payload já recebe pronto.
# 4. Exemplo de Output que você deve produzir
{
"dados_api": { "avaliacoes": [ ... ], "frequencias": [ ... ], "tarefas": [ ... ] }
} 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 os parâmetros configurados para as chamadas às APIs.
-
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é 5.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os dados obtidos das APIs.
-
Exemplo de Estrutura de Output:
{ "dados_api": { "avaliacoes": [ ... ], "frequencias": [ ... ], "tarefas": [ ... ] } } - Número de caracteres esperado: O JSON gerado terá um tamanho variável, dependendo da quantidade de dados retornados pelas APIs.
2.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica
2.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá se conectar às APIs configuradas para obter os dados necessários.
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 Execução de Consulta a Documento
3.1 Tarefa do Agente
Realizar consulta a documentos (CSV/XLSX) informados para obter dados de avaliações, frequências e tarefas.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo os parâmetros configurados para realizar consultas a documentos de dados acadêmicos.
# 2. Objetivo
Executar as consultas a documentos para obter dados de avaliações, frequências e tarefas.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a consulta ao documento com parâmetros de busca que já recebe prontos.
# 4. Exemplo de Output que você deve produzir
{
"dados_documento": { "avaliacoes": [ ... ], "frequencias": [ ... ], "tarefas": [ ... ] }
} 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 1).
- Tipo do input: Este agente deve ser apto a receber como input os parâmetros configurados para as consultas a documentos.
-
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é 5.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo os dados obtidos das consultas a documentos.
-
Exemplo de Estrutura de Output:
{ "dados_documento": { "avaliacoes": [ ... ], "frequencias": [ ... ], "tarefas": [ ... ] } } - Número de caracteres esperado: O JSON gerado terá um tamanho variável, dependendo da quantidade de dados retornados pelas consultas.
3.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica
3.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá acessar os documentos configurados para obter os dados necessários.
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 Normalização e Consolidação de Dados Acadêmicos
4.1 Tarefa do Agente
Ingerir dados acadêmicos de múltiplas fontes e períodos, padronizar escalas, tratar ausências e consolidar métricas por aluno, disciplina e período temporal.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados acadêmicos de múltiplas fontes, incluindo APIs e documentos.
# 2. Objetivo
Padronizar e consolidar os dados acadêmicos, tratando ausências e calculando métricas por aluno e disciplina.
# 3. Regras que você deve seguir para gerar sua resposta
- Unificar dados de API e documentos por concatenação de conjuntos por entidade (avaliacoes, frequencias, tarefas).
- Verificar campos mínimos por entidade e mover registros inválidos para metadados.
- Converter datas para formato ISO YYYY-MM-DD e descartar registros fora do periodo_analisado.
- Calcular nota_normalizada_0_10 = (nota/escala_max)*10 quando escala_max > 0.
- Calcular nota_ponderada = nota_normalizada_0_10 * peso.
- Deduplicar registros mantendo o de maior peso.
- Calcular frequencia_percentual e sinalizar flag atencao_baixa_frequencia se < 85%.
- Contar tarefas_em_atraso e calcular tendencia_30d.
- Agregar etiquetas de competencias e sugerir lacunas_sugeridas.
- Substituir nome completo por aluno_referencia e remover PII não necessária.
- Preencher metadados com contagens e indicadores globais.
# 4. Exemplo de Output que você deve produzir
{
"periodo_analisado": {"inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD"},
"consolidado": [{"aluno_id": "A123", "aluno_referencia": "iniciais_ou_id", "turma": "8A", "disciplinas": [{"nome": "Matemática", "nota_media_ponderada": 7.9, "nota_media_normalizada_0_10": 7.9, "tendencia": {"slope_30d": -0.12, "classificacao": "queda_leve"}, "frequencia_percentual": 92.5, "tarefas_em_atraso": 1, "competencias": [{"nome": "frações", "dominancia": "média"}, {"nome": "operações", "dominancia": "alta"}], "lacunas_sugeridas": ["frações avançadas"], "flags": {"atencao_baixa_frequencia": false, "alerta_queda_notas": true}}], "indicadores_gerais": {"nota_media_global": 7.2, "frequencia_global": 95.1, "tendencia_global_slope_30d": 0.03}, "metadados": {"versao_pipeline": "1.0.0", "data_processamento": "YYYY-MM-DD"}}]
} 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 dos agentes de coleta de dados (RF 2 e RF 3).
- Tipo do input: Este agente deve ser apto a receber como input os dados acadêmicos brutos coletados pelos agentes anteriores.
-
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é 20.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON consolidado contendo as métricas padronizadas por aluno e disciplina.
-
Exemplo de Estrutura de Output:
{ "periodo_analisado": {"inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD"}, "consolidado": [{"aluno_id": "A123", "aluno_referencia": "iniciais_ou_id", "turma": "8A", "disciplinas": [{...}], "indicadores_gerais": {...}, "metadados": {...}}] } - 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: Utiliza lógica interna para cálculos de normalização e consolidação.
- 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 Geração de Relatório de Progresso Educacional
5.1 Tarefa do Agente
Produzir relatórios em markdown, claros e acionáveis, destacando avanços, áreas que necessitam atenção e recomendações específicas para professores e para pais/responsáveis.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um objeto JSON consolidado produzido pelo Agente de Normalização e Consolidação de Dados Acadêmicos. # 2. Objetivo Produzir relatórios em markdown que destaquem avanços, áreas que necessitam atenção e ofereçam recomendações específicas para professores e para pais/responsáveis. # 3. Regras que você deve seguir para gerar sua resposta - Fixar seções na ordem: Destaques de Avanço; Áreas que Necessitam Atenção; Recomendações para Professores; Recomendações para Pais/Responsáveis; Indicadores Gerais; Observações de Qualidade de Dados; versões síntese para docentes e linguagem acessível para pais. - Marcar como avanço quando tendência_30d > 0.15 ou quando a média atual supera em ≥ 1.0 ponto a média do período anterior. - Sinalizar disciplina se qualquer condição for verdadeira: nota_media_normalizada_0_10 < 6.0; tendência_30d ≤ -0.2; frequência_percentual < 85%; tarefas_em_atraso ≥ 2. - Produzir recomendações distintas e mensuráveis para cada alerta, com horizonte e critério de verificação. - Substituir termos técnicos na versão para pais e explicar sinais de tendência. - Correlacionar frequência com desempenho e priorizar ações para recuperação de presença se < 85%. - Exibir apenas aluno_referencia e não incluir PII. - Descrever em Observações quaisquer normalizações, exclusões e deduplicações que possam impactar a interpretação. - Incluir variação por disciplina impactada se metadados indicarem dados anteriores. # 4. Exemplo de Output que você deve produzir # Relatório de Progresso Educacional Período analisado: YYYY-MM-DD a YYYY-MM-DD Turma: 8A Aluno (referência): iniciais_ou_id ## Destaques de Avanço - Matemática: melhoria consistente nas últimas 6 semanas (tendência 30 dias: +0.18); média atual 7.9. ## Áreas que necessitam atenção - Matemática: queda leve recente (tendência 30 dias: -0.12) com lacuna em frações avançadas; 1 tarefa em atraso; frequência 92.5% (OK, acima de 85%). ## Recomendações para Professores - Foco em revisão dirigida de frações avançadas com exercícios graduais (3 encontros); aplicar miniavaliação diagnóstica ao final. - Monitorar tarefas: reduzir carga de itens longos; reforçar prazos com lembretes estruturados. ## Recomendações para Pais/Responsáveis - Estabelecer rotina de 20 minutos, 3x por semana, para prática guiada de frações (usar lista sugerida pelo professor). - Verificar agenda de entregas e apoiar cumprimento dos prazos na próxima quinzena. ## Indicadores Gerais do Aluno - Nota média global: 7.2 - Frequência global: 95.1% - Tendência global (30d): estável ## Observações de Qualidade de Dados - 2 registros sem escala_max foram normalizados via regra padrão; 1 avaliação duplicada removida. --- # Versão para Equipe Docente (Síntese por Disciplina) - Matemática: média 7.9; lacunas: frações avançadas; ações: revisão dirigida, miniavaliação em 2 semanas. - Português: média 7.1; estabilidade; sem lacunas críticas. # Versão para Pais/Responsáveis (Linguagem Acessível) - Seu(a) filho(a) manteve bom desempenho geral e precisa reforçar frações avançadas em matemática. Recomendamos sessões curtas 3x/semana e atenção aos prazos das tarefas.
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 o objeto JSON consolidado com os dados acadêmicos padronizados.
-
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.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um relatório em formato Markdown, destacando avanços, áreas que necessitam atenção e recomendações.
-
Exemplo de Estrutura de Output:
# Relatório de Progresso Educacional Período analisado: YYYY-MM-DD a YYYY-MM-DD Turma: 8A Aluno (referência): iniciais_ou_id ## Destaques de Avanço - Matemática: melhoria consistente nas últimas 6 semanas (tendência 30 dias: +0.18); média atual 7.9. ## Áreas que necessitam atenção - Matemática: queda leve recente (tendência 30 dias: -0.12) com lacuna em frações avançadas; 1 tarefa em atraso; frequência 92.5% (OK, acima de 85%). ## Recomendações para Professores - Foco em revisão dirigida de frações avançadas com exercícios graduais (3 encontros); aplicar miniavaliação diagnóstica ao final. - Monitorar tarefas: reduzir carga de itens longos; reforçar prazos com lembretes estruturados. ## Recomendações para Pais/Responsáveis - Estabelecer rotina de 20 minutos, 3x por semana, para prática guiada de frações (usar lista sugerida pelo professor). - Verificar agenda de entregas e apoiar cumprimento dos prazos na próxima quinzena. ## Indicadores Gerais do Aluno - Nota média global: 7.2 - Frequência global: 95.1% - Tendência global (30d): estável ## Observações de Qualidade de Dados - 2 registros sem escala_max foram normalizados via regra padrão; 1 avaliação duplicada removida. --- # Versão para Equipe Docente (Síntese por Disciplina) - Matemática: média 7.9; lacunas: frações avançadas; ações: revisão dirigida, miniavaliação em 2 semanas. - Português: média 7.1; estabilidade; sem lacunas críticas. # Versão para Pais/Responsáveis (Linguagem Acessível) - Seu(a) filho(a) manteve bom desempenho geral e precisa reforçar frações avançadas em matemática. Recomendamos sessões curtas 3x/semana e atenção aos prazos das tarefas.
- Número de caracteres esperado: O relatório em Markdown terá um tamanho aproximado de 3.000 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
5.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- 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 e não é passada para outros agentes internos.
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.