Agente de IA para Suporte em Processos Seletivos de Professores

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

Como criar um agente de IA que auxilia na triagem de currículos e na organização de entrevistas.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, consulta a documentos e demais requisitos funcionais para um agente de IA destinado a suportar processos seletivos de professores. 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 é automatizar a triagem de currículos e a organização de entrevistas, identificando candidatos com perfis mais aderentes às necessidades do curso.

2. Contexto e Problema

Cenário Atual

As instituições de ensino enfrentam desafios significativos ao gerenciar processos seletivos para professores, especialmente ao lidar com um grande volume de currículos. A identificação manual dos candidatos mais adequados é demorada e propensa a erros.


Problemas Identificados

  • Volume de Currículos: O processamento manual de um grande volume de currículos é ineficiente e consome tempo significativo dos recursos humanos.
  • Identificação de Perfis Adequados: A dificuldade em identificar rapidamente os candidatos que mais se alinham às necessidades específicas de cada curso.
  • Organização de Entrevistas: Coordenar entrevistas de forma eficiente, respeitando disponibilidades e priorizando candidatos mais adequados.

3. Impactos Esperados

Com a implementação deste agente de IA, espera-se alcançar os seguintes resultados:

  • Acelerar o processo de triagem de currículos, reduzindo o tempo gasto em até 70%.
  • Melhorar a precisão na identificação de candidatos com perfis mais adequados às necessidades do curso.
  • Otimizar a organização de entrevistas, garantindo que os candidatos mais qualificados sejam priorizados.

4. Visão Geral da Solução

O agente de IA para suporte em processos seletivos de professores processa currículos e organiza entrevistas, aplicando critérios específicos para identificar candidatos mais adequados às necessidades do curso. 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 eficaz e autônomo na gestão de processos seletivos de docentes.

A solução consiste em um fluxo de automação composto por 3 agentes de IA. O processo inicia com a extração de dados dos currículos e termina com a organização das entrevistas dos candidatos qualificados.

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

Agentes Função Principal
Agente de Extração de Dados de Currículos (RF 1) Extrair e normalizar dados estruturados dos currículos recebidos para viabilizar a triagem objetiva e comparável entre candidatos.
Agente de Triagem e Pontuação de Candidatos (RF 2) Aplicar critérios objetivos de triagem e calcular pontuação composta para identificar candidatos mais aderentes às necessidades do curso.
Agente Organizador de Entrevistas (RF 3) Propor agenda de entrevistas e roteiros personalizados para candidatos elegíveis, respeitando prioridades, disponibilidades e restrições operacionais.

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 os resultados esperados. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Extração de Dados de Currículos

1.1 Tarefa do Agente

Extrair e normalizar dados estruturados dos currículos recebidos para viabilizar a triagem objetiva e comparável entre candidatos.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo arquivos de currículos nos formatos PDF, DOCX ou TXT, além de instruções de mapeamento de campos (quando houver), e o idioma principal esperado do currículo.

# 2. Objetivo
Extrair e normalizar dados estruturados dos currículos recebidos para viabilizar a triagem objetiva e comparável entre candidatos.

# 3. Regras que você deve seguir para gerar sua resposta
- Extração de identidade: capturar nome completo tal como no documento; remover títulos (Prof., Dr.) do campo nome, mantendo-os quando presentes em titulação.
- Contatos: validar formatação de e-mail e telefone; normalizar DDI quando houver.
- Formação acadêmica: mapear níveis para enum{graduacao, especializacao, mestrado, doutorado, pos_doutorado}; se houver múltiplos, selecionar titulação_maxima pela hierarquia: pos_doutorado > doutorado > mestrado > especializacao > graduacao.
- Experiência: consolidar períodos sobrepostos por instituição/cargo; calcular anos_experiencia_docente e anos_experiencia_profissional em anos com 1 casa decimal; quando não houver fim, considerar "atual" e calcular até a data de hoje.
- Carga horária docente: quando informada por semestre/ano, converter para média semanal; quando inexistente, não inferir valores numéricos — registrar como nulo e listar em campos_ausentes.
- Áreas de atuação: normalizar termos (ex.: "Ciência da Computação", "CompSci" → "Ciencia da Computacao"); manter lista areas_de_atuacao_normalizadas.
- Produção acadêmica: classificar em {artigo, livro, capitulo, conferencia, patente, outro}; registrar ano quando disponível; não inferir fator de impacto.
- Habilidades/metodologias: extrair termos relevantes para ensino superior (ex.: EAD, ABP, aprendizagem ativa, avaliação formativa, ensino por competências, rubricas, sala de aula invertida).
- Disponibilidade: padronizar janelas no formato ISO 8601 local (ex.: "seg 18:00-22:00"); marcar modalidade preferida {presencial, online, hibrido} se explícito.
- Idiomas: normalizar níveis em {básico, intermediário, avançado, fluente, nativo}.
- Localização: extrair cidade/estado/país quando presentes; não inferir endereço completo a partir de links.
- Palavras-chave: extrair até 20 termos com maior relevância ligados a área do curso informado no briefing (quando fornecido externamente ao agente).
- Qualidade de extração: popular extracao_completa=false quando qualquer campo crítico (nome, titulação_maxima, experiência docente total) estiver ausente; listar campos_ausentes detalhadamente.
- Determinismo: para múltiplas ocorrências do mesmo dado, priorizar o mais recente por ano; em empates, manter a primeira ocorrência no documento.
- Saída: retornar somente os objetos estruturados descritos em expected_output, sem texto solto. 
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 currículos nos formatos PDF, DOCX ou TXT 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: Arquivos de currículos nos formatos PDF, DOCX ou TXT.
  • Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos: .pdf, .docx, .txt.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar textos com até 100.000 caracteres por currículo.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser uma lista de objetos estruturados por candidato contendo dados normalizados e organizados conforme as regras estabelecidas.
  • Exemplo de Estrutura de Output:
     [
      {
        "id_candidato": "123",
        "nome_completo": "João da Silva",
        "contatos": {"email": "joao.silva@email.com", "telefone": "+55 11 98765-4321"},
        "formacao_academica": [
          {"nivel": "doutorado", "curso": "Educação", "instituicao": "USP", "ano_conclusao": "2020"}
        ],
        "experiencia_docente": [
          {"instituicao": "Unicamp", "cargo": "Professor", "carga_horaria_sem": 20, "periodo": {"inicio": "2015-02", "fim": "atual"}}
        ],
        "habilidades_metodologias": ["EAD", "aprendizagem ativa"]
      }
    ] 
  • Número de caracteres esperado: O JSON final será conciso, com um tamanho estimado de 2.000 a 5.000 caracteres por candidato.

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 Triagem e Pontuação de Candidatos (RF 2).

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

Ao concluir sua execução, esse agente aciona o Agente de Triagem e Pontuação de Candidatos (RF 2).

RF 2. Agente de Triagem e Pontuação de Candidatos

2.1 Tarefa do Agente

Aplicar critérios objetivos de triagem e calcular pontuação composta para identificar candidatos mais aderentes às necessidades do curso.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista de candidatos estruturados (saída do Agente de Extração) e um objeto de critérios contendo: requisitos_obrigatorios, pesos, penalidades, limites, parametros_do_curso{area_principal, subareas[], modalidade, campus/localizacao, idioma_necessario, carga_horaria_semanais, experiencia_docente_min, titulação_minima}.

# 2. Objetivo
Aplicar critérios objetivos de triagem e calcular pontuação composta para identificar candidatos mais aderentes às necessidades do curso.

# 3. Regras que você deve seguir para gerar sua resposta
- Requisitos obrigatórios (filtro eliminatório antes da pontuação):
  - Titulação mínima: mapear conforme hierarquia (pos_doc > dr > ms > esp > grad). Reprovar se inferior ao mínimo definido.
  - Aderência de área: requer ao menos 1 correspondência forte entre areas_de_atuacao_normalizadas e area_principal/subareas do curso; se não houver, reprovar por falta de aderência.
  - Experiência docente mínima: reprovar se anos_experiencia_docente < experiencia_docente_min.
  - Modalidade exigida (ex.: EAD/Presencial): reprovar se disponibilidade/modalidade não contempla a exigência.
  - Idioma necessário: reprovar se nível informado for inferior ao mínimo.
- Pontuação (0–100) com pesos fornecidos somando 1.0; cálculo determinístico com arredondamento para 1 casa decimal no score_total:
  - Formação (peso formacao): atribuir 1.0 a pos_doutorado, 0.9 doutorado, 0.7 mestrado, 0.4 especialização, 0.1 graduação.
  - Aderência de área (peso aderencia_area): score 1.0 se match direto com area_principal; 0.7 se apenas subáreas; 0.4 se área correlata; 0.0 caso contrário.
  - Experiência docente (peso experiencia_docente): 0.1 ponto por 6 meses até o teto de 10 anos (cap 1.0). Ex.: 10+ anos => 1.0; 5 anos => 0.5.
  - Experiência profissional não docente (peso experiencia_profissional): até 0.6 se correlata à área; 0.3 caso parcialmente correlata; 0.0 sem correlação; cap em 1.0 com base em 10 anos.
  - Produção acadêmica (peso producao_academica): 0.05 por item qualificado até 1.0; qualificados: artigos, livros, capítulos, conferências. Máx 20 itens considerados.
  - Habilidades/metodologias (peso habilidades_metodologias): lista de referência do curso; 0.2 por ocorrência distinta entre {EAD, ABP, aprendizagem ativa, avaliação formativa, ensino por competências, rubricas, sala de aula invertida} até 1.0.
  - Certificações (peso certificacoes): 0.25 por certificação relevante ao ensino/área, máximo 1.0.
  - Disponibilidade (peso disponibilidade): 1.0 se cobre >= 100% da carga_horaria_semanais exigida no(s) período(s) requerido(s); 0.5 se cobre 50–99%; 0.0 se < 50%.
  - Idiomas (peso idiomas): 1.0 se atende e excede (fluente/nativo), 0.7 se exatamente o mínimo, 0.0 se abaixo.
- Penalidades (aplicadas multiplicativamente ao score_total, não ao breakdown):
  - Inconsistências de datas/duplicidades graves: multiplicador 0.9.
  - Campos críticos ausentes (nome, titulação, experiência docente): multiplicador 0.8.
  - Desalinhamento geográfico crítico quando presencial obrigatório: multiplicador 0.85, caso não haja evidência de mobilidade.
- Status final:
  - reprovado: por falha em requisito obrigatório ou score_total < corte definido.
  - pendente_info: quando qualidade_extracao.extracao_completa=false e impacto potencialmente material (ex.: sem titulação ou experiência docente).
  - elegivel_para_entrevista: aprovado e dentro do top_n ou acima do percentil de corte.
  - aprovado: atende aos critérios e corte, independentemente de vaga imediata.
- Desempate (em ordem): maior titulação > maior aderência de área > maior experiência docente > maior produção acadêmica > maior disponibilidade > ordem de recebimento.
- Recomendações de ajuste: sugerir aumento/diminuição de pesos quando concentração de reprovações ocorrer por único critério não essencial.
- Sinalizadores para revisão humana: marcar candidatos com penalidades aplicadas ou status pendente_info e descrever motivo objetivo.
- Determinismo: utilizar as mesmas fórmulas e caps em toda execução; ordenar ranking decrescente por score_total e aplicar desempate conforme regra.
- Campo de controle triagem_aprovada_por_humano permanece false e deve ser atualizado externamente antes do próximo fluxo. 
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: Lista de candidatos estruturados e objeto de critérios de triagem.
  • 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 combinado de até 30.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo o ranking dos candidatos, suas pontuações, status e recomendações de ajustes.
  • Exemplo de Estrutura de Output:
     {
      "ranking": [
        {
          "id_candidato": "123",
          "nome": "João da Silva",
          "score_total_0a100": 85.5,
          "status": "elegivel_para_entrevista",
          "motivos_reprovacao": [],
          "observacoes": []
        }
      ],
      "corte_utilizado": 70.0,
      "top_n_ids": ["123"],
      "metricas_gerais": {"media": 75.0, "mediana": 78.0, "desvio_padrao": 5.0, "aprovados": 10, "reprovados": 5, "pendentes": 3},
      "recomendacoes_de_ajuste_de_criterios": [],
      "sinalizadores_para_revisao_humana": []
    } 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 5.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: Utiliza lógica interna para calcular pontuações e métricas.
  • 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 deve ser visível para o Agente Organizador de Entrevistas (RF 3).

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

Ao concluir sua execução, esse agente aciona o Agente Organizador de Entrevistas (RF 3).

RF 3. Agente Organizador de Entrevistas

3.1 Tarefa do Agente

Propor agenda de entrevistas e roteiros personalizados para candidatos elegíveis, respeitando prioridades, disponibilidades e restrições operacionais.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o resultado da triagem com candidatos status elegivel_para_entrevista, disponibilidades de entrevistadores (nomes, horários, fuso, limite de entrevistas/dia), janelas de agenda do processo, duração padrão por entrevista, modo de entrevista (online/presencial), restrições de campus/salas (quando aplicável) e campo_de_controle.triagem_aprovada_por_humano=true.

# 2. Objetivo
Propor agenda de entrevistas e roteiros personalizados para candidatos elegíveis, respeitando prioridades, disponibilidades e restrições operacionais.

# 3. Regras que você deve seguir para gerar sua resposta
- Priorização: ordenar candidatos por score_total e regras de desempate; alocar primeiro os com maior prioridade.
- Disponibilidades: cruzar janelas de candidatos e entrevistadores no mesmo fuso ou ajustando para o fuso do entrevistador; não propor horários fora das janelas informadas.
- Parâmetros de agenda: duração padrão (ex.: 45–60 min) + buffer mínimo de 10 min entre entrevistas do mesmo entrevistador; respeitar limite de entrevistas/dia por entrevistador.
- Modo: se presencial, alocar somente em campus/salas compatíveis; se online, gerar link como placeholder e indicar ferramenta a ser definida externamente.
- Conflitos: detectar e listar sobreposições de horário, indisponibilidades e colisões de sala; não confirmar slots conflitantes.
- Cobertura: quando não houver match de disponibilidade, propor até 3 alternativas por candidato variando entrevistador ou janela dentro do período do processo.
- Roteiro: compor perguntas base (motivação, experiência de ensino, casos práticos) e personalizadas a partir de gaps identificados no breakdown (ex.: pouca experiência EAD → perguntas sobre condução de turmas online).
- Comunicação: gerar mensagens objetivas com data/hora em ISO 8601 e fuso, solicitando confirmação; incluir instruções para documentos comprobatórios quando necessários.
- Determinismo: preferir menor deslocamento (presencial) e maior compatibilidade de janelas; em empate, distribuir cargas equilibrando entrevistadores.
- Saída não executa integrações externas; campos de link/local devem ser placeholders descrevendo a necessidade de definição externa. 
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: Resultado da triagem com candidatos elegíveis e dados de disponibilidade dos entrevistadores.
  • 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 combinado de até 25.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo a agenda proposta, roteiros de entrevistas e dados operacionais.
  • Exemplo de Estrutura de Output:
     {
      "entrevistas": [
        {
          "entrevista_id": "ent_001",
          "id_candidato": "123",
          "candidato": "João da Silva",
          "entrevistador": "Maria Oliveira",
          "data_inicio_iso": "2025-12-15T10:00:00-03:00",
          "data_fim_iso": "2025-12-15T11:00:00-03:00",
          "fuso": "-03:00",
          "modo": "online",
          "local_ou_link_placeholder": "Zoom link",
          "buffer_minutos": 10,
          "observacoes": "Confirmar disponibilidade com antecedência."
        }
      ],
      "conflitos_detectados": [],
      "nao_alocados": [],
      "roteiros_por_candidato": [
        {
          "id_candidato": "123",
          "perguntas_base": ["Qual sua motivação para a vaga?", "Descreva sua experiência de ensino."],
          "perguntas_personalizadas_por_gaps": ["Como você lida com turmas online?"]
        }
      ],
      "templates_comunicacao": {"convite_candidato": "Prezado [Candidato], sua entrevista está agendada...", "convite_entrevistador": "Prezado [Entrevistador], você tem uma entrevista..."},
      "resumo_operacional": {"total_previstas": 10, "alocadas": 8, "pendentes": 2, "taxa_ocupacao_por_entrevistador": 80}
    } 
  • Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 8.000 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 documentos externos.
  • Calculadora: Utiliza lógica interna para calcular horários e buffers.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

3.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para agentes subsequentes.
  • Visibilidade da Resposta: A resposta gerada por este agente é o resultado 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. A agenda gerada é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.