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 "Análise de Objetivos de Investimento". 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 é auxiliar investidores a definir e refinar seus objetivos de investimento, considerando suas finanças pessoais e metas de longo prazo.
2. Contexto e Problema
Cenário Atual
Investidores frequentemente enfrentam dificuldades ao tentar definir objetivos financeiros claros e alcançáveis. Além disso, é necessário ajustar esses objetivos ao longo do tempo, em resposta a mudanças nas finanças pessoais ou no mercado.
Problemas Identificados
- Dificuldade na definição de objetivos: Investidores muitas vezes não conseguem estabelecer metas financeiras claras e alcançáveis.
- Ajustes de objetivos: A necessidade de ajustar objetivos de investimento ao longo do tempo com base em mudanças nas finanças pessoais ou no mercado.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Estabelecer metas financeiras claras e alinhadas com as capacidades financeiras dos investidores.
- Oferecer suporte contínuo para ajustes de objetivos em resposta a mudanças no cenário financeiro.
4. Visão Geral da Solução
O agente de IA para análise de objetivos de investimento ajuda investidores a definir e refinar seus objetivos de investimento com base em suas finanças e metas de longo prazo. 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 objetivos de investimento que seguem as especificidades dos investidores.
A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a estruturação do perfil financeiro do investidor e termina com a geração de um plano de ajustes contínuos.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Estruturação de Perfil Financeiro do Investidor (RF 1)
| Consolidar e validar os dados financeiros e pessoais do investidor em um perfil estruturado. |
Agente de Viabilidade e Formulação de Objetivos SMART (RF 2)
| Converter objetivos brutos em metas SMART e verificar viabilidade financeira. |
Agente de Alocação Estratégica por Meta (RF 3)
| Definir alocação de ativos recomendada por meta considerando horizonte, perfil de risco, liquidez e restrições de custo. |
Agente de Monitoramento e Ajustes Contínuos (RF 4)
| Gerar plano operacional de acompanhamento e ajustes conforme mudanças financeiras do investidor ou do mercado. |
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 investidor receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Estruturação de Perfil Financeiro do Investidor
1.1 Tarefa do Agente
Consolidar e validar os dados financeiros e pessoais do investidor em um perfil estruturado, calculando capacidade de poupança, necessidades de liquidez e preparo para investimento.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com dados brutos do investidor. Este JSON contém informações financeiras e pessoais que devem ser estruturadas em um perfil de investidor.
# 2. Objetivo
Consolidar e validar os dados financeiros do investidor, calculando capacidade de poupança, necessidades de liquidez e preparo para investimento.
# 3. Regras que você deve seguir para gerar sua resposta
- Normalização e validação de campos: se algum campo obrigatório estiver ausente (idade, renda_mensal_liquida, despesas_mensais), defina status_input="faltando_dados" e liste missing_fields. Caso contrário, status_input="ok".
- Cálculos base: a) poupanca_max_mensal_disponivel = max(renda_mensal_liquida - despesas_mensais, 0). b) taxa_poupanca_atual = poupanca_max_mensal_disponivel / renda_mensal_liquida (arredondar a 2 casas). c) comprometimento_renda_com_dividas = (parcelas_mensais || 0)/renda_mensal_liquida.
- Reserva de emergência: meses_alvo = 3 se estabilidade_renda="alta", 6 se "media", 12 se "baixa". reserva_emergencia_alvo_valor = despesas_mensais * meses_alvo. saldo_reserva = ativos.caixa (se inexistente, considerar 0). status: "completa" se saldo_reserva >= alvo; senão "incompleta" e deficit = alvo - saldo.
- Score de risco: normalizar tolerancia_risco para [1..5]. Mapear: 1=Conservador, 2=Conservador-Moderado, 3=Moderado, 4=Moderado-Arrojado, 5=Arrojado. Registrar ambos: score e perfil_descritivo.
- Regras de preparação para investir: se reserva_emergencia_status="incompleta", marcar flag_prioridade_reserva=true e definir percentual_destinacao_reserva= min(1.0, max(0.3, deficit/alvo)). Se comprometimento_renda_com_dividas > 0.3, recomendar foco em redução de dívidas antes de metas de longo prazo.
- Consistência: impedir valores negativos; se despesas_mensais > renda_mensal_liquida, definir poupanca_max_mensal_disponivel=0 e adicionar observacao="fluxo de caixa negativo".
# 4. Exemplo de Output que você deve produzir
{"perfil_investidor": {"idade": 34, "score_risco": 3, "renda_liquida": 12000, "despesas": 8500, "poupanca_max_mensal_disponivel": 3500, "taxa_poupanca_atual": 0.29, "reserva_emergencia_alvo_meses": 6, "reserva_emergencia_alvo_valor": 51000, "reserva_emergencia_saldo_atual": 20000, "reserva_emergencia_status": "incompleta", "endividamento_comprometimento_renda": 0.18, "observacoes": ["Completar 31k de reserva antes de aumentar risco."]}, "objetivos_brutos_normalizados": [{"tipo": "aposentadoria", "prazo_anos": 25, "valor_alvo_hoje": 1500000}]} 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 brutos do investidor 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 JSON 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 pessoais do investidor.
-
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é 10.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo o perfil financeiro do investidor e os objetivos normalizados.
-
Exemplo de Estrutura de Output:
{"perfil_investidor": {"idade": 34, "score_risco": 3, "renda_liquida": 12000, "despesas": 8500, "poupanca_max_mensal_disponivel": 3500, "taxa_poupanca_atual": 0.29, "reserva_emergencia_alvo_meses": 6, "reserva_emergencia_alvo_valor": 51000, "reserva_emergencia_saldo_atual": 20000, "reserva_emergencia_status": "incompleta", "endividamento_comprometimento_renda": 0.18, "observacoes": ["Completar 31k de reserva antes de aumentar risco."]}, "objetivos_brutos_normalizados": [{"tipo": "aposentadoria", "prazo_anos": 25, "valor_alvo_hoje": 1500000}]} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 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 financeiros básicos.
- 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 Viabilidade e Formulação de Objetivos SMART (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Viabilidade e Formulação de Objetivos SMART (RF 2).
RF 2. Agente de Viabilidade e Formulação de Objetivos SMART
2.1 Tarefa do Agente
Converter objetivos brutos em metas SMART, verificar viabilidade financeira, calcular contribuições mensais necessárias e sugerir ajustes quando inviáveis.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a saída do Agente de Estruturação com o perfil financeiro do investidor e os objetivos normalizados.
# 2. Objetivo
Converter objetivos brutos em metas SMART, verificar viabilidade financeira, calcular contribuições mensais necessárias e sugerir ajustes quando inviáveis.
# 3. Regras que você deve seguir para gerar sua resposta
- Premissas padrão: se não informado, usar inflacao_anual_assumida=0.04. Horizon = prazo_anos. Converter valor alvo para futuro: valor_alvo_futuro = valor_alvo_hoje * (1+inflacao)^prazo_anos.
- Taxa de retorno real por perfil (limites): Conservador: 0.02–0.03; Conservador-Moderado: 0.025–0.04; Moderado: 0.03–0.05; Moderado-Arrojado: 0.04–0.06; Arrojado: 0.05–0.07. Selecionar ponto médio caso não especificado. Taxa nominal = (1+real)*(1+inflacao)-1.
- Fórmula financeira para contribuição mensal (PMT): PMT = valor_alvo_futuro * i / [((1+i)^n - 1)], onde i = taxa_nominal_mensal = (1+taxa_nominal)^(1/12)-1, n = prazo_anos*12. Arredondar PMT ao inteiro mais próximo múltiplo de 10.
- Viabilidade: comparar PMT com poupanca_max_mensal_disponivel do perfil. Regras: a) Se PMT <= 0, definir PMT=0 e status_viabilidade="atingida". b) Se 0 < PMT <= poupanca_max, status_viabilidade="viavel". c) Se PMT > poupanca_max, status_viabilidade="inviavel" e gerar ajustes em ordem: (1) aumentar prazo até +20% (recalcular), (2) reduzir valor_alvo_hoje até -20% (recalcular), (3) aumentar risco em +1 nível respeitando limite 5 e recalcular taxa real no limite superior do novo perfil. Registrar primeiro cenário que torne viável; se nenhum, manter "inviavel" e definir faixa_contribuicao_mensal.min = poupanca_max e .max = PMT.
- Reserva de emergência prioritária: se flag_prioridade_reserva=true, alocar min(30%, percentual_destinacao_reserva) da poupanca_max para reserva até completar; recalcular PMT com contribuicao_disponivel = poupanca_max * (1 - percentual_para_reserva) enquanto status_reserva != "completa".
- Saída SMART: incluir campos mensuráveis (valor, prazo, PMT), específicos (tipo), alcançáveis (status_viabilidade), relevantes (vincular ao perfil) e temporais (prazo_anos). Preencher kpis iniciais: cobertura_meta_% = 0 ao iniciar; saldo_sugerido_ano_1 = PMT*12.
# 4. Exemplo de Output que você deve produzir
{"metas": [{"tipo": "aposentadoria", "prazo_anos": 25, "valor_alvo_hoje": 1500000, "inflacao_anual_assumida": 0.04, "valor_alvo_futuro": 3995571.27, "taxa_retorno_real_assumida": 0.05, "taxa_retorno_nominal_assumida": 0.091999999999999998, "contribuicao_mensal_recomendada": 3500, "faixa_contribuicao_mensal": {"min": 3000, "max": 4000}, "status_viabilidade": "viavel", "ajustes_sugeridos": [], "kpis": {"cobertura_meta_%": 0, "saldo_sugerido_ano_1": 36000}}]} 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 do investidor e os objetivos normalizados.
-
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 metas SMART, suas viabilidades e possíveis ajustes.
-
Exemplo de Estrutura de Output:
{"metas": [{"tipo": "aposentadoria", "prazo_anos": 25, "valor_alvo_hoje": 1500000, "inflacao_anual_assumida": 0.04, "valor_alvo_futuro": 3995571.27, "taxa_retorno_real_assumida": 0.05, "taxa_retorno_nominal_assumida": 0.091999999999999998, "contribuicao_mensal_recomendada": 3500, "faixa_contribuicao_mensal": {"min": 3000, "max": 4000}, "status_viabilidade": "viavel", "ajustes_sugeridos": [], "kpis": {"cobertura_meta_%": 0, "saldo_sugerido_ano_1": 36000}}]} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.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: Utiliza lógica interna para cálculos financeiros complexos.
- 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 Alocação Estratégica por Meta (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Alocação Estratégica por Meta (RF 3).
RF 3. Agente de Alocação Estratégica por Meta
3.1 Tarefa do Agente
Definir alocação de ativos recomendada por meta considerando horizonte, perfil de risco, liquidez e restrições de custo.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo a saída do Agente de Viabilidade com as metas SMART e o perfil financeiro do investidor.
# 2. Objetivo
Definir alocação de ativos recomendada por meta considerando horizonte, perfil de risco, liquidez e restrições de custo.
# 3. Regras que você deve seguir para gerar sua resposta
- Mapeamento por horizonte (ajustável pelo perfil): a) Curto prazo (<=3 anos): 80–100% em caixa/renda_fixa_pos; 0% renda variável; liquidez D+0 a D+2. b) Médio (3–7 anos): renda variável 20–40% total (ações BR+EXT+REITs), restante RF e multimercado; liquidez D+3 a D+7. c) Longo (>7 anos): renda variável 40–80% conforme perfil; incluir diversificação internacional >= 10% da parte de RV.
- Ajustes por perfil: Conservador limita RV no piso do intervalo; Arrojado no topo; perfis intermediários interpolam linearmente. Garantir soma de alocacao=100.
- Proteções: metas com exigência de saque programado nos primeiros 24 meses devem reservar >= 12 meses de PMT em caixa/renda_fixa_pos. Metas dependentes da reserva de emergência não concluída não podem ter RV > 30% até completar a reserva.
- Custos: impor custo_max_total_%aa <= 1.0% para metas de longo prazo e <= 0.6% para curto/médio; se projeção de custo exceder, reduzir multimercado e alternativos primeiro.
- Concentração e risco: limitar emissor individual RF a <= 20% da parcela de RF; duration média da RF: curto<=2 anos, médio 2–4 anos, longo 4–6 anos. Exposição cambial: máximo 50% da carteira total.
- Rebalanceamento: bandas padrão estreita=5 p.p., larga=10 p.p.; disparar rebalance se desvio absoluto > banda_estreita ou 1x/trim (o que ocorrer primeiro). Em drawdowns > 15% na parcela de RV, permitir rebalance pro-rata mantendo perfil de risco.
# 4. Exemplo de Output que você deve produzir
{"alocacao_por_meta": [{"tipo": "aposentadoria", "prazo_anos": 25, "perfil": "Moderado", "alocacao": {"caixa": 5, "renda_fixa_pos": 20, "renda_fixa_prefixado": 10, "inflacao": 15, "multimercado": 10, "acoes_br": 20, "acoes_ext": 15, "imobiliario": 5, "alternativos": 0}, "bandas_rebalanceamento_pp": {"estreita": 5, "larga": 10}, "custo_max_total_%aa": 1.0, "liquidez_minima": "D+3", "restricoes": ["Evitar alta concentração em emissores BB- ou inferiores"], "observacoes": []}]} 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 bem-sucedida do agente anterior (RF 2).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo as metas SMART e o perfil financeiro do investidor.
-
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 a alocação de ativos recomendada por meta, incluindo bandas de rebalanceamento e restrições.
-
Exemplo de Estrutura de Output:
{"alocacao_por_meta": [{"tipo": "aposentadoria", "prazo_anos": 25, "perfil": "Moderado", "alocacao": {"caixa": 5, "renda_fixa_pos": 20, "renda_fixa_prefixado": 10, "inflacao": 15, "multimercado": 10, "acoes_br": 20, "acoes_ext": 15, "imobiliario": 5, "alternativos": 0}, "bandas_rebalanceamento_pp": {"estreita": 5, "larga": 10}, "custo_max_total_%aa": 1.0, "liquidez_minima": "D+3", "restricoes": ["Evitar alta concentração em emissores BB- ou inferiores"], "observacoes": []}]} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 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 alocação de ativos.
- 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 Monitoramento e Ajustes Contínuos (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Monitoramento e Ajustes Contínuos (RF 4).
RF 4. Agente de Monitoramento e Ajustes Contínuos
4.1 Tarefa do Agente
Gerar plano operacional de acompanhamento, definir gatilhos de revisão e ajustes de contribuições/alocação conforme mudanças financeiras do investidor ou do mercado.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o estado periódico do investidor com perfil financeiro, metas e alocação atual.
# 2. Objetivo
Gerar plano operacional de acompanhamento, definir gatilhos de revisão e ajustes de contribuições/alocação conforme mudanças financeiras do investidor ou do mercado.
# 3. Regras que você deve seguir para gerar sua resposta
- Gatilhos quantitativos de revisão: a) Variação renda absoluta >= |10%| -> recalcular aportes proporcionais, limite inferior: 70% do aporte, superior: 130%. b) Drawdown da parcela de RV >= 15% -> avaliar tolerância: se perfil <= 2 e aversão aumenta, reduzir RV em 5 p.p.; caso contrário, rebalancear para alvos. c) Desvio de alocação > 5 p.p. em qualquer classe -> rebalance imediato para alvo dentro das bandas. d) Reserva de emergência < 100% do alvo -> suspender aumentos em RV e destinar min 30% dos aportes à reserva até recompor. e) Mudança de meta (prazo/valor) -> reprocessar PMT com novas premissas.
- Frequência: revisão programada mínima trimestral; anual obrigatória para recalibrar inflação e retorno assumidos. Se nenhum gatilho ocorrer, manter aportes e registrar "sem_ajustes".
- Priorização de caixa: em eventos de gastos extraordinários, reduzir aporte até 3 meses para recompor caixa, preservando metas críticas (ex.: educação que inicia <36 meses) em até 80% do aporte mínimo.
- Compliance e adequação: nunca recomendar alocação fora dos limites por horizonte/perfil definidos nos agentes anteriores; nunca sugerir produtos incompatíveis com liquidez mínima exigida pela meta.
# 4. Exemplo de Output que você deve produzir
{"plano_ajustes": {"gatilhos_acionados": ["renda_-12%", "drawdown_rv_18%"], "revisoes_recomendadas": [{"tipo": "aporte", "de": 3500, "para": 2800, "justificativa": "renda caiu >10%"}, {"tipo": "alocacao", "acao": "rebalancear", "criterio": ">5 p.p. de desvio"}], "status_metas": [{"tipo": "aposentadoria", "status": "em_andamento", "risco": "Moderado", "cobertura_meta_%": 6.2}], "prioridade_tarefas": ["recompor_reserva", "pausar_aumento_de_risco"], "proxima_revisao_data": "2026-03-21"}} 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 bem-sucedida do agente anterior (RF 3).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo o estado periódico do investidor com perfil financeiro, metas e alocação atual.
-
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 o plano de ajustes, gatilhos acionados, revisões recomendadas e status das metas.
-
Exemplo de Estrutura de Output:
{"plano_ajustes": {"gatilhos_acionados": ["renda_-12%", "drawdown_rv_18%"], "revisoes_recomendadas": [{"tipo": "aporte", "de": 3500, "para": 2800, "justificativa": "renda caiu >10%"}, {"tipo": "alocacao", "acao": "rebalancear", "criterio": ">5 p.p. de desvio"}], "status_metas": [{"tipo": "aposentadoria", "status": "em_andamento", "risco": "Moderado", "cobertura_meta_%": 6.2}], "prioridade_tarefas": ["recompor_reserva", "pausar_aumento_de_risco"], "proxima_revisao_data": "2026-03-21"}} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 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 ajustes financeiros.
- 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.