Agente de IA para Geração de Relatórios de Risco de Crédito

28 de November de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que analisa dados de crédito de consumidores e empresas para gerar relatórios detalhados.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, chamadas a sistemas externos e demais requisitos funcionais para o Fluxo de Agentes "Geração de Relatórios de Risco de Crédito", uma solução projetada para analisar dados de crédito de consumidores e empresas e gerar relatórios detalhados de risco para instituições financeiras. 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 é automatizar a análise de dados de crédito, utilizando algoritmos de machine learning para prever riscos e gerar relatórios detalhados e personalizados, reduzindo o tempo e esforço manual dos analistas financeiros.

2. Contexto e Problema

Cenário Atual

As instituições financeiras enfrentam desafios significativos na análise de risco de crédito devido à necessidade de compilar dados de múltiplas fontes, o que consome tempo e recursos. Os analistas frequentemente gastam horas em processos manuais para gerar relatórios de risco detalhados.

  • Dificuldade em compilar dados de crédito de diversas fontes de forma eficiente e precisa.
  • Necessidade de análises detalhadas e personalizadas para diferentes perfis de clientes.
  • Tempo excessivo gasto por analistas financeiros na geração manual de relatórios de risco.

Problemas Identificados

  • Consumo de tempo: A compilação manual e análise de dados de crédito é um processo demorado.
  • Falta de precisão: A análise manual está sujeita a erros, resultando em relatórios de qualidade inconsistente.
  • Incapacidade de personalização: A dificuldade em personalizar análises para diferentes perfis de clientes limita a eficácia dos relatórios.

3. Impactos Esperados

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

  • Reduzir o tempo de geração de relatórios em pelo menos 70%.
  • Aumentar a precisão das análises de risco de crédito.
  • Fornecer relatórios personalizados para diferentes perfis de clientes.
  • Melhorar a eficiência dos analistas financeiros, permitindo que se concentrem em decisões estratégicas.

4. Visão Geral da Solução

O agente de IA para geração de relatórios de risco de crédito automatiza a coleta e análise de dados de crédito, utilizando algoritmos de machine learning para prever riscos e gerar relatórios personalizados. 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 análise de risco de crédito.

A solução consiste em um fluxo de automação composto por 7 agentes de IA. O processo inicia com a coleta de dados de múltiplas fontes e termina com a geração de um relatório de risco de crédito detalhado.

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

Agentes Função Principal
Agente Preparador de Coleta de Dados de Crédito (RF 1) Preparar os payloads para chamadas às múltiplas fontes de dados de crédito.
Agente de Execução de Chamada à API - Fontes de Crédito (RF 2) Realizar as chamadas às APIs das fontes de crédito e retornar os dados brutos.
Agente de Consolidação e Normalização de Dados de Crédito (RF 3) Consolidar e normalizar os dados brutos em um esquema unificado.
Agente Preparador de Features de Risco (RF 4) Transformar o consolidado em vetor de features para input de modelo de ML.
Agente de Execução de Chamada à API - Scoring de Risco (RF 5) Realizar a chamada ao serviço de ML para obter previsão de risco a partir das features.
Agente de Análise e Interpretação de Risco de Crédito (RF 6) Interpretar o resultado do modelo e gerar classificação de risco e recomendações.
Agente Gerador de Relatório de Risco de Crédito (RF 7) Produzir o relatório final de risco de crédito em formato legível para analistas.

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 Preparador de Coleta de Dados de Crédito

1.1 Tarefa do Agente

Preparar, a partir dos identificadores do cliente e do escopo solicitado, os payloads padronizados para chamadas às múltiplas fontes de dados de crédito (bureaus e fontes internas/externas).

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON com os identificadores do cliente e o escopo solicitado para a coleta de dados de crédito.

# 2. Objetivo
Preparar os payloads padronizados para chamadas às múltiplas fontes de dados de crédito (bureaus e fontes internas/externas).

# 3. Regras que você deve seguir para gerar sua resposta
- Regra 1 (validação de identidade): Exigir para PF: identificadores.cpf com 11 dígitos numéricos e identificadores.data_nascimento em ISO 8601 (YYYY-MM-DD). Exigir para PJ: identificadores.cnpj com 14 dígitos numéricos e identificadores.razao_social não vazio. Se ausente ou malformatado, produzir saída no formato {"erro": {"codigo": "IDENTIFICADOR_INVALIDO", "detalhe": "campo_faltante_ou_formato_invalido"}} e não gerar chamadas.
- Regra 2 (normalização): Remover máscaras de CPF/CNPJ (apenas dígitos). Converter datas e timestamps para ISO 8601 UTC (YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ). Normalizar strings de fonte para minúsculas e snake_case.
- Regra 3 (janela temporal): Se escopo.janela_meses não informado, usar 24. Aplicar limites: mínimo 6, máximo 60. Calcular periodo_inicio = data_atual - janela_meses (começo do dia), periodo_fim = data_atual (fim do dia) e incluir no payload das fontes que exigem período (ex.: open_banking).
- Regra 4 (roteamento por fonte): Mapear fonte -> endpoint obrigatório: bureau_A -> "/consulta-score"; bureau_B -> "/consulta-score"; open_banking -> "/extratos/consolidados"; cadastro_interno -> "/clientes/historico_credito". Se fonte desconhecida, omitir e adicionar aviso em {"avisos": ["fonte_desconhecida:"]}.
- Regra 5 (payload mínimo): Incluir apenas chaves exigidas pela fonte: cpf_cnpj (numérico), janela_meses ou periodo_inicio/periodo_fim, e identificadores internos quando fornecidos (ex.: id_interno). Não incluir dados pessoais não necessários (nome, endereço, e-mail).
- Regra 6 (consentimento): Se fonte em {open_banking, bureau_A, bureau_B} e consentimento.termo_assinado != true, abortar e retornar {"erro": {"codigo": "CONSENTIMENTO_AUSENTE", "detalhe": "termo_assinado=false"}}. Se true, propagar no payload apenas flags exigidas (ex.: {"consentimento_ts": timestamp}).
- Regra 7 (idempotência): Garantir que duas execuções com o mesmo input gerem a mesma lista e ordem de chamadas. Ordenar chamadas por fonte em ordem alfabética.
- Regra 8 (auditoria de preparo): Incluir no topo do output opcional {"meta": {"tipo_cliente": "PF|PJ", "janela_meses": N, "fontes_solicitadas": [...], "timestamp_preparo": "ISO_UTC"}}.
- Regra 9 (segurança): Nunca incluir credenciais, chaves de API ou tokens de sessão no payload preparado. Substituir qualquer campo sensível inadvertido por null e registrar em avisos.

# 4. Exemplo de Output que você deve produzir
{"chamadas": [{"fonte": "bureau_A", "endpoint": "/consulta-score", "payload": {"cpf_cnpj": "00000000000", "janela_meses": 24}}, {"fonte": "open_banking", "endpoint": "/extratos/consolidados", "payload": {"cpf_cnpj": "00000000000", "periodo_inicio": "2023-12-01", "periodo_fim": "2025-11-28"}}, {"fonte": "cadastro_interno", "endpoint": "/clientes/historico_credito", "payload": {"id_interno": "abc-123"}}]} 
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 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 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 objeto JSON com identificadores e consentimentos do cliente.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 10.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo as chamadas preparadas para as fontes de dados de crédito. A estrutura deve incluir a fonte, o endpoint e o payload para cada chamada.
  • Exemplo de Estrutura de Output:
     {"chamadas": [{"fonte": "bureau_A", "endpoint": "/consulta-score", "payload": {"cpf_cnpj": "00000000000", "janela_meses": 24}}, {"fonte": "open_banking", "endpoint": "/extratos/consolidados", "payload": {"cpf_cnpj": "00000000000", "periodo_inicio": "2023-12-01", "periodo_fim": "2025-11-28"}}, {"fonte": "cadastro_interno", "endpoint": "/clientes/historico_credito", "payload": {"id_interno": "abc-123"}}]} 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 2.500 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 Execução de Chamada à API - Fontes de Crédito (RF 2).

RF 2. Agente de Execução de Chamada à API - Fontes de Crédito

2.1 Tarefa do Agente

Realizar as chamadas às APIs das fontes de crédito conforme os payloads preparados e retornar os dados brutos por fonte.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON no formato {"chamadas": [{"fonte": "bureau_A", "endpoint": "/consulta-score", "payload": {...}}, ...]}

# 2. Objetivo
Realizar as chamadas às APIs das fontes de crédito e retornar os dados brutos por fonte.

# 3. Regras que você deve seguir para gerar sua resposta
- Esse agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a(s) chamada(s) à(s) API(s) cujo payload já recebe pronto. 
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 um objeto JSON contendo as chamadas preparadas para as fontes de dados de crédito.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo os dados brutos retornados de cada fonte de crédito consultada.
  • Exemplo de Estrutura de Output:
     {"resultados": [{"fonte": "bureau_A", "status": 200, "dados": {"score": 713, "faixa": "B"}}, {"fonte": "open_banking", "status": 200, "dados": {"receitas_12m": 125000.45, "despesas_12m": 99000.12, "sazonalidade": {"q1": 0.9, "q2": 1.1, "q3": 1.2, "q4": 0.8}}]} 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: Não se aplica (uso de ferramenta)

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá executar as chamadas às APIs externas conforme os endpoints e payloads recebidos.

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 Consolidação e Normalização de Dados de Crédito (RF 3).

RF 3. Agente de Consolidação e Normalização de Dados de Crédito

3.1 Tarefa do Agente

Consolidar e normalizar os dados brutos retornados de múltiplas fontes em um esquema unificado e com métricas derivadas padronizadas.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON com os resultados das fontes de crédito consultadas.

# 2. Objetivo
Consolidar e normalizar os dados brutos retornados de múltiplas fontes em um esquema unificado e com métricas derivadas padronizadas.

# 3. Regras que você deve seguir para gerar sua resposta
- Regra 1 (filtro e status): Ignorar entradas cujo status não esteja em {200, 206}. Se nenhuma fonte válida, retornar {"erro": {"codigo": "SEM_DADOS_VALIDOS"}}.
- Regra 2 (normalização semântica): Mapear chaves heterogêneas para o esquema alvo: scores., registro_inadimplencia.{quantidade,mais_recente}, consultas.{ultimos_6m,instituicoes_unicas_6m}, open_banking.{receita_12m,despesa_12m,volatilidade}, cadastro_interno.{limite_atual,atrasos_12m}. Manter nomes de fonte em snake_case.
- Regra 3 (resolução por recência e confiabilidade): Para campos conflitantes com timestamp, escolher o mais recente. Se empate, aplicar prioridade de fonte: cadastro_interno > open_banking > bureau_A > bureau_B. Registrar em "proveniencia" o par {"campo":"fonte_escolhida","timestamp":"ISO"} para cada decisão crítica.
- Regra 4 (score_composto): Se existirem n scores em escala 0–1000, calcular média ponderada. Pesos padrão: fonte_principal = 0.5 (se definida em input meta; senão, a de maior recência), segunda = 0.3, terceira = 0.2; se apenas 2 fontes, normalizar pesos para somar 1; se 1 fonte, peso 1. Arredondar para inteiro.
- Regra 5 (consultas 6m): Se houver lista de consultas por data/instituição, contar eventos com data >= (data_atual - 180 dias) e computar instituições distintas no mesmo período. Se apenas contadores agregados forem fornecidos, usar o valor direto.
- Regra 6 (volatilidade de receita): Calcular volatilidade = desvio_padrão(mensal_receita_12m) / média(mensal_receita_12m). Se não houver série mensal, aproximar por sazonalidade informada; se indisponível, setar null.
- Regra 7 (qualidade do dado): Completude = (#campos_essenciais_presentes)/(#campos_essenciais), onde campos_essenciais = {scores, registro_inadimplencia, consultas, open_banking.receita_12m, open_banking.despesa_12m}. Consistência = 1 - (conflitos_resolvidos/total_campos_avaliados). Reportar fontes_disponiveis = lista de fontes com status válido.
- Regra 8 (deduplicação de eventos): Unificar eventos de inadimplência se (tipo igual) AND (valor dentro de ±5%) AND (datas em janela de ±15 dias). Após deduplicar, recomputar quantidade e mais_recente.
- Regra 9 (identificador e tipo): Inferir tipo_cliente por tamanho do identificador (11->PF, 14->PJ) se não vier explícito. Popular consolidado.identificador com CPF/CNPJ numérico.
- Regra 10 (sanidade): Capear métricas em intervalos de negócio: consultas.ultimos_6m ∈ [0, 50]; open_banking.receita_12m, despesa_12m ≥ 0; volatilidade ∈ [0, 5]. Valores fora do intervalo devem ser ajustados ao limite e anotados em "avisos".

# 4. Exemplo de Output que você deve produzir
{"consolidado": {"tipo_cliente": "PF|PJ", "identificador": "CPF ou CNPJ", "scores": {"bureau_A": 713, "bureau_B": 680, "score_composto": 701}, "registro_inadimplencia": {"quantidade": 2, "mais_recente": "2025-03-10"}, "consultas": {"ultimos_6m": 8, "instituicoes_unicas_6m": 5}, "open_banking": {"receita_12m": 125000.45, "despesa_12m": 99000.12, "volatilidade": 0.22}, "cadastro_interno": {"limite_atual": 15000, "atrasos_12m": 1}, "qualidade_dado": {"completude": 0.94, "consistencia": 0.9, "fontes_disponiveis": ["bureau_A", "open_banking", "cadastro_interno"]}}} 
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 um objeto JSON contendo os dados brutos retornados de cada fonte de crédito consultada.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 12.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON consolidado e normalizado, contendo todas as métricas derivadas padronizadas.
  • Exemplo de Estrutura de Output:
     {"consolidado": {"tipo_cliente": "PF|PJ", "identificador": "CPF ou CNPJ", "scores": {"bureau_A": 713, "bureau_B": 680, "score_composto": 701}, "registro_inadimplencia": {"quantidade": 2, "mais_recente": "2025-03-10"}, "consultas": {"ultimos_6m": 8, "instituicoes_unicas_6m": 5}, "open_banking": {"receita_12m": 125000.45, "despesa_12m": 99000.12, "volatilidade": 0.22}, "cadastro_interno": {"limite_atual": 15000, "atrasos_12m": 1}, "qualidade_dado": {"completude": 0.94, "consistencia": 0.9, "fontes_disponiveis": ["bureau_A", "open_banking", "cadastro_interno"]}}} 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 4.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 calcular métricas derivadas.
  • 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 Preparador de Features de Risco (RF 4).

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

Ao concluir sua execução, esse agente aciona o Agente Preparador de Features de Risco (RF 4).

RF 4. Agente Preparador de Features de Risco

4.1 Tarefa do Agente

Transformar o consolidado em vetor de features padronizado para input de modelo de ML (scoring/PD/LGD).

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON com o bloco "consolidado" unificado.

# 2. Objetivo
Transformar o consolidado em vetor de features padronizado para input de modelo de ML (scoring/PD/LGD).

# 3. Regras que você deve seguir para gerar sua resposta
- Regra 1 (seleção de variáveis): Popular features com chaves fixas: score_composto, qtd_inadimplencia, consulta_6m, renda_receita_12m, despesa_12m, relacao_despesa_receita, volatilidade, limite_atual, atrasos_12m, idade_credito_meses, setor_pj (para PJ) e renda_presumida (para PF, se disponível). Ausentes devem ser imputados.
- Regra 2 (imputação): Numéricas: usar mediana de referência do portfólio (se não fornecida, usar 0). Categóricas: usar "desconhecido". relacao_despesa_receita = despesa_12m / max(renda_receita_12m, 1). volatilidade: se null, setar 0.0.
- Regra 3 (transformações): Aplicar caps: consulta_6m ∈ [0,50]; qtd_inadimplencia ∈ [0,50]; relacao_despesa_receita ∈ [0,5]; volatilidade ∈ [0,5]. Aplicar log1p para receita e despesa adicionais somente se modelo exigir via flag "transformacao": não aplicar por padrão.
- Regra 4 (reprodutibilidade): Fixar ordem de chaves do objeto features conforme lista da Regra 1. Não incluir qualquer campo derivado de relógio além de metadata.timestamp.
- Regra 5 (metadata): Incluir tipo_cliente, identificador numérico (não ofuscado para o serviço de modelo), e timestamp ISO UTC. Não incluir nome, data de nascimento, razão social.
- Regra 6 (sanidade): Se renda_receita_12m = 0 e despesa_12m > 0, definir relacao_despesa_receita = 5 (cap) e adicionar aviso "sem_receita_com_despesa" em metadata. Se limite_atual negativo, ajustar para 0.

# 4. Exemplo de Output que você deve produzir
{"modelo": "credit_risk_v1", "features": {"score_composto": 701, "qtd_inadimplencia": 2, "consulta_6m": 8, "renda_receita_12m": 125000.45, "despesa_12m": 99000.12, "volatilidade": 0.22, "relacao_despesa_receita": 0.79, "limite_atual": 15000, "atrasos_12m": 1, "idade_credito_meses": 56, "setor_pj": null}, "metadata": {"tipo_cliente": "PF", "identificador": "00000000000", "timestamp": "2025-11-28T04:54:00Z"}} 
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 um objeto JSON com o bloco "consolidado" unificado.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo o vetor de features padronizado para input de modelo de ML.
  • Exemplo de Estrutura de Output:
     {"modelo": "credit_risk_v1", "features": {"score_composto": 701, "qtd_inadimplencia": 2, "consulta_6m": 8, "renda_receita_12m": 125000.45, "despesa_12m": 99000.12, "volatilidade": 0.22, "relacao_despesa_receita": 0.79, "limite_atual": 15000, "atrasos_12m": 1, "idade_credito_meses": 56, "setor_pj": null}, "metadata": {"tipo_cliente": "PF", "identificador": "00000000000", "timestamp": "2025-11-28T04:54:00Z"}} 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 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 calcular transformações de features.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

4.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente de Execução de Chamada à API - Scoring de Risco (RF 5).

RF 5. Agente de Execução de Chamada à API - Scoring de Risco

5.1 Tarefa do Agente

Realizar a chamada ao serviço de Machine Learning para obter previsão de risco (ex.: PD, score, LGD) a partir das features.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON no formato {"modelo": "credit_risk_v1", "features": {...}, "metadata": {...}}

# 2. Objetivo
Realizar a chamada ao serviço de Machine Learning para obter previsão de risco (ex.: PD, score, LGD) a partir das features.

# 3. Regras que você deve seguir para gerar sua resposta
- Esse agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a chamada à API do modelo de ML cujo payload ele já recebe pronto. 
5.3 Configurações do Agente

5.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 4).
  • Tipo do input: Este agente deve ser apto a receber um objeto JSON no formato esperado pelo serviço de Machine Learning.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo a previsão de risco e a explicação das principais variáveis que influenciaram o modelo.
  • Exemplo de Estrutura de Output:
     {"scoring": {"modelo": "credit_risk_v1", "score": 0.78, "pd_12m": 0.065, "lgd": 0.35, "faixa": "M"}, "explainability": {"top_drivers": [{"feature": "qtd_inadimplencia", "impact": 0.21}, {"feature": "relacao_despesa_receita", "impact": 0.18}]}} 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.000 caracteres.

5.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: Não se aplica (uso de ferramenta)

5.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá executar a chamada à API do serviço de Machine Learning para obter as previsões de risco.

5.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente de Análise e Interpretação de Risco de Crédito (RF 6).

RF 6. Agente de Análise e Interpretação de Risco de Crédito

6.1 Tarefa do Agente

Interpretar o resultado do modelo e o consolidado de crédito para gerar classificação de risco, limites recomendados e condições de crédito com justificativas.

6.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON contendo o resultado do modelo e o consolidado de crédito.

# 2. Objetivo
Interpretar o resultado do modelo e o consolidado de crédito para gerar classificação de risco, limites recomendados e condições de crédito com justificativas.

# 3. Regras que você deve seguir para gerar sua resposta
- Regra 1 (classificação por PD): Definir cortes padrão PD_12m: Baixo < 0.03; Médio ∈ [0.03, 0.08]; Alto > 0.08. Se tabela de política vier no input, usá-la e ignorar os cortes padrão.
- Regra 2 (faixa do score): Mapear score (0–1) do modelo para faixas A–E: A ≥ 0.85; B ∈ [0.75, 0.85); C ∈ [0.65, 0.75); D ∈ [0.50, 0.65); E < 0.50. Se o modelo já retornar faixa, validar consistência e priorizar a do modelo em caso de divergência pequena (|dif| ≤ 0.02).
- Regra 3 (limite recomendado): Calcular capacidade_mensal = max((receita_12m - despesa_12m)/12, 0). Fator_risco = map(PD): PD<3% -> 6.0; 3–8% -> 3.5; >8% -> 1.5. limite_base = capacidade_mensal * Fator_risco. Aplicar redutores: -20% se qtd_inadimplencia ≥ 1; -10% se consultas_6m > 10; -15% se volatilidade > 0.5. Aplicar caps: minimo 0; máximo cap_politica (se fornecido), senão 20x capacidade_mensal. Arredondar para múltiplos de 100.
- Regra 4 (condições recomendadas): taxa_juros_anual por risco: Baixo -> base; Médio -> base + 4pp; Alto -> base + 8pp (base padrão = 20% a.a. se não houver política). prazo_max_meses: Baixo 36; Médio 24; Alto 12. Garantias: sugerir "None" se PD<3% e sem inadimplência recente; caso contrário, sugerir garantia leve (ex.: aval) para Médio e garantia real para Alto se limite_base > limiar_garantia (ex.: R$ 30k).
- Regra 5 (flags): red se: inadimplencia nos últimos 90 dias, consultas_6m > 20, queda de receita_12m > 30% vs média histórica. amber se: volatilidade > 0.4, consistencia < 0.85, consultas_6m ∈ (10,20]. green se: atrasos_12m = 0, relacao_despesa_receita < 0.6, receita estável (volatilidade < 0.2). Reportar todas que se aplicam.
- Regra 6 (personalização PF vs PJ): Para PJ, considerar setor_pj: se setor de alto risco (ex.: construção, bares) e volatilidade>0.5, reduzir limite em 10% adicionais. Para PF, se renda_presumida baixa (< 2 SM) e consultas elevadas (> 12), subir faixa de risco em 1 nível (ex.: de Médio para Alto) salvo se PD < 3%.
- Regra 7 (justificativas): Construir lista de 2–5 frases citando: PD, principais drivers (explainability.top_drivers ordenados por impacto), métricas de capacidade (relação D/R), histórico (inadimplência/atrasos) e qualquer ajuste de política aplicado.
- Regra 8 (qualidade e política): Se qualidade_dado.completude < 0.8 OU consistencia < 0.8, setar politicas.aprovacao_automatica=false e politicas.necessita_comite=true e limitar limite_recomendado a no máximo 50% do limite_base.
- Regra 9 (auditoria): Incluir fontes_utilizadas exatamente como em consolidado.qualidade_dado.fontes_disponiveis e refletir os índices de qualidade (completude, consistencia).

# 4. Exemplo de Output que você deve produzir
{"analise": {"classificacao_risco": "Baixo|Médio|Alto", "faixa_score": "A|B|C|D|E", "limite_recomendado": 20000, "condicoes_recomendadas": {"taxa_juros_anual": 0.249, "prazo_max_meses": 24, "garantias": ["None"], "condicoes_especiais": []}, "flags": {"red": ["inadimplencia_recente"], "amber": ["consultas_elevadas_6m"], "green": ["receita_consistente"]}, "justificativas": ["PD 6,5% impulsionado por 2 registros de inadimplência e relação despesa/receita de 0,79."], "politicas": {"aprovacao_automatica": false, "necessita_comite": true}}, "auditoria": {"qualidade_dado": {"completude": 0.94, "consistencia": 0.9}, "fontes_utilizadas": ["bureau_A", "open_banking", "cadastro_interno"]}} 
6.3 Configurações do Agente

6.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
  • Tipo do input: Este agente deve ser apto a receber um objeto JSON contendo o resultado do modelo e o consolidado de crédito.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 8.000 caracteres.

6.3.2 Especificação do Output

  • Formato de output: O output deve ser um objeto JSON contendo a análise de risco de crédito com classificações, recomendações e justificativas detalhadas.
  • Exemplo de Estrutura de Output:
     {"analise": {"classificacao_risco": "Baixo|Médio|Alto", "faixa_score": "A|B|C|D|E", "limite_recomendado": 20000, "condicoes_recomendadas": {"taxa_juros_anual": 0.249, "prazo_max_meses": 24, "garantias": ["None"], "condicoes_especiais": []}, "flags": {"red": ["inadimplencia_recente"], "amber": ["consultas_elevadas_6m"], "green": ["receita_consistente"]}, "justificativas": ["PD 6,5% impulsionado por 2 registros de inadimplência e relação despesa/receita de 0,79."], "politicas": {"aprovacao_automatica": false, "necessita_comite": true}}, "auditoria": {"qualidade_dado": {"completude": 0.94, "consistencia": 0.9}, "fontes_utilizadas": ["bureau_A", "open_banking", "cadastro_interno"]}} 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.

6.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

6.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Utiliza lógica interna para calcular classificações e recomendações de crédito.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

6.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente Gerador de Relatório de Risco de Crédito (RF 7).

RF 7. Agente Gerador de Relatório de Risco de Crédito

7.1 Tarefa do Agente

Produzir o relatório final de risco de crédito em formato legível para analistas, com resumo executivo, indicadores, interpretações, recomendações e trilha de auditoria.

7.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON com a análise de risco de crédito e o consolidado de dados.

# 2. Objetivo
Produzir o relatório final de risco de crédito em formato legível para analistas, com resumo executivo, indicadores, interpretações, recomendações e trilha de auditoria.

# 3. Regras que você deve seguir para gerar sua resposta
- Regra 1 (estrutura e formato): Gerar em Markdown com seções fixas: Resumo Executivo, Identificação, Indicadores-Chave, Interpretação e Principais Drivers, Recomendações de Crédito, Qualidade e Fontes de Dados, Anexos. Títulos H1/H2 conforme exemplo do expected_output.
- Regra 2 (ofuscação): Exibir CPF como XXX.XXX.XXX-<últimos 2 dígitos> e CNPJ como XX.XXX.XXX/XXXX-<últimos 2 dígitos>. Não exibir nome/razão social completos.
- Regra 3 (formatação numérica): Moedas em BRL com separador milhar e duas casas (R$ 1.234,56). Percentuais com uma casa para PD e duas casas para taxa de juros (ex.: 24,90%). Score composto inteiro. Datas em YYYY-MM-DD.
- Regra 4 (consistência): Todos os números reportados devem ser exatamente os provenientes do input de análise/consolidado após arredondamentos definidos. Não inventar métricas ausentes; se faltantes, mostrar "N/D".
- Regra 5 (drivers e racional): Listar ao menos 2 e no máximo 5 drivers com sinal (+/-) quando aplicável, alinhados a explainability.top_drivers e às métricas-chave. Explicar, em uma frase, por que cada driver influencia a decisão.
- Regra 6 (recomendações alinhadas): Repetir fielmente limite_recomendado e condições_recomendadas da etapa de análise; se houver flags red, inserir aviso "Submeter a comitê de crédito" no rodapé do resumo executivo.
- Regra 7 (qualidade e fontes): Exibir índices de completude e consistência com duas casas decimais. Listar fontes_utilizadas exatamente como recebidas.
- Regra 8 (anexos): Incluir tabela simples dos principais campos do consolidado (scores, inadimplência, consultas, open_banking, cadastro_interno) e um log em bullet points com: período analisado, fontes consultadas, e decisões de consolidação relevantes (ex.: fonte escolhida para score).

# 4. Exemplo de Output que você deve produzir
# Relatório de Risco de Crédito

## Resumo Executivo
- Classificação de Risco: Baixo|Médio|Alto
- Faixa do Score: A|B|C|D|E
- Limite Recomendado: R$ 20.000
- Condições: taxa anual 24,9%, prazo máximo 24 meses, garantias: None

## Identificação
- Tipo de Cliente: PF|PJ
- Identificador: CPF/CNPJ (parcialmente ofuscado)

## Indicadores-Chave
- Score Composto: 701
- PD (12m): 6,5%
- Inadimplência: 2 eventos (mais recente: 2025-03-10)
- Consultas 6m: 8 (instituições únicas: 5)
- Receita 12m: R$ 125.000,45 | Despesa 12m: R$ 99.000,12 | Relação D/R: 0,79
- Volatilidade Receita: 0,22

## Interpretação e Principais Drivers
- Principais drivers do risco: qtd_inadimplencia (+), relacao_despesa_receita (+)...
- Comentários: ...

## Recomendações de Crédito
- Limite recomendado e racional
- Condições recomendadas (taxa, prazo, garantias)
- Flags: Red [...], Amber [...], Green [...]

## Qualidade e Fontes de Dados
- Completude: 0,94 | Consistência: 0,90
- Fontes utilizadas: bureau_A, open_banking, cadastro_interno

## Anexos
- Tabela de métricas consolidadas
- Log resumido de preparação e consolidação
 
7.3 Configurações do Agente

7.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 6).
  • Tipo do input: Este agente deve ser apto a receber um objeto JSON com a análise de risco de crédito e o consolidado de dados.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json (JSON).
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.

7.3.2 Especificação do Output

  • Formato de output: O output deve ser um relatório em formato Markdown, contendo todas as seções especificadas no prompt.
  • Exemplo de Estrutura de Output:
     # Relatório de Risco de Crédito
    
    ## Resumo Executivo
    - Classificação de Risco: Baixo|Médio|Alto
    - Faixa do Score: A|B|C|D|E
    - Limite Recomendado: R$ 20.000
    - Condições: taxa anual 24,9%, prazo máximo 24 meses, garantias: None
    
    ## Identificação
    - Tipo de Cliente: PF|PJ
    - Identificador: CPF/CNPJ (parcialmente ofuscado)
    
    ## Indicadores-Chave
    - Score Composto: 701
    - PD (12m): 6,5%
    - Inadimplência: 2 eventos (mais recente: 2025-03-10)
    - Consultas 6m: 8 (instituições únicas: 5)
    - Receita 12m: R$ 125.000,45 | Despesa 12m: R$ 99.000,12 | Relação D/R: 0,79
    - Volatilidade Receita: 0,22
    
    ## Interpretação e Principais Drivers
    - Principais drivers do risco: qtd_inadimplencia (+), relacao_despesa_receita (+)...
    - Comentários: ...
    
    ## Recomendações de Crédito
    - Limite recomendado e racional
    - Condições recomendadas (taxa, prazo, garantias)
    - Flags: Red [...], Amber [...], Green [...]
    
    ## Qualidade e Fontes de Dados
    - Completude: 0,94 | Consistência: 0,90
    - Fontes utilizadas: bureau_A, open_banking, cadastro_interno
    
    ## Anexos
    - Tabela de métricas consolidadas
    - Log resumido de preparação e consolidação
     
  • Número de caracteres esperado: O relatório final terá um tamanho aproximado de 5.000 caracteres.

7.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

7.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

7.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para agentes subsequentes.
  • Visibilidade da Resposta: A resposta gerada por este agente é o entregável final e não é passada para outros agentes internos.

7.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.