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 "Recomendação de Cursos Complementares", uma solução projetada para oferecer recomendações personalizadas de cursos para alunos de cursos técnicos. 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 é analisar o histórico acadêmico e interesses profissionais dos alunos, oferecendo recomendações de cursos complementares ou de especialização que estejam alinhadas com seus objetivos de carreira.
2. Contexto e Problema
Cenário Atual
Alunos de cursos técnicos enfrentam dificuldades em identificar cursos complementares ou de especialização adequados. A falta de personalização nas recomendações impede que os cursos sugeridos estejam alinhados com os interesses e histórico acadêmico dos alunos.
Problemas Identificados
- Dificuldade em identificar cursos adequados: Os alunos têm dificuldade em encontrar cursos que complementem sua formação técnica.
- Falta de personalização: As recomendações de cursos muitas vezes não consideram o histórico acadêmico e os interesses profissionais dos alunos.
- Alinhamento com objetivos de carreira: É necessário garantir que as recomendações de cursos estejam alinhadas com os objetivos de carreira dos alunos.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar a personalização das recomendações de cursos para os alunos de cursos técnicos.
- Facilitar a identificação de cursos complementares que estejam alinhados com os objetivos de carreira dos alunos.
- Aumentar a satisfação dos alunos com as recomendações recebidas.
4. Visão Geral da Solução
O agente de IA para recomendação de cursos complementares analisa o histórico acadêmico e interesses profissionais dos alunos para oferecer recomendações personalizadas de cursos que estejam alinhadas com seus objetivos de carreira. 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 recomendação de cursos complementares que atendam às necessidades dos alunos.
A solução consiste em um fluxo de automação composto por três agentes de IA. O processo inicia com a normalização e enriquecimento do perfil do aluno e termina com a geração de um ranking de cursos recomendados.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Normalização e Enriquecimento de Perfil do Aluno (RF 1)
| Padronizar e enriquecer o perfil do aluno a partir do histórico acadêmico e interesses profissionais. |
Agente de Execução de Chamada à API (Catálogo de Cursos) (RF 2)
| Realizar chamada à API do sistema CatálogoCursos para obter ofertas de cursos compatíveis. |
Agente de Rankeamento e Recomendação de Cursos (RF 3)
| Combinar o perfil normalizado do aluno com o catálogo recuperado e produzir um ranking de cursos. |
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 Enriquecimento de Perfil do Aluno
1.1 Tarefa do Agente
Padronizar e enriquecer o perfil do aluno a partir do histórico acadêmico e interesses profissionais, identificando áreas temáticas, habilidades fortes, lacunas de competência, objetivos de carreira priorizados e restrições práticas para orientar recomendações.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com o perfil do aluno, contendo histórico acadêmico, certificações, experiências, interesses profissionais, objetivos de carreira e preferências de aprendizagem.
# 2. Objetivo
Padronizar e enriquecer o perfil do aluno, identificando áreas temáticas, habilidades fortes, lacunas de competência, objetivos de carreira priorizados e restrições práticas para orientar recomendações.
# 3. Regras que você deve seguir para gerar sua resposta
- Normalizar notas em uma escala comum de 0-100.
- Identificar habilidades a partir de disciplinas, projetos e certificações.
- Classificar habilidades fortes e lacunas de competência com base em critérios estabelecidos.
- Estimar o nível de senioridade do aluno.
- Priorizar objetivos de carreira explicitamente informados.
- Gerar palavras-chave para busca de cursos.
- Validar completude mínima do perfil.
- Respeitar restrições explícitas como orçamento e modalidade preferida.
# 4. Exemplo de Output que você deve produzir
{"perfil_valido": true, "motivo_invalidade": null, "perfil_normalizado": {"areas_tematicas_ranked": [{"area": "Redes de Computadores", "score": 0.82}], "habilidades_fortes": [{"skill": "Linux", "evidencias": ["Sistemas Operacionais"], "nivel": "intermediario"}], "lacunas_competencia": [{"skill": "Segurança de Redes", "evidencias": ["ausência de disciplina específica"], "nivel_atual": "iniciante", "nivel_alvo": "intermediario"}], "objetivos_priorizados": ["administrador de redes"], "restricoes": {"orcamento_max": 1500, "moeda": "BRL", "modalidade_preferida": "online", "idioma": "pt-BR", "horas_semanais": 8}, "seniority_estimada": "iniciante", "matriz_pesos_criterios": {"alinhamento_carreira": 0.35, "fechamento_lacunas": 0.30, "nivel_requerido": 0.10, "duracao": 0.08, "preco": 0.07, "modalidade": 0.05, "prerequisitos": 0.03, "reputacao": 0.02}, "palavras_chave_busca": ["redes", "routing", "segurança de redes", "CCNA"], "contexto_regional": {"pais": "BR", "idioma": "pt-BR"}}} 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 com o 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 o perfil 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 JSON com até 15.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON que inclui o perfil normalizado do aluno, com áreas temáticas, habilidades fortes, lacunas de competência, objetivos de carreira priorizados e restrições práticas.
-
Exemplo de Estrutura de Output:
{"perfil_valido": true, "motivo_invalidade": null, "perfil_normalizado": {"areas_tematicas_ranked": [{"area": "Redes de Computadores", "score": 0.82}], "habilidades_fortes": [{"skill": "Linux", "evidencias": ["Sistemas Operacionais"], "nivel": "intermediario"}], "lacunas_competencia": [{"skill": "Segurança de Redes", "evidencias": ["ausência de disciplina específica"], "nivel_atual": "iniciante", "nivel_alvo": "intermediario"}], "objetivos_priorizados": ["administrador de redes"], "restricoes": {"orcamento_max": 1500, "moeda": "BRL", "modalidade_preferida": "online", "idioma": "pt-BR", "horas_semanais": 8}, "seniority_estimada": "iniciante", "matriz_pesos_criterios": {"alinhamento_carreira": 0.35, "fechamento_lacunas": 0.30, "nivel_requerido": 0.10, "duracao": 0.08, "preco": 0.07, "modalidade": 0.05, "prerequisitos": 0.03, "reputacao": 0.02}, "palavras_chave_busca": ["redes", "routing", "segurança de redes", "CCNA"], "contexto_regional": {"pais": "BR", "idioma": "pt-BR"}}} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno 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 devem ser visíveis para o Agente de Rankeamento e Recomendação de Cursos (RF 3).
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Execução de Chamada à API (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Execução de Chamada à API (RF 2).
RF 2. Agente de Execução de Chamada à API (Catálogo de Cursos)
2.1 Tarefa do Agente
Realizar chamada à API do sistema CatálogoCursos para obter ofertas de cursos compatíveis com o perfil e termos de busca.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um payload pronto para chamar a API do sistema CatálogoCursos, que contém palavras-chave e filtros baseados no perfil do aluno.
# 2. Objetivo
Realizar a chamada à API do sistema CatálogoCursos para obter ofertas de cursos compatíveis com o perfil e termos de busca.
# 3. Regras que você deve seguir para gerar sua resposta
- Realizar a chamada à API usando o payload fornecido.
- Retornar a lista de cursos obtida da API.
# 4. Exemplo de Output que você deve produzir
{"lista_cursos": [{"id": "CUR123", "titulo": "Segurança de Redes", "provedor": "Provedor X", "modalidade": "online", "carga_horaria": 40, "preco": 890, "moeda": "BRL", "idioma": "pt-BR", "nivel": "intermediario", "prerequisitos": ["Noções de redes"], "ementa_resumo": "Firewall, VPN, IDS", "tags": ["network security","vpn"], "avaliacoes": {"media": 4.6, "n": 325}, "certificacao": true, "link": "https://...", "elegibilidade": {"pais": ["BR"], "idade_min": null}, "datas": {"inicio": "2026-01-15", "auto_ritmo": true}}]} 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 um payload JSON com palavras-chave e filtros baseados no perfil 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 até 5.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a lista de cursos obtida da API.
-
Exemplo de Estrutura de Output:
{"lista_cursos": [{"id": "CUR123", "titulo": "Segurança de Redes", "provedor": "Provedor X", "modalidade": "online", "carga_horaria": 40, "preco": 890, "moeda": "BRL", "idioma": "pt-BR", "nivel": "intermediario", "prerequisitos": ["Noções de redes"], "ementa_resumo": "Firewall, VPN, IDS", "tags": ["network security","vpn"], "avaliacoes": {"media": 4.6, "n": 325}, "certificacao": true, "link": "https://...", "elegibilidade": {"pais": ["BR"], "idade_min": null}, "datas": {"inicio": "2026-01-15", "auto_ritmo": true}}]} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 3.000 caracteres.
2.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: Não se aplica (uso de ferramenta)
2.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá enviar o payload JSON recebido para a API externa do sistema CatálogoCursos e retornar a lista de cursos recebida como resposta.
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 (JSON com lista de cursos) deve ser visível para o Agente de Rankeamento e Recomendação de Cursos (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Rankeamento e Recomendação de Cursos (RF 3).
RF 3. Agente de Rankeamento e Recomendação de Cursos
3.1 Tarefa do Agente
Combinar o perfil normalizado do aluno com o catálogo recuperado e produzir um ranking de cursos com justificativas claras, cobrindo lacunas de competência e objetivos de carreira.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o perfil normalizado do aluno e a lista de cursos obtida da API.
# 2. Objetivo
Combinar o perfil normalizado do aluno com o catálogo recuperado e produzir um ranking de cursos com justificativas claras, cobrindo lacunas de competência e objetivos de carreira.
# 3. Regras que você deve seguir para gerar sua resposta
- Pré-filtrar cursos que não atendam às restrições do perfil.
- Calcular scores para cada curso com base em critérios como alinhamento com carreira e fechamento de lacunas.
- Gerar justificativas claras para as recomendações.
- Retornar até os top 5 cursos recomendados.
# 4. Exemplo de Output que você deve produzir
{"criterios_utilizados": ["alinhamento_carreira","fechamento_lacunas","nivel_requerido","duracao","preco","modalidade","prerequisitos","reputacao"], "parametros_de_filtro_efetivos": {"idioma": "pt-BR","preco_max": 1500}, "cursos_recomendados": [{"curso_id": "CUR123", "score_total": 87.4, "score_breakdown": {"alinhamento_carreira": 32.0, "fechamento_lacunas": 28.5, "nivel_requerido": 9.0, "duracao": 5.4, "preco": 4.9, "modalidade": 4.0, "prerequisitos": 2.1, "reputacao": 1.5}, "justificativa": "Cobre lacuna em Segurança de Redes alinhada ao objetivo 'administrador de redes'; compatível com modalidade online e idioma pt-BR; dentro do orçamento.", "lacunas_cobertas": ["Segurança de Redes"], "prerequisitos_pendentes": [], "adequacao_modalidade": "alta", "custo_total_estimado": {"valor": 890, "moeda": "BRL"}, "trilha_sugerida": ["CUR001","CUR123","CUR210"]}], "top_n_entregue": 5, "sem_resultados": false, "timestamp": "2025-12-13T06:38:00Z", "versao_regra": "v1.0"} 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 dois artefatos como input: o perfil normalizado do aluno (JSON, vindo do RF 1) e a lista de cursos (JSON, vindo do RF 2).
-
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 combinado de até 20.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o ranking de cursos recomendados, com critérios utilizados, parâmetros de filtro efetivos e justificativas claras para cada recomendação.
-
Exemplo de Estrutura de Output:
{"criterios_utilizados": ["alinhamento_carreira","fechamento_lacunas","nivel_requerido","duracao","preco","modalidade","prerequisitos","reputacao"], "parametros_de_filtro_efetivos": {"idioma": "pt-BR","preco_max": 1500}, "cursos_recomendados": [{"curso_id": "CUR123", "score_total": 87.4, "score_breakdown": {"alinhamento_carreira": 32.0, "fechamento_lacunas": 28.5, "nivel_requerido": 9.0, "duracao": 5.4, "preco": 4.9, "modalidade": 4.0, "prerequisitos": 2.1, "reputacao": 1.5}, "justificativa": "Cobre lacuna em Segurança de Redes alinhada ao objetivo 'administrador de redes'; compatível com modalidade online e idioma pt-BR; dentro do orçamento.", "lacunas_cobertas": ["Segurança de Redes"], "prerequisitos_pendentes": [], "adequacao_modalidade": "alta", "custo_total_estimado": {"valor": 890, "moeda": "BRL"}, "trilha_sugerida": ["CUR001","CUR123","CUR210"]}], "top_n_entregue": 5, "sem_resultados": false, "timestamp": "2025-12-13T06:38:00Z", "versao_regra": "v1.0"} - Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 7.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: 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 (JSON com ranking de cursos) é 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 com o ranking de cursos é o resultado que deve ser disponibilizado ao usuário.