Agente de IA para Avaliação de Impacto de Métodos de Ensino

29 de November de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que analisa dados de desempenho para avaliar o impacto de diferentes métodos de ensino.

1. Propósito e Escopo

Este documento define todos os prompts e detalhes de requisitos para um agente de IA que analisa dados de desempenho para avaliar o impacto de diferentes métodos de ensino e práticas pedagógicas sobre o aprendizado dos alunos. Este documento é um modelo de PRD ou Documento de Requisitos de Produto específico para construção de Agentes de IA.

O objetivo principal é fornecer uma análise precisa e objetiva que permita a comparação de diferentes abordagens pedagógicas e identifique as mais eficazes.

2. Contexto e Problema

A necessidade de avaliar o impacto real de métodos de ensino sobre o desempenho dos alunos e a falta de dados objetivos para comparar diferentes práticas pedagógicas são problemas críticos enfrentados por instituições educacionais.

As instituições precisam de ferramentas que forneçam insights baseados em dados para melhorar continuamente suas práticas pedagógicas.

3. Impactos Esperados

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

  • Prover dados objetivos para a comparação de práticas pedagógicas.
  • Identificar métodos de ensino mais eficazes com base em dados de desempenho dos alunos.
  • Auxiliar na tomada de decisões para aprimorar abordagens educacionais.

4. Visão Geral da Solução

O agente de IA para avaliação de impacto de métodos de ensino processa dados de desempenho dos alunos, aplica análises estatísticas para identificar práticas pedagógicas eficazes e gera relatórios detalhados para suporte à decisã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 na avaliação de métodos de ensino.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a validação e normalização dos dados educacionais e termina com a geração de um relatório de impacto pedagógico.

Agentes Função Principal
Agente de Validação e Normalização de Dataset Educacional (RF 1) Validar e normalizar o dataset educacional para garantir integridade e consistência dos dados.
Agente de Preparação de Script de Análise (RF 2) Preparar scripts de análise estatística para avaliar o impacto dos métodos de ensino.
Agente de Execução de Análise Python (RF 3) Executar scripts de análise para calcular o impacto dos métodos de ensino.
Agente de Interpretação e Relatório de Impacto Pedagógico (RF 4) Interpretar resultados e gerar relatório de impacto pedagógico.

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 Validação e Normalização de Dataset Educacional

1.1 Tarefa do Agente

Validar a integridade, coerção de tipos e consistência do dataset de desempenho, padronizar nomes/valores de colunas e gerar um dataset normalizado e pronto para análise, com relatório estruturado de qualidade.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um arquivo .csv ou .xlsx contendo os dados brutos dos alunos e um objeto JSON de schema esperado.

# 2. Objetivo
Validar a integridade e consistência dos dados, normalizar os valores e gerar um dataset pronto para análise.

# 3. Regras que você deve seguir para gerar sua resposta
- Verificar presença de todas as colunas obrigatórias definidas em colunas; se ausente, definir dataset_validado=false e registrar alerta com codigo=COLUNA_AUSENTE e a lista de colunas faltantes.
- Coagir tipos conforme schema: números para nota_pre, nota_pos, assiduidade, idade; strings para ids/labels; aprovado converter para 0/1 aceitando {true/false, 1/0, "sim"/"nao"}. Se valores não coeríveis, marcar como missing e registrar contagem por coluna em faixas_invalidas.
- Construir ganho_pre_pos = nota_pos - nota_pre quando ambas presentes; se qualquer uma ausente, deixar nulo nessa linha e registrar no missing_por_coluna.
- Normalizar rótulos de metodo_ensino: trim, lowercase e substituir variações comuns (ex.: "Tradicional", "trad", "tradicional") por um único rótulo; preservar mapeamento original->normalizado no campo normalizacoes_aplicadas.
- Validar unicidade de id_aluno por (tempo) quando o desenho exigir observações únicas; se houver duplicidade, consolidar a mais recente por tempo se possível, senão registrar duplicados_por_id>0 e alerta DUPLICIDADE_ID.
- Validar ranges: nota_* entre [0,100] se escala for percentual; se ranges diferentes forem detectados por disciplina/turma e normalizacoes_opcionais.padronizar_notas_por estiver definido, padronizar z-score por agrupamento especificado e registrar padronizacao_por_disciplina/turma=true.
- Verificar percent_missing_outcome na métrica principal definida; se >20%, adicionar alerta MISSING_OUTCOME_ALTO (severidade alta) e manter dataset_validado=true apenas se houver alternativa de métrica secundária disponível; caso contrário, dataset_validado=false.
- Checar min_tamanho_grupo por metodo_ensino com base em min_tamanho_grupo; definir min_tamanho_grupo_ok = true se todos os grupos de comparação (referencia e alternativas) tiverem n >= limiar; caso contrário, false e alerta AMOSTRA_INSUFICIENTE com lista de grupos afetados.
- Validar presença de clusters solicitados (turma, professor); se ausentes, remover clusters não disponíveis dos próximos passos e emitir alerta CLUSTER_INDISPONIVEL.
- Ordenar temporalmente a variável tempo quando fornecida e validar consistência pré→pós quando existir nota_pre/nota_pos; se incoerente (pós anterior ao pré) marcar alerta ORDEM_TEMPORAL_INCONSISTENTE.
- Não executar análises estatísticas; limitar-se a limpeza, normalização e geração do dataset_normalizado_path e relatório de qualidade determinístico. 
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 ou .xlsx contendo os dados brutos dos alunos 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 de dados estruturados (.csv ou .xlsx) contendo as informações brutas dos alunos.
  • Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos: .csv, .xlsx.
  • 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 JSON contendo o caminho para o arquivo normalizado, uma amostra preview, o schema resultante e um relatório de qualidade.
  • Exemplo de Estrutura de Output:
     {
      "dataset_normalizado_path": "string (caminho para arquivo .csv normalizado)",
      "amostra_preview": [{"coluna": "valor_exemplo"}],
      "schema_resultante": {"colunas": {"id": "id_aluno", "tratamento": "metodo_ensino", "tempo": "tempo", "nota_pre": "number", "nota_pos": "number", "aprovado": "0|1", "assiduidade": "number", "sexo": "string", "idade": "number", "socioeconomico": "string|number", "turma": "string", "professor": "string", "disciplina": "string", "ganho_pre_pos": "number"}},
      "qualidade": {
        "missing_por_coluna": {"coluna": 0.0},
        "duplicados_por_id": 0,
        "min_tamanho_grupo_ok": true,
        "grupos": [{"metodo": "metodo_A", "n": 120}, {"metodo": "metodo_B", "n": 98}],
        "faixas_invalidas": [{"coluna": "nota_pos", "contagem": 0}],
        "percent_missing_outcome": 1.2
      },
      "normalizacoes_aplicadas": ["trim_e_lowercase_para_metodo_ensino", "mapeamento_booleans_aprovado_para_0_1", "construcao_ganho_pre_pos", "padronizacao_por_disciplina: false|true"],
      "alertas": [{"codigo": "MISSING_OUTCOME_ALTO", "severidade": "alta", "mensagem": ">20% de missing em outcome"}],
      "dataset_validado": true
    } 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho aproximado de 4.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: 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 Agente de Preparação de Script de Análise (RF 2).

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

Ao concluir sua execução, esse agente aciona o Agente de Preparação de Script de Análise (RF 2).

RF 2. Agente de Preparação de Script de Análise

2.1 Tarefa do Agente

Ler o dataset normalizado e preparar, de forma determinística, o script de análise estatística (ANCOVA, pré–pós, diferença-em-diferenças ou análise observacional com escore de propensão) para estimar o impacto dos métodos de ensino e comparar práticas pedagógicas.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON contendo o caminho para o dataset normalizado e parâmetros analíticos.

# 2. Objetivo
Preparar um script de análise estatística para estimar o impacto dos métodos de ensino.

# 3. Regras que você deve seguir para gerar sua resposta
- Herde e respeite min_tamanho_grupo_ok do agente anterior; se false, ajustar automaticamente a estratégia para análises descritivas reforçadas e ANCOVA simplificada com nota_pre quando aplicável e inserir aviso em avisos_planejamento.
- Seleção do desenho:
  • ab: usar ANCOVA (outcome ~ tratamento + nota_pre + covariaveis) se nota_pre disponível; senão, regressão com covariáveis e registrar limitação.
  • pre_pos: usar teste t pareado e/ou ANCOVA dentro do grupo; rotular evidência como fraca e exigir tamanho do efeito com IC.
  • did: modelo com efeitos fixos por unidade/grupo e tempo; incluir checagem de tendências paralelas pré-tratamento.
  • observacional: calcular escore de propensão com covariaveis especificadas, produzir pesos para IPW ou pareamento e rodar regressão do outcome ponderada.
- Clusters: se clusters inclui turma ou professor e estão presentes, usar erros-padrão robustos clusterizados; se ausentes, remover do parâmetro e registrar aviso CLUSTER_INDISPONIVEL.
- Multicolinearidade: antes da especificação final, planejar cálculo de VIF e remover covariáveis com VIF>10, registrando lista em checagens_planejadas e comentários do script.
- Múltiplas comparações: se comparacoes.alternativas tiver mais de 1 método, planejar ajuste de FDR (Benjamini–Hochberg) nos p-valores e incluir passo no script.
- Outliers: planejar análise de sensibilidade com winsorização p01–p99 sem alterar a análise principal; incluir ambos os caminhos no script com flags de execução.
- Heterogeneidade: planejar efeitos por subgrupos (sexo, socioeconomico, tercis de nota_pre) quando n por subgrupo >= 30; caso contrário, pular e registrar aviso SUBGRUPO_INSUFICIENTE.
- Determinismo: definir seed fixa (por exemplo, 12345) no início do script; nomear artefatos de saída com padrão ./figs/{comparacao}_{metrica}.png.
- Saídas estruturadas: o script deve imprimir/salvar um JSON com chaves: efeitos, diagnosticos, sensibilidade, subgrupos, figuras e metadados do modelo, garantindo nomes consistentes com expected_output do executor. 
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 o caminho para o dataset normalizado e parâmetros analíticos.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (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 JSON contendo o script Python gerado, parâmetros analíticos, checagens planejadas e definições de métricas.
  • Exemplo de Estrutura de Output:
     {
      "script": "string com código Python (pandas/statsmodels) pronto para execução, determinístico e com semente fixa",
      "params": {"desenho_analitico": "did|ab|pre_pos|observacional", "metrica_principal": "...", "covariaveis": ["..."], "clusters": ["..."], "comparacoes": {"referencia": "...", "alternativas": ["..."]}},
      "checagens_planejadas": ["balanceamento_covariaveis", "tendencias_paralelas", "overlap_propensity", "outliers"],
      "definicoes_metricas": {"ganho_pre_pos": "nota_pos - nota_pre", "aprovacao": "aprovado em {0,1}"},
      "colunas_normalizadas": {"id": "id_aluno", "tratamento": "metodo_ensino", "tempo": "tempo"},
      "avisos_planejamento": [{"codigo": "AMOSTRA_INSUFICIENTE", "mensagem": "..."}]
    } 
  • 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.
  • 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 (JSON do script) deve ser visível para o Agente de Execução de Análise Python (RF 3).

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

Ao concluir sua execução, esse agente aciona o Agente de Execução de Análise Python (RF 3).

RF 3. Agente de Execução de Análise Python

3.1 Tarefa do Agente

Executar o script Python gerado para calcular os efeitos dos métodos de ensino, diagnósticos e métricas definidas.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo o script Python pronto para execução e os arquivos necessários.

# 2. Objetivo
Executar o script Python para calcular os efeitos dos métodos de ensino.

# 3. Regras que você deve seguir para gerar sua resposta
- Esse agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a chamada à API de execução Python cujo payload ele já recebe pronto. 
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 o script Python e os arquivos de dados necessários.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 10.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo os resultados da execução do script, incluindo efeitos, diagnósticos, sensibilidade, subgrupos, figuras e metadados do modelo.
  • Exemplo de Estrutura de Output:
     {
      "efeitos": [{"comparacao": "metodo_B vs metodo_A", "estimativa": -0.23, "ic95": [-0.35, -0.11], "p_valor": 0.001, "p_ajustado": 0.003, "tamanho_efeito": {"cohens_d": -0.28}}],
      "diagnosticos": {"balanceamento": {...}, "tendencias_paralelas": {"p_valor": 0.42}, "overlap_propensity": {"min": 0.05, "max": 0.95}, "vif": {"nota_pre": 2.1}},
      "sensibilidade": {"winsorizado": {...}, "cluster_robusto": {...}},
      "subgrupos": {"genero": {...}, "socioeconomico": {...}},
      "figuras": [{"tipo": "forest", "path": "./figs/efeitos.png"}],
      "metadados": {"seed": 12345, "versao_script": "v1"}
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: Não se aplica
  • Temperatura: Não se aplica

3.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá executar o script Python utilizando uma API externa de execução de código.

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 Interpretação e Relatório de Impacto Pedagógico (RF 4).

RF 4. Agente de Interpretação e Relatório de Impacto Pedagógico

4.1 Tarefa do Agente

Interpretar os resultados estatísticos, comparar métodos, destacar a prática mais eficaz e produzir relatório executivo e técnico com recomendações acionáveis e resumo estruturado.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com resultados do executor contendo efeitos, diagnósticos, sensibilidade, subgrupos, figuras e metadados, além do JSON de parâmetros originalmente usado.

# 2. Objetivo
Interpretar os resultados, comparar métodos, destacar a prática mais eficaz e produzir relatório executivo e técnico.

# 3. Regras que você deve seguir para gerar sua resposta
- Ranking e decisão: ordenar métodos por estimativa de efeito na métrica principal (maior é melhor para ganho/nota; para taxa de reprovação, inverter o sinal). Declarar metodo_mais_eficaz apenas se p_ajustado < 0.05 e IC95 não cruza zero; caso contrário, relatar empate técnico.
- Significância prática: além de p-valor, definir limiar de relevância prática mínima (MRP) como 0.2 SD da baseline para métricas contínuas ou 3 p.p. em métricas binárias; rotular comparações que atendem MRP como impacto_relevante=true.
- Confiabilidade: classificar nivel como alta se diagnósticos favoráveis (balanceamento ok, tendências paralelas não rejeitadas no DiD, overlap 0.05–0.95, VIF<10) e sensibilidade consistente; moderada se parcialmente atendidos; baixa se falhas críticas ou percent_missing_outcome>20%.
- Linguagem causal: usar termos causais apenas quando o desenho sustentar (randomização/DiD válido). Caso contrário, utilizar linguagem de associação ("associado a").
- Equidade: resumir efeitos por subgrupos; se diferença absoluta de efeito entre subgrupos > 0.2 SD ou >3 p.p., marcar disparidades=true e incluir recomendações de mitigação específicas.
- Recomendações acionáveis: para cada método com impacto_relevante=true, listar requisitos de implementação (treinamento, recursos), custo/complexidade (baixo|médio|alto) e métricas de monitoramento (ex.: ganho médio, taxa de aprovação por turma) com periodicidade sugerida.
- Transparência: listar limitações (viés de seleção, missing, outliers) e seu possível impacto direcional nas conclusões. Incluir links/paths de figuras do executor e tabela consolidada de efeitos com IC e p_ajustado.
- Estrutura do relatório: produzir seções fixas (Sumário Executivo, Metodologia, Resultados, Diagnósticos e Robustez, Heterogeneidade e Equidade, Recomendações, Apêndice Técnico) exatamente nessa ordem e refletir no resumo_estruturado os mesmos achados-chave. 
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 um JSON contendo os resultados da análise e os parâmetros originalmente usados.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 8.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o relatório em formato Markdown e um resumo estruturado dos achados.
  • Exemplo de Estrutura de Output:
     {
      "relatorio_markdown": "# Relatório de Impacto de Métodos de Ensino...",
      "resumo_estruturado": {
        "metodo_mais_eficaz": "string",
        "comparacoes_significativas": [{"comparacao": "B vs A", "efeito": -0.23, "ic95": [-0.35, -0.11], "p_ajustado": 0.003}],
        "tamanho_de_efeito": {"medida": "cohens_d|OR|RR", "valor": 0.28},
        "confiabilidade": {"nivel": "alta|moderada|baixa", "justificativa": "string"},
        "implicacoes_pedagogicas": ["string"],
        "equidade": {"disparidades": true, "detalhes": "string"},
        "recomendacoes": ["string"],
        "limitacoes": ["string"]
      }
    } 
  • Número de caracteres esperado: O JSON final será extenso, com um tamanho mínimo esperado de 6.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.
  • 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 (relatório e resumo) é o entregável final e não é passada para outros agentes internos.

4.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.