Agente de IA para Classificação de Solvência de Clientes

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

Como criar um agente de IA que classifica clientes com base em sua solvência financeira, utilizando dados de crédito e comportamento de pagamento.

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 a criação do Agente de IA para Classificação de Solvência de Clientes. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.

O objetivo deste agente é classificar clientes com base em sua solvência financeira, utilizando dados de crédito e comportamento de pagamento.

2. Contexto e Problema

No atual cenário financeiro, as instituições enfrentam desafios significativos ao avaliar a solvência dos clientes. Problemas específicos incluem:

  • Classificação precisa da solvência financeira dos clientes.
  • Análise de dados de crédito e comportamento de pagamento para avaliações robustas.
  • Atualização contínua das classificações com base em novos dados.

3. Impactos Esperados

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

  • Melhorar a precisão na classificação de solvência dos clientes.
  • Aprimorar a análise de dados para fornecer avaliações financeiras robustas.
  • Garantir atualizações constantes das classificações com dados recentes.

4. Visão Geral da Solução

O agente de IA para classificação de solvência de clientes processa dados financeiros e comportamentais, aplicando técnicas de machine learning para fornecer classificações precisas e atualizadas. 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 solvência financeira dos clientes.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a validação e normalização dos dados de crédito e termina com a geração de um relatório explicável e reutilizável sobre a solvência do cliente.

Agentes Função Principal
Agente de Validação e Normalização de Dados de Crédito (RF 1) Validar e padronizar os dados de crédito e comportamento de pagamento do cliente.
Agente de Derivação de Indicadores de Risco de Crédito (RF 2) Calcular indicadores padronizados de risco de crédito a partir dos dados normalizados.
Agente de Classificação de Solvência e Sinalizadores (RF 3) Atribuir classe de solvência e gerar sinalizadores de risco a partir dos indicadores calculados.
Agente de Relato Explicável de Solvência (RF 4) Gerar um relatório objetivo e reutilizável para consumo humano e máquinas sobre a solvência do cliente.

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 Validação e Normalização de Dados de Crédito

1.1 Tarefa do Agente

Validar e padronizar os dados de crédito e comportamento de pagamento do cliente, garantindo consistência, tipos corretos e faixas plausíveis para uso nos próximos agentes.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados de crédito e comportamento de pagamento de um cliente. Este conjunto de dados inclui informações financeiras e contratuais necessárias para análise de solvência.

# 2. Objetivo
Validar e padronizar os dados de crédito e comportamento de pagamento do cliente, garantindo consistência, tipos corretos e faixas plausíveis para uso nos próximos agentes.

# 3. Regras que você deve seguir para gerar sua resposta
- Rejeite o processamento (pronto_para_derivacao: false) se faltar cliente_id, renda_mensal_bruta ou data_referencia.
- Converta datas para ISO YYYY-MM-DD; se inválidas, mova para quality_flags.campos_faltantes e defina pronto_para_derivacao: false.
- Tipos numéricos: converta strings numéricas para number; se falhar, zere o campo e registre em quality_flags.imputacoes.
- Moeda: aceite apenas 'BRL'. Se vier diferente, mantenha valor e registre warning em quality_flags; não aplique conversões de moeda.
- Regras de plausibilidade: renda_mensal_bruta >= 0; despesas_mensais >= 0; limite_credito_total >= 0; saldo_devedor_total >= 0. Valores negativos devem ser truncados para 0 e registrados em quality_flags.outliers_tratados.
- Trate outliers extremos: valores acima do percentil 99 estimado por regra estática devem ser capados pelos limites: renda_mensal_bruta ≤ 200000; despesas_mensais ≤ 200000; limite_credito_total ≤ 1000000; saldo_devedor_total ≤ 1000000. Registre cap em quality_flags.outliers_tratados.
- Faturas: garanta que valor_pago ≤ valor_faturado; se maior, ajuste valor_pago = valor_faturado e registre ajuste.
- Contratos: para tipo 'cartao', exija limite informado; se ausente, impute limite = 0 e registre.
- Calcule data_referencia_iso a partir de data_referencia; faturas com mes > data_referencia_iso devem ser descartadas e listadas em quality_flags.campos_faltantes.
- Defina pronto_para_derivacao: true apenas se após normalização todos os campos obrigatórios estiverem válidos. 
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 dados de crédito do cliente via API. Na fase de testes, os dados serão enviados pelo agente diretamente por upload de um arquivo JSON na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um JSON contendo dados de crédito e comportamento de pagamento do cliente.
  • 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 texto com até 20.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON normalizado contendo os dados validados e padronizados, prontos para derivação de indicadores de risco.
  • Exemplo de Estrutura de Output:
     { "cliente_id": "12345", "data_referencia_iso": "2025-12-03", "moeda_padrao": "BRL", "renda_mensal_bruta": 10000, "despesas_mensais": 3000, "limite_credito_total": 50000, "saldo_devedor_total": 20000, "contratos_normalizados": [...], "faturas_normalizadas": [...], "eventos_negativos_normalizados": [...], "consultas_credito_12m": 5, "quality_flags": {"campos_faltantes": [...], "outliers_tratados": [...], "imputacoes": [...]}, "pronto_para_derivacao": true } 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 3.000 caracteres, podendo variar conforme a complexidade dos dados processados.

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 Derivação de Indicadores de Risco de Crédito (RF 2).

RF 2. Agente de Derivação de Indicadores de Risco de Crédito

2.1 Tarefa do Agente

Calcular indicadores padronizados de risco de crédito a partir dos dados normalizados.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON normalizado com dados de crédito e comportamento de pagamento que foram validados e padronizados.

# 2. Objetivo
Calcular indicadores padronizados de risco de crédito a partir dos dados normalizados.

# 3. Regras que você deve seguir para gerar sua resposta
- Comprometimento de renda = despesas_mensais / max(renda_mensal_bruta, 1). Limite: 0 a 2. Cap valores >2 para 2.
- Taxa de utilização de crédito = saldo_devedor_total / max(limite_credito_total, 1). Para contratos sem limite (não-cartão), some no saldo_devedor_total mas não no limite; cap em 3.
- Inadimplência 90d 12m: true se existir fatura com atraso > 90 dias nos últimos 12 meses; caso datas de pagamento sejam nulas e valor_pago < 0.9*valor_faturado após 60 dias, considere atraso > 60; após 90 dias, marque inadimplência 90d.
- Atraso máximo 12m: maior diferença em dias entre data de vencimento (dia 10 do mês seguinte ao mes da fatura) e data_pagamento; se sem pagamento, considerar data_referencia_iso para cálculo.
- Percentual de parcelas pagas no prazo 12m: número de faturas com atraso ≤ 0 dividido pelo total de faturas nos últimos 12m; se não houver faturas, defina 1.0.
- Idade de crédito em meses: diferença entre data_referencia_iso e a menor data_abertura em contratos_normalizados; se não houver contratos, defina 0.
- Número de contratos ativos: total de contratos com saldo_atual > 0 ou com limite > 0.
- Renegociações 12m: contar eventos_negativos_normalizados com tipo 'renegociacao' em 12 meses.
- Eventos negativos 24m: contar eventos dos tipos 'protesto', 'acao_judicial' e 'cheque_sem_fundos' em 24 meses.
- Índice de endividamento = saldo_devedor_total / max(renda_mensal_bruta, 1); cap em 10.
- Capacidade de pagamento estimada = max(renda_mensal_bruta - despesas_mensais, 0). 
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: Este agente deve ser apto a receber como input um JSON normalizado contendo dados de crédito e comportamento de pagamento validados.
  • 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 texto com até 3.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo indicadores padronizados de risco de crédito.
  • Exemplo de Estrutura de Output:
     { "comprometimento_renda": 0.3, "taxa_utilizacao_credito": 0.5, "inadimplencia_90d_12m": false, "atraso_max_dias_12m": 15, "pct_parcelas_pagas_no_prazo_12m": 0.9, "idade_credito_meses": 24, "numero_contratos_ativos": 3, "renegociacoes_12m": 1, "eventos_negativos_24m": 2, "indice_endividamento": 0.8, "capacidade_pagamento_estimada": 7000 } 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 1.000 caracteres, podendo variar conforme a complexidade dos dados processados.

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 calcular indicadores.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

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 Classificação de Solvência e Sinalizadores (RF 3).

RF 3. Agente de Classificação de Solvência e Sinalizadores

3.1 Tarefa do Agente

Atribuir classe de solvência e gerar sinalizadores de risco a partir dos indicadores calculados.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com indicadores de risco de crédito e metadados do cliente (cliente_id, data_referencia_iso).

# 2. Objetivo
Atribuir classe de solvência e gerar sinalizadores de risco a partir dos indicadores calculados.

# 3. Regras que você deve seguir para gerar sua resposta
- Calcule score_sintetico_0_1000 somando 5 componentes com pesos fixos (peso total 1000):
  1) Pagamentos (peso 350): base 350 * pct_parcelas_pagas_no_prazo_12m. Se inadimplencia_90d_12m = true, aplique penalidade de -200 (não abaixo de 0 no componente).
  2) Utilização (peso 200): 200 * max(0, 1 - taxa_utilizacao_credito); se taxa > 1.5, fixe componente = 0.
  3) Comprometimento (peso 150): 150 * max(0, 1 - comprometimento_renda) capando comprometimento em 1 para este cálculo.
  4) Eventos (peso 150): 150 * max(0, 1 - min(eventos_negativos_24m/3, 1)).
  5) Antiguidade (peso 150): 150 * min(idade_credito_meses/60, 1).
- Limiares de classificação por score: Alta ≥ 700; Media 550–699; Baixa < 550.
- Regras de override negativo (prevalecem sobre score): se inadimplencia_90d_12m = true OU eventos_negativos_24m ≥ 3, classifique como 'Baixa'.
- Regras de override positivo: nenhuma.
- Flags de risco:
  utilizacao_alta = taxa_utilizacao_credito ≥ 0.8;
  comprometimento_alto = comprometimento_renda ≥ 0.6;
  endividamento_excessivo = indice_endividamento ≥ 6;
  eventos_negativos_recorrentes = eventos_negativos_24m ≥ 2;
  historico_curto = idade_credito_meses < 6.
- Rationales: gere entre 3 e 5 frases curtas, cada uma citando explicitamente 1 indicador e seu valor (ex: 'Utilização de 85% acima do limite saudável').
- Politicas aplicadas: retorne objeto com limiares utilizados: { score_alta: 700, score_media_min: 550, override_inadimplencia_90d: true, override_eventos_negativos_24m_min: 3, utilizacao_alta: 0.8, comprometimento_alto: 0.6, endividamento_excessivo: 6, historico_curto_meses: 6 }. 
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 bem-sucedida do agente anterior (RF 2).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo indicadores de risco de crédito e metadados do cliente.
  • 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 texto com até 1.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo a classificação de solvência, score sintético, sinalizadores de risco e políticas aplicadas.
  • Exemplo de Estrutura de Output:
     { "cliente_id": "12345", "data_referencia_iso": "2025-12-03", "classificacao_solvencia": "Alta", "score_sintetico_0_1000": 750, "rationales_chave": ["Utilização de 50% dentro do limite saudável", "Comprometimento de renda de 30% adequado"], "flags_risco": {"inadimplencia_90d_12m": false, "utilizacao_alta": false, "comprometimento_alto": false, "endividamento_excessivo": false, "eventos_negativos_recorrentes": true, "historico_curto": false}, "politicas_aplicadas": {"score_alta": 700, "score_media_min": 550, "override_inadimplencia_90d": true, "override_eventos_negativos_24m_min": 3, "utilizacao_alta": 0.8, "comprometimento_alto": 0.6, "endividamento_excessivo": 6, "historico_curto_meses": 6} } 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 1.500 caracteres, podendo variar conforme a complexidade dos dados processados.

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 score e sinalizadores.
  • 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 gerada por este agente deve ser visível para o Agente de Relato Explicável de Solvência (RF 4).

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

Ao concluir sua execução, esse agente aciona o Agente de Relato Explicável de Solvência (RF 4).

RF 4. Agente de Relato Explicável de Solvência

4.1 Tarefa do Agente

Gerar um relatório objetivo e reutilizável para consumo humano e máquinas sobre a solvência do cliente.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo score de solvência, classe de solvência, sinalizadores de risco e rationales do cliente.

# 2. Objetivo
Gerar um relatório objetivo e reutilizável para consumo humano e máquinas sobre a solvência do cliente.

# 3. Regras que você deve seguir para gerar sua resposta
- Resumo executivo em 3 a 5 frases, incluindo classe, score e 2–3 fatores determinantes.
- Detalhes devem refletir exatamente os valores calculados, sem arredondar além de 2 casas decimais para percentuais e 0 casa para dias/meses.
- Recomendações operacionais por classe:
  Alta: sugerir manutenção de limites e revisão em 12 meses.
  Media: sugerir revisão de limite e educação financeira; revisão em 6 meses.
  Baixa: sugerir contenção de novos créditos, proposta de renegociação; revisão em 3 meses.
- Proxima revisão sugerida: data_referencia_iso + 12/6/3 meses conforme classe (se o mês não existir, ajuste para último dia do mês).
- O texto não deve conter dados sensíveis além dos já recebidos; não incluir hipóteses não calculadas. 
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 bem-sucedida do agente anterior (RF 3).
  • Tipo do input: Este agente deve ser apto a receber como input um JSON contendo score de solvência, classe de solvência, sinalizadores de risco e rationales do cliente.
  • 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 texto com até 1.500 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo um relatório explicável sobre a solvência do cliente.
  • Exemplo de Estrutura de Output:
     { "cliente_id": "12345", "resumo_executivo": "O cliente possui uma classificação de solvência alta com um score de 750. Principais fatores incluem um comprometimento de renda de 30% e uma utilização de crédito de 50%.", "detalhes": { "score": 750, "classe": "Alta", "principais_fatores": ["Comprometimento de renda de 30%", "Utilização de crédito de 50%"], "indicadores_chave": { "taxa_utilizacao_credito": 0.5, "comprometimento_renda": 0.3, "indice_endividamento": 0.8, "pct_parcelas_pagas_no_prazo_12m": 0.9, "atraso_max_dias_12m": 15, "idade_credito_meses": 24, "eventos_negativos_24m": 2 }, "flags_risco": {"inadimplencia_90d_12m": false, "utilizacao_alta": false, "comprometimento_alto": false, "endividamento_excessivo": false, "eventos_negativos_recorrentes": true, "historico_curto": false} }, "recomendacoes_operacionais": ["Sugerir manutenção de limites e revisão em 12 meses"], "proxima_revisao_sugerida": "2026-12-03" } 
  • Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 2.000 caracteres, podendo variar conforme a complexidade dos dados processados.

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 calcular datas de revisão.
  • 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 subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente é o entregável final e não é passada para outros agentes internos.

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

A execução deste agente finaliza o fluxo. O relatório gerado é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.