Agente de IA para Previsão de Uso de Benefícios

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

Como criar um agente de IA que prevê o uso de benefícios com base em dados históricos.

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 "Previsão de Uso de Benefícios", uma solução projetada para prever o uso de benefícios com base em dados históricos e auxiliar na alocação eficiente de recursos. 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 é utilizar dados históricos para prever o uso de benefícios, auxiliar na alocação eficiente de recursos e fornecer insights para otimização dos recursos disponíveis.

2. Contexto e Problema

Problemas Específicos

A previsão de uso de benefícios é complexa e sujeita a erros sem ferramentas adequadas. A alocação ineficiente de recursos pode levar a desperdícios, e os dados históricos de uso de benefícios são frequentemente subutilizados.

  • Previsão de uso de benefícios é complexa e sujeita a erros sem ferramentas adequadas.
  • Alocação ineficiente de recursos pode levar a desperdícios.
  • Dados históricos de uso de benefícios são subutilizados.

3. Impactos Esperados

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

  • Melhorar a precisão das previsões de uso de benefícios.
  • Otimizar a alocação de recursos com base nas previsões geradas.
  • Aumentar a eficiência no uso de recursos disponíveis.

4. Visão Geral da Solução

O agente de IA para previsão de uso de benefícios processa dados históricos, aplica técnicas de análise preditiva e gera recomendações para otimização de recursos. 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 previsão de uso de benefícios e alocação de recursos.

A solução consiste em um fluxo de automação composto por 2 agentes de IA. O processo inicia com a preparação e normalização dos dados de benefícios e termina com a geração de previsões e recomendações de alocação de recursos.

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

Agentes Função Principal
Agente de Preparação e Normalização de Dados de Benefícios (RF 1) Validar, limpar e padronizar os dados históricos de uso de benefícios.
Agente de Previsão de Uso e Recomendação de Alocação de Recursos (RF 2) Gerar previsões de uso de benefícios e produzir recomendações de alocação de recursos.

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 e Normalização de Dados de Benefícios

1.1 Tarefa do Agente

Validar, limpar e padronizar os dados históricos de uso de benefícios recebidos, estruturando um dataset consistente para análise e previsão.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados históricos de uso de benefícios em formato CSV ou JSON. Esses dados contêm registros de uso de benefícios ao longo do tempo.

# 2. Objetivo
Validar, limpar e padronizar os dados históricos de uso de benefícios, estruturando um dataset consistente para análise e previsão.

# 3. Regras que você deve seguir para gerar sua resposta
- Detecte o delimitador do CSV (',' ';' ou tab) e cabeçalho; se JSON, valide presença de chaves mínimas: beneficio_id, data, quantidade_uso.
- Padronize datas para ISO (YYYY-MM-DD). Se vier apenas ano-mês, defina dia como '01' e marque granularidade como 'mes'.
- Determine a granularidade dominante pela moda entre 'dia', 'semana', 'mes', 'trimestre'. Se heterogênea, converta tudo para a granularidade mais agregada presente entre os registros, preservando soma de quantidade_uso e média de custo_unitario quando houver.
- Normalize identificadores: trim em strings; upper/lowercase consistente em beneficio_id; se beneficio_nome faltar mas houver beneficio_id, mantenha nome como null.
- Trate valores inválidos: converta quantidade_uso negativa para null e registre em erros com id do registro; remova registros com data futura além de hoje + 1 período da granularidade.
- Outliers óbvios: se quantidade_uso > p99.5 do benefício na série, marque alerta 'possivel_outlier' no registro; não exclua, apenas sinalize.
- Preencha ausências de períodos: gere períodos faltantes por benefício com quantidade_uso = 0 quando granularidade for mês ou semana e houver hiatos internos entre periodo_inicial e periodo_final; não extrapole antes do primeiro nem após o último ponto observado.
- Consolidar duplicidades: se houver múltiplos registros do mesmo benefício no mesmo período, agregue quantidade_uso por soma; capacidade_disponivel por média; beneficiarios_ativos por média.
- Calcule meta.cobertura_percentual = (n_periodos_com_dado / n_periodos_esperados) por benefício e como média global; inclua alerta se cobertura < 70%.
- Saída deve ser determinística: ordene dataset_normalizado por beneficio_id, depois por periodo crescente; inclua arrays erros/alertas com códigos: {codigo, mensagem, beneficio_id, periodo}. 
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 históricos de uso de benefícios 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 de um arquivo CSV ou JSON na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um arquivo CSV ou JSON contendo registros de uso de benefícios.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .csv, .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 um JSON estruturado com o dataset normalizado e informações de validação.
  • Exemplo de Estrutura de Output:
     {
      "status_validacao": "ok",
      "erros": [],
      "alertas": [],
      "dataset_normalizado": [
        {"beneficio_id": "b001", "beneficio_nome": "Benefício A", "periodo": "2025-01", "granularidade": "mes", "unidade": "uso", "quantidade_uso": 150, "beneficiarios_ativos": null, "capacidade_disponivel": null, "custo_unitario": null}
      ],
      "meta": {
        "periodo_inicial": "2025-01",
        "periodo_final": "2025-12",
        "granularidade_dominante": "mes",
        "cobertura_percentual": 100.0,
        "timezone_aplicada": "America/Sao_Paulo"
      }
    } 
  • Número de caracteres esperado: O JSON final deve ter um tamanho estimado em torno de 5.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

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

Ao concluir sua execução, esse agente aciona o Agente de Previsão de Uso e Recomendação de Alocação de Recursos (RF 2).

RF 2. Agente de Previsão de Uso e Recomendação de Alocação de Recursos

2.1 Tarefa do Agente

Gerar previsões de uso de benefícios com base no histórico normalizado e produzir recomendações práticas de alocação de recursos e insights acionáveis.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um dataset normalizado de uso de benefícios e metadados associados. Esses dados foram previamente validados e estruturados.

# 2. Objetivo
Gerar previsões de uso de benefícios com base no histórico normalizado e produzir recomendações práticas de alocação de recursos e insights acionáveis.

# 3. Regras que você deve seguir para gerar sua resposta
- Utilize apenas o dataset_normalizado recebido; não reabrir CSVs nem fontes externas.
- Defina a granularidade final pela entrada: granularidade_forcada, se informada; caso contrário use meta.granularidade_dominante.
- Horizonte padrão: 3 períodos à frente; se histórico < 6 períodos úteis por benefício, limite o horizonte a 1 e adicione insight 'amostra_insuficiente'.
- Tendência: calcule variação média recente usando os últimos min(6, 50%) períodos do benefício; projete crescimento/queda aplicando a taxa média aos próximos períodos. Se a taxa for instável (desvio padrão > 1.5x média absoluta), reduza-a pela metade e registre insight 'tendencia_instavel'.
- Sazonalidade: se granularidade for mês ou semana e houver pelo menos 2 ciclos completos (24 meses ou 104 semanas não são exigidos; aceite 12 meses ou 52 semanas), estime um índice sazonal por posição no ciclo comparando com a média móvel; aplique o índice aos períodos futuros correspondentes; se não houver ciclos completos, não aplique e registre 'sazonalidade_nao_confiavel'.
- Intervalos: calcule intervalo_baixo e intervalo_alto como uso_previsto ± max(10%, desvio_relativo_medio) do benefício; nunca negativos; arredonde para 2 casas decimais.
- Capacidade: se existir capacidade_disponivel histórica, estime capacidade de referência como a média dos últimos 3 períodos válidos. Politicas:
  - 'manter': capacidade_recomendada = capacidade_referencia.
  - 'ajustar': capacidade_recomendada = min(max(uso_previsto, 0), uso_previsto * 1.1) para acomodar pico moderado; ajuste_percentual = (capacidade_recomendada/capacidade_referencia - 1) quando referência existir; se não existir, deixe null e crie insight 'capacidade_sem_referencia'.
  - 'ignorar': não calcule capacidade, deixe campos como null.
- Custo: se custo_unitario existir para o benefício, custo_estimado_periodo = uso_previsto * custo_unitario_medio_ultimos_3; se limite_orcamentario_total for informado, calcule soma dos custos e gere insight 'estouro_orcamentario' quando exceder; sugira redução proporcional nos benefícios com menor prioridade.
- Priorização: prioridade 5 para benefícios com pesos_criticidade >=4 ou crescimento previsto > 15% e cobertura de dados >= 80%; prioridade 1 para cobertura < 50% ou queda > 20% com baixa criticidade (<3). Intermediários recebem prioridade 2–4 conforme combinação de crescimento e criticidade.
- Qualidade de dados: reporte cobertura_percentual_global da meta; liste beneficios_com_outliers se >1% dos registros marcados com 'possivel_outlier'; liste beneficios_com_baixa_amostra quando n_periodos_validos < 6.
- Insights obrigatórios possíveis: ['amostra_insuficiente', 'tendencia_instavel', 'sazonalidade_nao_confiavel', 'capacidade_sem_referencia', 'estouro_orcamentario', 'cobertura_baixa'] com mensagens claras e contexto (benefício e período quando aplicável).
- Determinismo: ordene previsoes e plano_alocacao por beneficio_id e periodo crescente; não gere texto livre extenso fora do campo insights; todas as quantias numéricas com 2 casas decimais.
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 um JSON estruturado contendo o dataset normalizado e informações de metadados.
  • 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.

2.3.2 Especificação do Output

  • Formato de output: O output deve ser um JSON contendo previsões de uso de benefícios e recomendações de alocação de recursos.
  • Exemplo de Estrutura de Output:
     {
      "previsoes": [
        {"beneficio_id": "b001", "periodo": "2025-02", "granularidade": "mes", "uso_previsto": 160.00, "intervalo_baixo": 144.00, "intervalo_alto": 176.00}
      ],
      "plano_alocacao": [
        {"beneficio_id": "b001", "periodo": "2025-02", "capacidade_recomendada": 160.00, "ajuste_percentual": 0.00, "custo_estimado_periodo": 3200.00, "prioridade": 5}
      ],
      "insights": [
        {"tipo": "amostra_insuficiente", "mensagem": "Amostra histórica insuficiente para previsões confiáveis.", "beneficio_id": "b002", "periodo": null}
      ],
      "premissas": ["Horizonte de previsão: 3 períodos", "Granularidade: mês"],
      "qualidade_dados": {"cobertura_percentual_global": 85.0, "beneficios_com_outliers": ["b003"], "beneficios_com_baixa_amostra": ["b002"]}
    } 
  • Número de caracteres esperado: O JSON gerado deve ter um tamanho estimado em torno de 8.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: 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 (JSON com previsões e recomendações) é o entregável final e não é passada para outros agentes internos.

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

A execução deste agente finaliza o fluxo. O JSON gerado com previsões e recomendações é o resultado que deve ser disponibilizado ao usuário.

© 2025 prototipe.ai. Todos os direitos reservados.