1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para o Fluxo de Agentes "Monitoramento de Mercado Financeiro", uma solução de automação projetada para acompanhar o mercado financeiro em tempo real e alertar consultores sobre eventos relevantes que possam impactar carteiras de clientes. 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 mercado em alertas acionáveis, permitindo que consultores financeiros reajam rapidamente a mudanças significativas no mercado.
2. Contexto e Problema
Cenário Atual
No cenário atual, muitos consultores financeiros enfrentam desafios em acompanhar constantemente o mercado e detectar eventos que possam impactar investimentos. As dificuldades incluem:
- Dificuldade em acompanhar constantemente o mercado financeiro e eventos que possam impactar investimentos.
- Falta de alertas em tempo real para mudanças significativas no mercado.
Os consultores precisam de um sistema que possa monitorar continuamente o mercado, detectar eventos relevantes e alertá-los em tempo real para que possam tomar decisões informadas e proativas.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Melhorar a capacidade de resposta dos consultores a eventos de mercado, proporcionando alertas em tempo real.
- Reduzir o tempo e o esforço necessários para monitorar o mercado financeiro.
- Aumentar a precisão das decisões de investimento através de dados atualizados e alertas precisos.
- Otimizar a gestão de carteiras de clientes ao identificar rapidamente eventos que possam impactar seus investimentos.
4. Visão Geral da Solução
O agente de IA para monitoramento de mercado financeiro processa dados de mercado em tempo real, aplica regras predefinidas e envia alertas diretamente aos consultores. 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 no monitoramento de mercados financeiros.
A solução consiste em um fluxo de automação composto por 6 agentes de IA. O processo inicia com a definição dos parâmetros de monitoramento e termina com a geração de alertas formatados para envio aos consultores.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo. O fluxo inclui etapas condicionais que são executadas apenas se critérios específicos forem atendidos.
| Agentes | Função Principal |
|---|---|
Agente de Definição de Parâmetros de Monitoramento (RF 1)
| Estruturar os parâmetros operacionais do monitoramento. |
Agente de Execução de Chamada à API de Dados de Mercado (RF 2)
| Executar chamadas à API para recuperar cotações e volumes. |
Agente de Busca Online de Notícias Financeiras (RF 3)
| Buscar notícias e comunicados relevantes para os ativos monitorados. |
Agente de Análise e Detecção de Eventos de Mercado (RF 4)
| Detectar eventos relevantes e classificar sua severidade e confiança. |
Agente de Mapeamento de Impacto por Carteiras (RF 5)
| Mapear eventos para carteiras de clientes e estimar impacto. |
Agente de Síntese e Formatação de Alertas (RF 6)
| Gerar mensagens de alerta prontas para envio aos consultores. |
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 consultor receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Definição de Parâmetros de Monitoramento
1.1 Tarefa do Agente
Estruturar os parâmetros operacionais do monitoramento (universo de ativos, janelas temporais, limiares de alerta, fontes e mapeamentos de carteiras).
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um conjunto de dados que define o universo de ativos, janelas temporais, limiares de alerta e preferências de alerta para o monitoramento de mercado. # 2. Objetivo Estruturar esses dados em um formato padrão que será utilizado pelos agentes subsequentes para executar o monitoramento. # 3. Regras que você deve seguir para gerar sua resposta - Normalizar tickers mantendo sufixos de mercado (ex.: .SA) quando presentes; se ticker de índice, manter forma canônica (ex.: IBOV). - Se janelas não forem informadas, definir intraday em 1m, 5m e 15m e diário=true. - Limiar padrão de variação intraday: alto=2.0% em 5m; médio=1.0% em 5m. Diário: alto=5.0%, médio=3.0%. - Limiar padrão de volume por z-score: alto>=3.0; médio>=2.0 comparado à média de 20 períodos equivalentes. - Categorias de evento válidas: preco, volume, noticia, macro, resultado. Desabilitar as não informadas. - Se preferências de alerta não trouxerem idioma ou fuso, usar pt-BR e America/Sao_Paulo. - Validar carteiras: para cada cliente, holdings com peso somando entre 0 e 1; se exceder 1, normalizar proporcionalmente e registrar campo normalizacao_realizada:true. - Produzir objeto parametros no output com chave controle.parametros_prontos=true.
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 conjunto de dados de configuração 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 conjunto de dados estruturados, que define os parâmetros de monitoramento.
-
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 dados com até 10.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON que estrutura os parâmetros de monitoramento, incluindo tickers normalizados, janelas temporais, limiares de alerta e preferências de alerta.
-
Exemplo de Estrutura de Output:
{ "parametros": { "tickers_normalizados": ["PETR4.SA", "VALE3.SA", "IBOV", "USDBRL"], "janelas": {"intraday": ["1m", "5m", "15m"], "diario": true}, "limiares": {"var_pct_5m": {"alto": 2.0, "medio": 1.0}, "var_pct_diario": {"alto": 5.0, "medio": 3.0}, "zscore_volume": {"alto": 3.0, "medio": 2.0}}, "categorias_evento": ["preco", "volume", "noticia", "macro", "resultado"], "idioma": "pt-BR", "fuso": "America/Sao_Paulo" }, "carteiras_clientes": [...], "controle": {"parametros_prontos": true, "timestamp_utc": "2025-12-07T12:54:00Z"} } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.000 caracteres, variando conforme a complexidade dos parâmetros configurados.
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 Execução de Chamada à API de Dados 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 Execução de Chamada à API de Dados de Mercado (RF 2).
RF 2. Agente de Execução de Chamada à API de Dados de Mercado
2.1 Tarefa do Agente
Realizar chamadas às APIs de dados de mercado para recuperar cotações e volumes nas janelas definidas.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo os parâmetros de monitoramento que incluem tickers normalizados e janelas temporais para consulta de mercado. # 2. Objetivo Executar chamadas às APIs de dados de mercado para recuperar cotações e volumes de ativos nas janelas de tempo especificadas. # 3. Regras que você deve seguir para gerar sua resposta - Utilizar os tickers normalizados e janelas temporais para configurar as chamadas à API de dados de mercado. - Garantir que as credenciais de API estejam corretas e ativas antes de iniciar a chamada. - Estruturar o output para incluir dados de cotações e volumes com timestamps precisos. - Em caso de falhas na API, registrar o erro e tentar novamente conforme as regras de retries configuradas.
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 os parâmetros de monitoramento estruturados em JSON.
-
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é 5.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON que inclui dados de preços e volumes coletados, estruturados por ativo e janela temporal.
-
Exemplo de Estrutura de Output:
{ "dados_precos": [{"ticker": "PETR4.SA", "timeframe": "1m", "series": [{"t": "2025-12-07T12:53:00Z", "o": ..., "h": ..., "l": ..., "c": ..., "v": ...}, ...]}], "coleta_concluida": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 caracteres, dependendo do número de ativos e janelas consultadas.
2.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica
2.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá enviar o JSON recebido para a API de dados de mercado configurada na plataforma.
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 de Notícias Financeiras (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 de Notícias Financeiras (RF 3).
RF 3. Agente de Busca Online de Notícias Financeiras
3.1 Tarefa do Agente
Realizar busca online de notícias e comunicados relevantes para os ativos monitorados no intervalo recente.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo os parâmetros de monitoramento que incluem categorias de eventos e ativos para busca de notícias. # 2. Objetivo Realizar buscas online para encontrar notícias e comunicados relevantes que possam impactar os ativos monitorados. # 3. Regras que você deve seguir para gerar sua resposta - Configurar a busca para capturar notícias dentro do intervalo de tempo recente especificado. - Utilizar termos críticos adicionais para enriquecer a busca, como 'guidance', 'downgrade', 'revisão de rating'. - Estruturar o output para incluir títulos de notícias, fontes, URLs e timestamps de publicação. - Em caso de falhas na busca, registrar o erro e tentar novamente conforme as regras de retries configuradas.
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 monitoramento estruturados em JSON.
-
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é 5.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON que inclui resultados de busca de notícias, estruturados por título, fonte, URL e timestamp de publicação.
-
Exemplo de Estrutura de Output:
{ "noticias": [{"titulo": "...", "fonte": "...", "url": "...", "publicado_em": "2025-12-07T12:48:00Z", "relevancia_fonte": 0.8, "tickers_mencionados": ["PETR4.SA"]}], "busca_concluida": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 caracteres, dependendo do número de notícias encontradas.
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 documentos externos.
- Calculadora: Não utiliza.
- Busca Online: O agente deverá utilizar a API de busca online configurada na plataforma.
- Sistemas Externos: O agente deverá enviar o JSON recebido para a API de busca online configurada na plataforma.
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 Análise e Detecção de Eventos 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 Análise e Detecção de Eventos de Mercado (RF 4).
RF 4. Agente de Análise e Detecção de Eventos de Mercado
4.1 Tarefa do Agente
Detectar eventos relevantes a partir de dados de preços/volume e notícias, classificando severidade e confiança.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados de preços, volumes e notícias coletados previamente. # 2. Objetivo Analisar esses dados para detectar eventos de mercado relevantes e classificar sua severidade e confiança. # 3. Regras que você deve seguir para gerar sua resposta - Preço: calcular variação percentual por janela intraday (1m,5m,15m). Sinalizar evento se var_pct >= limiar definido para a janela. - Volume: calcular z-score em relação à média e desvio dos últimos 20 períodos equivalentes. Sinalizar evento se z-score >= limiar definido. - Notícias: ranquear relevância usando presença de termos críticos e autoridade da fonte. - Classificar severidade: alto se >= limiar alto; medio se >= limiar medio. - Confianca: escalar entre 0 e 1 combinando força do sinal, autoridade da fonte e consistência temporal. - Incluir campo racional com frase curta justificando o disparo.
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 preços, volumes e notícias estruturados em JSON.
-
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é 10.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON que inclui eventos detectados, classificados por severidade e confiança, com justificativas.
-
Exemplo de Estrutura de Output:
{ "eventos": [{"id_evento": "evt_001", "tipo": "preco", "ticker": "PETR4.SA", "janela": "5m", "var_pct": 2.3, "zscore_volume": 2.8, "severidade": "alto", "confianca": 0.86, "inicio_utc": "2025-12-07T12:49:00Z", "fim_utc": "2025-12-07T12:54:00Z", "origem": ["preco", "volume"], "racional": "Variação > limiar alto e volume anômalo"}], "eventos_detectados": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres, dependendo do número de eventos detectados.
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 calcular variações e z-scores.
- 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 Mapeamento de Impacto por Carteiras (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Mapeamento de Impacto por Carteiras (RF 5).
RF 5. Agente de Mapeamento de Impacto por Carteiras
5.1 Tarefa do Agente
Mapear eventos detectados para carteiras de clientes, estimando impacto e prioridade por cliente.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo eventos de mercado detectados e carteiras de clientes para análise de impacto. # 2. Objetivo Mapear os eventos detectados para as carteiras de clientes, estimando impacto e prioridade para cada cliente. # 3. Regras que você deve seguir para gerar sua resposta - Exposição por cliente = peso do ativo na carteira; se ativo ausente, exposição=0. - Classificação de impacto por cliente: se severidade do evento for alto e exposicao>=0.2 => impacto=alto; se severidade medio e exposicao>=0.1 => impacto=medio. - Prioridade: 'urgente' para impacto alto; 'normal' para impacto medio. - Consolidar eventos múltiplos do mesmo cliente e ticker em uma janela de 15 minutos mantendo a maior prioridade. - Gerar justificativa curta citando severidade e exposição.
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 como input os eventos detectados e carteiras de clientes estruturados em JSON.
-
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é 10.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON que inclui mapeamento de eventos para carteiras de clientes, com impacto e prioridade.
-
Exemplo de Estrutura de Output:
{ "eventos_por_cliente": [{"cliente_id": "C001", "id_evento": "evt_001", "ticker": "PETR4.SA", "exposicao": 0.25, "impacto": "alto", "prioridade": "urgente", "recomendacao_base": "Revisar stops e rebalancear", "justificativa": "Severidade alta + exposição >= 20%"}], "mapeamento_concluido": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres, dependendo do número de eventos e carteiras analisadas.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
5.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Utiliza lógica interna para estimar impactoe prioridade.
- 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 deve ser visível para o Agente de Síntese e Formatação de Alertas (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Síntese e Formatação de Alertas (RF 6).
RF 6. Agente de Síntese e Formatação de Alertas
6.1 Tarefa do Agente
Gerar mensagens de alerta prontas para envio aos consultores, no idioma e canais preferidos.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o mapeamento de impacto de eventos por cliente, juntamente com preferências de canais e idioma para envio de alertas.
# 2. Objetivo
Gerar mensagens de alerta formatadas, prontas para envio aos consultores nos canais e idioma preferidos.
# 3. Regras que você deve seguir para gerar sua resposta
- Gerar títulos curtos com estrutura: 'Alerta de Mercado: {TICKER} ({descritor curto})'.
- Resumo deve citar métrica-chave (ex.: var_pct e/ou zscore_volume) e razão do disparo.
- Converter timestamps para fuso do cliente; manter ISO-8601 em campo adicional timestamp_utc, se presente.
- Recomendações baseadas em tipo de evento: preco/volume => 'Revisar stops e rebalanceamento'; noticia downgrade => 'Avaliar redução de exposição'; macro juros => 'Rever sensibilidade de carteira'.
- Limitar a 280 caracteres em campo mensagem_curta quando canal for chat; para e-mail, incluir versão detalhada com racional e links.
- Linguagem objetiva, sem jargões desnecessários, em pt-BR por padrão. 6.3 Configurações do Agente
6.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
- Tipo do input: Este agente deve ser apto a receber como input o mapeamento de impacto por cliente e preferências de canais/idioma estruturados em JSON.
-
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é 10.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um objeto JSON que inclui mensagens de alerta formatadas, prontas para envio em diferentes canais.
-
Exemplo de Estrutura de Output:
{ "alertas": [{"cliente_id": "C001", "canal": "slack", "titulo": "Alerta de Mercado: PETR4.SA (Alta volatilidade 5m)", "resumo": "+2,3% em 5m com volume acima do normal.", "impacto": "alto", "prioridade": "urgente", "recomendacao": "Revisar stops e avaliar rebalanceamento.", "timestamp_local": "07/12/2025 09:54", "dedupe_chave": "C001|PETR4.SA|preco|2025-12-07T12:49:00Z"}], "prontos_para_envio": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.500 caracteres, dependendo do número de alertas gerados.
6.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
6.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Utiliza lógica interna para formatação de timestamps e deduplicação de alertas.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
6.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.
6.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. Os alertas formatados são o resultado que deve ser disponibilizado aos consultores.