Agente de IA para Previsão de Risco de Crédito

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

Como criar um agente de IA que utiliza dados históricos e atuais para prever o risco de deterioração do crédito de um consumidor.

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 "Previsão de Risco de Crédito", uma solução de automação projetada para prever o risco de deterioração do crédito de um consumidor utilizando dados históricos e atuais. 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 previsões precisas do risco de crédito, relatórios detalhados e estratégias de mitigação para consumidores e instituições financeiras, reduzindo a possibilidade de decisões financeiras equivocadas.

2. Contexto e Problema

Cenário Atual

O processo atual de avaliação de risco de crédito é muitas vezes impreciso e incapaz de acompanhar as rápidas mudanças nos dados financeiros dos consumidores. Isso pode levar a decisões financeiras equivocadas, como a concessão de crédito a consumidores de alto risco ou a recusa de crédito a consumidores de baixo risco.


Problemas Identificados

  • Previsão imprecisa: A falta de precisão nas previsões de risco de crédito pode resultar em decisões financeiras que afetam negativamente tanto os consumidores quanto as instituições financeiras.
  • Necessidade de análise contínua: A análise contínua de dados históricos e atuais é essencial para prever riscos futuros com maior precisão.

3. Impactos Esperados

A implementação deste fluxo de automação visa alcançar os seguintes resultados:

  • Aumentar a precisão das previsões de risco de crédito em pelo menos 30%.
  • Fornecer relatórios detalhados e acionáveis sobre o risco de crédito para consumidores e instituições financeiras.
  • Propor estratégias eficazes de mitigação de riscos para consumidores e instituições financeiras.

4. Visão Geral da Solução

O agente de IA para previsão de risco de crédito utiliza dados históricos e atuais para prever o risco de deterioração do crédito de um consumidor, fornecendo relatórios detalhados e propondo estratégias de mitigação de riscos. 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 previsão de riscos de crédito.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a validação e padronização dos dados de crédito e termina com a emissão de alertas operacionais.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.

Agentes Função Principal
Agente de Validação e Padronização de Dados de Crédito (RF 1) Validar, higienizar e padronizar dados históricos e atuais do consumidor.
Agente de Scoring e Classificação de Risco de Crédito (RF 2) Calcular score, probabilidade de deterioração e classe de risco com base em variáveis derivadas.
Agente de Relatório e Estratégias de Mitigação (RF 3) Gerar relatório detalhado e recomendações práticas para mitigar o risco identificado.
Agente de Monitoramento Contínuo e Alertas (RF 4) Avaliar atualizações recorrentes dos dados para detecção precoce de deterioração e emissão de alertas operacionais.

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

1.1 Tarefa do Agente

Validar, higienizar e padronizar dados históricos e atuais do consumidor, derivando variáveis financeiras necessárias para cálculo de risco.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com dados brutos do consumidor. Estrutura mínima esperada: { id_cliente, identidade_pessoa (cpf/cnpj, data_nascimento), dados_bancarios (renda_mensal, despesas_mensais, limite_cartao_total, saldo_devedor_total), historico_pagamentos (lista de faturas/parcelas com datas, valores, status, dias_em_atraso), consultas_bureau (quantidade_ultimos_6m, score_bureau_atual, score_bureau_historico[]), creditos_ativos (lista com valor_original, saldo_atual, taxa_juros, tipo, data_contratacao), limites (por produto), timestamps_coleta (atual e histórico) }.

# 2. Objetivo
Validar, higienizar e padronizar os dados recebidos, derivando variáveis financeiras necessárias para cálculo de risco.

# 3. Regras que você deve seguir para gerar sua resposta
- Regras de esquema: considere como fatal_errors a ausência de id_cliente, renda_mensal e historico_pagamentos; se houver fatal_errors, defina data_ready=false e descreva cada erro.
- Moeda e datas: converta todos os valores monetários para BRL (assuma BRL se currency ausente); normalize datas para ISO-8601 (YYYY-MM-DD) e valide que não estejam no futuro (> data_coleta_atual + 1 dia).
- Renda e despesas: renda_liquida = max(renda_mensal - despesas_mensais, 0). Se despesas_mensais ausente, impute como 35% da renda_mensal e registre em imputation_map.
- Comprometimento de renda: comprometimento_renda = saldo_devedor_total / max(renda_liquida, 1).
- Utilização: utilizacao_limite = saldo_cartao_total / max(limite_cartao_total, 1); se limite ausente e há limites por produto, some-os; se nenhum limite disponível, defina utilizacao_limite=null e warning.
- Alavancagem: alavancagem = saldo_devedor_total / max(renda_mensal, 1).
- Atrasos: calcule dpd_max_12m (máx dias_em_atraso em 12m), dpd_media_6m; atraso_recorrente_flag=true se existirem 2+ ocorrências com >30 dias em 6m.
- Roll rate: roll_rate_30_60 = (nº de contratos que passaram de 30+ para 60+ em 3m) / (nº de contratos 30+ há 3m), se denominador=0, defina 0.
- Idade de crédito: credit_age_meses = meses desde mais antiga data_contratacao.
- Bureau: consultas_6m a partir do campo; variacao_score_bureau_3m = score_atual - score_de_3_meses_atras.
- Pagamento mínimo: perc_pagamento_minimo_6m = média percentual do pagamento realizado igual ao mínimo exigido nas faturas dos últimos 6m; se não aplicável, null + warning.
- Novas contas: novas_contas_3m = contagem de contratos com data_contratacao nos últimos 90 dias.
- Concentração: concentracao_produto_top1 = saldo_atual do produto com maior saldo / saldo_devedor_total; se saldo_devedor_total=0, defina 0.
- Volatilidade da renda: renda_volatilidade_6m = desvio-padrão(renda_mensal histórica últimos 6m) / média, se histórico disponível; caso contrário, null + warning.
- Tratamento de ausências: impute campos ausentes segundo: despesas_mensais=35% renda; limite_cartao_total=soma limites por produto; score_bureau_atual = média do histórico; consultas_6m=0; dias_em_atraso ausente = 0. Registre cada imputação em imputation_map.
- Qualidade de dados: adicione warnings para outliers claros (ex.: utilizacao_limite>3, alavancagem>5, renda_mensal> 99º percentil do dataset declarado no input, datas duplicadas).
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 JSON com dados brutos do consumidor 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 JSON com dados brutos do consumidor.
  • 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.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON estruturado contendo informações sobre a prontidão dos dados, erros fatais, avisos, dados padronizados e variáveis derivadas.
  • Exemplo de Estrutura de Output:
     {
      "data_ready": true,
      "fatal_errors": [],
      "warnings": [],
      "standardized_data": { "moedas_em_BRL": true, "datas_iso8601": true, ... },
      "derived_features": { "renda_liquida": 5000, "comprometimento_renda": 0.4, ... },
      "imputation_map": { "campo": "estrategia|valor" },
      "missing_fields": []
    } 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 3.000 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 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 Scoring e Classificação de Risco de Crédito (RF 2).

RF 2. Agente de Scoring e Classificação de Risco de Crédito

2.1 Tarefa do Agente

Calcular score, probabilidade de deterioração (PD) e classe de risco com base em variáveis derivadas e regras de negócio explícitas.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON estruturado com dados padronizados e variáveis derivadas oriundo do Agente de Validação.

# 2. Objetivo
Calcular score, probabilidade de deterioração (PD) e classe de risco com base nas variáveis derivadas e regras de negócio explícitas.

# 3. Regras que você deve seguir para gerar sua resposta
- Só execute se data_ready=true. Caso contrário, retorne risco_credito="indisponivel", score=null, pd_percent=null, grade=null, carry_over_warnings com motivo.
- Pontuação base: score inicia em 700; ajuste aditivo conforme regras abaixo; clip em [300, 950]; transforme em PD por mapeamento.
- Pesos principais (aplique na ordem):
  1) comprometimento_renda: >1.0 => -120; 0.7-1.0 => -80; 0.5-0.7 => -40; <0.5 => 0.
  2) utilizacao_limite: >0.9 => -100; 0.7-0.9 => -60; 0.5-0.7 => -25; <0.5 => 0; se null => -15.
  3) dpd_max_12m: >=90 => -180; 60-89 => -140; 30-59 => -90; 1-29 => -30; 0 => 0.
  4) atraso_recorrente_flag: true => -60; false => 0.
  5) consultas_6m: >=6 => -70; 3-5 => -35; 1-2 => -15; 0 => 0.
  6) variacao_score_bureau_3m: <=-50 => -60; -20 a -49 => -30; -1 a -19 => -10; >=0 => 0.
  7) alavancagem: >3.0 => -80; 2.0-3.0 => -50; 1.0-2.0 => -20; <1.0 => 0.
  8) credit_age_meses: <6 => -40; 6-12 => -25; 13-36 => -10; >36 => 0.
  9) perc_pagamento_minimo_6m: >=70% => -50; 30-69% => -25; <30% ou null => 0.
  10) renda_volatilidade_6m: >0.5 => -30; 0.3-0.5 => -15; <=0.3 ou null => 0.
  11) novas_contas_3m: >=3 => -35; 1-2 => -15; 0 => 0.
  12) roll_rate_30_60: >=0.3 => -60; 0.1-0.29 => -25; <0.1 => 0.
- Benefícios positivos: se dpd_max_12m=0 e utilizacao_limite<0.3 => +20; se comprometimento_renda<0.3 e alavancagem<0.8 => +15.
- Conversão score->PD aproximada: PD% = round( max(0, (1000 - score)) / 10 , 1 ). Ex.: score=900 => PD=10%; score=700 => PD=30%.
- Mapeamento PD para grade: PD<=5% => AAA; 5-10% => AA; 10-15% => A; 15-25% => BBB; 25-35% => BB; 35-50% => B; 50-65% => CCC; 65-80% => CC; 80-95% => C; >95% => D.
- Mapeamento de risco_credito: PD<=15% => "baixo"; 15-35% => "medio"; 35-65% => "alto"; >65% => "critico".
- Drivers: liste até 5 variáveis com maior abatimento de pontos (impact="alto" para quedas >=60 pts; "medio" 30-59; "baixo" <30). Inclua direction="up" quando aumento da variável piora risco (ex.: consultas_6m), "down" quando queda piora (ex.: variacao_score_bureau_3m).
- Racional analítico: redija um parágrafo curto citando 2-3 principais motivos quantitativos com os valores observados e cortes aplicados.
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 JSON estruturado com dados padronizados e variáveis derivadas oriundo do Agente de Validação.
  • 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é 5.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o risco de crédito, score, probabilidade de deterioração, classe de risco e outros detalhes analíticos.
  • Exemplo de Estrutura de Output:
     {
      "risco_credito": "medio",
      "score": 750,
      "pd_percent": 25,
      "grade": "BBB",
      "drivers": [{"feature": "comprometimento_renda", "direction": "up", "impact": "alto"}],
      "racional_analitico": "O principal fator de risco é o comprometimento de renda elevado, que está acima de 0.7, resultando em uma redução significativa no score.",
      "carry_over_warnings": []
    } 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.500 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 documentos externos.
  • Calculadora: Utiliza lógica interna para calcular score e classe de risco.
  • 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 Relatório e Estratégias de Mitigação (RF 3).

RF 3. Agente de Relatório e Estratégias de Mitigação

3.1 Tarefa do Agente

Gerar relatório detalhado e recomendações práticas para mitigar o risco identificado, adequadas a consumidores e instituições financeiras.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo o risco de crédito, score, probabilidade de deterioração, classe de risco e outros detalhes analíticos.

# 2. Objetivo
Gerar relatório detalhado e recomendações práticas para mitigar o risco identificado, adequadas a consumidores e instituições financeiras.

# 3. Regras que você deve seguir para gerar sua resposta
- Estrutura do relatório (markdown):
  1) Sumário Executivo: risco_credito, grade, score, pd_percent.
  2) Principais Drivers: liste drivers com explicação em linguagem simples e valor observado.
  3) Indicadores-Chave: tabela textual com comprometimento_renda, utilizacao_limite, dpd_max_12m, consultas_6m, alavancagem, credit_age_meses.
  4) Tendências (se houver histórico): cite variacao_score_bureau_3m, renda_volatilidade_6m, roll_rate_30_60.
  5) Riscos e Controles: aponte vulnerabilidades e controles sugeridos.
  6) Recomendações e Plano de Mitigação.
- Recomendações mínimas por faixa de risco:
  • baixo: manter limite; educação financeira leve; revisão trimestral.
  • medio: reduzir limite 10-20%; ofertas de parcelamento com juros moderados; revisão mensal.
  • alto: reduzir limite 20-40%; solicitar garantias/covenants simples; contato proativo; revisão quinzenal.
  • critico: congelamento temporário de aumentos; renegociação estruturada; garantia adicional; revisão semanal.
- Monte plano_mitigacao com 3-6 ações priorizadas. Cada ação deve indicar pre_requisitos (ex.: comprovação de renda, aceite do cliente), impacto_esperado e prazo.
- Defina monitoramento: frequencia com base no risco (baixo=trimestral, medio=mensal, alto=quinzenal, critico=semanal). Indicadores mínimos: comprometimento_renda, utilizacao_limite, dpd_max_12m, consultas_6m, variacao_score_bureau_3m. Defina limites_alerta objetivos (ex.: comprometimento_renda>0.7; utilizacao_limite>0.9; aumento dpd_max_12m >=30 dias; consultas_6m>=3; variacao_score_bureau_3m<=-20).
- Inclua carry_over_warnings como seção "Observações de Dados" no relatório, se houver.
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 JSON contendo o risco de crédito, score, probabilidade de deterioração, classe de risco e outros detalhes analíticos.
  • 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é 2.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o relatório detalhado em Markdown, recomendações práticas e plano de mitigação.
  • Exemplo de Estrutura de Output:
     {
      "relatorio_markdown": "# Sumário Executivo\nRisco de Crédito: médio\nGrade: BBB\nScore: 750\nPD: 25%\n\n## Principais Drivers\n- Comprometimento de renda elevado: 0.7\n\n## Indicadores-Chave\nComprometimento de Renda: 0.7\nUtilização de Limite: 0.5\n...",
      "recomendacoes": ["Reduzir limite de crédito em 10-20%", "Oferecer parcelamento com juros moderados"],
      "plano_mitigacao": {
        "acoes": [
          {"acao": "Reduzir limite de crédito", "pre_requisitos": ["Aceite do cliente"], "impacto_esperado": "medio", "prazo": "curto"}
        ],
        "monitoramento": {
          "frequencia": "mensal",
          "indicadores": ["comprometimento_renda", "utilizacao_limite"],
          "limites_alerta": {"comprometimento_renda": ">0.7", "utilizacao_limite": ">0.9"}
        }
      },
      "sumario_executivo": {"risco_credito": "medio", "grade": "BBB", "pd_percent": 25, "principais_drivers": ["Comprometimento de renda elevado"]}
    } 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.500 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 documentos externos.
  • Calculadora: Utiliza lógica interna para desenvolver estratégias de mitigação.
  • 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 Monitoramento Contínuo e Alertas (RF 4).

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

Ao concluir sua execução, esse agente aciona o Agente de Monitoramento Contínuo e Alertas (RF 4).

RF 4. Agente de Monitoramento Contínuo e Alertas

4.1 Tarefa do Agente

Avaliar atualizações recorrentes dos dados para detecção precoce de deterioração e emissão de alertas operacionais.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com snapshots de dados derivados e scores passados e atuais.

# 2. Objetivo
Avaliar atualizações recorrentes dos dados para detecção precoce de deterioração e emissão de alertas operacionais.

# 3. Regras que você deve seguir para gerar sua resposta
- Compare snapshot_atual vs snapshot_anterior; calcule deltas para: utilizacao_limite, comprometimento_renda, dpd_max_12m, consultas_6m, variacao_score_bureau_3m (recalcule com base em scores), roll_rate_30_60, score.
- Dispare motivos quando: utilizacao_limite aumenta >=0.15; comprometimento_renda aumenta >=0.20; dpd_max_12m aumenta para novo patamar (ex.: 0->30, 30->60, 60->90); consultas_6m >=3 no período; queda de score >=30 pontos; roll_rate_30_60 >=0.1; variacao_score_bureau_3m <= -20.
- Níveis: 1 motivo => informativo; 2-3 => moderado; 4-5 => severo; >=6 ou dpd_max_12m>=60 => critico.
- Alerta: alerta_ativo=true se nivel_alerta != informativo. Defina recomendacao_imediata coerente com o nível (ex.: moderado: contato preventivo; severo: ajuste de limite e renegociação; critico: medidas restritivas temporárias e proposta de reestruturação).
- Proxima revisão: informativo=30 dias; moderado=14; severo=7; critico=3.
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 com snapshots de dados derivados e scores passados e atuais.
  • 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é 3.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo o status do alerta, nível do alerta, motivos, deltas calculados e recomendação imediata.
  • Exemplo de Estrutura de Output:
     {
      "alerta_ativo": true,
      "nivel_alerta": "moderado",
      "motivos": ["Aumento significativo no comprometimento de renda"],
      "deltas": {"comprometimento_renda": {"anterior": 0.5, "atual": 0.7, "delta": 0.2}},
      "recomendacao_imediata": "Contato preventivo com o cliente",
      "proxima_revisao_em_dias": 14
    } 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 1.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 documentos externos.
  • Calculadora: Utiliza lógica interna para calcular deltas de indicadores.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

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 resultado final do fluxo 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 status do alerta e a recomendação imediata devem ser disponibilizados para as partes interessadas.

© 2025 prototipe.ai. Todos os direitos reservados.