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
- 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 Dinâmicas e Recomendações Pedagógicas (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 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.