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 "Análise de Tendências em Dados de Crédito", uma solução de automação projetada para identificar tendências e padrões em grandes volumes de dados de crédito, auxiliando na tomada de decisões estratégicas. 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 o input de dados de crédito em insights estratégicos detalhados que melhorem a tomada de decisões empresariais.
2. Contexto e Problema
Cenário Atual
Empresas enfrentam desafios significativos ao tentar identificar tendências e padrões nos dados de crédito devido ao grande volume de informações disponíveis. Essa dificuldade impede a tomada de decisões baseadas em dados, essenciais para a estratégia empresarial.
Problemas Identificados
- Dificuldade em analisar grandes volumes de dados: O volume massivo de dados de crédito torna a identificação manual de tendências e padrões impraticável e propensa a erros.
- Necessidade de insights estratégicos: As empresas precisam de insights precisos e acionáveis para apoiar a tomada de decisões estratégicas, mas frequentemente carecem de ferramentas analíticas adequadas.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar a precisão na identificação de tendências e padrões nos dados de crédito.
- Fornecer insights estratégicos para apoiar decisões empresariais informadas.
- Aumentar a eficiência na análise de grandes volumes de dados, reduzindo o tempo e o esforço necessários.
4. Visão Geral da Solução
O agente de IA para análise de tendências em dados de crédito aplica algoritmos avançados para processar grandes volumes de informações, identificar padrões e gerar relatórios estratégicos que auxiliam na tomada de decisões empresariais. 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 dados de crédito.
A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a padronização e validação dos dados de crédito e termina com a geração de insights estratégicos e recomendações.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Padronização e Validação de Dados de Crédito (RF 1)
| Padronizar e validar o dataset de crédito, garantindo esquema canônico, datas e valores consistentes. |
Agente de Cálculo de Métricas e Séries Temporais (RF 2)
| Gerar séries temporais e métricas agregadas de crédito e risco para análise de tendências. |
Agente de Detecção de Tendências e Padrões (RF 3)
| Identificar tendências, sazonalidades, anomalias e padrões de risco/retorno. |
Agente de Geração de Insights e Recomendações Estratégicas (RF 4)
| Transformar tendências e padrões em insights executivos e recomendações para decisão estratégica. |
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 Padronização e Validação de Dados de Crédito
1.1 Tarefa do Agente
Padronizar e validar o dataset de crédito, garantindo esquema canônico, datas e valores consistentes, e gerando um relatório de qualidade de dados para o fluxo analítico.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um arquivo de dados de crédito em formato CSV ou JSON. Este arquivo contém informações sobre concessões de crédito, pagamentos e status de crédito.
# 2. Objetivo
Padronizar e validar o dataset de crédito, garantindo esquema canônico, datas e valores consistentes, e gerando um relatório de qualidade de dados para o fluxo analítico.
# 3. Regras que você deve seguir para gerar sua resposta
- Coerça tipos: cliente_id e contrato_id como string; valores monetários (valor_credito, valor_pago) como decimal com 2 casas; score_risco como inteiro 0-1000; datas no formato ISO-8601 (YYYY-MM-DD).
- Normalização de datas: parse de data_concessao obrigatório; se data_vencimento ausente, deixe nulo; data_pagamento nula quando não pago. Rejeite registros com data_concessao inválida ou no futuro além de 7 dias da data de execução (marcar como descartado, motivo: data_invalida).
- Regras de valor: valor_credito deve ser > 0; valor_pago >= 0. Se valor_pago > valor_credito, sinalize como outlier_valor_pago_superior.
- Status de pagamento: mapeie variações (ex.: 'inad', 'default', 'em atraso', 'late') para o conjunto {pago, em_atraso, inadimplente, liquidado_antecipado}. Se data_pagamento preenchida e valor_pago >= valor_credito*0.98 então status_normalizado = pago, exceto se status original indicar inadimplente (sinalizar conflito_status).
- Deduplicação: registros com mesmo contrato_id e mesma data_concessao e valor_credito são duplicatas. Mantenha o mais recente pelo carimbo de atualização se houver; caso contrário, mantenha o primeiro e conte os demais em duplicidades_detectadas.
- Datas consistentes: se data_vencimento < data_concessao, sinalize intervalo_invalido e marque registro como descartado. Se data_pagamento < data_concessao, sinalize e mantenha registro apenas se status for liquidado_antecipado.
- Cálculos auxiliares por registro: dias_ate_vencimento = data_vencimento - data_concessao (dias, se ambos existirem); dias_em_atraso = max(0, data_execucao - data_vencimento) quando não pago; bucket_atraso = {0, 1-30, 31-60, 61-90, >90} conforme dias_em_atraso; ticket = valor_credito.
- Outliers: sinalize valor_credito negativo (descartar), valor_credito acima do percentil 99,9 (outlier_extremo); score_risco fora [0,1000] (normalizar para limite e sinalizar ajuste_score).
- Relatório de qualidade: informe contagens e percentuais por tipo de problema; inclua mapeamento de status original->normalizado. 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 arquivo 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 do arquivo na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um arquivo de dados de crédito contendo informações essenciais para análise.
-
Formatos Suportados: Esse agente deve ser capaz de receber dados de crédito nos formatos:
.csv,.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 100.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo o dataset padronizado e um relatório de qualidade de dados, conforme as regras especificadas.
-
Exemplo de Estrutura de Output:
{ "dataset_padronizado": [ { "cliente_id": "12345", "contrato_id": "67890", "data_concessao_iso": "2025-01-01", "data_vencimento_iso": "2025-12-31", "data_pagamento_iso": null, "valor_credito_decimal": 1000.00, "valor_pago_decimal": 0.00, "status_normalizado": "em_atraso", "produto": "consumo", "canal": "online", "score_risco_normalizado": 750 } ], "data_quality_report": { "registros_totais": 1000, "registros_validos": 950, "registros_descartados": 50, "campos_nulos_por_coluna": { "data_pagamento_iso": 100 }, "duplicidades_detectadas": 5, "outliers_sinalizados": 10, "intervalos_datas_invalidos": 3, "mapeamento_status_usado": { "inad": "inadimplente", "default": "inadimplente", "em atraso": "em_atraso", "late": "em_atraso" } } } - Número de caracteres esperado: O JSON gerado deve ser conciso e informativo, com um tamanho estimado em torno de 5.000 caracteres, podendo variar conforme a complexidade dos dados.
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 Cálculo de Métricas e Séries Temporais (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Cálculo de Métricas e Séries Temporais (RF 2).
RF 2. Agente de Cálculo de Métricas e Séries Temporais
2.1 Tarefa do Agente
Gerar séries temporais e métricas agregadas de crédito e risco em diferentes janelas e segmentos para suportar análise de tendências.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o dataset padronizado e o relatório de qualidade de dados do agente anterior. Além disso, podem ser fornecidos parâmetros opcionais para granularidade e janelas de análise. # 2. Objetivo Gerar séries temporais e métricas agregadas de crédito e risco em diferentes janelas e segmentos para suportar análise de tendências. # 3. Regras que você deve seguir para gerar sua resposta - Defina data_referencia como o primeiro dia do mês (granularidade mensal) ou segunda-feira da semana (semanal). - Concessoes_qtd: número de registros com data_concessao no período; concessoes_valor: soma de valor_credito; ticket_medio = concessoes_valor / concessoes_qtd quando q>0, senão 0. - Taxa_inadimplencia do período: numerador = contratos com data_concessao no período e status_normalizado = inadimplente; denominador = concessoes_qtd do período. Se denominador=0, reporte nulo. - Taxa_atraso_30: proporção de contratos com bucket_atraso >= 1-30 dentre concessões do período na data de corte (data_execucao). - Recuperacao_valor: soma de valor_pago com data_pagamento no período; recuperacao_ratio: valor_pago do período dividido pela soma de valor_credito dos contratos que tiveram pagamento no período (se denominador=0, nulo). - Segmentações: calcule as mesmas métricas por produto, canal, bucket_ticket e score_band. Buckets: ticket<=1000; 100020000. Score_band conforme faixas definidas. - Janelas móveis: para cada janela em janelas_meses, calcule variação_percentual e variação_absoluta de concessoes_valor, taxa_inadimplencia e ticket_medio em relação à média da janela imediatamente anterior de mesmo tamanho quando disponível. - Propague data_quality_report e acrescente coverage_stats: percentuais de registros com produto, canal e score_risco preenchidos por período e 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 bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um objeto JSON contendo o dataset padronizado e o relatório de qualidade de dados gerado pelo agente anterior.
-
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 dados com até 50.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo séries temporais e métricas agregadas de crédito e risco, conforme as regras especificadas.
-
Exemplo de Estrutura de Output:
{ "metrics_bundle": { "series_temporais": [ { "data_referencia": "2025-01-01", "concessoes_qtd": 100, "concessoes_valor": 1000000.00, "ticket_medio": 10000.00, "taxa_inadimplencia": 0.05, "taxa_atraso_30": 0.10, "recuperacao_valor": 500000.00, "recuperacao_ratio": 0.50 } ], "segmentacoes": { "produto": { "consumo": { "concessoes_qtd": 50, "concessoes_valor": 500000.00, "ticket_medio": 10000.00, "taxa_inadimplencia": 0.04, "taxa_atraso_30": 0.08, "recuperacao_valor": 250000.00, "recuperacao_ratio": 0.50 } } } } } - Número de caracteres esperado: O JSON gerado deve ser conciso e informativo, com um tamanho estimado em torno de 8.000 caracteres, podendo variar conforme a complexidade dos dados.
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: 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 Detecção de Tendências e Padrões (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Detecção de Tendências e Padrões (RF 3).
RF 3. Agente de Detecção de Tendências e Padrões
3.1 Tarefa do Agente
Identificar tendências, sazonalidades, anomalias e padrões de risco/retorno nas séries e segmentações calculadas.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o metrics_bundle do agente anterior, que inclui séries temporais, segmentações e janelas móveis. # 2. Objetivo Identificar tendências, sazonalidades, anomalias e padrões de risco/retorno nas séries e segmentações calculadas. # 3. Regras que você deve seguir para gerar sua resposta - Tendência de alta/baixa: sinalize quando houver pelo menos 3 períodos consecutivos com variação no mesmo sentido e variacao_percentual acumulada absoluta >= 10% na janela analisada. Consistencia = períodos no mesmo sentido / total da janela. - Estabilidade: quando a variacao_percentual acumulada absoluta < 5% e desvio relativo do indicador < 3% em 3 períodos consecutivos. - Sazonalidade: identifique padrões recorrentes quando um mês do ano se destaca por pelo menos 2 anos consecutivos com desvio >= 1 desvio-padrão em relação à média dos demais meses. Registre meses afetados e métricas envolvidas. - Anomalias: marque pontos isolados (um período) com desvio >= 2 desvios-padrão da média móvel de 3 períodos ou salto/quebra estrutural com variacao_percentual de período > 20% e reversão parcial no período seguinte. - Magnitude: classifique como alta se variacao_percentual acumulada >= 20% ou variacao_absoluta estiver no top 10% das observações; média entre 10% e 20%; baixa abaixo de 10%. - Confidence_score: calcule como média ponderada de (consistencia, tamanho da amostra do segmento normalizado, magnitude normalizada), com pesos 0.4, 0.3 e 0.3, arredondado a 2 casas. - Padrões de risco por segmento: sinalize quando taxa_inadimplencia de um segmento exceder a média geral do mesmo período em >= 30% relativo por pelo menos 3 períodos consecutivos. Inclua segmentos produto, canal, bucket_ticket e score_band. - Trade-off risco/retorno: destaque segmentos com ticket_medio crescente e taxa_inadimplencia estável ou decrescente (direções opostas ou delta inadimplencia dentro de +/-2pp) na mesma janela. - Qualidade de evidências: não gere tendência se coverage_stats do atributo do segmento < 60% em mais da metade dos períodos. Marque confidence_score <= 0.5 quando coverage médio entre 60%-75%.
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 objeto JSON contendo as séries temporais e métricas agregadas geradas pelo agente anterior.
-
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 dados com até 30.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON contendo listas de tendências, sazonalidades, anomalias e padrões de segmentação, conforme as regras especificadas.
-
Exemplo de Estrutura de Output:
{ "trends_insights": { "tendencias": [ { "metric_id": "taxa_inadimplencia", "direcao": "alta", "periodo_inicio": "2025-01-01", "periodo_fim": "2025-03-31", "variacao_percentual": 0.10, "variacao_absoluta": 0.02, "consistencia": 0.80, "magnitude": "media", "justificativa_textual": "Aumento consistente na taxa de inadimplência devido a...", "evidencias": ["2025-01-01", "2025-02-01", "2025-03-01"], "confidence_score": 0.85 } ] } } - Número de caracteres esperado: O JSON gerado deve ser conciso e informativo, com um tamanho estimado em torno de 10.000 caracteres, podendo variar conforme a complexidade dos dados.
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: Não utiliza.
- 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 Geração de Insights e Recomendações Estratégicas (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração de Insights e Recomendações Estratégicas (RF 4).
RF 4. Agente de Geração de Insights e Recomendações Estratégicas
4.1 Tarefa do Agente
Transformar tendências e padrões em insights executivos e recomendações priorizadas para decisão estratégica.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o trends_insights do agente anterior, além do metrics_bundle para consulta de valores-base e do data_quality_report.
# 2. Objetivo
Transformar tendências e padrões em insights executivos e recomendações priorizadas para decisão estratégica.
# 3. Regras que você deve seguir para gerar sua resposta
- Mapeie cada tendência relevante (confidence_score >= 0.6 e magnitude != 'baixa') a pelo menos uma recomendação prática com descrição iniciando por verbo no imperativo (ex.: 'Ajustar políticas de...').
- Prioridade_score: calcule como 0.6*impacto + 0.4*facilidade, onde impacto = 100 para 'alto', 60 para 'medio', 30 para 'baixo'; facilidade = 100 ('alta'), 60 ('media'), 30 ('baixa'). Arredonde para inteiro.
- Impacto_estimado_categoria: classifique 'alto' quando a tendência afetar concessoes_valor ou taxa_inadimplencia com variacao_percentual acumulada >= 15% ou quando o segmento afetado representar >= 20% do volume; 'medio' entre 7% e 15%; 'baixo' abaixo de 7%.
- Indique indicadores_de_monitoramento específicos por recomendação (ex.: taxa_inadimplencia do segmento alvo, ticket_medio, volume_concessoes) e defina periodicidade padrão mensal.
- Inclua premissas explícitas e riscos (ex.: viés de cobertura < 75%, possíveis efeitos de mix de produto, sazonalidade).
- Se houver anomalias sem confirmação por tendência, classifique como 'observar' e não gere ação de alto impacto; sugira monitoramento por 2-3 períodos.
- Quando trade-off favorável (cresce ticket_medio com estabilidade ou queda de inadimplencia), recomende expansão controlada no segmento com limites: crescimento sugerido de 5%-15% no volume até nova avaliação.
- No sumário executivo, apresente no máximo 3 mensagens-chave por métrica e cite explicitamente segmentos com maior prioridade_score. 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 múltiplos artefatos como input, incluindo tendências, séries temporais e métricas agregadas.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos:
.json. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de dados com até 20.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um relatório em Markdown, além de um objeto JSON contendo recomendações priorizadas, conforme as regras especificadas.
-
Exemplo de Estrutura de Output:
{ "recommendations_pack": { "recomendacoes": [ { "id": "rec_001", "descricao": "Ajustar políticas de crédito para reduzir inadimplência.", "metrica_impactada": "taxa_inadimplencia", "direcao_esperada": "baixa", "segmento_alvo": "consumo", "janela_execucao_sugerida": "2025-04-01 a 2025-06-30", "impacto_estimado_categoria": "alto", "facilidade_execucao": "media", "prioridade_score": 80, "premissas": "Baseado em dados históricos de inadimplência.", "riscos": "Viés de cobertura pode afetar precisão.", "indicadores_de_monitoramento": "taxa_inadimplencia, volume_concessoes", "proxima_acao_clara": "Revisar critérios de concessão de crédito." } ] } } - Número de caracteres esperado: O relatório e o JSON gerado devem ser concisos e informativos, com um tamanho estimado em torno de 15.000 caracteres, podendo variar conforme a complexidade dos dados.
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: Não utiliza.
- 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 entregável final 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 relatório e as recomendações geradas devem ser disponibilizados ao usuário.