Agente de IA para Avaliação de Crédito em Tempo Real

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

Como criar um agente de IA que avalia a capacidade de crédito de indivíduos ou empresas em tempo real.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para o Agente de IA para Avaliação de Crédito em Tempo Real. 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 é avaliar a capacidade de crédito de indivíduos ou empresas em tempo real, utilizando dados atualizados de bureaus de crédito para fornecer insights e decisões de crédito informadas.

2. Contexto e Problema

Cenário Atual

O mercado financeiro enfrenta desafios significativos na avaliação rápida e precisa da capacidade de crédito de indivíduos e empresas. A integração de dados atualizados de bureaus de crédito é crucial para uma avaliação precisa e informada.


Problemas Identificados

  • Necessidade de avaliação rápida: A avaliação de crédito precisa ser feita em tempo real para não atrasar processos decisórios.
  • Integração de dados: Dificuldade em integrar dados de múltiplos bureaus de crédito para garantir precisão e atualidade nas avaliações.

3. Impactos Esperados

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

  • Acelerar o processo de avaliação de crédito para decisões em tempo real.
  • Aumentar a precisão das avaliações de crédito através da integração de dados de múltiplos bureaus.
  • Fornecer insights acionáveis que auxiliem na tomada de decisões de crédito informadas.

4. Visão Geral da Solução

O agente de IA para avaliação de crédito em tempo real processa dados atualizados de bureaus de crédito, aplica regras de avaliação e fornece insights e decisões de crédito informadas. 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 avaliação de crédito.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a preparação de requisições para bureaus de crédito e termina com a geração de decisões e insights de crédito.

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

Agentes Função Principal
Agente Preparador de Requisição a Bureaus de Crédito (RF 1) Validar e normalizar identificadores do solicitante e montar payloads para consulta em tempo real a múltiplos bureaus de crédito.
Agente de Execução de Chamada à API - Bureaus de Crédito (RF 2) Realizar chamadas às APIs dos bureaus de crédito e retornar respostas brutas.
Agente de Consolidação e Normalização de Dados de Bureaus (RF 3) Unificar e padronizar as respostas dos bureaus em um esquema comum e derivar variáveis-chave para avaliação.
Agente de Avaliação de Capacidade de Crédito em Tempo Real (RF 4) Calcular um score composto, classificar a capacidade de crédito e gerar decisão e insights acionáveis.

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 Requisição a Bureaus de Crédito

1.1 Tarefa do Agente

Validar e normalizar identificadores do solicitante e montar, de forma padronizada, os payloads e parâmetros para consulta em tempo real a múltiplos bureaus de crédito.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com dados mínimos para a preparação de requisições a bureaus de crédito.

# 2. Objetivo
Validar e normalizar identificadores do solicitante e montar, de forma padronizada, os payloads e parâmetros para consulta em tempo real a múltiplos bureaus de crédito.

# 3. Regras que você deve seguir para gerar sua resposta
- Se consentimento_coleta = false, defina consulta_autorizada = false, motivo_bloqueio = "ausencia_consentimento" e não gere requisicoes.
- Remova todos os caracteres não numéricos de cpf_cnpj; valide comprimento: PF=11, PJ=14. Se inválido, consulta_autorizada = false, motivo_bloqueio = "documento_invalido".
- Exigir nome e data_nascimento_ou_abertura; se ausentes, consulta_autorizada = false, motivo_bloqueio = "dados_insuficientes".
- Gere correlation_id único (uuid-like) e replique em todas as requisições.
- Monte uma requisição por bureau necessário (ex.: "SERASA", "BOA_VISTA", "SPC"), respeitando: metodo, endpoint genérico, headers (placeholders), body/query com campos normalizados.
- Defina timeout_ms padrão 5000; se parametros_politica.timeout_ms existir e for entre 2000 e 10000, use-o.
- Máscare dados sensíveis em campos de log (não aplicável ao output funcional, apenas garanta que apenas cpf_cnpj e data normalizados vão no body/query conforme necessidade do bureau).
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 do solicitante 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 JSON 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 mínimos necessários para a preparação de requisições a bureaus de crédito.
  • 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é 5.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo a autorização da consulta, identificadores normalizados e as requisições preparadas para os bureaus de crédito.
  • Exemplo de Estrutura de Output:
     {"consulta_autorizada": true, "correlation_id": "uuid", "requisicoes": [{"bureau": "NOME_BUREAU", "endpoint": "url", "metodo": "GET|POST", "headers": {"Authorization": "token|assinatura", "Content-Type": "application/json"}, "query": {"cpf_cnpj": "..."}, "body": {"cpf_cnpj": "...", "nome": "...", "data": "..."}, "timeout_ms": 5000}]} 
  • Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 1.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 Execução de Chamada à API - Bureaus de Crédito (RF 2).

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

2.1 Tarefa do Agente

Realizar as chamadas às APIs dos bureaus de crédito com os payloads prontos e retornar as respostas brutas, com metadados de execução.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo a autorização da consulta e as requisições preparadas para os bureaus de crédito.

# 2. Objetivo
Realizar as chamadas às APIs dos bureaus de crédito com os payloads prontos e retornar as respostas brutas, com metadados de execução.

# 3. Regras que você deve seguir para gerar sua resposta
- Execute as chamadas às APIs dos bureaus de crédito conforme especificado no JSON de input.
- Capture o http_status e o tempo de execução de cada chamada.
- Retorne as respostas brutas dos bureaus junto com os metadados de execução (http_status, tempo_ms).
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 contendo a autorização da consulta e as requisições preparadas para os bureaus de crédito.
  • 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é 5.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo as respostas brutas dos bureaus de crédito, juntamente com os metadados de execução.
  • Exemplo de Estrutura de Output:
     {"correlation_id": "uuid", "respostas": [{"bureau": "NOME_BUREAU", "http_status": 200, "tempo_ms": 430, "payload_bruto": {"campos_variaveis_por_bureau": "..."}}]} 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 2.000 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta documentos externos.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Conecta-se às APIs dos bureaus de crédito conforme especificado nas requisições de input.

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 Bureaus (RF 3).

RF 3. Agente de Consolidação e Normalização de Dados de Bureaus

3.1 Tarefa do Agente

Unificar e padronizar as respostas brutas dos bureaus em um esquema comum e derivar variáveis-chave para avaliação.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo as respostas brutas dos bureaus de crédito.

# 2. Objetivo
Unificar e padronizar as respostas brutas dos bureaus em um esquema comum e derivar variáveis-chave para avaliação.

# 3. Regras que você deve seguir para gerar sua resposta
- Ignore respostas com http_status >= 400; registre em qualidade_dados.bureaus_com_falha.
- Padronize scores para escala 0–1000:
  • Se escala já 0–1000, mantenha.
  • Se 0–100: score_norm = round(original * 10).
  • Se 300–850: score_norm = round((valor-300)/(850-300)*1000).
  • Se 1–5 (ratings): mapear {1:200,2:400,3:600,4:800,5:950}.
- Se múltiplos bureaus fornecerem score, calcule mediana para score agregado; mantenha também a lista por bureau.
- Inadimplências: deduplique registros quando (credor, contrato_id, data_abertura) coincidirem; para conflitos, prefira o registro com data_atualizacao mais recente. Some valor_total e conte qtd; calcule dias_desde_ultimo_registro pela diferença da data atual e a maior data de evento.
- Consultas recentes: some consultas hard (crédito) nos últimos 90 dias; ignore consultas soft quando identificadas como "marketing" ou "pré-qualificação".
- Renda presumida: se múltiplos valores, use o maior valor com data_atualizacao <= 6 meses; se ausente, defina null.
- Endividamento estimado (%): se houver total_parcelas_ativas e renda_presumida, endividamento = min(100, round(100*valor_parcelas_mensais/renda_presumida)); caso contrário, null.
- Limite rotativo estimado: se informado por algum bureau, use a mediana; caso contrário, estime como max(0, 0.3*renda_presumida) quando renda_presumida disponível; senão null.
- Flags de fraude: defina possivel_fraude = true se houver documento_suspeito = true OU mais de 1 CPF/CNPJ associado ao mesmo nome com divergência de data de nascimento/abertura > 1 dia entre bureaus.
- Dados divergentes: true se diferença absoluta entre maiores e menores valores de renda > 30% e ambos não nulos.
- qualidade_dados: liste bureaus com sucesso/falha e inclua latência média das chamadas bem-sucedidas.
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 as respostas brutas dos bureaus de crédito.
  • 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é 5.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo os dados normalizados e variáveis-chave para avaliação de crédito.
  • Exemplo de Estrutura de Output:
     {"correlation_id": "uuid", "dados_normalizados": {"scores": [{"bureau": "NOME_BUREAU", "score_original": {"valor": 742, "escala": "300-850"}, "score_normalizado_0_1000": 805}], "inadimplencias": {"qtd": 1, "valor_total": 3500.75, "dias_desde_ultimo_registro": 120}, "consultas_recentes_90d": 4, "limite_rotativo_estimado": 8000, "renda_presumida": 12000, "endividamento_estimado_perc": 35, "flags": {"possivel_fraude": false, "dados_divergentes": false}, "qualidade_dados": {"bureaus_com_sucesso": ["SERASA"], "bureaus_com_falha": ["SPC"]}}} 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 3.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 documentos externos.
  • Calculadora: Utiliza lógica interna para cálculos de normalização de dados.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não se conecta a sistemas externos.

3.3.5 Memória

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

Ao concluir sua execução, esse agente aciona o Agente de Avaliação de Capacidade de Crédito em Tempo Real (RF 4).

RF 4. Agente de Avaliação de Capacidade de Crédito em Tempo Real

4.1 Tarefa do Agente

Calcular um score composto, classificar a capacidade de crédito e gerar decisão e insights acionáveis, com base nos dados normalizados dos bureaus.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com dados normalizados dos bureaus de crédito.

# 2. Objetivo
Calcular um score composto, classificar a capacidade de crédito e gerar decisão e insights acionáveis, com base nos dados normalizados dos bureaus.

# 3. Regras que você deve seguir para gerar sua resposta
- Calcule score_bureau_mediana_0_1000 como mediana dos score_normalizado_0_1000.
- Derive componentes (0–100):
  • C1_bureau = round(score_bureau_mediana_0_1000 / 10) [peso 0.40].
  • C2_inad = 100 se inadimplencias.qtd=0; senão max(0, 100 - (30 + 10*(inadimplencias.qtd-1) + min(40, round(inadimplencias.valor_total/5000)*5))). [peso 0.25]
  • C3_consultas = max(0, 100 - 8*consultas_recentes_90d) [peso 0.10].
  • C4_endivid = se endividamento_est_perc for null então 60, senão max(0, 100 - endividamento_est_perc) [peso 0.15].
  • C5_estabilidade = 80 por padrão; se flags.dados_divergentes=true, use 50; se possivel_fraude=true, use 0 [peso 0.10].
- Score composto (0–100) = soma ponderada dos componentes, arredondado.
- Classificação da capacidade:
  • score >= 80 e inadimplencias.qtd=0 e consultas_recentes_90d <= 4 => "alta".
  • 65 <= score < 80 e inadimplencias.qtd <=1 => "media".
  • 50 <= score < 65 => "baixa".
  • score < 50 OU possivel_fraude=true => "insuficiente".
- Decisão:
  • "alta" => aprovar.
  • "media" => condicionar (ex.: comprovação de renda ou garantia).
  • "baixa" => condicionar se endividamento_est_perc <= 50, senão negar.
  • "insuficiente" ou possivel_fraude=true => negar.
- Limite sugerido (se PF): base = min(0.25*renda_presumida, 0.6*limite_rotativo_estimado) quando ambos disponíveis; se um for null, use o disponível; se ambos null, limite_sugerido = 0. Ajuste por score: limite = round(base * (0.5 + score/200)). Não ultrapasse 2x base inicial.
- Para PJ, se renda_presumida representar faturamento_mensal, use base = 0.1*faturamento_mensal com os mesmos ajustes por score.
- Taxa de risco estimado (%): risco = round( max(1, 15 - 0.12*score), 1 ). Se possivel_fraude=true, risco = 30.
- Insights (liste 3–6 itens pertinentes):
  • Se inadimplencias.qtd=0 => "Sem registros de inadimplência ativa"; caso contrário, detalhe qtd e recência.
  • Se consultas_recentes_90d <=2 => "Baixa intensidade de consultas recentes"; se >6 => "Alta intensidade de consultas recentes".
  • Se endividamento_est_perc <=30 => "Baixo comprometimento de renda"; se >60 => "Elevado comprometimento de renda".
  • Comente o score_bureau_mediana ("Score de bureau acima/abaixo da média").
  • Se dados_divergentes=true => "Divergência relevante entre bureaus".
  • Se possivel_fraude=true => "Sinais de possível fraude – demanda verificação manual".
- Sempre preencha variaveis_chave com os valores usados no cálculo e reporte null quando indisponíveis.
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 contendo os dados normalizados dos bureaus de crédito.
  • 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é 5.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo a classificação de capacidade de crédito, score composto, decisão e insights acionáveis.
  • Exemplo de Estrutura de Output:
     {"correlation_id": "uuid", "capacidade_credito": "alta|media|baixa|insuficiente", "score_composto_0_100": 77, "decisao": "aprovar|condicionar|negar", "limite_sugerido": 5000, "taxa_risco_estimado_perc": 4.8, "insights": ["Bom histórico de crédito", "Baixo número de consultas recentes"], "variaveis_chave": {"score_bureau_mediana_0_1000": 805, "inadimplencias_qtd": 0, "consultas_90d": 2, "endividamento_perc": 28, "renda_presumida": 12000}} 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em 3.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 cálculos de avaliação de crédito.
  • 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 e não é passada para agentes subsequentes.

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

A execução deste agente finaliza o fluxo. A resposta gerada é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.