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 "Gestão de Filas de Espera", uma solução de automação projetada para gerenciar listas de espera para matrículas em instituições educacionais. 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 é otimizar a gestão de filas de espera, atualizando automaticamente o status dos candidatos e informando os responsáveis, de forma a garantir eficiência e transparência no processo de matrícula.
2. Contexto e Problema
Cenário Atual
As instituições educacionais frequentemente enfrentam desafios na gestão de listas de espera para matrículas, o que pode causar frustração entre pais e responsáveis devido à falta de atualizações regulares sobre o status dos candidatos.
Atualmente, a gestão dessas listas é geralmente ineficiente, com pouca transparência e comunicação inadequada com os responsáveis, resultando em um processo de matrícula caótico e insatisfatório para todos os envolvidos.
Problemas Identificados
- Gestão ineficiente de filas de espera: A falta de um sistema automatizado leva a atrasos e erros na atualização do status dos candidatos.
- Falta de atualizações regulares: Pais e responsáveis ficam sem informações claras sobre o andamento da matrícula, gerando frustração e insegurança.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar a eficiência na gestão de listas de espera para matrículas.
- Fornecer atualizações regulares e automáticas sobre o status dos candidatos, aumentando a transparência.
- Reduzir a frustração de pais e responsáveis, melhorando a comunicação e o processo de matrícula.
4. Visão Geral da Solução
O agente de IA para gestão de filas de espera processa dados dos candidatos, aplica regras de priorização e elegibilidade e atualiza automaticamente o status dos candidatos, notificando os responsáveis sobre mudanças importantes. 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 gestão de listas de espera para matrículas.
A solução consiste em dois agentes de IA principais que trabalham em conjunto para gerenciar as filas de espera e comunicar-se com os responsáveis.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Priorização e Elegibilidade da Fila de Espera (RF 1)
| Calcular o score de prioridade e aplicar regras de elegibilidade para cada candidato na lista de espera. |
Agente de Atualização de Status e Geração de Notificações (RF 2)
| Consolidar mudanças de status válidas e notificar os responsáveis pelos candidatos. |
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 os responsáveis receberão. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Priorização e Elegibilidade da Fila de Espera
1.1 Tarefa do Agente
Receber a fotografia completa da fila (candidatos, capacidades e políticas), calcular o score de prioridade por série/turno, aplicar regras de elegibilidade, identificar ofertas a expirar/expiradas e produzir uma proposta de transições de status com justificativas e prazos.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista completa dos candidatos em lista de espera para matrícula, junto com as capacidades e políticas de priorização definidas pela administração escolar.
# 2. Objetivo
Calcular o score de prioridade por série/turno, aplicar regras de elegibilidade, identificar ofertas a expirar/expiradas e propor transições de status com justificativas e prazos.
# 3. Regras que você deve seguir para gerar sua resposta
- Calcule scores e posições separadamente por combinação exata de série e turno.
- Inclua no ranqueamento apenas candidatos com status "aguardando" ou "pré-oferta".
- Calcule o tempo de espera e normalize-o para cada série/turno.
- Aplique critérios de priorização com base nos pesos definidos (irmão matriculado, zona preferencial, etc.).
- Proponha transições de status com base em ofertas expiradas e novas ofertas disponíveis.
# 4. Exemplo de Output que você deve produzir
{
"resumo_execucao_parcial": {
"data_processamento": "YYYY-MM-DDTHH:mm:ssZ",
"series_processadas": ["string"],
"total_candidatos": number
},
"fila_priorizada": [
{
"id": "string",
"serie": "string",
"turno": "string",
"score": number,
"posicao": number
}
],
"capacidade_apos_expiracoes": [
{
"serie": "string",
"turno": "string",
"vagas_disponiveis": number
}
],
"transicoes_propostas": [
{
"id": "string",
"status_anterior": "string",
"novo_status": "pre_oferta|oferta_enviada|aguardando|oferta_expirada|manter",
"motivo": "string",
"prazo_resposta": "YYYY-MM-DDTHH:mm:ssZ|null"
}
]
} 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 dados completos da lista de espera 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: O input inicial para o fluxo é um JSON contendo informações detalhadas dos candidatos e políticas de priorização.
-
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é 50.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo o resumo da execução, a fila priorizada, a capacidade após expirações e as transições propostas.
-
Exemplo de Estrutura de Output:
{ "resumo_execucao_parcial": { "data_processamento": "YYYY-MM-DDTHH:mm:ssZ", "series_processadas": ["string"], "total_candidatos": number }, "fila_priorizada": [ { "id": "string", "serie": "string", "turno": "string", "score": number, "posicao": number } ], "capacidade_apos_expiracoes": [ { "serie": "string", "turno": "string", "vagas_disponiveis": number } ], "transicoes_propostas": [ { "id": "string", "status_anterior": "string", "novo_status": "pre_oferta|oferta_enviada|aguardando|oferta_expirada|manter", "motivo": "string", "prazo_resposta": "YYYY-MM-DDTHH:mm:ssZ|null" } ] } - Número de caracteres esperado: O JSON gerado deve ser conciso e informativo, com 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: Utiliza lógica interna para cálculos de priorização e elegibilidade.
- 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 Atualização de Status e Geração de Notificações (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Atualização de Status e Geração de Notificações (RF 2).
RF 2. Agente de Atualização de Status e Geração de Notificações
2.1 Tarefa do Agente
Consolidar as mudanças de status válidas, calcular prazos, montar mensagens por canal e produzir a saída final estruturada para aplicação no sistema acadêmico e comunicação com responsáveis.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo as transições propostas e a fila priorizada pelo agente anterior.
# 2. Objetivo
Consolidar as mudanças de status válidas, calcular prazos, montar mensagens por canal e produzir a saída final estruturada para aplicação no sistema acadêmico e comunicação com responsáveis.
# 3. Regras que você deve seguir para gerar sua resposta
- Considere para atualização apenas transições cujo novo_status esteja em {"pre_oferta", "oferta_enviada", "oferta_expirada"}.
- Conte somente as transições efetivas na métrica total_atualizados.
- Calcule prazo_resposta quando aplicável e associe mensagens conforme o novo_status.
- Gere uma notificação por canal disponível no candidato (email e/ou sms).
# 4. Exemplo de Output que você deve produzir
{
"resumo_execucao": {
"data_processamento": "YYYY-MM-DDTHH:mm:ssZ",
"series_processadas": ["string"],
"total_candidatos": number,
"total_atualizados": number
},
"fila_priorizada": [
{
"id": "string",
"serie": "string",
"turno": "string",
"score": number,
"posicao": number
}
],
"atualizacoes_status": [
{
"id": "string",
"status_anterior": "string",
"novo_status": "string",
"motivo": "string",
"prazo_resposta": "YYYY-MM-DDTHH:mm:ssZ|null"
}
],
"notificacoes": [
{
"id_candidato": "string",
"canal": "email|sms",
"destino": "string",
"assunto": "string",
"mensagem": "string",
"template_id": "string",
"contexto": {
"nome_candidato": "string",
"serie": "string",
"turno": "string",
"prazo_resposta": "YYYY-MM-DDTHH:mm:ssZ|null",
"link_confirmacao": "string"
}
}
]
} 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 contendo as transições propostas e a fila priorizada.
-
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é 50.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo o resumo da execução, as atualizações de status e as notificações geradas.
-
Exemplo de Estrutura de Output:
{ "resumo_execucao": { "data_processamento": "YYYY-MM-DDTHH:mm:ssZ", "series_processadas": ["string"], "total_candidatos": number, "total_atualizados": number }, "fila_priorizada": [ { "id": "string", "serie": "string", "turno": "string", "score": number, "posicao": number } ], "atualizacoes_status": [ { "id": "string", "status_anterior": "string", "novo_status": "string", "motivo": "string", "prazo_resposta": "YYYY-MM-DDTHH:mm:ssZ|null" } ], "notificacoes": [ { "id_candidato": "string", "canal": "email|sms", "destino": "string", "assunto": "string", "mensagem": "string", "template_id": "string", "contexto": { "nome_candidato": "string", "serie": "string", "turno": "string", "prazo_resposta": "YYYY-MM-DDTHH:mm:ssZ|null", "link_confirmacao": "string" } } ] } - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 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 cálculos de prazos e montagem de mensagens.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos diretamente, mas o output será utilizado para atualizações no sistema acadêmico e envio de notificações.
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 entregável 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. A saída gerada deve ser utilizada para aplicar atualizações no sistema acadêmico e enviar notificações aos responsáveis.