1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, busca online, consulta a documentos e demais requisitos funcionais para o Fluxo de Agentes "Estratégias de Previdência Personalizada", uma solução projetada para analisar dados de clientes e sugerir estratégias de previdência personalizadas com base em metas 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 é transformar dados de clientes em planos de previdência eficazes e personalizados, ajustando continuamente as estratégias conforme as condições financeiras e de mercado mudam.
2. Contexto e Problema
Cenário Atual
A necessidade de estratégias de previdência personalizadas tem crescido à medida que clientes buscam alinhar seus planos de aposentadoria com suas metas financeiras pessoais. No entanto, muitos enfrentam dificuldades devido à falta de integração e análise eficaz de seus dados pessoais e financeiros.
- Necessidade de estratégias de previdência que sejam personalizadas de acordo com as metas financeiras individuais dos clientes.
- Integração e análise de dados pessoais e financeiros dos clientes para criar planos de previdência eficazes.
- Necessidade de atualização e ajuste contínuo das estratégias conforme as condições financeiras e de mercado mudam.
Problemas Identificados
- Falta de personalização: Estratégias de previdência muitas vezes não consideram as metas individuais e o contexto financeiro único de cada cliente.
- Integração de dados ineficaz: Dificuldades na coleta e análise de dados financeiros e pessoais dos clientes.
- Atualização insuficiente: Falta de ajustes contínuos nas estratégias de previdência em resposta a mudanças no mercado e nas condições financeiras dos clientes.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar a personalização das estratégias de previdência alinhando-as às metas financeiras individuais dos clientes.
- Aumentar a eficiência na integração e análise de dados financeiros e pessoais dos clientes.
- Garantir a atualização contínua das estratégias de previdência com base em mudanças nas condições financeiras e de mercado.
4. Visão Geral da Solução
O agente de IA para estratégias de previdência personalizada analisa dados de clientes, aplica regras de acordo com as metas financeiras e condições de mercado, e prepara estratégias de previdência personalizadas e ajustáveis. 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 elaboração de estratégias de previdência que seguem as especificidades do cliente.
A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a coleta e análise de dados do cliente e termina com a criação de uma estratégia de previdência personalizada.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Coleta e Análise de Dados de Clientes (RF 1)
| Consolidar, validar e perfilar dados pessoais e financeiros do cliente. |
Agente de Preparação de Parâmetros de Mercado (RF 2)
| Gerar parâmetros de consulta de mercado necessários para precificação de estratégias de previdência. |
Agente de Busca Online (RF 3)
| Realizar busca online para obter séries e indicadores de mercado. |
Agente de Síntese e Normalização de Dados de Mercado (RF 4)
| Limpar, validar e sintetizar os dados de mercado. |
Agente de Criação de Estratégias de Previdência (RF 5)
| Construir estratégia de previdência alinhada às metas e ao perfil 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 Coleta e Análise de Dados de Clientes
1.1 Tarefa do Agente
Consolidar, validar e perfilar dados pessoais e financeiros do cliente, transformando insumos heterogêneos em um perfil financeiro estruturado e utilizável.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com dados do cliente. Estrutura mínima: {"identificacao": {"id_cliente": "string"}, "dados_pessoais": {"idade": number, "estado_civil": "string", "dependentes": number}, "renda": {"mensal_bruta": number, "mensal_liquida": number, "variavel": boolean}, "despesas": {"mensal": number}, "patrimonio": {"liquidez_imediata": number, "investimentos": [{"classe": "RF|MM|ACOES|EXTERIOR|INFLACAO|OUTROS", "valor": number}]}, "metas": [{"nome": "Aposentadoria", "horizonte_anos": number, "idade_alvo": number|null, "valor_objetivo": number}], "tolerancia_risco_autoav": "Baixa|Moderada|Alta", "situacao_fiscal": {"declara_ir": boolean, "aliquota_marginal": number}, "restricoes": {"produtos_vetados": ["string"], "liquidez_minima": number}}.
# 2. Objetivo
Consolidar, validar e perfilar dados pessoais e financeiros do cliente, transformando insumos heterogêneos em um perfil financeiro estruturado e utilizável.
# 3. Regras que você deve seguir para gerar sua resposta
- Calcular capacidade de risco: se (reserva_emergencia >= 6 x despesas.mensal e relacao_divida_renda <= 0.3) então capacidade_risco=Alta; se reserva_emergencia entre 3-6 ou divida_renda entre 0.3-0.6 então Media; caso contrário Baixa.
- Determinar horizonte_anos: usar metas[aposentadoria].horizonte_anos; se ausente e idade_alvo informado, horizonte=idade_alvo - dados_pessoais.idade; se resultado < 0, definir 0 e registrar inconsistencia.
- Conciliação renda-despesa: se despesas.mensal > renda.mensal_liquida, marcar inconsistencia e limitar contribuicao_mensal_disponivel a max(0, 0.05 x renda.mensal_liquida); caso contrário sugerir contribuicao_mensal_disponivel = min(0.2 x renda.mensal_liquida, renda.mensal_liquida - despesas.mensal).
- Normalizar metas: manter apenas metas com nome=Aposentadoria; se valor_objetivo ausente, calcular alvo heurístico: 70% da renda mensal líquida x 12 x horizonte_anos x 0.6 (fator de adequação), registrar suposição.
- Perfil de risco final: combinar tolerancia_risco_autoav (mapa Baixa->Conservador, Moderada->Moderado, Alta->Arrojado) com capacidade_risco (Baixa/Media/Alta). Se conflito (ex.: tolerancia Alta e capacidade Baixa), reduzir um nível e registrar justificativa.
- Reservas: calcular reserva_emergencia_recomendada = 6 x despesas.mensal (9x se renda variavel=true).
- Restrições de compliance: se idade < 18, marcar produtos_vetados += ["planos_previdencia_contratacao_autonoma"].
- Qualidade de dados: popular arrays faltantes e inconsistencias com paths JSON; setar apto_para_planejamento=true somente se idade>=18, renda.mensal_liquida informado, despesas.mensal informado e horizonte_anos definido.
- Não alterar valores originais; sempre registrar qualquer imputação em suposicoes_imputadas com justificativa objetiva. 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 cliente via API após a coleta inicial. Na fase de testes, os dados serão enviados 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 JSON com dados do cliente.
-
Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos:
.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 JSON estruturado com o perfil financeiro do cliente e a qualidade dos dados.
-
Exemplo de Estrutura de Output:
{"perfil_cliente": {"id_cliente": "string", "idade": number, "capacidade_risco": "Baixa|Media|Alta", "tolerancia_risco": "Baixa|Moderada|Alta", "perfil_risco_final": "Conservador|Moderado|Arrojado", "horizonte_anos": number, "metas_normalizadas": [{"nome": "Aposentadoria", "horizonte_anos": number, "valor_objetivo": number}], "contribuicao_mensal_disponivel": number, "reserva_emergencia_recomendada": number, "situacao_fiscal": {"declara_ir": boolean, "aliquota_marginal": number}, "restricoes": {"produtos_vetados": ["string"], "liquidez_minima": number}}, "qualidade_dados": {"faltantes": ["paths"], "inconsistencias": ["descricoes"], "suposicoes_imputadas": [{"campo": "string", "valor_assumido": "any", "justificativa": "string"}], "apto_para_planejamento": true}} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 3.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
- 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 Preparação de Parâmetros de Mercado (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Preparação de Parâmetros de Mercado (RF 2).
RF 2. Agente de Preparação de Parâmetros de Mercado
2.1 Tarefa do Agente
Gerar parâmetros de consulta de mercado necessários para precificação de estratégias de previdência com base no perfil do cliente.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o output do Agente de Coleta e Análise de Dados de Clientes (perfil_cliente e qualidade_dados). # 2. Objetivo Gerar parâmetros de consulta de mercado necessários para precificação de estratégias de previdência com base no perfil do cliente. # 3. Regras que você deve seguir para gerar sua resposta - Definir janela_anos = clamp(horizonte_anos, min=5, max=30). - Frequencia: usar mensal se horizonte_anos >= 10, caso contrário diaria. - Series obrigatórias: CDI (juros nominais curtos), IPCA (inflação), IMA-B (proxy inflação longa), Ibovespa (renda variável local), Dólar (proxy exterior), Taxa Real Longa (juros reais). - Requisitos de recência: dados mais novos que 5 dias corridos; incluir em justificativas qualquer flexibilização. - Calcular periodo_inicio = hoje - janela_anos; periodo_fim = mês corrente. - Se qualidade_dados.apto_para_planejamento=false, ainda assim gerar parametros com janela padrão 10 anos e registrar justificativa de dados incompletos.
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 o output do Agente de Coleta e Análise de Dados de Clientes.
-
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é 3.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON com os parâmetros de consulta de mercado.
-
Exemplo de Estrutura de Output:
{"parametros_busca_mercado": {"series": ["CDI", "IPCA", "IMA-B", "Ibovespa", "Dólar", "Taxa Real Longa"], "janela_anos": number, "moeda": "BRL", "frequencia": "diaria|mensal", "pais": "BR", "requisitos_recencia_dias": 5, "periodo_inicio": "YYYY-MM", "periodo_fim": "YYYY-MM"}, "justificativas": ["string"]} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 1.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: Não utiliza.
- 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 Busca Online (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Busca Online (RF 3).
RF 3. Agente de Busca Online
3.1 Tarefa do Agente
Realizar busca online para obter séries e indicadores de mercado conforme parâmetros definidos.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo os parâmetros de consulta de mercado com séries, janela, frequencia, periodo e critérios de recência. # 2. Objetivo Realizar busca online para obter séries e indicadores de mercado conforme parâmetros definidos.
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 os parâmetros de consulta 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é 1.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON com os dados de mercado brutos.
-
Exemplo de Estrutura de Output:
{"dados_mercado_raw": [{"serie": "string", "pontos": [{"data": "YYYY-MM-DD", "valor": number}]}], "fonte": "string", "timestamp_coleta": "ISO-8601"} - Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 2.000 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica
3.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Realiza busca online com parâmetros que já recebe prontos.
- 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 de Síntese e Normalização de Dados de Mercado (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Síntese e Normalização de Dados de Mercado (RF 4).
RF 4. Agente de Síntese e Normalização de Dados de Mercado
4.1 Tarefa do Agente
Limpar, validar e sintetizar os dados de mercado em métricas utilizáveis para alocação e projeções.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo os dados de mercado brutos, a fonte e o timestamp de coleta do Agente de Busca Online. # 2. Objetivo Limpar, validar e sintetizar os dados de mercado em métricas utilizáveis para alocação e projeções. # 3. Regras que você deve seguir para gerar sua resposta - Verificar recência: marcar em series_desatualizadas qualquer série com último ponto > requisitos_recencia_dias (se disponível nos metadados; caso ausente, usar 7 dias). - Calcular taxa anualizada: para CDI e IPCA, anualizar a partir da frequência informada (mensal: (1+media_12m)^1-1; diária: aproximar com 252 pregões). - Juros reais longos: aproximar por (1+juros_nominais_longos)/(1+IPCA)-1 quando série disponível; se não, usar taxa_real_longa da fonte. - Estimar retorno_esperado por classe: RF ~ 0.95 x CDI; INFLACAO ~ max(juros_reais_longos, 0) + IPCA; MM ~ CDI + prêmio 2-4pp (usar 3pp); ACOES ~ prêmio de risco 5-7pp sobre juros reais + inflação (usar 6pp + IPCA); EXTERIOR ~ ACOES com desconto de 1pp se não hedgeado. - Volatilidade anual: calcular desvio-padrão anualizado por série de retornos log mensais; se dados insuficientes (<24 pontos), usar valores padrão: RF 2%, INFLACAO 6%, MM 8%, ACOES 20%, EXTERIOR 18% e registrar em metodologia. - Preencher series_faltantes com nomes de séries não recuperadas.
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 os dados de mercado brutos.
-
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é 2.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON com dados de mercado sintetizados e controles de qualidade.
-
Exemplo de Estrutura de Output:
{"dados_mercado": {"taxa_cdi_anual": number, "inflacao_ipca_anual": number, "juros_reais_longos": number, "retorno_esperado": {"RF": number, "INFLACAO": number, "MM": number, "ACOES": number, "EXTERIOR": number}, "volatilidade_anual": {"RF": number, "INFLACAO": number, "MM": number, "ACOES": number, "EXTERIOR": number}}, "controles_qualidade": {"series_faltantes": ["string"], "series_desatualizadas": ["string"], "metodologia": "string"}} - Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 1.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: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 deve ser visível para o Agente de Criação de Estratégias de Previdência (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Criação de Estratégias de Previdência (RF 5).
RF 5. Agente de Criação de Estratégias de Previdência
5.1 Tarefa do Agente
Construir estratégia de previdência alinhada às metas e ao perfil do cliente, selecionando tipo de plano, regime tributário, alocação por classe de ativos, contribuição e diretrizes de rebalanceamento.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o perfil_cliente do Agente de Coleta e Análise e dados_mercado do Agente de Síntese e Normalização. # 2. Objetivo Construir estratégia de previdência alinhada às metas e ao perfil do cliente, selecionando tipo de plano, regime tributário, alocação por classe de ativos, contribuição e diretrizes de rebalanceamento. # 3. Regras que você deve seguir para gerar sua resposta - Tipo de plano: se situacao_fiscal.declara_ir=true e aliquota_marginal >= 15, sugerir PGBL; caso contrário VGBL. - Regime tributário: se horizonte_anos >= 10, preferir Regressivo; se < 5, preferir Progressivo; entre 5-10 avaliar aliquota_marginal: se >=22.5, Regressivo; senão Progressivo. - Bandas de alocação por perfil: Conservador RF 60-90, INFLACAO 0-20, MM 0-10, ACOES 0-15, EXTERIOR 0-10; Moderado RF 35-60, INFLACAO 10-25, MM 5-15, ACOES 10-30, EXTERIOR 5-20; Arrojado RF 15-35, INFLACAO 10-25, MM 10-20, ACOES 25-45, EXTERIOR 10-25. Garantir soma=100%. - Liquidez mínima: se restricoes.liquidez_minima > 0, reduzir MM/ACOES/EXTERIOR e aumentar RF para respeitar a exigência; registrar justificativa. - Restrições de produtos: remover classes vetadas e redistribuir proporcionalmente entre as demais mantendo bandas. - Glide path: se horizonte_anos >= 15, construir trajetória reduzindo risco linearmente a partir do ano horizonte_anos-10 até 5 anos antes do objetivo (diminuir ACOES/EXTERIOR e aumentar RF/INFLACAO); se < 15 anos, manter estável e aplicar apenas rebalanceamento. - Contribuição mensal: usar contribuicao_mensal_disponivel do perfil_cliente; se meta valor_objetivo exigir, ajustar até o máximo de 25% da renda mensal líquida; se ainda insuficiente, registrar justificativa de insuficiência de poupança. - Retorno esperado da carteira: média ponderada de retorno_esperado por classe; intervalo de incerteza: +/- 1 desvio-padrão da carteira (usar volatilidade_anual e correlação implícita 0.2 entre classes, 0.5 entre ACOES e EXTERIOR, 0.1 entre RF e INFLACAO). - Rebalanceamento: definir frequencia semestral por padrão; se volatilidade da carteira > 12%, usar trimestral; bandas padrão ±5pp. - Controles: definir controles_compliance.soma_100=true apenas se soma dos percentuais == 100; restricoes_respeitadas=true apenas se nenhum item de produtos_vetados estiver na alocação. - Justificativas: incluir razões objetivas para plano/regime, bandas de alocação, necessidade de reforço de contribuição e premissas de mercado utilizadas.
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 dois artefatos como input: o perfil_cliente e os dados de mercado sintetizados.
-
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.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON com a estratégia de previdência detalhada.
-
Exemplo de Estrutura de Output:
{"estrategia": {"tipo_plano_sugerido": "PGBL|VGBL", "regime_tributario": "Progressivo|Regressivo", "alocacao": [{"classe": "RF|INFLACAO|MM|ACOES|EXTERIOR", "percentual": number}], "glide_path": [{"ano": number, "alocacao": [{"classe": "string", "percentual": number}]}], "contribuicao_mensal": number, "meta_acumulacao": number, "retorno_esperado_anual": number, "intervalo_incerteza": {"pessimista": number, "otimista": number}, "regras_rebalanceamento": {"frequencia": "semestral|anual", "bandas": "±5pp"}, "controles_compliance": {"soma_100": true, "restricoes_respeitadas": true}}, "justificativas": ["string"]} - Número de caracteres esperado: O JSON de output terá um tamanho aproximado de 2.500 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
5.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
5.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.
5.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. A estratégia de previdência gerada é o resultado que deve ser disponibilizado ao usuário.