1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, consulta a documentos e demais requisitos funcionais para o Agente de IA para Validação de Documentos em Processos de Adesã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 é verificar a validade e autenticidade de documentos submetidos durante o processo de adesão a planos de saúde, reduzindo a necessidade de verificação manual e minimizando erros.
2. Contexto e Problema
Cenário Atual
Durante o processo de adesão a planos de saúde, é comum o envio de documentos falsificados ou inválidos. A verificação manual desses documentos é demorada e sujeita a erros, o que pode comprometer a eficiência e a segurança do processo de adesão.
Problemas Identificados
- Documentos falsificados ou inválidos: A detecção de documentos falsos ou inválidos é um desafio constante durante o processo de adesão.
- Verificação manual demorada: O processo manual de verificação é lento e propenso a erros humanos.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Aumento da precisão na validação de documentos.
- Redução do tempo necessário para o processamento de documentos de adesão.
- Minimização de erros humanos durante a verificação de documentos.
- Detecção automática de documentos suspeitos para revisão manual.
4. Visão Geral da Solução
O agente de IA para validação de documentos em processos de adesão verifica a validade e autenticidade de documentos submetidos, utilizando algoritmos avançados e bases de dados externas. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue de forma eficiente e autônoma na validação de documentos durante o processo de adesão.
A solução consiste em um fluxo de automação composto por três agentes de IA. O processo inicia com a extração e preparação de parâmetros de verificação dos documentos enviados, passa pela execução de consultas a bases externas e termina com a validação e decisão de autenticidade dos documentos.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Extração e Preparação de Parâmetros de Verificação (RF 1)
| Ler os documentos de adesão enviados e preparar um JSON estruturado com metadados, campos essenciais e parâmetros de verificação. |
Agente de Execução de Consultas a Bases Externas (RF 2)
| Realizar consultas a bases externas para verificar status e correspondência de dados. |
Agente de Validação e Decisão de Autenticidade (RF 3)
| Aplicar regras de negócio de validação sobre os dados extraídos e os retornos das bases externas para classificar o documento e definir o próximo passo. |
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 Extração e Preparação de Parâmetros de Verificação
1.1 Tarefa do Agente
Ler os documentos de adesão enviados e preparar um JSON estruturado com metadados, campos essenciais e parâmetros de verificação necessários para etapas posteriores.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um pacote de documentos do proponente (PDFs/Imagens) e dados declarados na proposta (nome, CPF, data de nascimento, endereço, e-mail, telefone, nº da proposta, produto/operadora). # 2. Objetivo Ler os documentos de adesão enviados e preparar um JSON estruturado com metadados, campos essenciais e parâmetros de verificação necessários para etapas posteriores. # 3. Regras que você deve seguir para gerar sua resposta - Identifique o tipo de cada documento a partir de rótulos visuais e conteúdo textual, e normalize para o conjunto permitido: RG, CNH, CPF, Comprovante_Endereco, Certidao, Outros. - Extraia, quando existirem, os campos: número do documento, órgão emissor, UF emissor e data de emissão; para comprovante de endereço, extraia logradouro, número, complemento (se houver), bairro, cidade, UF e CEP; para RG/CNH, extraia nome e data de nascimento presentes no documento. - Cruce dados extraídos com os dados declarados na proposta e registre divergências pontuais em sinais_internos.inconsistencia_dados em formato de mensagens atômicas (ex.: "nome_diverge", "data_nascimento_diverge", "endereco_cep_invalido_format"). - Sinalize possivel_alteracao como true se houver indicações textuais inconsistentes entre campos do mesmo documento (ex.: datas conflitantes, campos obrigatórios ausentes) ou metadados contraditórios entre páginas. - Defina formato_inadequado como true se o arquivo não permitir leitura confiável (ex.: resolução muito baixa perceptível pelos textos truncados) ou se o tipo inferido não pertencer ao conjunto conhecido. - Determine parametros_verificacao.precisa_verificacao_externa: true quando houver documentos de identificação (RG, CNH, CPF) ou quando houver comprovante de endereço com CEP válido; caso nenhum dado verificável externamente exista, defina como false e datasets_requeridos vazio. - Preencha parametros_verificacao.datasets_requeridos de forma determinística: se houver CPF válido em formato NNN.NNN.NNN-NN, inclua "rfb_cpf"; se houver RG com UF emissor, inclua "ssp_rg"; se houver CNH, inclua "detra_cnh"; se houver CEP válido (NNNNN-NNN), inclua "correios_endereco". - Sempre retorne o JSON mesmo diante de dados faltantes; use null para campos desconhecidos e listas vazias quando aplicável.
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 pacote de documentos e dados declarados 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 dos documentos na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: Pacote de documentos (PDFs/Imagens) e dados estruturados.
-
Formatos Suportados: Esse agente deve ser capaz de receber documentos nos formatos:
.pdf,.jpg,.png. - 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 arquivo no formato JSON estruturado com metadados, campos essenciais e parâmetros de verificação.
-
Exemplo de Estrutura de Output:
{ "proposta_id": "string", "proponente": {"nome": "string", "cpf": "string", "data_nascimento": "YYYY-MM-DD"}, "documentos": [{"tipo": "RG|CNH|CPF|Comprovante_Endereco|Certidao|Outros", "arquivo_id": "string", "numero": "string|null", "orgao_emissor": "string|null", "uf_emissor": "string|null", "data_emissao": "YYYY-MM-DD|null", "nome_no_documento": "string|null", "data_nascimento_no_documento": "YYYY-MM-DD|null"}], "endereco_declarado": {"logradouro": "string", "numero": "string", "bairro": "string", "cidade": "string", "uf": "string", "cep": "string"}, "sinais_internos": {"possivel_alteracao": false, "fotos_repetidas": false, "inconsistencia_dados": ["string"], "formato_inadequado": false}, "parametros_verificacao": {"precisa_verificacao_externa": true, "datasets_requeridos": ["rfb_cpf", "ssp_rg", "detra_cnh", "correios_endereco"], "chaves_consulta": {"cpf": "string", "nome": "string", "data_nascimento": "YYYY-MM-DD", "cep": "string"}} } - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 2.500 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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 Execução de Consultas a Bases Externas (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 Consultas a Bases Externas (RF 2).
RF 2. Agente de Execução de Consultas a Bases Externas
2.1 Tarefa do Agente
Realizar consultas a bases externas oficiais/terceiras para verificar status e correspondência de dados (ex.: CPF ativo, correspondência de nome e data de nascimento, endereço por CEP).
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um payload com parametros_verificacao.datasets_requeridos e chaves_consulta já definidos, além do proposta_id para rastreio. # 2. Objetivo Realizar consultas a bases externas oficiais/terceiras para verificar status e correspondência de dados (ex.: CPF ativo, correspondência de nome e data de nascimento, endereço por CEP). # 3. Regras que você deve seguir para gerar sua resposta - Este agente é exclusivamente executor de consultas e não precisa de instruções de LLM. - Aceite parâmetros prontos, efetue as consultas e devolva os dados conforme o contrato de saída. - Execute chamadas às APIs externas definidas na plataforma do projeto conforme os datasets_requeridos. - Tratamento de indisponibilidade deve ser refletido em campos consultado=false e inclusão de mensagens em erros.
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: Payload com parametros_verificacao.datasets_requeridos e chaves_consulta já definidos, além do proposta_id para rastreio.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(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 arquivo no formato JSON contendo os resultados das consultas externas.
-
Exemplo de Estrutura de Output:
{ "proposta_id": "string", "resultados_externos": { "rfb_cpf": {"consultado": true, "status": "regular|suspenso|cancelado|null", "nome_cadastrado_confere": true|null, "data_nascimento_confere": true|null}, "ssp_rg": {"consultado": true, "documento_existente": true|null, "uf_confere": true|null}, "detra_cnh": {"consultado": true, "registro_valido": true|null, "situacao": "valida|suspensa|cassada|null"}, "correios_endereco": {"consultado": true, "cep_valido": true|null, "logradouro_padrao": "string|null", "cidade_uf_confere": true|null} }, "erros": [] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.500 caracteres.
2.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica
2.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Executa chamadas às APIs externas definidas na plataforma do projeto conforme os datasets_requeridos.
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 Validação e Decisão de Autenticidade (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Validação e Decisão de Autenticidade (RF 3).
RF 3. Agente de Validação e Decisão de Autenticidade
3.1 Tarefa do Agente
Aplicar regras de negócio de validação sobre os dados extraídos e os retornos das bases externas para classificar o documento e definir o próximo passo.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo a saída do Agente de Extração (documentos, sinais_internos, parametros_verificacao) e, quando disponível, a saída do Agente de Consultas Externas (resultados_externos). # 2. Objetivo Aplicar regras de negócio de validação sobre os dados extraídos e os retornos das bases externas para classificar o documento e definir o próximo passo. # 3. Regras que você deve seguir para gerar sua resposta - Valide CPF: se formato inválido, adicione motivo "cpf_formato_invalido" e regra R_CPF_001; se consulta rfb_cpf.status != "regular", adicione R_CPF_002 e marque autenticidade_confirmada=false. - Concilie nome e data de nascimento: se resultados_externos.rfb_cpf.nome_cadastrado_confere=false, adicione "nome_diverge_rfb" (R_ID_003); se data_nascimento_confere=false, adicione "data_nascimento_diverge_rfb" (R_ID_004). - RG/CNH: se documento_existente=false em ssp_rg, adicione "rg_nao_encontrado" (R_RG_001); se detra_cnh.registro_valido=false ou situacao != "valida", adicione "cnh_irregular" (R_CNH_001). - Endereco/CEP: se cep_valido=false, adicione "cep_invalido" (R_END_001); se cidade_uf_confere=false, adicione "endereco_diverge_localidade" (R_END_002). - Penalize sinais internos: possivel_alteracao=true soma motivo "indicios_de_alteracao" (R_DOC_001); formato_inadequado=true adiciona "formato_inadequado" (R_DOC_002). Cada inconsistência listada entra em motivos com prefixo "inc_" e regra R_DOC_3xx. - Cálculo de nivel_confianca (0 a 1): inicie em 1.0; subtraia 0.25 para cada divergência crítica (CPF irregular, nome/data divergentes na RFB, CNH irregular); subtraia 0.1 para cada divergência não crítica (CEP inválido, endereço diverge, RG não encontrado); subtraia 0.15 para cada sinal interno (possivel_alteracao, formato_inadequado). Limite inferior 0.0, superior 1.0. - Classificação de risco: nivel_confianca >= 0.8 => baixo; >= 0.6 e < 0.8 => medio; < 0.6 => alto. - Decisão: documento_valido é true se não houver divergência crítica e nivel_confianca >= 0.7; autenticidade_confirmada é true somente se todas as verificações críticas retornarem "ok" ou "nao_aplicavel" e não houver sinais internos; human_review_required é true se: (a) nivel_confianca < 0.8 e existe qualquer motivo crítico; (b) resultados_externos estiveram indisponíveis para um dataset crítico solicitado; ou (c) possivel_alteracao=true. - Ações recomendadas: se documento_valido e autenticidade_confirmada => ["aprovar"]; se divergência crítica sem confirmação => ["enviar_para_revisao_manual"]; se formato inadequado ou ausência de dados essenciais => ["solicitar_novos_documentos"]; se múltiplas irregularidades graves => ["negar", "enviar_para_revisao_manual"]. - Preencha evidencias.conferencias_externas por dataset: marque "ok" quando o retorno confirmar os dados, "diverge" quando houver inconsistência, "indisponivel" quando consultado=false por indisponibilidade, e "nao_aplicavel" quando o dataset não foi solicitado. - Sempre retornar resumo textual curto e objetivo citando os principais motivos e a decisão.
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: Saída do Agente de Extração (documentos, sinais_internos, parametros_verificacao) e, quando disponível, saída do Agente de Consultas Externas (resultados_externos).
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 5.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um arquivo no formato JSON contendo o resultado da validação e decisão de autenticidade.
-
Exemplo de Estrutura de Output:
{ "proposta_id": "string", "resultado": { "documento_valido": true|false, "autenticidade_confirmada": true|false, "nivel_confianca": 0.0, "classificacao_risco": "baixo|medio|alto", "motivos": ["string"], "regras_acionadas": ["codigo_regra"], "human_review_required": true|false, "acoes_recomendadas": ["aprovar|solicitar_novos_documentos|negar|enviar_para_revisao_manual"], "resumo": "string" }, "evidencias": { "inconsistencias": ["string"], "conferencias_externas": {"rfb_cpf": "ok|diverge|indisponivel|nao_aplicavel", "ssp_rg": "ok|diverge|indisponivel|nao_aplicavel", "detra_cnh": "ok|diverge|indisponivel|nao_aplicavel", "correios_endereco": "ok|diverge|indisponivel|nao_aplicavel" } } } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.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: Utiliza lógica interna para calcular o nível de confiança e classificação de risco.
- 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 da validação) é o entregável final e não é passada para outros agentes internos.
3.3.6 Regras de Orquestração e Transição
Este agente finaliza o fluxo de validação de documentos. A resposta gerada deve ser encaminhada conforme configuração do fluxo na plataforma.