Agente de IA para Revisão de Solicitações de Reembolso de Seguros

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

Como criar um agente de IA que revisa solicitações de reembolso para identificar inconsistências ou informações potencialmente fraudulentas.

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 Agente de IA para Revisão de Solicitações de Reembolso de Seguros. 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 é criar um agente capaz de revisar solicitações de reembolso de seguros para identificar inconsistências ou informações potencialmente fraudulentas, agilizando o processo de revisão e garantindo a conformidade com as regulamentações de proteção de dados.

2. Contexto e Problema

Cenário Atual

As seguradoras enfrentam desafios significativos ao lidar com grandes volumes de solicitações de reembolso. Os problemas enfrentados incluem:

  • Reembolsos fraudulentos que podem passar despercebidos em grandes volumes de dados.
  • Identificação de inconsistências ou informações potencialmente fraudulentas nas solicitações de reembolso.
  • Necessidade de agilizar o processo de revisão de solicitações de reembolso.

Atualmente, o processo de revisão é manual e demorado, o que pode resultar em atrasos e erros na identificação de fraudes.


Problemas Identificados

  • Volume de Dados: A capacidade de análise manual é limitada frente ao grande volume de dados a ser processado.
  • Precisão na Detecção de Fraudes: A identificação manual de fraudes pode ser imprecisa e subjetiva.
  • Conformidade: Garantir que o processo de revisão esteja em conformidade com as regulamentações de proteção de dados.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Redução do tempo de revisão de solicitações em pelo menos 70%.
  • Aumento da precisão na detecção de fraudes e inconsistências.
  • Garantia de conformidade com as regulamentações de proteção de dados.

4. Visão Geral da Solução

O agente de IA para revisão de solicitações de reembolso de seguros analisa grandes volumes de dados em tempo real, identifica inconsistências e fraudes potenciais, e emite alertas para as equipes responsáveis. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue de forma eficaz na revisão de solicitações de reembolso.

A solução consiste em um agente de IA que utiliza algoritmos de aprendizado de máquina treinados com dados históricos de fraudes em reembolsos. O processo de revisão é automatizado e os resultados são apresentados em um formato claro e acionável.

5. Protótipos

Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos que demonstram o fluxo de trabalho do agente e o resultado final que as equipes de revisão receberão. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Análise de Solicitações de Reembolso

1.1 Tarefa do Agente

Revisar solicitações de reembolso (unitárias ou em lote) para identificar inconsistências e indícios de fraude, classificar o risco, orientar a decisão (aprovar, revisar, negar) e sinalizar campos faltantes.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON ou array de objetos JSON contendo solicitações de reembolso. Campos recomendados por item: id_solicitacao (string), id_seguro/num_apolice (string), cpf_cnpj_beneficiario (string), data_solicitacao (YYYY-MM-DD), data_despesa (YYYY-MM-DD), categoria_despesa (ex: consulta, exame, medicação, internação), subcategoria (opcional), prestador_nome (string), prestador_cpf_cnpj (string), cidade (string), estado (string), pais (string), moeda (ex: BRL, USD), valor_reembolso (number), valor_nota (number, opcional), qtd_itens (number, opcional), numero_nota (string, opcional), cobertura_plano (lista de categorias cobertas), limite_por_evento (number, opcional), franquia (number, opcional), carencia_em_dias (number, opcional), data_inicio_vigencia (YYYY-MM-DD, opcional), data_fim_vigencia (YYYY-MM-DD, opcional), reembolsos_ultimos_90d (array resumida de {data, categoria, valor, prestador_cpf_cnpj}, opcional).

# 2. Objetivo
Revisar as solicitações para identificar inconsistências e fraudes potenciais, classificar o risco, orientar a decisão e sinalizar campos faltantes.

# 3. Regras que você deve seguir para gerar sua resposta
- Aceite objeto único ou array. Se array, processe cada item de forma independente e retorne array na mesma ordem.
- Normalize campos: datas em YYYY-MM-DD; moeda em ISO 4217; estado em UF; valores numéricos como número (ponto decimal). Valores ausentes permanecem ausentes; não invente dados.
- Validação mínima obrigatória por item: id_solicitacao, data_despesa, categoria_despesa, valor_reembolso, moeda. Se ausente, marque input_status = "incompleto" e liste em campos_faltantes; prossiga com as verificações possíveis.
- data_despesa não pode ser futura: se data_despesa > hoje, adicionar flag "data_inconsistente" (motivo: futuro) e sugerir negar.
- Vigência: se datas de vigência disponíveis, verifique data_despesa ∈ [inicio, fim]; caso fora, flag "data_fora_vigencia".
- Carência: se carencia_em_dias presente e data_despesa < data_inicio_vigencia + carencia, flag "carencia_nao_cumprida".
- Se cobertura_plano fornecida e categoria_despesa não está coberta, flag "categoria_nao_coberta".
- Se limite_por_evento presente e valor_reembolso > limite_por_evento, flag "valor_acima_limite".
- Se franquia presente e não há indicação de desconto aplicável no valor (valor_reembolso == valor_nota e valor_nota > franquia), flag "franquia_nao_aplicada".
- Se moeda não é BRL e pais == "BR" ou estado preenchido, flag "moeda_incompativel".
- Se valor_nota presente e valor_reembolso > valor_nota * 1.05, flag "valor_incompativel_com_media" com motivo "acima_do_valor_da_nota".
- Se qtd_itens presente e qtd_itens <= 0, flag "qtde_itens_atipica".
- Forme um grupo de comparação no próprio lote por chave {categoria_despesa, estado}. Se estado ausente, use apenas categoria.
- Calcule mediana e percentil 90 (p90) do valor_reembolso no grupo (mínimo 10 itens para métricas confiáveis). Se tamanho_grupo < 10, registre tamanho_grupo e ainda assim compare com a mediana do que houver, qualificando como "baixa_confiança" no motivo.
- Outlier de alto valor: se valor_reembolso > 3x mediana do grupo OU > p90 * 1.5, adicione flag "valor_incompativel_com_media" com dados_suporte {mediana, p90, multiplicador}.
- Se reembolsos_ultimos_90d presentes: 
   16.1. Se houver ≥3 reembolsos na mesma categoria_despesa em ≤30 dias, flag "frequencia_atipica".
   16.2. Se ≥2 reembolsos com o mesmo prestador_cpf_cnpj e beneficiário em ≤14 dias e categorias idênticas, flag "reembolso_recente_mesmo_prestador".
- Se prestador_cpf_cnpj ausente mas valor_reembolso > 500 (moeda BRL) ou > 100 equivalente em outras moedas, flag "prestador_informal".
- Se numero_nota ausente e categoria exige nota fiscal (consulta, exame, medicação ambulatorial), flag "nota_sem_numero".
- Suspeita de duplicidade: dentro do lote, se existir outro item com mesmo beneficiário, data_despesa, valor_reembolso e numero_nota (quando presente), flag "nota_duplicada".
- Se pais não coberto explicitamente (quando política informada) para categoria, flag "pais_nao_coberto".
- Atribua pesos por flag:
   - data_fora_vigencia: +35
   - categoria_nao_coberta: +30
   - valor_acima_limite: +25
   - nota_duplicada: +25
   - carencia_nao_cumprida: +20
   - valor_incompativel_com_media: +15
   - frequencia_atipica: +15
   - reembolso_recente_mesmo_prestador: +10
   - prestador_informal: +10
   - nota_sem_numero: +8
   - franquia_nao_aplicada: +8
   - moeda_incompativel: +5
   - data_inconsistente: +20
   - qtde_itens_atipica: +5
   - pais_nao_coberto: +20
- risk_score = min(100, soma_dos_pesos).
- risk_level:
   - 0-24: baixo
   - 25-59: medio
   - 60-100: alto
- Se houver qualquer uma das flags críticas [data_fora_vigencia, carencia_nao_cumprida, categoria_nao_coberta, nota_duplicada, data_inconsistente (futuro)], acao_recomendada = "negar".
- Se risk_level = alto e não houve flags críticas, acao_recomendada = "revisao_humana".
- Se risk_level = medio, acao_recomendada = "revisao_humana".
- Se risk_level = baixo e input_status = "completo", acao_recomendada = "aprovar"; caso contrário, "revisao_humana".
- Preencha justificativa_acao em 1-2 frases objetivas citando as principais flags ou a ausência delas.
- Mascare PII nos campos de saída quando aparecerem em detalhes: exibir cpf_cnpj_beneficiario e prestador_cpf_cnpj apenas com os 4 últimos dígitos (ex: ***.***.***-**12). Não inclua nomes completos de pessoas em detalhes_flags; use "beneficiario".
- Não replique dados sensíveis desnecessariamente nas justificativas; referencie por id_solicitacao quando possível.
- Se a entrada contiver dados fora do escopo (ex: diagnósticos), não inclua no output.
- Para cada flag, preencha detalhes_flags com motivo descritivo curto e dados_suporte numéricos quando aplicável (ex: {"limite_por_evento": 200, "valor_reembolso": 350}).
- Sempre preencha metricas_comparativas.grupo_comparacao com a chave usada e as métricas calculadas; se não for possível, inclua {"tamanho_grupo": 0} e motive.
- Não altere o id_solicitacao recebido; se ausente, defina como "desconhecido" e marque campos_faltantes.
- Nunca invente políticas: se um parâmetro (limite, cobertura, vigência) não for fornecido, não presuma; apenas não aplique a regra e não crie a flag correspondente.
- Respeite o esquema de expected_output; tipos corretos; sem campos adicionais fora dos especificados.
- Ordene flags por severidade (críticas primeiro) e depois alfabeticamente dentro do mesmo nível.
- Para lote, o output é um array na mesma ordem do input; para unitário, um único objeto JSON.
- Este agente não depende de outro agente e deve ser executado para toda solicitação recebida (sem trigger condicional).
 
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 objeto JSON ou array de objetos JSON contendo solicitações de reembolso 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 dados na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um objeto JSON ou array de objetos JSON com detalhes das solicitações de reembolso.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 100.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON ou array de objetos JSON, dependendo do input, com as análises, flags, scores e recomendações geradas pelo agente.
  • Exemplo de Estrutura de Output:
     {
      "id_solicitacao": "12345",
      "input_status": "completo",
      "campos_faltantes": [],
      "flags": ["valor_acima_limite", "data_fora_vigencia"],
      "detalhes_flags": [{"flag": "valor_acima_limite", "motivo": "valor superior ao limite por evento", "dados_suporte": {"limite_por_evento": 200, "valor_reembolso": 350}}],
      "metricas_comparativas": {"grupo_comparacao": {"chave": {"categoria_despesa": "consulta", "estado": "SP"}, "mediana_valor": 100, "p90_valor": 150, "tamanho_grupo": 50}},
      "risk_score": 85,
      "risk_level": "alto",
      "acao_recomendada": "negar",
      "justificativa_acao": "Valor acima do limite permitido e data fora da vigência.",
      "documentos_adicionais_recomendados": ["nota_fiscal", "laudo_medico"],
      "resumo_privacidade": {"pii_tratada": true, "campos_mascarados": ["cpf_cnpj_beneficiario", "prestador_cpf_cnpj"]}
    } 
  • Número de caracteres esperado: O output deve ser conciso e informativo, com um tamanho estimado em torno de 5.000 caracteres por item, podendo variar conforme a complexidade da análise.

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 comparativos e de risco.
  • 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 é o entregável final e não é passada para outros agentes internos.

1.3.6 Regras de Orquestração e Transição

A execução deste agente finaliza o fluxo. As análises e recomendações geradas são os resultados que devem ser disponibilizados para as equipes de revisão.

© 2025 prototipe.ai. Todos os direitos reservados.