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 Documentação Acadêmica", uma solução de automação projetada para organizar e padronizar documentos acadêmicos dos estudantes, facilitando o acesso e a atualização. 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 é garantir que todos os documentos acadêmicos dos estudantes sejam organizados e padronizados, assegurando a consistência e facilitando o acesso e atualização por parte dos alunos.
2. Contexto e Problema
Cenário Atual
Atualmente, os estudantes enfrentam problemas significativos relacionados à gestão de seus documentos acadêmicos. Estes problemas incluem:
- Desorganização e inconsistência nos documentos acadêmicos.
- Dificuldade dos alunos em acessar e atualizar seus documentos de forma eficiente.
- Falta de padronização nos formatos de documentos, como históricos escolares e certificados.
Problemas Identificados
- Desorganização: A falta de um sistema estruturado para organizar documentos acadêmicos leva a dificuldades em localizar informações essenciais.
- Dificuldade de Acesso: Alunos enfrentam barreiras ao tentar acessar ou atualizar seus documentos acadêmicos, o que pode atrasar processos administrativos e acadêmicos.
- Inconsistência de Formatos: A ausência de padrões claros nos formatos de documentos causa confusão e erros de interpretação.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Organização Eficiente: Garantir que todos os documentos acadêmicos sejam armazenados de forma organizada e facilmente acessível.
- Facilidade de Acesso: Permitir que os alunos acessem e atualizem seus documentos de maneira segura e eficiente.
- Padronização de Formatos: Assegurar que todos os documentos acadêmicos sigam um formato padronizado, reduzindo erros e confusões.
4. Visão Geral da Solução
O agente de IA para gestão de documentação acadêmica organiza e padroniza documentos acadêmicos, como históricos escolares e certificados, facilitando o acesso e a atualização pelos estudantes. 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 documentação acadêmica.
A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com o recebimento de lotes de arquivos de documentos acadêmicos e termina com a gestão de solicitações de acesso e atualização por parte dos alunos.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Inventário e Classificação de Documentos Acadêmicos (RF 1)
| Receber lotes de arquivos, identificar o aluno correspondente e classificar cada documento no tipo correto. |
Agente de Padronização e Normalização de Formatos (RF 2)
| Padronizar todos os documentos aceitos para um formato e nomenclatura consistentes, prontos para arquivamento acadêmico. |
Agente de Extração e Validação de Dados Acadêmicos (RF 3)
| Extrair campos-chave dos documentos padronizados e validar consistência intra e interdocumentos por aluno. |
Agente de Indexação e Políticas de Acesso (RF 4)
| Gerar índice navegável e política de acesso e atualização por perfil, garantindo segurança e privacidade. |
Agente de Atendimento de Solicitações de Acesso e Atualização (RF 5)
| Processar pedidos dos estudantes para visualizar, atualizar ou substituir documentos, aplicando autenticação e versionamento lógico. |
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 cliente receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Inventário e Classificação de Documentos Acadêmicos
1.1 Tarefa do Agente
Receber lotes de arquivos, identificar o aluno correspondente e classificar cada documento no tipo correto.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo lotes de arquivos de documentos acadêmicos. Cada arquivo pode ser um PDF, DOCX ou imagem, acompanhado de metadados mínimos por aluno.
# 2. Objetivo
Identificar o aluno correspondente a cada documento e classificar o documento no tipo correto, gerando um inventário estruturado.
# 3. Regras que você deve seguir para gerar sua resposta
- Mapear aluno_id pela seguinte precedência: 1) aluno_id explícito; 2) matrícula; 3) CPF; 4) combinação {nome normalizado, curso}. Se houver ambiguidade, marcar status_coleta = rejeitado e motivos_rejeicao += ['aluno_nao_identificado_com_unicidade'].
- Classificar tipo_documento usando padrões de conteúdo e títulos: 'historico_escolar', 'certificado_conclusao', 'diploma', 'comprovante_matricula', 'declaracao', 'reconhecimento_creditos', 'certificado_extensao', 'outros'. Se não for possível, marcar como 'outros' e incluir motivos_rejeicao += ['tipo_nao_identificado'].
- Detectar duplicidade por hash de conteúdo e similaridade de metadados (aluno_id + tipo_documento + ano/emissor). Se duplicado provável, definir suspeita_duplicado = true.
- Validar requisitos mínimos por tipo: histórico exige nome aluno, curso, período(s) e notas/disciplinas; certificado exige aluno, curso/atividade, carga_horaria (se aplicável), emissor e data; diploma exige aluno, curso, número/registro e emissor. Se faltarem, manter status_coleta = aceito, porém adicionar motivos_rejeicao com ['campos_minimos_potencialmente_ausentes'].
- Gerar filename_sugerido no padrão: {aluno_id}_{tipo_documento}_{emissor|NA}_{ano|NA}.pdf (sem espaços, minúsculas, sem acentos). 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 lotes de arquivos de documentos acadêmicos 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: Lotes de arquivos de documentos acadêmicos em PDF, DOCX ou imagem, acompanhados de metadados mínimos por aluno.
-
Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos:
.pdf,.docx,.jpg,.png. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 50.000 caracteres por lote de arquivos.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON de inventário com uma entrada por arquivo, contendo informações detalhadas sobre cada documento e seu status de coleta.
-
Exemplo de Estrutura de Output:
{ "arquivo_id": "12345", "aluno_id": "67890", "tipo_documento": "historico_escolar", "filename_sugerido": "67890_historico_escolar_na_2025.pdf", "status_coleta": "aceito", "motivos_rejeicao": [], "suspeita_duplicado": false } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 2.000 caracteres por arquivo processado.
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 Padronização e Normalização de Formatos (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Padronização e Normalização de Formatos (RF 2).
RF 2. Agente de Padronização e Normalização de Formatos
2.1 Tarefa do Agente
Padronizar todos os documentos aceitos para um formato e nomenclatura consistentes, prontos para arquivamento acadêmico.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um inventário com arquivos aceitos e os próprios arquivos. Sua tarefa é padronizar esses documentos para arquivamento acadêmico.
# 2. Objetivo
Padronizar os documentos para um formato e nomenclatura consistentes.
# 3. Regras que você deve seguir para gerar sua resposta
- Converter todos os arquivos para PDF em padrão arquivístico e página A4, mantendo ordem de páginas. Se não converter, padronizacao_realizada = nao e motivo_falha = 'falha_conversao'.
- Garantir que o documento fique legível em 100% de zoom; se ilegível, legibilidade_aceitavel = nao e adicionar motivo_falha = 'baixa_legibilidade'.
- Corrigir orientações de páginas (girar quando necessário) e remover páginas em branco isoladas no início/fim.
- Unificar metadados de documento: título = '{tipo_documento} - {aluno_id}', autor = '{emissor|NA}', assunto = '{curso|NA}'.
- Aplicar nomenclatura final de arquivo conforme filename_sugerido do inventário, ajustando extensão para '.pdf' e garantindo unicidade com sufixo incremental (_v2, _v3...) apenas quando já existir arquivo idêntico.
- Registrar checksum por arquivo no manifest.json.
- Se o documento precisar ser dividido (ex.: histórico com anexos não acadêmicos), produzir múltiplos itens no manifest, mantendo relacionamento com arquivo_id original via campo 'origem_arquivo_id'. 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: Inventário com arquivos aceitos e os próprios arquivos para padronização.
-
Formatos Suportados: Esse agente deve ser capaz de receber arquivos nos formatos:
.pdf,.docx,.jpg,.png. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 50.000 caracteres por lote de arquivos.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um pacote de documentos padronizados e um manifest.json com informações detalhadas sobre cada documento e seu status de padronização.
-
Exemplo de Estrutura de Output:
{ "arquivo_id": "12345", "aluno_id": "67890", "tipo_documento": "historico_escolar", "filename_final": "67890_historico_escolar_na_2025.pdf", "padronizacao_realizada": "sim", "motivo_falha": [], "paginas": 5, "orientacao": "retrato", "conversao_pdfa": "sim", "legibilidade_aceitavel": "sim", "checksum": "abcdef123456" } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 2.500 caracteres por arquivo processado.
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 deve ser visível para o Agente de Extração e Validação de Dados Acadêmicos (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Extração e Validação de Dados Acadêmicos (RF 3).
RF 3. Agente de Extração e Validação de Dados Acadêmicos
3.1 Tarefa do Agente
Extrair campos-chave dos documentos padronizados e validar consistência intra e interdocumentos por aluno.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo documentos padronizados e um manifest.json. Sua tarefa é extrair campos-chave e validar a consistência dos dados.
# 2. Objetivo
Extrair dados essenciais de cada documento e verificar a consistência intra e interdocumentos por aluno.
# 3. Regras que você deve seguir para gerar sua resposta
- Normalizar nomes removendo acentos, múltiplos espaços e padronizando caixa para comparação; considerar equivalentes nomes que diferem apenas por abreviações usuais de prenomes.
- Validar CPF quando presente: formato NNN.NNN.NNN-NN ou NNNNNNNNNNN; se inválido, adicionar discrepancias += {tipo:'cpf_invalido', documento:arquivo_id}.
- Checar identidade: aluno_nome, matricula e cpf devem coincidir entre documentos do mesmo aluno_id. Divergências geram discrepancias com indicação dos arquivo_id conflitantes.
- Verificar cronologia: datas de período do histórico não podem ultrapassar data de emissão; certificado de conclusão deve ter data >= última data de aprovação do curso.
- Validar notas e cargas horárias em faixas plausíveis: notas entre 0 e 10 (ou conceito mapeado), carga_horaria > 0 e <= 6000; fora disso, registrar discrepancia com valor observado.
- Marcar qualidade_extracao: alta quando todos campos essenciais do tipo foram extraídos; media quando até 2 campos essenciais faltam; baixa quando mais de 2 faltam.
- Definir, por aluno, flags de validação (sim|nao) conforme todas as evidências por tipo_documento; se qualquer validação for nao, incluir justificativas em discrepancias com referência clara ao arquivo_id. 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: Documentos padronizados e o manifest.json para extração e validação de dados.
-
Formatos Suportados: Esse agente deve ser capaz de receber documentos nos formatos:
.pdfe manifest.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 50.000 caracteres por lote de arquivos.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um dataset.json com dados extraídos por documento e validações por aluno.
-
Exemplo de Estrutura de Output:
{ "arquivo_id": "12345", "aluno_id": "67890", "tipo_documento": "historico_escolar", "campos_extraidos": { "aluno_nome": "João Silva", "matricula": "2021001", "cpf": "123.456.789-00", "curso": "Engenharia", "emissor": "Universidade XYZ", "datas_relevantes": { "emissao": "2025-08-10", "conclusao": "2025-07-15", "periodo_inicio": "2021-01-01", "periodo_fim": "2025-07-01" }, "carga_horaria": "3600", "ira_cra": "8.5", "numero_registro": "123456" }, "qualidade_extracao": "alta" } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 3.000 caracteres por arquivo processado.
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: Não utiliza.
- 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 nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Indexação e Políticas de Acesso (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Indexação e Políticas de Acesso (RF 4).
RF 4. Agente de Indexação e Políticas de Acesso
4.1 Tarefa do Agente
Gerar índice navegável e política de acesso e atualização por perfil, garantindo segurança e privacidade.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo manifest.json e dataset.json consolidados por aluno. Sua tarefa é gerar um índice navegável e definir políticas de acesso e atualização por perfil.
# 2. Objetivo
Gerar um índice que permita navegação por documentos e definir políticas de acesso e atualização, garantindo segurança e privacidade.
# 3. Regras que você deve seguir para gerar sua resposta
- Atribuir visibilidade padrão: aluno pode visualizar todos os seus documentos; 'secretaria' e 'coordenacao' podem visualizar; atualização permitida ao aluno e 'secretaria'.
- Para perfis diferentes do proprietário, mascarar campos sensíveis definidos em mascaramento_campos.
- Definir regra de retenção: manter documentos por 5 anos após conclusão; se matrícula ativa, reter indefinidamente até atualização da situação.
- Gerar uri_logica estável: 'alunos/{aluno_id}/{tipo_documento}/{filename_final}'.
- Sinalizar auditoria_habilitada = true para todos os documentos, exigindo versionamento em qualquer atualização.
- Se dataset por aluno tiver identidades inconsistentes, marcar politicas_acesso.atualizar.owner apenas com fluxo guiado (campo 'atualizacao_restrita': true) até correção das discrepâncias. 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: manifest.json e dataset.json consolidados por aluno para geração de índice e políticas de acesso.
- Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos: manifest.json e dataset.json.
- Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 50.000 caracteres por lote de arquivos.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um index.json por aluno com informações detalhadas sobre documentos, políticas de acesso e segurança.
-
Exemplo de Estrutura de Output:
{ "aluno_id": "67890", "documentos": [ { "arquivo_id": "12345", "tipo_documento": "historico_escolar", "filename_final": "67890_historico_escolar_na_2025.pdf", "uri_logica": "alunos/67890/historico_escolar/67890_historico_escolar_na_2025.pdf" } ], "politicas_acesso": { "visualizar": { "owner": ["aluno"], "staff": ["secretaria","coordenacao"] }, "atualizar": { "owner": ["aluno"], "staff": ["secretaria"] }, "compartilhar": { "restrito": true } }, "mascaramento_campos": { "para_nao_owner": ["cpf","numero_registro"] }, "retencao": { "regra": "5_anos_pos_conclusao_ou_indefinido_se_matricula_ativa" }, "auditoria_habilitada": true } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 4.000 caracteres por aluno.
4.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
4.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.
4.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 Atendimento de Solicitações de Acesso e Atualização (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Atendimento de Solicitações de Acesso e Atualização (RF 5).
RF 5. Agente de Atendimento de Solicitações de Acesso e Atualização
5.1 Tarefa do Agente
Processar pedidos dos estudantes para visualizar, atualizar ou substituir documentos, aplicando autenticação e versionamento lógico.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo requisições de estudantes para realizar ações em seus documentos acadêmicos. # 2. Objetivo Processar pedidos de visualização, atualização ou substituição de documentos, garantindo autenticidade e segurança. # 3. Regras que você deve seguir para gerar sua resposta - Exigir autenticação por dupla verificação: combinar aluno_id com pelo menos dois identificadores (ex.: matrícula e CPF ou data de nascimento). Se falhar, autenticado = nao e permitido = nao. - Verificar politicas_acesso do index.json para o aluno e ação solicitada. Se não houver permissão, permitido = nao com motivo_bloqueio = 'politica_acesso'. - Em 'substituir' ou 'atualizar', criar nova_versao com vínculo ao arquivo anterior e manter o anterior acessível para auditoria; definir impacto_no_index = atualizar_uri apenas se filename_final mudar. - Reaplicar regras do Agente de Padronização ao novo_arquivo antes de concluir a atualização; se padronizacao_realizada = nao, bloquear a operação com passos_requeridos incluindo 'enviar_documento_legivel_e_convertivel'. - Se o aluno estiver com atualizacao_restrita no índice (por inconsistência de identidade), permitir apenas 'corrigir_metadados' que resolvam as discrepâncias primeiro. - Em pedidos de 'visualizar', aplicar mascaramento conforme perfil; nunca expor campos listados em mascaramento_campos para perfis não proprietários.
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: Requisições de estudantes para visualizar, atualizar ou substituir documentos.
- Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato de requisição estruturada.
- Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 10.000 caracteres por requisição.
5.3.2 Especificação do Output
- Formato de output: O output deve ser uma decisão estruturada sobre a requisição do estudante, detalhando autenticidade e permissões.
-
Exemplo de Estrutura de Output:
{ "autenticado": "sim", "permitido": "sim", "motivo_bloqueio": [], "passos_requeridos": [], "nova_versao": { "arquivo_id_novo": "54321", "versionamento_da": "12345", "checksum": "123456abcdef", "impacto_no_index": "atualizar_uri", "campos_metadados_atualizados": [] } } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 2.000 caracteres por requisição processada.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
5.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.
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 entregável final do fluxo 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. A decisão estruturada deve ser disponibilizada ao usuário.