Agente de IA para Gestão de Documentação Acadêmica

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

Como criar um agente de IA que organiza e padroniza documentos acadêmicos, como históricos escolares e certificados.

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

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

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: .pdf e 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

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.

© 2025 prototipe.ai. Todos os direitos reservados.