Agente de IA para Coleta de Dados Financeiros e Econômicos

07 de December de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que automatiza a coleta de dados financeiros e econômicos de diversas fontes, garantindo a precisão e atualização constante das informações.

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 "Coleta de Dados Financeiros e Econômicos", uma solução projetada para automatizar a coleta e atualização de dados financeiros de diversas fontes. 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 é integrar-se a múltiplas fontes, executar algoritmos de validação e garantir a atualização constante dos dados financeiros e econômicos, assegurando precisão e relevância das informações para análises subsequentes.

2. Contexto e Problema

Problemas Identificados

  • Dificuldade em reunir dados financeiros e econômicos: Coletar informações em tempo real de múltiplas fontes é um desafio devido à diversidade de formatos e frequências de atualização.
  • Inconsistência e erros: A coleta manual de dados frequentemente resulta em erros, comprometendo a precisão das informações.
  • Necessidade de atualização constante: Manter os dados atualizados é essencial para garantir a relevância das análises, mas é um processo trabalhoso e propenso a falhas.

3. Impactos Esperados

A implementação deste fluxo de automação visa alcançar os seguintes resultados:

  • Automatizar a coleta de dados de diversas fontes financeiras e econômicas.
  • Reduzir erros associados à coleta manual de dados.
  • Garantir a atualização constante dos dados, assegurando que as análises sejam sempre baseadas em informações precisas e atuais.

4. Visão Geral da Solução

O agente de IA para coleta de dados financeiros e econômicos integra-se a múltiplas fontes, aplica algoritmos de validação para garantir precisão e atualiza os dados em intervalos regulares. 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 coleta e atualização de dados financeiros e econômicos.

A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a preparação de requisições para as fontes financeiras e termina com a geração de um plano de atualização contínua para as coletas.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.

Agentes Função Principal
Agente de Preparação de Requisições de Fontes Financeiras e Econômicas (RF 1) Transformar o catálogo de fontes e credenciais em requisições prontas para execução.
Agente de Execução de Chamada à API (RF 2) Realizar chamadas às APIs das fontes financeiras e econômicas para obter os dados brutos.
Agente de Normalização e Consolidação de Dados Financeiros (RF 3) Converter as respostas brutas das fontes no schema unificado e consolidar séries por símbolo/indicador.
Agente de Validação de Dados Financeiros e Econômicos (RF 4) Aplicar checagens determinísticas de consistência e precisão, gerando score de qualidade.
Agente de Cálculo de Atualização e Planejamento de Coletas (RF 5) Determinar periodicidade de atualização e gerar novas requisições para backfill e incrementos.

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 de Requisições de Fontes Financeiras e Econômicas

1.1 Tarefa do Agente

Transformar o catálogo de fontes e credenciais em requisições prontas para execução, padronizando endpoints, parâmetros, janelas de tempo, paginação e mapeamento de campos.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um catálogo de fontes financeiras e econômicas, incluindo credenciais e especificações de dados necessários.

# 2. Objetivo
Transformar o catálogo de fontes e credenciais em requisições prontas para execução, padronizando endpoints, parâmetros, janelas de tempo, paginação e mapeamento de campos.

# 3. Regras que você deve seguir para gerar sua resposta
- Para cada fonte, selecione o endpoint compatível ao escopo solicitado; se a fonte separar endpoints por frequência (intraday vs EOD), gere requisições distintas por frequência.
- Calcule janelas temporais respeitando limites de cada endpoint (ex.: máximo de 1000 candles por requisição); quando exceder, quebre em subintervalos contíguos sem sobreposição.
- Padronize formatos de data nas requisições conforme exigência da fonte (ex.: yyyy-MM-dd para EOD, yyyy-MM-dd'T'HH:mm:ss para intraday) e registre também o equivalente em ISO-8601 no metadado da requisição.
- Defina paginação explicitando chave de próxima página, limite por página e ordem (asc/desc); inclua critério de parada claro (ex.: quando next_token nulo ou quando período_final alcançado).
- Anexe política de rate limit com janela (ex.: 100 req/min), espaçamento mínimo entre chamadas e estratégia de backoff incremental em milissegundos (sem executar nada, apenas descrever os valores no objeto).
- Mapear cada campo retornado pela fonte para o schema unificado: timestamp, open, high, low, close, volume, currency, symbol, provider, calendar_type, frequency; quando o campo não existir na fonte, marcar como null e registrar ausente_no_provider: true.
- Validar que cada requisição descreve explicitamente: universo (lista de símbolos ou conjunto macro), período coberto, granularidade/frequency, fuso-horário de referência do mercado e conversão para UTC no metadado.
- Se a fonte requer chaves por região/mercado (ex.: exchange_code), incluir parâmetro obrigatório; se ausente no input, marcar requisito_pendente com o nome do parâmetro e não gerar a requisição correspondente.
- A saída deve ser determinística: ordenar requests por (id_fonte, símbolo, início_janela, frequência) e atribuir lote_id único ao conjunto preparado. 
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 catálogo de fontes financeiras e econômicas 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 catálogo de fontes financeiras e econômicas.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs em formatos estruturados como .csv e .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 100.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: O output deve ser uma lista de objetos JSON contendo as requisições prontas para execução, incluindo todos os parâmetros padronizados e metadados necessários.
  • Exemplo de Estrutura de Output:
     [
      {
        "url_completa": "https://api.finance.com/data",
        "método": "GET",
        "headers": {...},
        "query/body": {...},
        "janela_temporal_calculada": "2025-12-01T00:00:00Z/2025-12-07T23:59:59Z",
        "estratégia_paginacao": "token",
        "política_rate_limit": "100 req/min",
        "timeout": 3000,
        "tentativas": 3,
        "mapeamento_campos_para_schema_unificado": {...},
        "id_fonte": "finance_api",
        "lote_id": "lote_001"
      }
    ] 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres por requisição, podendo variar conforme a complexidade dos parâmetros e endpoints.

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 calcular janelas temporais e rate limits.
  • 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 (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 (RF 2).

RF 2. Agente de Execução de Chamada à API

2.1 Tarefa do Agente

Realizar chamadas às APIs das fontes financeiras e econômicas para obter os dados brutos conforme requests preparados.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma lista de requisições padronizadas para execução em APIs de fontes financeiras e econômicas.

# 2. Objetivo
Realizar chamadas às APIs das fontes financeiras e econômicas para obter os dados brutos conforme requests preparados.

# 3. Regras que você deve seguir para gerar sua resposta
- Este agente não necessita de instruções de LLM; sua função é exclusivamente executar as chamadas com os payloads recebidos e retornar as respostas sem transformações. 
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 uma lista de requisições padronizadas em formato 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 até 50.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser uma lista de respostas JSON contendo os dados brutos obtidos de cada chamada à API.
  • Exemplo de Estrutura de Output:
     [
      {
        "id_fonte": "finance_api",
        "lote_id": "lote_001",
        "request_id": "req_123",
        "status_http": 200,
        "payload_retornado_por_página": [...],
        "sequência_de_páginas": [...],
        "timestamps_de_coleta": "2025-12-07T08:08:00Z",
        "erro_se_houver": null
      }
    ] 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 10.000 caracteres por resposta, podendo variar conforme o volume de dados retornados.

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 executa chamadas diretas às APIs das fontes financeiras e econômicas.

2.3.5 Memória

2.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Normalização e Consolidação de Dados Financeiros (RF 3).

RF 3. Agente de Normalização e Consolidação de Dados Financeiros

3.1 Tarefa do Agente

Converter as respostas brutas das fontes no schema unificado e consolidar séries por símbolo/indicador e frequência em UTC.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados brutos de múltiplas fontes financeiras e econômicas, obtidos através de chamadas a APIs padronizadas.

# 2. Objetivo
Converter as respostas brutas das fontes no schema unificado e consolidar séries por símbolo/indicador e frequência em UTC.

# 3. Regras que você deve seguir para gerar sua resposta
- Converter todo timestamp para UTC em ISO-8601 preservando precisão de milissegundos quando disponível; incluir source_fuse com o fuso original.
- Aplicar mapping campo-a-campo conforme fornecido no input; quando o valor não existir, preencher null e incluir em flags_normalizacao: ['campo_ausente:campo'].
- Remover duplicidades mantendo o último registro por (provider, symbol, frequency, timestamp_utc) com critério: preferir payload com status_http 200 e página mais recente se houver reprocessamento.
- Ordenar registros por (symbol, frequency, timestamp_utc) e garantir monotonicidade de timestamps dentro de cada série; se houver inversão, reordenar e marcar flag 'reordenado_por_timestamp'.
- Não realizar conversão cambial; se currency diferir entre fontes para o mesmo símbolo, manter por provider e registrar aviso 'moedas_divergentes'.
- Inferir instrument_type quando possível a partir do símbolo ou do endpoint (ex.: FX, EQ, IDX, FUT, BOND, MACRO); se não inferível, definir 'UNKNOWN'.
- Unificar frequência com valores canônicos: TICK, 1MIN, 5MIN, 15MIN, 30MIN, 1H, 4H, 1D, 1W, 1M, MACRO; mapear rótulos da fonte para estes valores.
- Construir relatorio_lacunas por série com períodos sem dados dentro do intervalo solicitado, indicando janelas sem registros e provável motivo (mercado fechado, feriado, fonte_sem_cobertura, limite_endpoint). 
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 dados brutos em formato JSON obtidos de APIs financeiras e econômicas.
  • 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 até 80.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um conjunto de dados consolidado em formato JSON, seguindo o schema unificado especificado.
  • Exemplo de Estrutura de Output:
     {
      "dataset_consolidado": [
        {
          "provider": "finance_api",
          "symbol": "AAPL",
          "instrument_type": "EQ",
          "timestamp_utc_ISO8601": "2025-12-07T08:08:00.000Z",
          "open": 150.00,
          "high": 155.00,
          "low": 149.00,
          "close": 154.00,
          "volume": 1000000,
          "currency": "USD",
          "frequency": "1D",
          "calendar_type": "TRADING_DAYS",
          "source_fuse": "America/New_York",
          "qualidade_inicial": "alta",
          "flags_normalizacao": []
        }
      ],
      "dicionario_campos_unificado": {...},
      "relatorio_lacunas": {...}
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 30.000 caracteres, podendo variar conforme o volume e a complexidade dos dados consolidados.

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 normalização de dados.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

3.3.5 Memória

3.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Validação de Dados Financeiros e Econômicos (RF 4).

RF 4. Agente de Validação de Dados Financeiros e Econômicos

4.1 Tarefa do Agente

Aplicar checagens determinísticas de consistência e precisão, gerando score de qualidade e lista de anomalias por série.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um conjunto de dados consolidados no schema unificado, prontos para validação de consistência e precisão.

# 2. Objetivo
Aplicar checagens determinísticas de consistência e precisão, gerando score de qualidade e lista de anomalias por série.

# 3. Regras que você deve seguir para gerar sua resposta
- Validação estrutural: garantir presença de campos obrigatórios (provider, symbol, frequency, timestamp_utc); se ausente, descartar registro e registrar 'registro_inválido:campo_obrigatório_ausente'.
- Regras de faixa para OHLC: exigir high >= max(open, close) e low <= min(open, close); se violado, marcar 'ohlc_inconsistente' e reduzir score.
- Variação extrema: calcular retorno relativo r_t = (close_t / close_{t-1}) - 1 por série; se |r_t| > 0.25 para intraday ou > 0.15 para 1D/maiores, marcar 'salto_extremo'; se consecutivo por 3 pontos, marcar 'anomalia_sustentada'.
- Volume inválido: volume < 0 é inválido; volume = 0 em períodos com mercado aberto marcar 'volume_zero_mercado_aberto'.
- Dias úteis/calendário: para calendar_type='TRADING_DAYS', ausência de barras em janela de pregão indicar lacuna; para 'CALENDAR_DAYS', tolerar finais de semana; registrar 'compatível_com_calendário' true/false por lacuna.
- Cross-check entre fontes: quando houver múltiplos providers para a mesma série, comparar close por timestamp; se divergência absoluta > 0.1% para FX/IDX ou > 0.2% para EQ/FUT, marcar 'divergencia_entre_fontes'; se uma fonte recorrentemente divergir em >20% dos pontos, reduzir score do provider naquela série.
- Ajustes corporativos: se a fonte sinalizar corporate_actions (split/dividend), exigir consistência de OHLC ajustados ao longo da data do evento; se faltante, marcar 'ajuste_pendente'.
- Score de qualidade por série em escala 0–100 com pesos: integridade (30), consistência OHLC (20), divergência entre fontes (30), continuidade temporal (10), metadados completos (10). Definir score mínimo aceitável em 80; abaixo disso, classificar a série como 'revisão_necessária'. 
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 dados consolidados em formato JSON prontos para validação.
  • 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 até 40.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: O output deve ser um conjunto de dados validado em formato JSON, incluindo score de qualidade e lista de anomalias identificadas.
  • Exemplo de Estrutura de Output:
     {
      "dataset_validado": [
        {
          "provider": "finance_api",
          "symbol": "AAPL",
          "score_qualidade": 85,
          "flags_validacao": [],
          "anomalias_classificadas": []
        }
      ],
      "sumário_de_confiabilidade_por_série": {...},
      "sumário_de_confiabilidade_por_provider": {...}
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 20.000 caracteres, podendo variar conforme o número de anomalias e séries validadas.

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 validação de dados e cálculo de scores.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

4.3.5 Memória

4.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Cálculo de Atualização e Planejamento de Coletas (RF 5).

RF 5. Agente de Cálculo de Atualização e Planejamento de Coletas

5.1 Tarefa do Agente

Determinar periodicidade de atualização por tipo de dado, calcular próximas execuções e gerar novas requisições para backfill e incremental, respeitando janelas de mercado.

5.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um conjunto de dados validados com scores de qualidade, prontos para planejamento de atualizações.

# 2. Objetivo
Determinar periodicidade de atualização por tipo de dado, calcular próximas execuções e gerar novas requisições para backfill e incremental, respeitando janelas de mercado.

# 3. Regras que você deve seguir para gerar sua resposta
- Definir periodicidade base: intraday (1MIN/5MIN/15MIN) atualizar a cada 1–5 minutos conforme política_por_volatilidade; 1D atualizar após horário oficial de fechamento + buffer de 30–60 min; MACRO conforme calendário de divulgação informado.
- Respeitar horários de mercado: não gerar coletas intraday fora do pregão local salvo se a fonte fornecer barras pós/pré-mercado; incorporar fuso do mercado e converter janelas para UTC.
- Se houver feriados/calendários fornecidos, pular datas não úteis; se não houver, inferir finais de semana para calendar_type='TRADING_DAYS'.
- Calcular backlog desde a última_execução: gerar janelas faltantes sem sobreposição; priorizar janelas mais recentes primeiro, mas incluir limite máximo de backfill por ciclo conforme política (ex.: até 30 dias por execução para 1D).
- Se dataset_validado apresentar score_qualidade < 80 para uma série, aumentar frequência de atualização ou incluir fonte alternativa, registrando justificativa_periodicidade.
- Produzir requests_prontos para o incremento e backfill no mesmo formato do Agente de Preparação, incluindo paginação e rate limit; não executar chamadas.
- A saída deve conter next_runs_por_série com timestamps UTC precisos e razão da escolha (ex.: 'após fechamento B3 - 18:30 BRT + 45min'). 
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 dados validados em formato JSON prontos para planejamento de atualizações.
  • 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 até 50.000 caracteres.

5.3.2 Especificação do Output

  • Formato de output: O output deve ser um plano de atualização detalhado em formato JSON, incluindo próximas execuções e requisições preparadas para backfill e incrementos.
  • Exemplo de Estrutura de Output:
     {
      "plano_de_atualização": {
        "next_runs_por_série": {
          "AAPL": "2025-12-07T20:00:00Z"
        },
        "justificativa_periodicidade": "Alta volatilidade detectada",
        "backlog_de_janelas": [...],
        "requests_prontos_incrementais": [...],
        "métricas_de_cobertura_atual": {...}
      }
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 15.000 caracteres, podendo variar conforme o número de séries e detalhes de planejamento.

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 planejamento de atualizações.
  • 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 outros agentes.
  • Visibilidade da Resposta: A resposta gerada por este agente é o resultado final do fluxo.

5.3.6 Regras de Orquestração e Transição

A execução deste agente finaliza o fluxo. O plano de atualização gerado é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.