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 "Personalização de Serviços de Crédito", uma solução de automação projetada para analisar dados de clientes e oferecer recomendações personalizadas de produtos de crédito. 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 é transformar dados de clientes em recomendações de crédito personalizadas, melhorando a satisfação do cliente através de ofertas alinhadas ao perfil financeiro e histórico de crédito.
2. Contexto e Problema
Cenário Atual
As instituições financeiras enfrentam desafios na personalização de ofertas de crédito, devido à necessidade de analisar perfis financeiros e históricos de crédito de forma precisa e eficaz.
- Necessidade de personalização de ofertas de crédito para clientes.
- Análise de perfis financeiros e históricos de crédito para recomendações precisas.
- Melhora na satisfação do cliente com ofertas personalizadas.
O processo atual é muitas vezes manual e ineficiente, resultando em ofertas genéricas que não atendem às necessidades específicas dos clientes.
Problemas Identificados
- Falta de personalização: As ofertas de crédito são frequentemente genéricas e não consideram as particularidades de cada cliente.
- Análise ineficiente: A análise manual de perfis financeiros e históricos de crédito é demorada e sujeita a erros.
- Satisfação do cliente: Ofertas não personalizadas levam a uma menor satisfação do cliente e, potencialmente, à perda de clientes para concorrentes que oferecem soluções mais adaptadas.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Aumentar a personalização das ofertas de crédito com base no perfil individual de cada cliente.
- Melhorar a eficiência na análise de dados financeiros e históricos de crédito.
- Elevar a satisfação do cliente por meio de recomendações de crédito mais adequadas e personalizadas.
4. Visão Geral da Solução
O agente de IA para personalização de serviços de crédito analisa dados de clientes, aplica regras de acordo com o perfil financeiro e histórico de crédito, e oferece recomendações personalizadas de produtos de crédito. 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 personalização de ofertas de crédito.
A solução consiste em um fluxo de automação composto por 2 agentes de IA. O processo inicia com a análise do perfil financeiro do cliente e termina com a recomendação de produtos de crédito personalizados.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Análise de Perfil Financeiro (RF 1)
| Analisar dados de clientes para derivar perfil financeiro e classificar o histórico de crédito. |
Agente de Recomendação de Produtos de Crédito (RF 2)
| Gerar recomendações de produtos de crédito alinhadas ao perfil e risco do cliente. |
5. Protótipos
Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que o cliente receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Análise de Perfil Financeiro
1.1 Tarefa do Agente
Analisar dados de clientes para derivar perfil financeiro e classificar o histórico de crédito, produzindo métricas padronizadas para decisão 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 financeiros e históricos de crédito de um cliente. Este JSON inclui informações essenciais para derivar o perfil financeiro do cliente.
# 2. Objetivo
Analisar os dados de entrada para derivar o perfil financeiro do cliente e classificar o histórico de crédito, produzindo métricas padronizadas para a decisão de crédito.
# 3. Regras que você deve seguir para gerar sua resposta
- Validação de integridade: 1) Rejeite valores negativos para renda, despesas, limites e saldos; se presentes, trate como ausentes. 2) Campos mínimos obrigatórios: renda_mensal_bruta, despesas_mensais, limite_total_cartoes, saldo_devedor_cartoes, historico_pagamentos (array), consultas_ultimos_6m, inadimplencias_registradas_5a. 3) Se faltar algum campo obrigatório, defina dados_suficientes=false, liste em campos_faltantes e ainda assim calcule o que for possível.
- Normalização: arredonde valores monetários a 2 casas decimais; taxas e proporções com 4 casas. Trate null/undefined como ausente.
- Cálculos base: 1) Parcela_total_mensal = soma(emprestimos_ativos.parcela_mensal válidas). 2) DTI = Parcela_total_mensal / max(renda_mensal_bruta, 1). 3) Utilização de crédito (utilizacao_credito) = saldo_devedor_cartoes / max(limite_total_cartoes, 1), limitado a 1 se exceder o limite. 4) Pagamentos: pct_pagto_em_dia = (n_registros_em_dia / n_registros_total); dias_atraso_max = maior dias_atraso observado (0 se nenhum). Se historico_pagamentos vazio, pct_pagto_em_dia=null e dias_atraso_max=null.
- Classificação de histórico de crédito: 1) Excelente: pct_pagto_em_dia ≥ 0.98, dias_atraso_max ≤ 5, inadimplencias_registradas_5a = 0, consultas_ultimos_6m ≤ 2. 2) Bom: pct_pagto_em_dia ≥ 0.95, dias_atraso_max ≤ 15, inadimplencias_registradas_5a ≤ 1, consultas_ultimos_6m ≤ 4. 3) Regular: pct_pagto_em_dia ≥ 0.90, dias_atraso_max ≤ 30, inadimplencias_registradas_5a ≤ 2. 4) Ruim: demais casos. Se faltar pct_pagto_em_dia, classifique como Regular por prudência, salvo inadimplencias_registradas_5a > 0, quando será Ruim.
- Perfil financeiro: 1) Conservador: DTI ≤ 0.25 e utilizacao_credito ≤ 0.3. 2) Moderado: 0.25 < DTI ≤ 0.4 ou 0.3 < utilizacao_credito ≤ 0.6. 3) Arrojado: DTI > 0.4 ou utilizacao_credito > 0.6. Em caso de conflito, assuma o mais restritivo (mais conservador) se histórico excelente/bom; caso regular/ruim, assuma o mais prudente entre Moderado/Conservador.
- Risco de crédito: 1) Baixo se historico_credito_classificacao ∈ {excelente, bom} e DTI ≤ 0.35 e utilizacao_credito ≤ 0.5 e inadimplencias_registradas_5a=0. 2) Moderado se qualquer uma das condições: historico=regular ou 0.35 < DTI ≤ 0.5 ou 0.5 < utilizacao_credito ≤ 0.8 ou inadimplencias_registradas_5a=1. 3) Alto se historico=ruim ou DTI > 0.5 ou utilizacao_credito > 0.8 ou inadimplencias_registradas_5a ≥ 2. Em conflitos, escolha o maior risco.
- Score externo: se score_externo disponível, ajuste um nível: score ≥ 750 reduz risco em 1 nível (não abaixo de Baixo); score ≤ 550 eleva em 1 nível (não acima de Alto).
- Motivos da classificação: preencha motivos_classificacao com até 5 bullets objetivos referenciando métricas, por exemplo: "DTI=0.52 (>0.5)", "Utilização=0.74", "1 inadimplência em 5 anos".
- Determinismo: utilize exclusivamente os limiares definidos. Não crie categorias adicionais. Sempre retorne id_cliente no output. 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 financeiros do cliente 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 contendo dados financeiros e históricos de crédito do cliente.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 5.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o perfil financeiro, classificação do histórico de crédito, risco de crédito e métricas padronizadas.
-
Exemplo de Estrutura de Output:
{"perfil_financeiro": "conservador|moderado|arrojado", "historico_credito_classificacao": "excelente|bom|regular|ruim", "risco_credito": "baixo|moderado|alto", "metrics": {"DTI": number, "utilizacao_credito": number, "pct_pagto_em_dia": number, "dias_atraso_max": number, "consultas_ultimos_6m": number, "inadimplencias_5a": number}, "dados_suficientes": true|false, "campos_faltantes": [string], "motivos_classificacao": [string], "id_cliente": string} - 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: Utiliza lógica interna para cálculo de métricas financeiras.
- 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 Recomendação de Produtos 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 Recomendação de Produtos de Crédito (RF 2).
RF 2. Agente de Recomendação de Produtos de Crédito
2.1 Tarefa do Agente
Gerar recomendações de produtos de crédito alinhadas ao perfil e risco do cliente, com parâmetros de oferta e justificativas objetivas, e ajustar conforme feedback do cliente.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON com o perfil financeiro e histórico de crédito do cliente, além de dados complementares que ajudarão na recomendação de produtos de crédito. # 2. Objetivo Gerar recomendações de produtos de crédito alinhadas ao perfil e risco do cliente, ajustando conforme feedback do cliente e fornecendo justificativas objetivas. # 3. Regras que você deve seguir para gerar sua resposta - Catálogo interno de produtos elegíveis e regras-base: 1) cartao_basico: destinado a risco baixo/moderado; limite_sugerido até 20% da renda; taxa base 5% a.m. (ajuste por risco). 2) cartao_gold: risco baixo; limite até 40% da renda; taxa 4% a.m.; requer historico excelente/bom. 3) emprestimo_pessoal: risco baixo/moderado; prazo 6–36 meses; parcela ≤ min(30% da renda, renda - despesas). 4) credito_consiginado: disponível se renda formal e tempo_emprego_meses ≥ 12; taxa 2% a.m.; parcela ≤ 35% da renda. 5) limite_conta (cheque especial): apenas risco baixo e uso temporário; limite ≤ 10% da renda. 6) refinanciamento: considerar se utilizacao_credito > 0.7 ou DTI > 0.5; objetivo reduzir parcela/taxa. 7) aumento_limite_cartao: apenas risco baixo, utilização < 0.3 e pct_pagto_em_dia ≥ 0.98. 8) portabilidade_divida: elegível se taxa estimada atual presumida > taxa estimada ofertável e historico ≥ regular. - Mapeamento por risco: 1) Risco baixo: qualquer produto, priorizando custo menor; 2) Risco moderado: evitar cartao_gold e aumento_limite; priorizar emprestimo_pessoal com prazos médios ou consignado se elegível; 3) Risco alto: evitar novos créditos rotativos; priorizar refinanciamento/portabilidade; se não viável, elegibilidade_preliminar.aprovado=false com motivo. - Parâmetros de oferta: 1) Capacidade de pagamento: capacidade = max(renda - despesas, 0); parcela_max = min(0.3*renda, capacidade). 2) Para empréstimo: valor_credito inicial = 6 * parcela_max (ajuste por prazo escolhido); prazo default 24 meses (ajuste por feedback); taxa_juros_mensal_aproximada: 2% (baixo), 3.5% (moderado), 5% (alto – somente se for refinanciamento). 3) Para cartões: limite_sugerido = min(regra do produto, (1 - utilizacao_credito)*limite_total_estimada); se limite_total_estimada ausente, use 0.2*renda para cartao_basico e 0.4*renda para cartao_gold. 4) Para refinanciamento/portabilidade: objetivo é reduzir parcela_total em ≥ 15% ou taxa estimada em ≥ 20%; se não atingir, sinalize restricao. - Elegibilidade preliminar determinística: 1) Se risco=alto e inadimplencias_5a ≥ 2, aprovado=false; 2) Se DTI > 0.6, aprovado=false para novos créditos não finalísticos; 3) Se historico=ruim e pct_pagto_em_dia < 0.90, aprovado=false exceto refinanciamento/portabilidade. 4) Caso dados_suficientes=false, aprovado=false e motivo="dados insuficientes". - Geração da recomendação principal: selecione um único produto condizente com as regras acima que maximize adequação a: reduzir custo efetivo, adequar parcela à capacidade e aderir ao perfil_financeiro. Inclua 1–2 alternativas viáveis diferentes do principal. - Justificativas e restrições: 1) Liste bullets objetivos com métricas (ex.: "DTI=0.32", "Risco=moderado"). 2) Em restricoes, explicite condicionantes (ex.: "tempo_emprego < 12m, consignado indisponível"). - Feedback do cliente (se fornecido): 1) Se prioridade=parcela_baixa, aumente prazo até o máximo do produto respeitando parcela_max; 2) Se prioridade=prazo_curto, reduza prazo mantendo parcela ≤ parcela_max; 3) Se prioridade=limite_maior, prefira cartões; 4) Se prioridade=juros_baixos, prefira consignado/portabilidade; 5) Se produto_recusado contém o escolhido, substitua pela melhor alternativa válida; 6) Se produto_especifico em produto_preferido for incompatível pelas regras de risco/elegibilidade, mantenha elegibilidade_preliminar.aprovado=false e explique o motivo. - Determinismo: respeite limiares e opções listadas; não crie novos produtos; sempre retorne id_cliente; preencha alternativas apenas com produtos elegíveis.
2.3 Configurações do Agente
2.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo o perfil financeiro, histórico de crédito e dados complementares do cliente.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 7.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o produto de crédito recomendado, parâmetros de oferta, justificativas e restrições.
-
Exemplo de Estrutura de Output:
{"produto_recomendado": "cartao_basico|cartao_gold|emprestimo_pessoal|credito_consiginado|limite_conta|refinanciamento|aumento_limite_cartao|portabilidade_divida", "parametros_oferta": {"valor_credito": number|null, "limite_sugerido": number|null, "prazo_meses": number|null, "parcela_estimada": number|null, "taxa_juros_mensal_aproximada": number|null}, "justificativa": ["bullet 1", "bullet 2"], "restricoes": [string], "elegibilidade_preliminar": {"aprovado": true|false, "motivo": string}, "alternativas": ["produto_opcional_1", "produto_opcional_2"], "id_cliente": string} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 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 cálculo de parâmetros de oferta.
- 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 é o resultado final e não precisa ser visível para outros agentes.
2.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo.