Agente de IA para Identificação de Oportunidades de Estágio

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

Como criar um agente de IA que analisa o perfil dos alunos e busca oportunidades de estágio relevantes.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória e transição entre estados para o Fluxo de Agentes "Identificação de Oportunidades de Estágio", uma solução de automação projetada para identificar e sugerir estágios relevantes a alunos com base em seus perfis. 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 é conectar alunos a oportunidades de estágio que se alinhem com seus interesses e habilidades, utilizando dados atualizados de fontes confiáveis e personalizando as sugestões conforme o perfil de cada aluno.

2. Contexto e Problema

Cenário Atual

Alunos frequentemente enfrentam desafios na busca por estágios que correspondam a seus interesses e habilidades. Além disso, o acesso a informações atualizadas sobre oportunidades de estágio é limitado, dificultando a busca por posições adequadas.


Problemas Identificados

  • Alinhamento inadequado: Estágios disponíveis muitas vezes não correspondem aos interesses ou habilidades dos alunos.
  • Acesso restrito: Falta de acesso a uma base de dados consolidada e atualizada de oportunidades de estágio.
  • Processo manual: A busca por estágios é muitas vezes um processo manual e demorado para os alunos.

3. Impactos Esperados

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

  • Aumentar a correspondência entre interesses/habilidades dos alunos e as oportunidades de estágio.
  • Facilitar o acesso a informações atualizadas sobre estágios.
  • Reduzir o tempo necessário para encontrar estágios relevantes.

4. Visão Geral da Solução

O agente de IA para identificação de oportunidades de estágio analisa o perfil dos alunos e busca informações atualizadas sobre estágios em fontes confiáveis, sugerindo as oportunidades que mais se adequam ao perfil e interesses do aluno. 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 identificação de estágios relevantes.

A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a normalização do perfil do aluno e termina com a sugestão de estágios alinhados ao perfil do aluno.

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

Agentes Função Principal
Agente de Normalização e Validação de Perfil do Aluno (RF 1) Padronizar e validar o perfil do aluno, garantindo que os campos mínimos existam e estejam utilizáveis para busca de estágios.
Agente de Preparação de Parâmetros de Busca (RF 2) Transformar o perfil normalizado em parâmetros de busca estruturados por fonte para recuperar oportunidades de estágio.
Agente de Busca Online (RF 3) Realizar busca online para obter oportunidades de estágio a partir dos parâmetros preparados.
Agente de Consolidação, Limpeza e Deduplicação de Vagas (RF 4) Consolidar, higienizar e deduplicar resultados de múltiplas fontes, removendo vagas irrelevantes ou desatualizadas.
Agente de Ranqueamento e Sugestão de Estágios (RF 5) Ranquear e sugerir estágios alinhados ao perfil do aluno, com justificativas claras e categorias de aderência.

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

6. Requisitos Funcionais

RF 1. Agente de Normalização e Validação de Perfil do Aluno

1.1 Tarefa do Agente

Padronizar e validar o perfil do aluno, garantindo que os campos mínimos existam e estejam utilizáveis para busca de estágios.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON de perfil do aluno contendo, quando disponível: nome, idade, curso, período/semestre, cidade/UF, país, idioma(s), disponibilidade (horas/semana; turnos), modalidade preferida (presencial/híbrido/remoto), interesses, habilidades técnicas, habilidades comportamentais, objetivos profissionais, restrições (bolsa mínima, mobilidade, visto).

# 2. Objetivo
Padronizar e validar o perfil do aluno, garantindo que os campos mínimos existam e estejam utilizáveis para busca de estágios.

# 3. Regras que você deve seguir para gerar sua resposta
- Padronize capitalização e remova duplicatas em interesses e habilidades; mantenha arrays distintos para técnicas e comportamentais.
- Converta sinônimos frequentes para termos-padrão do mercado (ex: 'dev backend' -> 'desenvolvimento backend'; 'PowerBI' -> 'Power BI').
- Se modalidade não informada, infira por preferências e localização: se aluno fora de grandes centros e sem mobilidade, defina modalidade_preferida='remoto'.
- Valide campos mínimos: curso, localização (ao menos país), ao menos 1 interesse ou 1 habilidade; se faltar, defina perfil_validado=false e liste motivos_validacao.
- Derive criterios_obrigatorios: tipo_vaga='estágio'; senioridade='estágio'; áreas derivadas dos interesses (ex: 'dados', 'marketing', 'jurídico'); idiomas mínimos (inclua 'português' por padrão).
- Derive criterios_desejaveis: empresas-alvo (se declaradas), tecnologias específicas, setores de interesse, modalidade preferida, faixa de bolsa desejada (se houver).
- Se semestre/período não informado, mantenha em lacunas_de_dados; não bloqueie a validação quando demais critérios mínimos estiverem ok.
- Saída deve conter perfil_validado e motivos_validacao coerentes com as verificações executadas. 
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 JSON de perfil do aluno 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 JSON na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um JSON contendo informações do perfil do aluno.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 5.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com: perfil_normalizado (todos os campos padronizados), interesses_normalizados[], habilidades_tecnicas_normalizadas[], habilidades_comportamentais_normalizadas[], localizacao_normalizada (cidade/UF/país), modalidade_preferida, criterios_obrigatorios[], criterios_desejaveis[], lacunas_de_dados[], perfil_validado (true/false), motivos_validacao[] (quando false).
  • Exemplo de Estrutura de Output:
     {
      "perfil_normalizado": { ... },
      "interesses_normalizados": [ ... ],
      "habilidades_tecnicas_normalizadas": [ ... ],
      "habilidades_comportamentais_normalizadas": [ ... ],
      "localizacao_normalizada": "cidade/UF/país",
      "modalidade_preferida": "remoto",
      "criterios_obrigatorios": [ ... ],
      "criterios_desejaveis": [ ... ],
      "lacunas_de_dados": [ ... ],
      "perfil_validado": true,
      "motivos_validacao": [ ... ]
    } 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 2.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 Parâmetros de Busca (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 Parâmetros de Busca (RF 2).

RF 2. Agente de Preparação de Parâmetros de Busca

2.1 Tarefa do Agente

Transformar o perfil normalizado em parâmetros de busca estruturados por fonte para recuperar oportunidades de estágio.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON do agente anterior com perfil_normalizado, interesses_normalizados, habilidades_*_normalizadas, localizacao_normalizada, modalidade_preferida, criterios_obrigatorios, criterios_desejaveis, perfil_validado.

# 2. Objetivo
Transformar o perfil normalizado em parâmetros de busca estruturados por fonte para recuperar oportunidades de estágio.

# 3. Regras que você deve seguir para gerar sua resposta
- Crie termos_inclusao combinando áreas de interesse e tecnologias-chave (ex: ['estágio', 'internship'] + ['dados', 'SQL']).
- Adicione termos_exclusao para descartar vagas não pertinentes (ex: 'sênior', 'pleno', 'CLT full-time', 'consultor', 'freelance', 'temporário').
- Ajuste filtros de localização: se modalidade_preferida='remoto', não restrinja por cidade; se presencial/híbrido, priorize cidade/UF do aluno num raio lógico (mesmo estado ou cidades vizinhas).
- Defina data_maxima_publicacao_em_dias=30 para garantir atualidade.
- Inclua 'estágio'/'internship' como palavra obrigatória (palavras_must) em todas as fontes.
- Adapte idioma do termo 'internship' conforme idioma do país/localização; mantenha ambos quando incerto.
- Gere consultas específicas por fonte (ex: LinkedIn, Gupy, Indeed, Vagas.com, sites corporativos) com variações de termos para maximizar recall sem perder precisão.
- Marque perfil_analisado=true apenas se perfil_validado=true; caso contrário, não gere consultas_por_fonte e descreva lacunas impedindo a busca. 
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 perfil normalizado do aluno.
  • 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 texto com até 3.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com parametros_busca: consultas_por_fonte[] (fonte, termos_inclusao[], termos_exclusao[], filtros {localizacao, modalidade, idioma, período, palavras_must[], palavras_should[], salary_range, data_maxima_publicacao_em_dias}), mapeamento_de_sinonimos{}, lista_setores[], lista_tecnologias[], e sinalizador perfil_analisado=true.
  • Exemplo de Estrutura de Output:
     {
      "parametros_busca": {
        "consultas_por_fonte": [
          {
            "fonte": "LinkedIn",
            "termos_inclusao": [ "estágio", "dados", "SQL" ],
            "termos_exclusao": [ "sênior", "pleno" ],
            "filtros": {
              "localizacao": "remoto",
              "modalidade": "remoto",
              "idioma": "português",
              "data_maxima_publicacao_em_dias": 30
            }
          }
        ]
      },
      "mapeamento_de_sinonimos": { ... },
      "lista_setores": [ ... ],
      "lista_tecnologias": [ ... ],
      "perfil_analisado": true
    } 
  • Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 2.500 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 gerada por este agente deve ser visível para o Agente de Busca Online (RF 3).

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

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

RF 3. Agente de Busca Online

3.1 Tarefa do Agente

Realizar busca online para obter oportunidades de estágio a partir dos parâmetros preparados.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo parametros_busca com consultas_por_fonte[] e filtros prontos.

# 2. Objetivo
Realizar busca online para obter oportunidades de estágio a partir dos parâmetros preparados.

# 3. Regras que você deve seguir para gerar sua resposta
- Este agente executa unicamente a busca online com os parâmetros recebidos e retorna os dados brutos conforme os campos definidos. 
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 os parâmetros de busca preparados.
  • 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 texto com até 2.500 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser resultados brutos por fonte: resultados[] com campos {fonte, titulo, empresa, localizacao, modalidade, descricao, url, data_publicacao, requisitos[], idiomas[], remuneracao (se houver)} e o sinalizador oportunidades_encontradas=true/false.
  • Exemplo de Estrutura de Output:
     {
      "resultados": [
        {
          "fonte": "LinkedIn",
          "titulo": "Estágio em Dados",
          "empresa": "Empresa X",
          "localizacao": "Remoto",
          "modalidade": "Remoto",
          "descricao": "Trabalhe com dados e análises.",
          "url": "https://example.com/vaga",
          "data_publicacao": "2025-12-01",
          "requisitos": [ "SQL", "Python" ],
          "idiomas": [ "Português" ],
          "remuneracao": "R$1500"
        }
      ],
      "oportunidades_encontradas": true
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.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.
  • Calculadora: Não utiliza.
  • Busca Online: Utiliza busca online para obter os dados.
  • Sistemas Externos: Não utiliza.

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 Consolidação, Limpeza e Deduplicação de Vagas (RF 4).

RF 4. Agente de Consolidação, Limpeza e Deduplicação de Vagas

4.1 Tarefa do Agente

Consolidar, higienizar e deduplicar resultados de múltiplas fontes, removendo vagas irrelevantes ou desatualizadas e avaliando elegibilidade básica.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo resultados da busca online com lista de vagas por fonte.

# 2. Objetivo
Consolidar, higienizar e deduplicar resultados de múltiplas fontes, removendo vagas irrelevantes ou desatualizadas e avaliando elegibilidade básica.

# 3. Regras que você deve seguir para gerar sua resposta
- Remova duplicatas: considere duas vagas iguais quando url idêntica ou combinação normalizada de (empresa + titulo) e mesma localização; mantenha fonte_primaria mais confiável e liste fontes_duplicadas.
- Descarte vagas com data_publicacao anterior a 30 dias, quando esse dado existir e exceder o limite.
- Calcule match_skills_percentual: número de habilidades do aluno presentes em requisitos_chave dividido pelo total de habilidades do aluno consideradas (cap at 1); ignore habilidades genéricas ('proatividade', 'trabalho em equipe') no cômputo.
- Calcule aderencia_area em [0,1] com base em presença de palavras-chave das áreas de interesse no título/descrição.
- Defina elegivel_basico=false quando: não mencionar 'estágio' no título/descrição; idioma obrigatório incompatível com idiomas do aluno; modalidade presencial/híbrida em cidade distante sem mobilidade declarada; exigir experiência prévia superior a 1 ano.
- Preencha motivos_nao_elegivel com códigos claros (ex: 'nao_estagio', 'idioma_incompativel', 'local_inacessivel', 'experiencia_excessiva').
- Gere descricao_resumida até ~300 caracteres ressaltando atividades e requisitos principais. 
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 busca online.
  • 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 texto com até 5.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com vagas_consolidadas[] contendo {titulo, empresa, localizacao, modalidade, descricao_resumida, url, data_publicacao, fonte_primaria, fontes_duplicadas[], requisitos_chave[], match_skills_percentual, aderencia_area (0-1), idioma_requerido, elegivel_basico (true/false), motivos_nao_elegivel[]}, e oportunidades_consolidadas=true.
  • Exemplo de Estrutura de Output:
     {
      "vagas_consolidadas": [
        {
          "titulo": "Estágio em Dados",
          "empresa": "Empresa X",
          "localizacao": "Remoto",
          "modalidade": "Remoto",
          "descricao_resumida": "Trabalhe com dados e análises.",
          "url": "https://example.com/vaga",
          "data_publicacao": "2025-12-01",
          "fonte_primaria": "LinkedIn",
          "fontes_duplicadas": [ ... ],
          "requisitos_chave": [ "SQL", "Python" ],
          "match_skills_percentual": 0.8,
          "aderencia_area": 0.9,
          "idioma_requerido": "Português",
          "elegivel_basico": true,
          "motivos_nao_elegivel": [ ... ]
        }
      ],
      "oportunidades_consolidadas": true
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 4.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: Utiliza lógica interna para cálculo de percentuais e aderência.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

4.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente de Ranqueamento e Sugestão de Estágios (RF 5).

RF 5. Agente de Ranqueamento e Sugestão de Estágios

5.1 Tarefa do Agente

Ranquear e sugerir estágios alinhados ao perfil do aluno, com justificativas claras e categorias de aderência.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo vagas_consolidadas do agente anterior e dados do perfil_normalizado.

# 2. Objetivo
Ranquear e sugerir estágios alinhados ao perfil do aluno, com justificativas claras e categorias de aderência.

# 3. Regras que você deve seguir para gerar sua resposta
- Calcule score_final combinando: 50% match_skills_percentual, 30% aderencia_area, 10% compatibilidade_modalidade/localizacao, 10% atualidade (mais recente maior).
- Classifique categoria_aderencia: alta (score>=75), media (50-74), baixa (<50); exclua da lista final as vagas com elegivel_basico=false.
- Liste principais_requisitos_cobertos como as top 5 habilidades do aluno presentes na vaga; liste requisitos_em_falta como até 3 itens relevantes com impacto na contratação.
- Gere justificativa objetiva de 2-4 frases citando correspondências concretas (área, tecnologias, localização/modo, idioma).
- Defina proxima_acao_recomendada com instrução prática (ex: 'candidatar-se e anexar portfólio de projeto X' ou 'preparar CV destacando habilidade Y').
- Ordene sugestoes_ordenadas por score_final descrescente e limite por padrão a top 10; inclua resumo_quantitativo coerente com a filtragem. 
5.3 Configurações do Agente

5.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 4).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo as vagas consolidadas e o perfil normalizado do aluno.
  • 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 texto com até 6.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON com sugestoes_ordenadas[] contendo {titulo, empresa, url, localizacao, modalidade, score_final (0-100), categoria_aderencia ('alta'/'media'/'baixa'), justificativa, principais_requisitos_cobertos[], requisitos_em_falta[], proxima_acao_recomendada}, além de um resumo_quantitativo {total_avaliadas, total_elegiveis, contagem_por_categoria}.
  • Exemplo de Estrutura de Output:
     {
      "sugestoes_ordenadas": [
        {
          "titulo": "Estágio em Dados",
          "empresa": "Empresa X",
          "url": "https://example.com/vaga",
          "localizacao": "Remoto",
          "modalidade": "Remoto",
          "score_final": 85,
          "categoria_aderencia": "alta",
          "justificativa": "A vaga é altamente compatível com suas habilidades em SQL e Python, além de ser remota, conforme sua preferência.",
          "principais_requisitos_cobertos": [ "SQL", "Python" ],
          "requisitos_em_falta": [ ... ],
          "proxima_acao_recomendada": "Candidatar-se e anexar portfólio de projeto X."
        }
      ],
      "resumo_quantitativo": {
        "total_avaliadas": 10,
        "total_elegiveis": 8,
        "contagem_por_categoria": { "alta": 5, "media": 3, "baixa": 2 }
      }
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.

5.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

5.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Utiliza lógica interna para calcular scores e categorias.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

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

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

A execução deste agente finaliza o fluxo. As sugestões geradas são o resultado que deve ser disponibilizado ao aluno.

© 2025 prototipe.ai. Todos os direitos reservados.