Agente de IA para Análise de Uso e Consumo de Vale-Transporte

29 de November de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que analisa os dados de uso dos cartões de vale-transporte.

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, consulta a documentos e demais requisitos funcionais para o Fluxo de Agentes "Análise de Uso e Consumo de Vale-Transporte", uma solução de automação projetada para analisar dados de uso dos cartões de vale-transporte e identificar padrões de consumo. 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 o input de dados de uso em insights sobre padrões de consumo, sugerindo otimizações no serviço de transporte.

2. Contexto e Problema

Cenário Atual

Atualmente, as empresas de transporte enfrentam dificuldades em obter insights precisos sobre o uso dos cartões de vale-transporte. Isso se deve à falta de análise detalhada dos dados de uso, o que impede a identificação de padrões de consumo que poderiam otimizar o serviço.


Problemas Identificados

  • Falta de insights: A ausência de uma análise detalhada impede a identificação de padrões de consumo.
  • Dificuldade em otimizar o serviço: Sem a identificação de padrões, é difícil propor otimizações eficientes.

3. Impactos Esperados

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

  • Identificação de padrões de consumo para otimizar o serviço de transporte.
  • Propostas de otimizações baseadas em dados concretos, aumentando a eficiência do serviço.

4. Visão Geral da Solução

O agente de IA para análise de uso e consumo de vale-transporte processa dados de uso dos cartões, identifica padrões de consumo e sugere otimizações no serviço. 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 dos dados de vale-transporte.

A solução consiste em um fluxo de automação composto por 3 agentes de IA. O processo inicia com a consolidação dos dados de uso e termina com a geração de um relatório executivo com insights e recomendações.

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

Agentes Função Principal
Agente de Profiling e Métricas de Consumo de Vale-Transporte (RF 1) Consolidar dados brutos de uso, computar KPIs e padrões de consumo, detectar anomalias e oportunidades de otimização.
Agente de Preparação de Camadas GeoJSON de Demanda (Condicional) (RF 2) Gerar camadas GeoJSON para hotspots de embarque e fluxos OD, preservando privacidade.
Agente de Síntese e Recomendações de Otimização do Serviço (RF 3) Converter métricas e camadas espaciais em relatório executivo com insights e recomendações.

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 Profiling e Métricas de Consumo de Vale-Transporte

1.1 Tarefa do Agente

Consolidar dados brutos de uso de cartões de vale-transporte, computar KPIs e padrões de consumo temporal/espacial, detectar anomalias operacionais e oportunidades de otimização, retornando um JSON único e padronizado para consumo por agentes seguintes.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados brutos de uso de cartões de vale-transporte em formato tabular. Este é o registro detalhado das transações de uso dos cartões.

# 2. Objetivo
Consolidar os dados de uso, computar KPIs e padrões de consumo, detectar anomalias e sugerir oportunidades de otimização.

# 3. Regras que você deve seguir para gerar sua resposta
- Analise os dados para identificar padrões de consumo.
- Sugira otimizações no serviço com base nos padrões identificados.
- Retorne um JSON padronizado com as métricas e insights gerados.

# 4. Exemplo de Output que você deve produzir
{
  "periodo_analisado": {"inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD"},
  "kpis_gerais": {"usuarios_ativos": 0, "cartoes_ativos": 0, "viagens_totais": 0, "taps_in": 0, "taps_out": 0, "recharges": 0, "ticket_medio_viagem": 0.0},
  "padroes_tempo": {"uso_por_hora": [{"hora": 0, "taps": 0}], "uso_por_dia_semana": [{"dia_semana": "seg", "taps": 0}], "sazonalidade_semana": [{"data": "YYYY-MM-DD", "taps": 0}]},
  "padroes_rotas": {"uso_por_rota": [{"route_id": "", "taps": 0}], "top_rotas": [{"route_id": "", "participacao_percentual": 0.0}]},
  "pontos_e_integracoes": {"top_embarques": [{"stop_id": "", "taps": 0}], "taxa_transferencia": 0.0, "janelas_transferencia": {"minutos": 90, "metodo": "tempo_e_proximidade"}},
  "segmentacoes": {"por_faixa_horaria": [{"faixa": "pico_manha", "taps": 0}], "por_perfil_usuario": [{"perfil": "indeterminado", "taps": 0}]},
  "anomalias": {"retaps_curto_intervalo": [{"card_id": "", "intervalo_segundos": 0}], "velocidade_impossivel": [{"card_id": "", "velocidade_kmh": 0.0}], "uso_simultaneo_mesmo_cartao": [{"card_id": "", "eventos": 0}], "taps_duplicados": 0},
  "oportunidades": {"inatividade_cartoes": [{"card_id": "", "dias_inativo": 0}], "quebra_saldo_aparente": {"metodo": "proxy", "valor_medio_nao_usado": 0.0}},
  "flags": {"possui_geolocalizacao": false, "possui_tap_out": false, "qualidade_timestamp": "boa|razoavel|ruim"}
}
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 arquivo de dados de uso de vale-transporte via API. Na fase de testes, os dados serão enviados diretamente por upload do arquivo na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: O input inicial para o fluxo é um arquivo de dados tabulares, que pode ser em formato .csv, .xlsx ou JSON.
  • Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos: .csv, .xlsx, .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 arquivo JSON que estrutura as métricas, padrões de consumo e oportunidades de otimização identificadas.
  • Exemplo de Estrutura de Output:
     {
      "periodo_analisado": {"inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD"},
      "kpis_gerais": {"usuarios_ativos": 0, "cartoes_ativos": 0, "viagens_totais": 0, "taps_in": 0, "taps_out": 0, "recharges": 0, "ticket_medio_viagem": 0.0},
      "padroes_tempo": {"uso_por_hora": [{"hora": 0, "taps": 0}], "uso_por_dia_semana": [{"dia_semana": "seg", "taps": 0}], "sazonalidade_semana": [{"data": "YYYY-MM-DD", "taps": 0}]},
      "padroes_rotas": {"uso_por_rota": [{"route_id": "", "taps": 0}], "top_rotas": [{"route_id": "", "participacao_percentual": 0.0}]},
      "pontos_e_integracoes": {"top_embarques": [{"stop_id": "", "taps": 0}], "taxa_transferencia": 0.0, "janelas_transferencia": {"minutos": 90, "metodo": "tempo_e_proximidade"}},
      "segmentacoes": {"por_faixa_horaria": [{"faixa": "pico_manha", "taps": 0}], "por_perfil_usuario": [{"perfil": "indeterminado", "taps": 0}]},
      "anomalias": {"retaps_curto_intervalo": [{"card_id": "", "intervalo_segundos": 0}], "velocidade_impossivel": [{"card_id": "", "velocidade_kmh": 0.0}], "uso_simultaneo_mesmo_cartao": [{"card_id": "", "eventos": 0}], "taps_duplicados": 0},
      "oportunidades": {"inatividade_cartoes": [{"card_id": "", "dias_inativo": 0}], "quebra_saldo_aparente": {"metodo": "proxy", "valor_medio_nao_usado": 0.0}},
      "flags": {"possui_geolocalizacao": false, "possui_tap_out": false, "qualidade_timestamp": "boa|razoavel|ruim"}
    }
  • Número de caracteres esperado: O JSON gerado 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 Preparação de Camadas GeoJSON de Demanda (RF 2), caso a condição de geolocalização seja atendida.

RF 2. Agente de Preparação de Camadas GeoJSON de Demanda (Condicional)

2.1 Tarefa do Agente

Gerar camadas GeoJSON agregadas para hotspots de embarque e fluxos OD (quando inferíveis), preservando privacidade e retornando estrutura padronizada para visualização.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON de métricas produzido pelo Agente de Profiling com geolocalização ativada.

# 2. Objetivo
Gerar camadas GeoJSON para visualização de hotspots de embarque e fluxos OD.

# 3. Regras que você deve seguir para gerar sua resposta
- Usar WGS84 (EPSG:4326) para coordenadas.
- Aplicar k-anonimato para privacidade.
- Retornar um GeoJSON estruturado para visualização.

# 4. Exemplo de Output que você deve produzir
{
  "hotspots_embarque": {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-43.2, -22.9]}, "properties": {"taps": 120, "hora": 8}}]},
  "fluxos_od": {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "LineString", "coordinates": [[-43.2, -22.9], [-43.3, -22.95]]}, "properties": {"viagens": 85}}]},
  "metadados": {"grid": "hex_500m", "privacidade_k_min": 8, "periodo": {"inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD"}}
}
2.3 Configurações do Agente

2.3.1 Condições de Ativação

Este agente é acionado somente se a seguinte condição for atendida:

2.3.2 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado condicionalmente após a conclusão do agente anterior (RF 1), apenas se a geolocalização estiver ativada.
  • Tipo do input: Este agente deve ser apto a receber o objeto JSON de métricas do agente anterior, acompanhado do dataset original contendo dados de geolocalização.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 50.000 caracteres.

2.3.3 Especificação do Output

  • Formato de output: O output deve ser um arquivo no formato GeoJSON contendo as camadas de hotspots de embarque e fluxos OD.
  • Exemplo de Estrutura de Output:
     {
      "hotspots_embarque": {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-43.2, -22.9]}, "properties": {"taps": 120, "hora": 8}}]},
      "fluxos_od": {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "LineString", "coordinates": [[-43.2, -22.9], [-43.3, -22.95]]}, "properties": {"viagens": 85}}]},
      "metadados": {"grid": "hex_500m", "privacidade_k_min": 8, "periodo": {"inicio": "YYYY-MM-DD", "fim": "YYYY-MM-DD"}}
    }
  • Número de caracteres esperado: O GeoJSON gerado deve ter um tamanho estimado em torno de 6.000 caracteres.

2.3.4 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

2.3.5 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.6 Memória

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

Ao concluir sua execução, esse agente aciona o Agente de Síntese e Recomendações de Otimização do Serviço (RF 3).

RF 3. Agente de Síntese e Recomendações de Otimização do Serviço

3.1 Tarefa do Agente

Converter métricas e camadas espaciais em relatório executivo conciso com insights acionáveis e recomendações priorizadas para otimização do serviço de transporte.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um objeto JSON com métricas e, opcionalmente, camadas GeoJSON de demanda.

# 2. Objetivo
Gerar um relatório executivo com insights e recomendações de otimização do serviço.

# 3. Regras que você deve seguir para gerar sua resposta
- Baseie-se nas métricas e camadas para formular recomendações.
- Estruture o relatório em seções claras e concisas.
- Destaque pelo menos 2 quick wins (alto impacto, baixo esforço).

# 4. Exemplo de Output que você deve produzir
# Relatório de Uso e Consumo de Vale-Transporte\n\n## Sumário Executivo\n- Período analisado: YYYY-MM-DD a YYYY-MM-DD\n- Principais KPIs: ...\n\n## Padrões de Consumo\n- Por hora do dia: ...\n- Por dia da semana: ...\n- Por rotas e paradas: ...\n\n## Transferências e Integração\n- Taxa de transferência: ...\n- Janela aplicada: ...\n\n## Anomalias e Riscos\n- Retaps de curto intervalo: ...\n- Velocidades impossíveis: ...\n\n## Oportunidades\n- Inatividade de cartões: ...\n- Quebra potencial de saldo (proxy): ...\n\n## Evidências Espaciais (quando disponível)\n- Hotspots de embarque: ...\n- Fluxos OD: ...\n\n## Recomendações Priorizadas (Impacto x Esforço)\n1. [Título] — Impacto: Alto | Esforço: Baixo — Métrica-alvo: ... — Justificativa: ...\n2. ...\n\n## Próximos Passos\n- Testes A/B e pilotos: ...\n- Métricas de sucesso: ...
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 um objeto JSON com métricas e, opcionalmente, camadas GeoJSON.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 60.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: O output deve ser um relatório em formato Markdown, estruturado com seções claras e concisas, contendo insights e recomendações baseadas nas métricas e camadas recebidas.
  • Exemplo de Estrutura de Output:
     # Relatório de Uso e Consumo de Vale-Transporte\n\n## Sumário Executivo\n- Período analisado: YYYY-MM-DD a YYYY-MM-DD\n- Principais KPIs: ...\n\n## Padrões de Consumo\n- Por hora do dia: ...\n- Por dia da semana: ...\n- Por rotas e paradas: ...\n\n## Transferências e Integração\n- Taxa de transferência: ...\n- Janela aplicada: ...\n\n## Anomalias e Riscos\n- Retaps de curto intervalo: ...\n- Velocidades impossíveis: ...\n\n## Oportunidades\n- Inatividade de cartões: ...\n- Quebra potencial de saldo (proxy): ...\n\n## Evidências Espaciais (quando disponível)\n- Hotspots de embarque: ...\n- Fluxos OD: ...\n\n## Recomendações Priorizadas (Impacto x Esforço)\n1. [Título] — Impacto: Alto | Esforço: Baixo — Métrica-alvo: ... — Justificativa: ...\n2. ...\n\n## Próximos Passos\n- Testes A/B e pilotos: ...\n- Métricas de sucesso: ...
  • Número de caracteres esperado: O relatório gerado deve ter um tamanho estimado em torno de 10.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: Não utiliza.
  • 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 é o entregável final e não é passada para outros agentes internos.

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

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

© 2025 prototipe.ai. Todos os direitos reservados.