1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para um agente de IA que analisa dados de transações de seguros para classificar o risco de fraude com base em históricos e padrões conhecidos. 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 é fornecer classificações de risco precisas para ajudar na priorização de investigações, identificando padrões de fraude em transações de seguros e adaptando-se a novos padrões à medida que surgem.
2. Contexto e Problema
Cenário Atual
As transações de seguros fraudulentas muitas vezes não são detectadas por métodos tradicionais, resultando em perdas financeiras significativas para as empresas. É crucial classificar o risco de fraude de forma precisa para priorizar investigações e mitigar riscos.
- Transações de seguros fraudulentas que não são detectadas por métodos tradicionais.
- Necessidade de classificar o risco de fraude de forma precisa para priorizar investigações.
- Identificação de padrões de fraude em transações de seguros.
Problemas Identificados
- Detecção Ineficiente: Os métodos tradicionais falham em identificar fraudes complexas e evolutivas.
- Priorização de Investigações: Dificuldade em classificar rapidamente o risco para priorizar adequadamente as investigações.
- Adaptação a Novos Padrões: Falta de capacidade para se adaptar rapidamente a novos padrões de fraude.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Aumento na taxa de detecção de fraudes em transações de seguros.
- Melhoria na precisão das classificações de risco para auxiliar na priorização de investigações.
- Adaptação contínua a novos padrões de fraude à medida que surgem.
4. Visão Geral da Solução
O agente de IA para classificação de risco em transações de seguros analisa dados em tempo real, utilizando modelos baseados em históricos e padrões conhecidos, para classificar o risco de fraude e priorizar investigações. 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 classificação de risco de fraudes em seguros.
A solução consiste em um fluxo de automação composto por vários agentes de IA. O processo inicia com a execução de consultas em banco de dados e termina com a geração de um link para compartilhamento dos resultados.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo. O fluxo inclui etapas condicionais que são executadas apenas se critérios específicos forem atendidos, conforme detalhado após a tabela.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Consultas em Banco de Dados (RF 1)
| Realizar conexão com o repositório de históricos de fraude e transações para obter dados de referência necessários ao scoring. |
Agente de Preparação e Padronização de Dados de Transações (RF 2)
| Validar, normalizar e enriquecer dados da transação em tempo real, produzindo um payload padronizado para scoring. |
Agente Classificador de Risco de Fraude em Transações de Seguros (RF 3)
| Calcular score e classificar o risco de fraude a partir das features padronizadas e estatísticas históricas do segmento. |
Agente de Priorização e Ações de Investigação (RF 4)
| Converter a classificação de risco em prioridade operacional, fila de roteamento e ações recomendadas com prazos (SLA). |
Agente de Detecção de Padrões Emergentes Agente Condicionado (RF 5)
| Sugerir novos sinais de risco para adaptação a novos padrões de fraude. |
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 Execução de Consultas em Banco de Dados
1.1 Tarefa do Agente
Realizar conexão com o repositório de históricos de fraude e transações para obter dados de referência necessários ao scoring.
1.2 Prompt ou Instruções do Agente
Esse agente não precisa de instruções de LLM. Sua única função é executar a consulta ao banco de dados com os parâmetros recebidos e retornar os dados brutos de referência sem transformação.
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 parâmetros de consulta 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 conjunto de parâmetros prontos para a consulta.
- Formatos Suportados: Esse agente deve ser capaz de receber inputs em formato JSON.
- Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo dados brutos de referência necessários ao scoring.
-
Exemplo de Estrutura de Output:
{ "segment_stats": {"segmento":"auto","fraud_rate_12m":0.084,"claim_avg_amount":5200.55,"claim_p95_amount":18500.10}, "listas_referencia": {"emails_suspeitos":["x@a.com"],"contas_bancarias_reutilizadas":["001-12345-6"],"oficinas_blacklist":["CNPJ123"],"geos_alto_risco":["UF-RR","country-XY"],"ips_tor": ["1.2.3.4"]}, "vinculos": {"contas_compartilhadas": [{"account":"001-12345-6","qtde_clientes_distintos":7}], "enderecos_compartilhados": [{"endereco_hash":"abcd","qtde_clientes_distintos":12}]}, "historico_cliente": {"qtde_sinistros_12m":3,"valor_total_pago_12m":21000.0,"flags_fraude_previas":1} } - Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 5.000 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: Não aplicável
- Temperatura: Não aplicável
1.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Conecta-se ao repositório de históricos de fraude e transações.
1.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Preparação e Padronização de Dados de Transações (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Preparação e Padronização de Dados de Transações (RF 2).
RF 2. Agente de Preparação e Padronização de Dados de Transações
2.1 Tarefa do Agente
Validar, normalizar e enriquecer os dados da transação em tempo real, combinando o payload de entrada com os dados de referência retornados pelo banco, produzindo um payload padronizado para scoring.
2.2 Prompt ou Instruções do Agente
- Converter valores monetários para BRL; se moeda != BRL, utilizar taxa recebida no input (se houver) ou campo de câmbio de referência; caso ausente, marcar conversao_inferida=true e usar ratio_valor_media_segmento somente, ignorando ratio_valor_p95.
- Garantir timestamps em ISO-8601 UTC; se vier timezone local, converter para UTC, mantendo campo timestamp_original.
- Calcular ratio_valor_p95_segmento = valor_solicitado_brl / p95 do segmento; se p95 indisponível, setar como null e não usar no scoring.
- Calcular ratio_valor_media_segmento = valor_solicitado_brl / média do segmento; se média=0 ou nula, definir ratio como 1.0 e marcar media_segmento_indisponivel=true.
- Derivar beneficiario_terceiro = true quando beneficiario_relacao in {terceiro, desconhecido}; caso ausente, definir como null e marcar campo beneficiario_relacao_ausente=true.
- conta_bancaria_reutilizada = true se banco_conta presente nas listas_referencia.contas_bancarias_reutilizadas OU vinculos.contas_compartilhadas.qtde_clientes_distintos >= 3.
- oficina_blacklist = true se oficina_cnpj constar em listas_referencia.oficinas_blacklist; se não aplicável ao produto, setar false.
- ip_suspeito = true se origem_ip em listas_referencia.ips_tor ou ASN de proxy conhecido (se presente em referências); se origem_ip ausente, setar null.
- geo_alto_risco = true se geo_submissao em listas_referencia.geos_alto_risco; se ausente, null.
- submissao_horario_madrugada = true se hora UTC entre 00:00 e 05:00.
- endereco_compartilhado_cluster_alto = true se vinculos.enderecos_compartilhados.qtde_clientes_distintos >= 5.
- canal_risco_base: mapear canal para base de risco percentual: web=0.02, app=0.015, callcenter=0.025, parceiro=0.03. Persistir como número decimal.
- Validar obrigatórios: transaction_id, policy_id, customer_id, valor_solicitado, data_transacao; se faltar algum, setar campo validacao_falhou=true e lista_campos_faltantes.
- Nunca descartar registros; em casos de dados faltantes, preencher com null e sinalizar explicitamente em metadados os campos ausentes. 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 payload JSON contendo dados da transação e referências de scoring.
- 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 até 15.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o payload padronizado para scoring.
-
Exemplo de Estrutura de Output:
{"transaction_id":"...","policy_id":"...","customer_id":"...","features": {"valor_solicitado_brl": number, "ratio_valor_p95_segmento": number, "ratio_valor_media_segmento": number, "qtde_sinistros_12m": number, "flags_fraude_previas": number, "dias_desde_vigencia": number, "alteracoes_recente_30d": number, "beneficiario_terceiro": true, "conta_bancaria_reutilizada": true, "oficina_blacklist": true, "ip_suspeito": true, "geo_alto_risco": true, "inconsistencias_documentais": number, "canal_risco_base": number, "submissao_horario_madrugada": true, "endereco_compartilhado_cluster_alto": true }, "metadados": {"moeda_original":"USD","cambio_utilizado":5.12,"timestamp_padronizado":"ISO-8601-UTC"}} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 7.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.
- Calculadora: Utiliza lógica interna para conversão de valores monetários e cálculo de ratios.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
2.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta (JSON padronizado) deve ser visível para o Agente Classificador de Risco de Fraude em Transações de Seguros (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente Classificador de Risco de Fraude em Transações de Seguros (RF 3).
RF 3. Agente Classificador de Risco de Fraude em Transações de Seguros
3.1 Tarefa do Agente
Calcular score (0–100) e classificar o risco de fraude (baixo/médio/alto/crítico) a partir das features padronizadas e estatísticas históricas do segmento.
3.2 Prompt ou Instruções do Agente
- Score base = min(100, round( (fraud_rate_12m * 100) + (canal_risco_base * 100) )) quando disponíveis; se ausentes, iniciar em 5 pontos.
- Aplicar pesos aditivos por sinal, com cap por grupo para reduzir viés:
• ratio_valor_p95_segmento: +0 pts se null; +5 se 1.0–1.5; +10 se >1.5–2.5; +18 se >2.5.
• ratio_valor_media_segmento: +0 se <=1.0; +6 se >1.0–2.0; +12 se >2.0.
• qtde_sinistros_12m: +0 se 0–1; +8 se 2–3; +15 se >=4 (cap do grupo histórico = 20).
• flags_fraude_previas: +12 por flag (cap do grupo histórico = 24).
• dias_desde_vigencia: +12 se <=14 dias; +6 se 15–30; +0 se >30.
• alteracoes_recente_30d: +10 se >=3; +5 se 1–2.
• beneficiario_terceiro: +10 se true; +0 se false; +4 se null.
• conta_bancaria_reutilizada: +22 se true (hard flag).
• oficina_blacklist: +18 se true (hard flag aplicável a auto).
• ip_suspeito: +10 se true.
• geo_alto_risco: +8 se true.
• inconsistencias_documentais: +4 por inconsistência, máximo +16.
• submissao_horario_madrugada: +4.
• endereco_compartilhado_cluster_alto: +8.
- Aplicar teto global: score_final = min(100, score_base + soma_pesos).
- Definir risk_level por limiares: <25=baixo; 25–49=medio; 50–74=alto; >=75=critico.
- Definir confianca com base na completude: iniciar em 0.9; -0.1 se ratio_valor_p95_segmento=null; -0.1 se origem_ip ausente; -0.1 se beneficiario_relacao_ausente=true; mínimo de 0.5.
- Preencher explicacoes com cada regra acionada, incluindo código (e.g., VALOR_ACIMA_P95) e peso aplicado.
- hard_flags devem ser listadas em sinais.hard_flags quando conta_bancaria_reutilizada ou oficina_blacklist for true; demais entram em soft_flags.
- Se validacao_falhou=true no input, definir risk_level=medio, risk_score=40 e explicacoes=[{"codigo":"DADOS_INCOMPLETOS","peso":0}]. 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: Este agente deve ser apto a receber como input um payload JSON padronizado para scoring.
- 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 até 10.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o score de risco e a classificação.
-
Exemplo de Estrutura de Output:
{"transaction_id":"...","risk_score": 0-100, "risk_level":"baixo|medio|alto|critico", "confianca": 0.0-1.0, "explicacoes": [{"codigo":"RULE_X","descricao":"string","peso": number}], "sinais": {"hard_flags": ["CONTA_REUTILIZADA","BLACKLIST_OFICINA"], "soft_flags": ["VALOR_ACIMA_P95","MADRUGADA"]}} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.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 cálculo de score 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.
- Visibilidade da Resposta: A resposta (JSON de classificação) deve ser visível para o Agente de Priorização e Ações de Investigação (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Priorização e Ações de Investigação (RF 4).
RF 4. Agente de Priorização e Ações de Investigação
4.1 Tarefa do Agente
Converter a classificação de risco em prioridade operacional, fila de roteamento e ações recomendadas com prazos (SLA).
4.2 Prompt ou Instruções do Agente
- Mapear prioridade: baixo->baixa; medio->media; alto->alta; critico->urgente. - SLA padrão por prioridade: baixa=72h; media=48h; alta=24h; urgente=4h. - Roteamento: • Se hard_flags contém CONTA_REUTILIZADA -> roteamento_fila=forense e bloqueio_preventivo=true. • Se risk_level=critico e confianca>=0.7 -> forense; se confianca<0.7 -> analise_manual. • Se apenas inconsistencias_documentais com score_final<50 -> verificacao_documental. • Níveis baixo/medio sem hard_flags -> monitoramento. - Ações recomendadas: • CONTA_REUTILIZADA: solicitar comprovante de titularidade bancária (obrigatória), validar vínculo beneficiário (obrigatória). • VALOR_ACIMA_P95: solicitar notas/estimativas detalhadas (obrigatória se risk_level>=alto). • BENEFICIARIO_TERCEIRO: comprovação relação/mandato (obrigatória se nivel>=medio). • MULTIPLOS_SINISTROS: entrevista antifraude (opcional se nivel=medio, obrigatória se >=alto). • IP_SUSPEITO ou GEO_ALTO_RISCO: verificação de localização e dispositivo (obrigatória se >=alto). - motivos_chave: listar até 5 códigos de maior peso do campo explicacoes.
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: Este agente deve ser apto a receber como input um JSON de classificação de risco.
- 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 até 8.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a prioridade operacional e ações recomendadas.
-
Exemplo de Estrutura de Output:
{"transaction_id":"...","prioridade_investigacao":"baixa|media|alta|urgente","sla_horas": number, "roteamento_fila":"monitoramento|analise_manual|forense|verificacao_documental","acoes_recomendadas":[{"acao":"string","obrigatoria": true|false}], "motivos_chave":["CONTA_REUTILIZADA","VALOR_ACIMA_P95"], "bloqueio_preventivo": true|false} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.
4.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
4.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Utiliza lógica interna para definição de prioridade e recomendações.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
4.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta (JSON de prioridade) deve ser visível para o Agente de Detecção de Padrões Emergentes (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Detecção de Padrões Emergentes (RF 5).
RF 5. Agente de Detecção de Padrões Emergentes Agente Condicionado
5.1 Tarefa do Agente
Sugerir novos sinais de risco a partir de combinações raras/frequentes não cobertas pelas regras atuais, para adaptação a novos padrões de fraude.
5.2 Prompt ou Instruções do Agente
- Identificar coocorrências de sinais (e.g., beneficiario_terceiro + conta_bancaria_reutilizada + geo_alto_risco) com suporte acima de limiar_suporte_min e não presentes na lista atual de explicações padrão. - Classificar impacto_estimado com base no aumento médio do risk_score associado à coocorrência observada: <5=baixo, 5–10=medio, >10=alto. - Propor sinal_proposto com código legível, descrição curta e peso_sugerido entre 4 e 14, mantendo coerência com pesos existentes (não exceder hard flags). - Sempre marcar itens_para_revisao_humana=true, pois a inclusão de novos padrões exige aprovação antes de produção.
5.3 Configurações do Agente
5.3.1 Condições de Ativação
Este agente é acionado somente se a seguinte condição for atendida:
- O campo
detectar_padroes_emergentesno output do Agente de Priorização e Ações de Investigação (RF 4) é igual a "true".
5.3.2 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado condicionalmente após a conclusão do agente anterior (RF 4), apenas se padrões emergentes forem detectados.
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo eventos recentes e limiares para detecção de padrões.
- 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 até 12.000 caracteres.
5.3.3 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os novos padrões sugeridos e itens para revisão humana.
-
Exemplo de Estrutura de Output:
{"novos_padroes_sugeridos": [{"padrao":"canal=parceiro & geo=UF-RR & conta_reutilizada=true","impacto_estimado":"alto","sinal_proposto":{"codigo":"PADRAO_PARCEIRO_RR_CONTA","peso_sugerido":12}}], "itens_para_revisao_humana": true} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 6.000 caracteres.
5.3.4 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
5.3.5 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Utiliza lógica interna para detecção de padrões emergentes.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
5.3.6 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta (JSON de padrões sugeridos) é o entregável final e não é passada para outros agentes internos.
5.3.7 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. O JSON gerado deve ser revisado manualmente antes de ser incorporado ao sistema.