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
- 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 Scoring e Classificação de Risco de Crédito (RF 2).
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
- 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 Relatório e Estratégias de Mitigação (RF 3).
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.