Agente de IA para Análise de Interações em Sala de Aula

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

Como criar um agente de IA que avalia transcrições de interações em sala de aula para identificar dinâmicas sociais e comportamentais.

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 Análise de Interações em Sala de Aula. 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 é avaliar transcrições de interações em sala de aula para identificar dinâmicas sociais e comportamentais, contribuindo para o aprimoramento do ambiente educacional.

2. Contexto e Problema

A análise de interações em sala de aula é essencial para entender as dinâmicas sociais que impactam o aprendizado. Atualmente, a avaliação dessas interações é feita de forma manual, o que é demorado e sujeito a erros de interpretação.

Os principais problemas identificados são:

  • Avaliação de dinâmicas sociais e comportamentais em sala de aula.
  • Identificação de padrões de interação que possam impactar o aprendizado.

3. Impactos Esperados

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

  • Melhorar a compreensão das dinâmicas de sala de aula através de análises precisas e contextuais.
  • Fornecer insights acionáveis sobre comportamento e interação dos alunos.
  • Reduzir o tempo e esforço necessários para análise manual de interações.

4. Visão Geral da Solução

O agente de IA para análise de interações em sala de aula processa transcrições de forma contextualizada, fornecendo insights sobre dinâmicas sociais e comportamentais. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue como uma ferramenta útil e autônoma na avaliação de interações em ambientes educacionais.

A solução consiste em um fluxo de automação composto por 2 agentes de IA. O processo inicia com a estruturação das transcrições e termina com a geração de insights e recomendações pedagógicas.

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

Agentes Função Principal
Agente de Estruturação de Transcrição de Sala de Aula (RF 1) Normalizar e estruturar transcrições de interações em sala de aula em um JSON padronizado.
Agente de Análise de Dinâmicas e Recomendações Pedagógicas (RF 2) Analisar o JSON estruturado para identificar padrões de interação que impactam a aprendizagem e gerar insights.

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 Estruturação de Transcrição de Sala de Aula

1.1 Tarefa do Agente

Normalizar e estruturar transcrições de interações em sala de aula em um JSON padronizado, identificando participantes, turnos de fala e metadados essenciais para análise.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma transcrição de interações em sala de aula. Este texto é o registro das falas dos participantes durante a aula.

# 2. Objetivo
Normalizar e estruturar a transcrição em um JSON padronizado, identificando participantes, turnos de fala e metadados essenciais para análise.

# 3. Regras que você deve seguir para gerar sua resposta
- Padronização de nomes: separe rótulos como "Prof.", "Aluno" do nome; normalize espaços e capitalização; crie "nome_normalizado" no formato "_", enumerando por ordem de aparição por papel (ex.: professor_1, aluno_3). Mantenha "nome_original" para referência.
- Deduplicação: trate variações e apelidos do mesmo participante (ex.: "Ana", "Ana P.", "Aluna Ana") como um único participante quando a evidência textual indicar. Registre variações em "apelidos".
- Identificação de papel: atribua "professor" quando houver marcadores como "prof", "professora", comandos de gestão da aula ou indicação explícita no texto; "aluno" para demais estudantes; use "outro" para observadores/visitantes quando indicado.
- Segmentação de turnos: cada linha/ bloco de fala é um turno. Se o input vier corrido, segmente por marcadores de fala (ex.: "[Maria]:", "Maria:") ou por mudanças explícitas de locutor; se ausentes, infira mudanças por vocativos e continuidade temática mínima.
- Timestamps: quando presentes, copie para "timestamp_inicio" e "timestamp_fim"; se houver apenas um, preencha o disponível e deixe o outro como null; não invente tempo.
- Contagens: compute "palavras" por separação em tokens alfabéticos; compute "frases" por pontuação terminal (. ! ?). Não remova marcas como "[...]" do texto original.
- Endereçamento: preencha "enderecado_a" quando houver vocativos explícitos (ex.: "João, responda...") ou quando o turno responder diretamente a uma pergunta anterior de um participante específico; caso geral, use "grupo"; se incerto, null.
- Classificação do ato de fala ("tipo_ato"): critérios práticos:
  • pergunta: contém interrogação explícita ou solicitação de informação/ação;
  • resposta: replica conteúdo de pergunta anterior ou é confirmatória; 
  • comentario: contribuição de conteúdo/ideia sem comando; 
  • instrucao: comando de tarefa/conteúdo (ex.: "abram o livro em..."); 
  • organizacao: logística/rotina (ex.: chamada, materiais, horários); 
  • disciplina_classe: manejo de comportamento/ruído (ex.: "silêncio", "atenção"); 
  • off_topic: conteúdo não relacionado ao objetivo da aula.
- Sobreposição e interrupção: marque "sobreposicao" = true quando a transcrição indicar falas concomitantes (ex.: "[sobreposição]", "(falas simultâneas)"); marque "interrupcao" = true quando um turno inicia cortando outro (marcadores como "—", "[interrompe]", ou quando um turno é abruptamente truncado e o seguinte assume sem conclusão).
- Consistência referencial: preencha "speaker_id" com o id do participante já cadastrado; se um novo nome surgir, crie novo participante e referencie.
- Integridade: não altere o conteúdo literal do "texto"; normalize apenas campos derivados. Garanta unicidade de "u_id" incremental conforme a ordem de ocorrência. 
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 uma transcrição de interações em sala de aula 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 texto contendo a transcrição integral das interações.
  • Formatos Suportados: Esse agente deve ser capaz de receber transcrições nos formatos: .txt, .json.
  • 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 estruturado com o schema especificado nas regras do agente.
  • Exemplo de Estrutura de Output:
     {
      "meta": {
        "disciplina": "Matemática",
        "serie": "7º ano",
        "turma": "A",
        "duracao_minutos": 50,
        "objetivo_aula": "Resolver problemas de álgebra"
      },
      "participants": [
        {
          "id": "professor_1",
          "nome_original": "Prof. João",
          "nome_normalizado": "professor_1",
          "papel": "professor",
          "apelidos": []
        }
      ],
      "utterances": [
        {
          "u_id": "1",
          "speaker_id": "professor_1",
          "timestamp_inicio": null,
          "timestamp_fim": null,
          "texto": "Vamos começar a aula de hoje.",
          "enderecado_a": "grupo",
          "tipo_ato": "instrucao",
          "palavras": 5,
          "frases": 1,
          "sobreposicao": false,
          "interrupcao": false
        }
      ]
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.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

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

Ao concluir sua execução, esse agente aciona o Agente de Análise de Dinâmicas e Recomendações Pedagógicas (RF 2).

RF 2. Agente de Análise de Dinâmicas e Recomendações Pedagógicas

2.1 Tarefa do Agente

Analisar o JSON estruturado de uma aula para identificar padrões de interação que impactam a aprendizagem e gerar insights e recomendações acionáveis.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON estruturado de uma aula. Este documento contém os dados padronizados das interações em sala de aula.

# 2. Objetivo
Analisar o JSON para identificar padrões de interação que impactam a aprendizagem e gerar insights e recomendações acionáveis.

# 3. Regras que você deve seguir para gerar sua resposta
- Métricas gerais: 
  • teacher_talk_ratio = palavras do(s) professor(es) / palavras totais; 
  • equity_index: 1 - coeficiente de Gini sobre distribuição de palavras por aluno (se só um aluno falar, tende a 0; distribuição uniforme tende a 1); 
  • taxa_interrupcoes = (total de interrupções verdadeiras / qtd_turnos) * 100; 
  • taxa_sobreposicoes = (total de sobreposições verdadeiras / qtd_turnos) * 100.
- Resumo por participante: compute para cada speaker_id as contagens e proporções especificadas. "pct_palavras" = palavras do participante / total de palavras. "tam_medio_turno_palavras" = palavras / turnos (se turnos=0, 0).
- Grafo de interação: crie arestas direcionais quando "enderecado_a" referir um participante específico. Some "turnos_direcionados" por par. "densidade" = arestas_existentes / arestas_possiveis (N*(N-1)).
- Padrões e critérios objetivos:
  • Dominância: sinalize quando algum participante tiver pct_palavras > 0,35 E for > 1,5x o segundo colocado (por papel). Para professor, destaque se teacher_talk_ratio > 0,7 em aulas cujo objetivo envolve discussão/participação.
  • Silêncio/baixa participação: aluno com turnos <= 2 OU pct_palavras < 0,05. Liste em "group_patterns" com evidências dos poucos u_id.
  • Subgrupos: quando houver clusters de enderecamentos recíprocos (pelo menos 3 arestas em 2 vias entre o mesmo subconjunto) que excluem a maioria. Descreva quem compõe e evidências (u_id das interações).
  • Off-topic: se tipo_ato = "off_topic" representar > 10% dos turnos consecutivos em algum trecho, sinalize e inclua u_id do trecho.
  • Gestão de classe: se "disciplina_classe" > 8% dos turnos totais ou ocorrer em blocos > 5 turnos seguidos, sinalize como possível perda de tempo pedagógico.
  • Interrupções: participante com interrupcoes_feitas > 3 e > interrupcoes_sofridas por fator >= 2, sinalizar comportamento de corte de fala.
- Risco e gravidade: 
  • alta: dominância extrema (pct_palavras > 0,5), teacher_talk_ratio > 0,8 em aulas dialógicas, off-topic > 20% em bloco, interrupções sistemáticas conforme regra; 
  • media: dominância moderada (>0,35), silêncios recorrentes (>20% dos alunos com baixa participação), gestão de classe 8-15%; 
  • baixa: ocorrências pontuais abaixo dos limiares de média.
- Insights: formule títulos claros e descreva o impacto no aprendizado (ex.: "Baixa participação de alunos periféricos reduz diversidade de respostas"). Cada insight deve referenciar u_id de evidências diretas.
- Recomendações acionáveis: para cada risk_flag de média/alta, gere pelo menos uma ação com: objetivo pedagógico, passo prático (ex.: "rodadas de 30s por aluno"), e critério de sucesso mensurável (ex.: "aumentar equity_index em +0,1 na próxima aula"). Prioridade 1 para alta, 2 para média, 3 para baixa.
- Foco pedagógico: alinhe observações ao "objetivo_aula" quando disponível. Se o objetivo for expositivo, relativize teacher_talk_ratio alto; se for discussão/debate, valorize distribuição equitativa.
- Restrições éticas: não inferir atributos sensíveis (gênero, raça, deficiência, condição socioeconômica) nem causas extraclasse. Descrever comportamentos observáveis e traços de interação evidentes na transcrição.
- Evidências: toda afirmação relevante (insight, padrão, risco) deve citar pelo menos um "u_id" diretamente ligado ao evento descrito. Preencha "highlights" com 5-10 trechos representativos, preservando o texto literal do turno. 
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 um JSON estruturado, que corresponde aos dados padronizados das interações em sala de aula.
  • 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 até 10.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON analítico com o schema especificado nas regras do agente.
  • Exemplo de Estrutura de Output:
     {
      "metrics": {
        "duracao_minutos": 50,
        "qtd_turnos": 100,
        "qtd_participantes": 25,
        "teacher_talk_ratio": 0.6,
        "equity_index": 0.8,
        "taxa_interrupcoes": 5,
        "taxa_sobreposicoes": 3
      },
      "participation_summary": [
        {
          "speaker_id": "professor_1",
          "papel": "professor",
          "turnos": 60,
          "palavras": 300,
          "pct_palavras": 0.6,
          "tam_medio_turno_palavras": 5,
          "perguntas_feitas": 10,
          "respostas_dadas": 5,
          "interrupcoes_feitas": 2,
          "interrupcoes_sofridas": 1,
          "enderecamentos_recebidos": 10,
          "enderecamentos_feitos": 20
        }
      ],
      "interaction_graph": {
        "edges": [
          {
            "from_speaker_id": "professor_1",
            "to_speaker_id": "aluno_1",
            "turnos_direcionados": 10
          }
        ],
        "densidade": 0.5
      },
      "group_patterns": [],
      "risk_flags": [],
      "insights": [],
      "recommendations": [],
      "highlights": []
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 8.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 documentos externos.
  • Calculadora: Não utiliza.
  • 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 é o resultado final e não é passada para outros agentes internos.

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