Agente de IA para Avaliação de Impacto de Atividades Extracurriculares

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

Como criar um agente de IA que coleta feedback de alunos e professores, analisa dados de participação e gera insights sobre o impacto das atividades extracurriculares.

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 "Avaliação de Impacto de Atividades Extracurriculares", uma solução de automação projetada para coletar feedback de alunos e professores, analisar dados de participação e gerar insights sobre o impacto das atividades extracurriculares. 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 feedback e dados de participação em insights acionáveis, permitindo melhorias nas atividades extracurriculares oferecidas pelas instituições de ensino.

2. Contexto e Problema

Cenário Atual

As instituições de ensino enfrentam desafios significativos ao tentar avaliar o impacto das atividades extracurriculares. A falta de dados estruturados e a dificuldade em coletar feedback de maneira sistemática são barreiras comuns.

  • Falta de dados estruturados sobre o impacto das atividades extracurriculares.
  • Dificuldade em coletar feedback de maneira sistemática.

Problemas Identificados

  • Coleta de Feedback: A coleta de feedback de alunos e professores é muitas vezes inconsistente e não padronizada, dificultando a análise.
  • Análise de Dados: Sem uma análise detalhada dos dados de participação e impacto, é difícil gerar insights acionáveis.

3. Impactos Esperados

A implementação deste fluxo de automação visa alcançar os seguintes resultados:

  • Melhorar a coleta de feedback de alunos e professores, tornando-a mais sistemática e padronizada.
  • Gerar insights acionáveis sobre o impacto das atividades extracurriculares.
  • Fornecer recomendações baseadas em dados para melhorar as atividades.

4. Visão Geral da Solução

O agente de IA para avaliação de impacto de atividades extracurriculares coleta feedback de alunos e professores, analisa dados de participação e gera insights sobre o impacto das atividades. 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 e melhoria das atividades extracurriculares.

A solução consiste em um fluxo de automação composto por 3 agentes de IA. O processo inicia com a padronização e anonimização do feedback e termina com a geração de insights e recomendações para melhorar as atividades.

Agentes Função Principal
Agente de Padronização e Anonimização de Feedback (RF 1) Receber respostas brutas de alunos e professores e converter em um JSON padronizado e anonimizado, pronto para análise.
Agente de Análise de Participação e Impacto (RF 2) Calcular métricas de participação e impacto por atividade e por segmento (alunos vs professores) a partir dos dados padronizados.
Agente de Geração de Insights e Recomendações (RF 3) Transformar métricas em ações priorizadas para melhorar as atividades extracurriculares.

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 Padronização e Anonimização de Feedback

1.1 Tarefa do Agente

Receber respostas brutas de alunos e professores e converter em um JSON padronizado e anonimizado, pronto para análise.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma coleção de respostas de feedback de alunos e professores. Este feedback é composto por texto livre, planilhas ou formulários exportados.

# 2. Objetivo
Converter o feedback bruto em um JSON padronizado e anonimizado, pronto para análise.

# 3. Regras que você deve seguir para gerar sua resposta
- Mapeie e padronize papéis para {'aluno','professor'}; quaisquer variações (ex: 'docente', 'educador') mapeie para 'professor'.
- Gere pessoa_anon_id com hash determinístico a partir de (nome|email|id_interno, se houver) + sal 'projeto_extracurriculares'; se não houver identificador, gere uuid v4.
- Remova PII: zere nome, email e identificadores originais no output; mantenha apenas pessoa_anon_id.
- Valide faixa de nota: converta escala 1-5 para 0-10 via (nota-1)*2.5; se texto como '10/10' extraia 10; se ambíguo, defina nota_satisfacao_0a10=null e marque campo motivo_nota_nula='ambiguidade'.
- Classifique sentimento do comentario em {positivo, neutro, negativo} com pontuação contínua sentimento_score_-1a1; se comentario vazio, defina 'neutro' e score 0.
- Normalize atividade: se houver códigos/nomes divergentes, crie atividade_id slugificado (minúsculas, sem acento, separador '-') e preserve atividade_nome original padronizado em Title Case.
- Padronize data para ISO8601 (YYYY-MM-DD); se não for possível inferir data, use null e registre campo data_ausente=true.
- Construa participacao_registros: se houver presença ou lista de chamadas, cruze por pessoa_anon_id e atividade_id; presente=true quando explicitamente marcada presença; se houver apenas inscrição sem presença, presente=false.
- Defina carga_horas a partir da duração informada; se duração em texto (ex: '1h30'), converta para decimal 1.5; se ausente, null.
- Deduplicate: registros com mesmo pessoa_anon_id, atividade_id e data_iso8601 e comentario idêntico devem ser mesclados mantendo maior nota; registre campo deduplicado_de=[ids originais].
- Validação de completude: defina em cada registro campos validacao_completude {tem_atividade, tem_data_ou_periodo, tem_nota_ou_comentario} e um boolean valido_para_analise=(tem_atividade AND (tem_nota_ou_comentario)).
- Detecte outliers de nota por atividade: se desvio superior a 3 desvios-padrão da média provisória, marque flag_outlier_nota=true (não excluir, apenas sinalizar).
- Campos obrigatórios no output: todos os registros devem conter id_registro (uuid), atividade_id, atividade_nome, papel, anonimizado, valido_para_analise.
- Origem_coleta: preencha com 'formulario', 'planilha', 'texto_livre' segundo a fonte inferida do input. 
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 de feedback 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 é uma coleção de respostas de feedback em texto livre, planilhas ou formulários exportados.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .csv, .xlsx, .txt.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 50.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON padronizado contendo arrays feedback_registros e participacao_registros, com campos especificados nas regras.
  • Exemplo de Estrutura de Output:
     {
      "feedback_registros": [
        {
          "id_registro": "uuid",
          "papel": "aluno",
          "atividade_id": "atividade-exemplo",
          "atividade_nome": "Atividade Exemplo",
          "data_iso8601": "2025-12-20",
          "comentario": "Excelente atividade!",
          "nota_satisfacao_0a10": 9,
          "sentimento_label": "positivo",
          "sentimento_score_-1a1": 0.8,
          "anonimizado": true,
          "origem_coleta": "formulario",
          "valido_para_analise": true
        }
      ],
      "participacao_registros": [
        {
          "pessoa_anon_id": "anon-id",
          "atividade_id": "atividade-exemplo",
          "data_iso8601": "2025-12-20",
          "presente": true,
          "carga_horas": 1.5
        }
      ]
    } 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 5.000 caracteres, podendo variar conforme a quantidade de registros 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: 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 Análise de Participação e Impacto (RF 2).

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

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

RF 2. Agente de Análise de Participação e Impacto

2.1 Tarefa do Agente

Calcular métricas de participação e impacto por atividade e por segmento (alunos vs professores) a partir dos dados padronizados.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com arrays feedback_registros e participacao_registros padronizados e validados pelo agente anterior.

# 2. Objetivo
Calcular métricas de participação e impacto por atividade e por segmento (alunos vs professores) a partir dos dados padronizados.

# 3. Regras que você deve seguir para gerar sua resposta
- Inclua apenas registros com valido_para_analise=true para métricas de satisfação; para participação, aceite presença explicitamente marcada.
- participacao_total = soma de registros presente=true por atividade.
- participantes_unicos = contagem de pessoa_anon_id distintos com pelo menos uma presença na atividade.
- taxa_participacao_se_disponivel: se houver total_matriculados_por_atividade no input, calcule participantes_unicos/total_matriculados; caso contrário, defina null e marque qualidade_dados.lacunas['taxa_participacao']='sem_base'.
- carga_horas_total = soma de carga_horas presentes; ignore nulls.
- satisfacao_media_0a10 e mediana: calcule sobre notas válidas; se n<5, adicione flag_baixa_amostra=true para a atividade.
- Distribuição de notas: bucketize em detratores(0-6), neutros(7-8), promotores(9-10).
- NPS = (%promotores - %detratores) em pontos percentuais; inclua nps_intervalo_confianca_approx se n>=30 usando aproximação normal p*(1-p)/n; se n<30, defina null.
- Sentimento_ratio: proporção de registros por sentimento_label, usando apenas comentarios não vazios.
- Engajamento: frequencia_media_por_aluno = participacao_total/participantes_unicos (se >0). Repeticao_alunos = proporção de pessoa_anon_id com >=2 presenças na mesma atividade.
- Resultados_por_segmento: repita métricas de satisfação e sentimento separando 'aluno' e 'professor' quando possível; se segmento ausente, marque como null com lacuna.
- Crie flags_atencao por atividade: 'satisfacao_baixa' se satisfacao_media<6.5; 'queda_engajamento' se repeticao_alunos<0.15 e participantes_unicos>=20; 'nps_negativo' se nps<0; 'alta_variancia' se desvio-padrao de notas >2.5.
- Ranking: gere arrays ordenados desc por satisfacao_media e por participacao_total; inclua posição e valores.
- Qualidade de dados: percentual_registros_validos = (registros válidos)/(total); lacunas: lista chaves onde houve null crítico (taxa_participacao, data, nota).
- Produza também um resumo_geral com totais agregados e um campo data_corte (YYYY-MM-DD) informado no input ou inferido pela maior data. 
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 padronizado contendo arrays feedback_registros e participacao_registros.
  • 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é 10.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com objeto analise contendo métricas por atividade_id e um resumo_geral.
  • Exemplo de Estrutura de Output:
     {
      "analise": {
        "atividade-exemplo": {
          "participacao_total": 30,
          "participantes_unicos": 25,
          "taxa_participacao_se_disponivel": 0.8,
          "carga_horas_total": 45.0,
          "satisfacao_media_0a10": 7.5,
          "nps": 20,
          "sentimento_ratio": {
            "positivo": 0.6,
            "neutro": 0.3,
            "negativo": 0.1
          }
        }
      },
      "resumo_geral": {
        "data_corte": "2025-12-20",
        "total_participacao": 300
      }
    } 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 4.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: Utiliza lógica interna para calcular métricas.
  • 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 Geração de Insights e Recomendações (RF 3).

RF 3. Agente de Geração de Insights e Recomendações

3.1 Tarefa do Agente

Transformar métricas em ações priorizadas para melhorar as atividades extracurriculares.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON de análise consolidada por atividade, rankings e flags de atenção gerados pelo agente anterior.

# 2. Objetivo
Transformar métricas em ações priorizadas para melhorar as atividades extracurriculares.

# 3. Regras que você deve seguir para gerar sua resposta
- Mapeie problema_detectado diretamente das flags_atencao: ex. satisfacao_baixa, nps_negativo, queda_engajamento, alta_variancia.
- Se satisfacao_media<6.5: priorize recomendações de 'conteudo' e 'logistica' específicas (ex.: ajustar carga horária, adequar nível de dificuldade, aumentar recursos).
- Se nps<0 mas satisfacao_media>=6.5: foco em 'comunicacao' e 'experiencia' (ex.: reconhecimento de participantes, clarificar objetivos da atividade).
- Se repeticao_alunos<0.15: recomendar mudanças de calendário/horário e campanhas de reativação; sugerir teste A/B de horários.
- Se alta_variancia de notas: recomendar segmentação de turmas por nível e instruções diferenciadas.
- Calcule prioridade_numero via regra: impacto_esperado (alto=3, medio=2, baixo=1) + (flag_criticidade: nps_negativo ou satisfacao_baixa = +1) + (alcance: participantes_unicos>30 = +1) - custo (esforco: alto=2, medio=1, baixo=0). Trunque para faixa 1..5.
- Defina esforco_estimado com base na natureza da ação: comunicação/material = baixo; ajustes de logística simples = médio; mudanças estruturais (novo currículo, contratação) = alto.
- Defina indicador_de_sucesso objetivo por recomendação (ex.: 'aumentar satisfacao_media para >=7.5 em 8 semanas' ou 'elevar repeticao_alunos para >=0.25').
- Evite recomendações genéricas: cada recomendacao deve referenciar a métrica que pretende mover (campo alvo_metrica).
- Deduplicate recomendações semelhantes por atividade (mesmo tipo e objetivo) mantendo a de maior prioridade.
- Inclua riscos_opcional quando houver possível efeito colateral (ex.: reduzir carga horária pode diminuir profundidade).
- Resumo_executivo: 3-5 frases com principais achados e ações de maior alavancagem; top_3_prioridades deve apontar recomendações distintas por atividade em ordem desc de prioridade. 
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 bem-sucedida do agente anterior (RF 2).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON de análise consolidada por atividade.
  • 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.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com array recomendacoes contendo objetos de ações priorizadas e um resumo_executivo.
  • Exemplo de Estrutura de Output:
     {
      "recomendacoes": [
        {
          "atividade_id": "atividade-exemplo",
          "atividade_nome": "Atividade Exemplo",
          "problema_detectado": "satisfacao_baixa",
          "recomendacao": "Ajustar carga horária e adequar nível de dificuldade",
          "tipo": "conteudo",
          "esforco_estimado": "medio",
          "impacto_esperado": "alto",
          "prioridade_numero": 4,
          "indicador_de_sucesso": "aumentar satisfacao_media para >=7.5 em 8 semanas"
        }
      ],
      "resumo_executivo": "As principais recomendações incluem ajustes na carga horária e melhorias na comunicação para aumentar a satisfação e o engajamento."
    } 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 3.500 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.
  • Calculadora: Utiliza lógica interna para priorizar ações.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

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 é 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 JSON gerado é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.