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 Agente de IA para Previsão de Demanda 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 é prever a demanda futura por crédito em diferentes segmentos de mercado com base em dados econômicos e comportamentais, fornecendo insights que ajudem a ajustar estratégias de oferta de crédito.
2. Contexto e Problema
Cenário Atual
As instituições financeiras enfrentam desafios significativos ao tentar prever a demanda por crédito nos diferentes segmentos de mercado. A precisão dessa previsão é crítica para ajustar as estratégias de oferta de crédito e minimizar riscos.
- Dificuldade em prever a demanda futura por crédito em diferentes segmentos de mercado.
- Necessidade de considerar dados econômicos e comportamentais para previsões mais precisas.
Problemas Identificados
- Falta de precisão: As previsões atuais muitas vezes não levam em conta variáveis comportamentais e econômicas de maneira integrada.
- Risco elevado: Sem previsões precisas, as estratégias de crédito ficam sujeitas a riscos elevados de inadimplência.
- Oportunidades perdidas: A incapacidade de prever picos de demanda pode resultar em oportunidades de mercado não aproveitadas.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Melhoria na precisão das previsões de demanda por crédito.
- Redução do risco associado a estratégias de oferta de crédito.
- Aumento da eficiência nas operações de crédito, otimizando a alocação de recursos.
- Maior capacidade de identificar oportunidades de mercado emergentes.
4. Visão Geral da Solução
O agente de IA para previsão de demanda de crédito analisa dados econômicos e comportamentais para prever a demanda futura por crédito em diferentes segmentos de mercado. 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 demanda de crédito, fornecendo insights valiosos para ajustes estratégicos.
A solução consiste em um fluxo de automação composto por 3 agentes de IA. O processo inicia com a preparação e qualidade dos dados e termina com a geração de insights e estratégias de oferta de crédito.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Preparação e Qualidade de Dados de Demanda de Crédito (RF 1)
| Receber e preparar dados econômicos e comportamentais para previsão por segmento. |
Agente de Previsão de Demanda de Crédito por Segmento (RF 2)
| Gerar projeções de demanda por segmento e fornecer rótulos de tendência e risco. |
Agente de Insights e Estratégias de Oferta de Crédito (RF 3)
| Transformar previsões em insights acionáveis por segmento. |
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 Preparação e Qualidade de Dados de Demanda de Crédito
1.1 Tarefa do Agente
Receber dados econômicos e comportamentais, padronizar periodicidade, tratar ausências e anomalias, e produzir um dataset preparado e documentado para previsão por segmento.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON com dados econômicos e comportamentais. Este documento contém séries econômicas, métricas comportamentais, demanda histórica e informações sobre os segmentos de mercado. # 2. Objetivo Receber e preparar dados econômicos e comportamentais para previsão por segmento, tratando ausências e anomalias. # 3. Regras que você deve seguir para gerar sua resposta - Frequência e alinhamento temporal: Se frequencia_destino não for informada, definir 'mensal'. Converter todas as séries para 'mensal' por média mensal quando origem for intramês; se origem for trimestral, replicar o valor trimestral igualmente aos 3 meses do trimestre. Cortar o período final para o menor fim comum entre todas as séries após conversão. - Validação mínima: Exigir pelo menos 18 pontos mensais de demanda_historica por segmento; se <18, marcar segmento em qualidade_dados.cobertura_percentual e ainda assim incluir no output com flag coverage_baixa=true em features. - Tratamento de lacunas: Para janelas ausentes consecutivas de até 2 meses, preencher por interpolação linear; para >2 meses, manter nulos e registrar em qualidade_dados.lacunas_longas. - Outliers: Calcular desvio-padrão móvel 12M para cada variável; se |valor - média12M| > 3*dp12M, aplicar cap no limite média12M ± 3*dp12M e registrar em qualidade_dados.outliers com criterio='cap_3dp'. - Normalização de escala: Para cada série econômica, criar versão padronizada zscore_12m = (x - média12M)/dp12M. Manter valor original em paralelo. - Features temporais obrigatórias por segmento e período: demanda_lag_1, demanda_lag_3, demanda_lag_12; crescimento_mom = (demanda/demanda_lag_1 - 1); crescimento_yoy = (demanda/demanda_lag_12 - 1) quando disponível; media_rol_3 e media_rol_12 da demanda. - Sazonalidade: fator_sazonal = demanda / media_rol_12; quando demanda_lag_12 existir, sazonalidade_mes = demanda/demanda_lag_12. - Choques: criar indicador choque_macro=1 se qualquer série econômica zscore_12m tiver |z|>=2 no mês; caso contrário 0. - Definição de elasticidades preliminares: Calcular correlação de Pearson entre demanda e cada série econômica zscore_12m por segmento, usando no mínimo 12 pares válidos. Mapear elasticidade_sinalizada: se corr >= 0.3, elasticidade='positiva'; se corr <= -0.3, elasticidade='negativa'; caso contrário 'neutra'. Registrar em dicionario_features. - Integridade de chaves: Garantir unicidade por (segmento_id, periodo). Remover registros duplicados mantendo o último do input. - Saída consistente: Incluir para cada linha features.cobertura_ok=true se cobertura_percentual>=80% no período observado para as variáveis utilizadas; caso contrário false.
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 econômicos e comportamentais 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 que contém séries econômicas, métricas comportamentais, demanda histórica e informações sobre os segmentos de mercado.
-
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é 150.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo o dataset preparado e documentado para previsão por segmento.
-
Exemplo de Estrutura de Output:
{ "dataset_preparado": [ { "segmento_id": "1", "periodo": "2025-01", "demanda": 1000, "features": { "demanda_lag_1": 950, "demanda_lag_3": 900 } } ], "dicionario_features": [ { "chave": "demanda_lag_1", "descricao": "Demanda do mês anterior", "origem": "comportamental", "transformacao": "lag" } ], "qualidade_dados": { "segmento_id": "1", "cobertura_percentual": 90, "lacunas_longas": [] }, "periodicidade": "mensal", "periodo_cobertura": { "inicio": "2024-01", "fim": "2025-12" } } - Número de caracteres esperado: O JSON final terá um tamanho aproximado de 10.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álculos estatísticos e de normalização.
- 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 Previsão de Demanda de Crédito por Segmento (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Previsão de Demanda de Crédito por Segmento (RF 2).
RF 2. Agente de Previsão de Demanda de Crédito por Segmento
2.1 Tarefa do Agente
Gerar projeções de demanda por segmento para horizonte definido, com cenários pontual, baixo e alto e rótulos de tendência e risco.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON com o dataset preparado, dicionario_features, qualidade_dados, periodicidade e parâmetros. # 2. Objetivo Gerar projeções de demanda por segmento para horizonte definido, com cenários pontual, baixo e alto e rótulos de tendência e risco. # 3. Regras que você deve seguir para gerar sua resposta - Horizonte: Se horizonte_meses não informado, usar 3. Gerar períodos futuros sequenciais a partir do último mês observado do dataset_preparado. - Baseline: Para cada segmento, baseline = média dos últimos 12 meses de demanda disponíveis; se <12, usar média disponível e marcar diagnosticos.cobertura_ok=false. - Tendência: Calcular cagr_6m = (demanda_t / demanda_t-6)^(1/6) - 1 quando possível; se indisponível, usar média dos últimos 3 crescimentos_mom. trend_mensal = cagr_6m. - Sazonalidade: fator_sazonal_mensal para o mês futuro = mediana dos fatores_sazonal para o mesmo mês do calendário nos últimos 3 anos; se indisponível, usar 1.0. - Sensibilidade macro: Selecionar até 3 variáveis econômicas com maior |corr| (>=0.3). Para cada selecionada, definir ajuste_macro_m = soma_i (peso_i * zscore_12m_atual_i), onde peso_i = 0.05 se 0.3<=|corr|<0.5; 0.10 se 0.5<=|corr|<0.7; 0.15 se |corr|>=0.7. Se elasticidade='negativa', inverter o sinal do zscore. Aplicar ajuste multiplicativo: (1 + ajuste_macro_m) limitado ao intervalo [0.8, 1.2] por mês. - Projeção mensal: demanda_prevista_m = baseline * (1 + trend_mensal)^(k) * fator_sazonal_mensal * (1 + ajuste_macro_m), onde k é o número de meses à frente (1,2,...). Se cobertura_ok=false, reduzir a projeção em 5% para prudência. - Intervalos: Calcular volatilidade_12m = desvio-padrão dos últimos 12 meses / média12m. Definir amplitude percentual = max(10%, 1.5*volatilidade_12m). demanda_baixa = demanda_pontual * (1 - amplitude); demanda_alta = demanda_pontual * (1 + amplitude). - Classificação de tendência: Se trend_mensal >= 1% -> 'alta'; <= -1% -> 'queda'; caso contrário 'estavel'. - Risco da previsão: 'alto' se cobertura_ok=false ou volatilidade_12m>=25% ou houver lacunas_longas ativas no último ano; 'medio' se 15%<=volatilidade_12m<25%; 'baixo' se <15% e cobertura_ok=true. - Consistência: Garantir valores não negativos; se demanda_pontual<0 após ajustes, fixar em 0 e recalcular baixa/alta proporcionalmente. - Diagnóstico: Listar variáveis macro usadas com corr e elasticidade. Incluir volatilidade_12m por segmento.
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 o dataset preparado, dicionario_features, qualidade_dados, periodicidade e parâmetros.
-
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é 20.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo as previsões de demanda por segmento, cenários de demanda, e rótulos de tendência e risco.
-
Exemplo de Estrutura de Output:
{ "previsoes": [ { "segmento_id": "1", "horizonte": [ { "periodo": "2025-02", "demanda_pontual": 1050, "demanda_baixa": 950, "demanda_alta": 1150, "tendencia": "alta", "risco_previsao": "baixo" } ] } ], "criterios": { "metodo_baseline": "media12m", "definicao_trend": "cagr_6m", "sazonalidade": "fator_mensal", "amplitude_intervalo": "vol_12m" }, "diagnosticos": [ { "segmento_id": "1", "cobertura_ok": true, "volatilidade_12m": 0.15, "corr_macro_relevantes": [ { "variavel": "PIB", "corr": 0.5, "elasticidade": "positiva" } ] } ] } - Número de caracteres esperado: O JSON final terá um tamanho aproximado de 5.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.
- Calculadora: Utiliza lógica interna para cálculos de projeção e análise de tendência.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 Insights e Estratégias de Oferta de Crédito (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Insights e Estratégias de Oferta de Crédito (RF 3).
RF 3. Agente de Insights e Estratégias de Oferta de Crédito
3.1 Tarefa do Agente
Transformar previsões em insights acionáveis por segmento, com recomendações de oferta, risco, marketing e capacidade operacional.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON com previsões de demanda, critérios e diagnósticos, além de metadados de segmentos. # 2. Objetivo Transformar previsões em insights acionáveis por segmento, com recomendações de oferta, risco, marketing e capacidade operacional. # 3. Regras que você deve seguir para gerar sua resposta - Interpretação da tendência: Mapear tendencia e risco_previsao para intensidade de ação: se tendencia='alta' e risco='baixo', ação 'agressiva'; se tendencia='alta' e risco='medio', 'moderada'; se 'estavel', 'pontual'; se 'queda' e risco!='alto', 'defensiva'; se 'queda' e risco='alto', 'conservadora'. - Recomendações de oferta: Ajustar limites e precificação por segmento: ação 'agressiva' => limite:+10% e precificacao_bps:-50; 'moderada' => limite:+5% e bps:-25; 'pontual' => limite:+0-2% e bps:0; 'defensiva' => limite:-5% e bps:+25; 'conservadora' => limite:-10% e bps:+50. Garantir limites não negativos. - Produtos prioritários: Se elasticidades indicarem variável de renda positiva e desemprego negativa com |corr|>=0.5, priorizar crédito rotativo e cartões; se inflação com correlação negativa forte (<=-0.5), priorizar crédito consignado; caso neutro, manter mix atual. - Política de risco: Definir limiares de aprovação: ação 'agressiva' => reduzir cut-off de score em 20 pontos; 'moderada' => reduzir em 10; 'pontual' => manter; 'defensiva' => aumentar em 10; 'conservadora' => aumentar em 20. Se risco_previsao='alto', aplicar +10 pontos adicionais ao cut-off proposto. - Marketing: orcamento_relativo ao mês corrente vs média 3 meses: 'agressiva' +20%; 'moderada' +10%; 'pontual' 0%; 'defensiva' -10%; 'conservadora' -20%. Canal_prioritario: se segmento desce em demanda mas tem alta elasticidade a renda (positiva), priorizar canais digitais com crédito pré-aprovado; se tendência alta, priorizar canais de aquisição pagos; se risco alto, priorizar canais próprios. - Operacional: capacidade: se crescimento previsto acumulado no horizonte >5%, recomendar +10% de capacidade (backoffice/underwriting); se queda <-5%, -10%; caso contrário manter. Prioridade_processos: se risco alto, priorizar verificação de renda e antifraude. - Impacto esperado: demanda_var_percentual = média dos (demanda_pontual futuras / demanda média 3m recentes - 1). Direção de risco: 'aumenta' se ações reduzem bps ou cut-off; 'reduz' se aumentam bps ou cut-off. - Monitoramento: Definir KPIs mínimos por segmento: taxa_aceite (meta: dentro ±3pp do histórico ajustado), inadimplencia_90d (meta: <= histórico+1pp), resposta_campanha (meta: >= histórico+2pp). Gatilhos: se inadimplencia_90d > meta por 2 meses, acao='apertar cut-off em +10 pontos'; se taxa_aceite < meta por 2 meses, acao='rever precificacao (+10 bps)'; se demanda realizada divergir >15% da prevista por 2 meses, acao='recalibrar limites em ±5%'. - Consistência textual: Produzir resumo_tendencia em até 2 frases objetivas por segmento, evitando jargões técnicos.
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 JSON contendo previsões de demanda, critérios, diagnósticos e metadados de segmentos.
-
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é 25.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo insights acionáveis, recomendações e impacto esperado por segmento.
-
Exemplo de Estrutura de Output:
{ "insights": [ { "segmento_id": "1", "resumo_tendencia": "A demanda está em alta com baixo risco.", "recomendacoes": { "oferta": { "limite": 1100, "precificacao_bps": -50, "produtos_prioritarios": "cartões" }, "risco": { "politica": "reduzir cut-off", "limiares": "moderados" }, "marketing": { "orcamento_relativo": 120, "canal_prioritario": "digitais", "mensagem": "Crédito pré-aprovado disponível!" }, "operacional": { "capacidade": 110, "prioridade_processos": "verificação de renda" } }, "impacto_esperado": { "demanda_var_percentual": 5, "risco_var_direcao": "reduz" }, "monitoramento": { "kpis": [ { "nome": "taxa_aceite", "meta": "90%" }, { "nome": "inadimplencia_90d", "meta": "<=5%" } ], "gatilhos": [ { "condicao": "inadimplencia_90d > 5%", "acao": "apertar cut-off em +10 pontos" } ] } } ], "notas_gerais": { "premissas": "Tendência de alta", "restricoes": "Limites operacionais" } } - Número de caracteres esperado: O JSON final terá um tamanho aproximado de 8.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 análises de impacto e recomendações.
- 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 é o entregável final e não é passada para outros agentes internos.
3.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. Os insights gerados são o resultado que deve ser disponibilizado ao usuário.