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 desenvolvimento do agente de IA "Otimização de Taxas de Transação". 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 é analisar diferentes opções de processamento de pagamento para identificar as mais econômicas, comparar taxas de transação e custos operacionais associados a cada opção, e recomendar estratégias para otimizar taxas e reduzir custos gerais.
2. Contexto e Problema
Problemas Específicos
O agente foi projetado para resolver problemas comuns enfrentados por empresas que lidam com custos elevados associados a taxas de transação e a falta de análise comparativa entre diferentes opções de processamento de pagamento.
- Custos elevados associados a taxas de transação.
- Falta de análise comparativa entre diferentes opções de processamento de pagamento.
3. Impactos Esperados
A implementação deste agente visa alcançar os seguintes resultados:
- Reduzir custos operacionais através da otimização de taxas de transação.
- Facilitar a tomada de decisão ao fornecer uma análise comparativa detalhada das opções de processamento de pagamento.
- Melhorar a eficiência financeira ao recomendar estratégias personalizadas para otimização de taxas.
4. Visão Geral da Solução
O agente de IA para otimização de taxas de transação processa dados financeiros e de transação, aplica regras de análise comparativa e gera recomendações estratégicas para otimização de custos. 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 otimização de taxas de transação.
A solução consiste em um fluxo de automação composto por vários agentes de IA. O processo inicia com a validação e normalização de dados de tarifas e termina com a recomendação de estratégias de otimização.
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, conforme detalhado após a tabela.
| Agentes | Função Principal |
|---|---|
Agente de Validação e Normalização de Dados de Tarifas | Validar, padronizar e enriquecer os dados de tarifas de processadores de pagamento e o perfil operacional do lojista. |
Agente de Simulação de Custos e Análise Comparativa | Calcular o custo total mensal, taxa efetiva e sensibilidade por processador. |
Agente de Estratégia e Recomendações de Otimização | Sintetizar recomendações acionáveis para reduzir custos. |
Agente de Busca Online de Tarifas Públicas (Opcional) | Realizar busca online para coletar tarifas públicas de processadores. |
Agente de Análise de Resultados de Busca (Opcional) | Estruturar e validar os resultados da busca online em um catálogo de tarifas. |
Agente de Execução de Chamada à API de PSP (Opcional) | Realizar chamada à API de um PSP para obter tarifas ou simulações oficiais. |
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 Validação e Normalização de Dados de Tarifas
1.1 Tarefa do Agente
Validar, padronizar e enriquecer os dados de tarifas de processadores de pagamento e o perfil operacional do lojista para habilitar análise comparativa consistente.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com dados de tarifas de processadores de pagamento e o perfil operacional do lojista.
# 2. Objetivo
Validar, padronizar e enriquecer os dados recebidos para habilitar uma análise comparativa consistente.
# 3. Regras que você deve seguir para gerar sua resposta
- Consistência de moeda: se processor.currency != merchant_profile.base_currency e não houver fx_rates compatível, definir normalization_status: blocked e preencher missing_fx_pairs com {from, to} necessários; não converter valores nessa condição.
- Derivação de GMV: se monthly_gmv ausente e avg_ticket e monthly_transactions presentes, calcular monthly_gmv = avg_ticket*monthly_transactions (2 casas decimais). Registrar hipótese em assumptions.
- Normalização numérica: converter todos percentuais informados em % para fração decimal no catálogo normalizado (ex.: 2,3% -> 0.023). Valores fixos manter em moeda base.
- Pricing model: manter fiel ao informado e marcar em normalized_fee_catalog.pricing_model. Se blended e assessment_percent fornecido, mover assessment_percent para notes e não somar duas vezes nas etapas seguintes.
- Volume tiers: ordenar por min ascendente, validar sobreposição (se houver, marcar warnings e priorizar o primeiro intervalo definido).
- Campos obrigatórios por processador: name, pricing_model, settlement_currency (se ausente, assumir igual a processor.currency e registrar em assumptions); pelo menos um entre mdr_percent ou interchange_table_ref (se ambos ausentes, acrescentar em missing_fields e marcar normalization_status: warnings).
- Perfil: share_by_brand e share_by_country devem somar 1,00 (100%). Se somarem fora de tolerância de ±0,01, normalizar proporcionalmente e registrar em assumptions.
- Rolling reserve: se rolling_reserve_percent informado e rolling_reserve_release_days ausente, assumir 90 dias e registrar em assumptions.
- Output ordenado: normalized_fee_catalog ordenado por name asc para reprodutibilidade. 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 de tarifas e perfil operacional 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: JSON contendo dados de tarifas de processadores e perfil operacional do lojista.
-
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é 15.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: JSON com: normalization_status [ok|blocked|warnings]; normalized_fee_catalog[]; normalized_merchant_profile; missing_fields[]; missing_fx_pairs[]; assumptions[]; constraints_detected[].
- Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 10.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
- 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 Simulação de Custos e Análise Comparativa (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Simulação de Custos e Análise Comparativa (RF 2).
RF 2. Agente de Simulação de Custos e Análise Comparativa
2.1 Tarefa do Agente
Calcular o custo total mensal, taxa efetiva e sensibilidade por processador, aplicando o perfil operacional normalizado e as regras de precificação de cada modelo.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON com dados normalizados de tarifas e perfil operacional do lojista. # 2. Objetivo Calcular o custo total mensal, taxa efetiva e sensibilidade por processador. # 3. Regras que você deve seguir para gerar sua resposta - Definições base: GMV = normalized_merchant_profile.monthly_gmv; TX = normalized_merchant_profile.monthly_transactions; intl_share = share_by_country.international; dom_share = share_by_country.domestic. - Modelo blended: variable_cost = GMV*(mdr_percent_dom*dom_share + (mdr_percent_int*intl_share + cross_border_surcharge_percent*intl_share)). Se mdr_percent único, aplicar em todo GMV. fixed_tx_cost = TX*fixed_fee. monthly_fees = monthly_fee + gateway_monthly_fee. - Interchange plus: variable_cost = GMV*(assessment_percent + markup_percent) + GMV*interchange_medio. O valor de interchange_medio deve ser fornecido via interchange_table_ref ou campo direto; se ausente, registrar metodologia_notes e tratar markup_percent + assessment_percent como mdr efetivo provisório. - Tiered: aplicar tier_rules por faixas de ticket. Determinar distribuição de tickets assumindo tudo no avg_ticket, salvo se distribution[] no input. Se houver volume_tiers, selecionar o tier cujo intervalo contemple GMV/TX conforme política informada. - Cross-border: adicionar cross_border_cost = GMV*intl_share*cross_border_surcharge_percent + TX*intl_share*cross_border_fixed_fee (quando fornecidos). - FX markup: se settlement_currency != base_currency para transações internacionais, fx_markup_cost = GMV*intl_share*fx_markup_percent. - Chargebacks: chargeback_cost = TX*chargeback_rate*chargeback_fee. - Rolling reserve (custo de capital): reserve_cost = GMV*rolling_reserve_percent*(cost_of_capital_annual_percent/365)*rolling_reserve_release_days. Se algum parâmetro ausente, considerar 0 e registrar metodologia_notes. - Total: total_cost = variable_cost + fixed_tx_cost + monthly_fees + chargeback_cost + cross_border_cost + fx_markup_cost + reserve_cost. effective_rate = total_cost/GMV (quatro casas decimais, em fração). - Sensibilidade: recalcular effective_rate para avg_ticket ±10% mantendo GMV ou TX? Aplicar variação em avg_ticket ajustando TX = GMV/avg_ticket para manter GMV constante. Para international_share, variar ±10 p.p. dentro [0,1]. - Break-even: para cada par de processadores, calcular limiar de avg_ticket onde total_cost_a = total_cost_b mantendo GMV constante; se não houver solução no domínio positivo, omitir o ponto. - Saída ordenada por effective_rate asc; incluir methodology_notes descrevendo hipóteses aplicadas por processador.
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: JSON do Agente 1 com normalization_status: ok; normalized_fee_catalog[]; normalized_merchant_profile; fx_rates (se necessário para liquidação); assumptions[].
-
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é 15.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: JSON com: comparison[] por processador {name, total_cost, effective_rate, cost_breakdown {variable_cost, fixed_tx_cost, monthly_fees, chargeback_cost, cross_border_cost, fx_markup_cost, reserve_cost}, methodology_notes[]}; sensitivity {avg_ticket {minus10, base, plus10}, international_share {minus10pp, base, plus10pp}}; break_even[] {processor_a, processor_b, metric, threshold_value, context}; comparison_ranked (ordenado por effective_rate asc).
- Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 15.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 gerada por este agente deve ser visível para o Agente de Estratégia e Recomendações de Otimização (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Estratégia e Recomendações de Otimização (RF 3).
RF 3. Agente de Estratégia e Recomendações de Otimização
3.1 Tarefa do Agente
Sintetizar recomendações acionáveis para reduzir custos: seleção de processadores, regras de roteamento e alavancas de negociação, com estimativa de economia.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON com análise comparativa de custos e sensibilidade por processador.
# 2. Objetivo
Sintetizar recomendações acionáveis para reduzir custos e otimizar taxas de transação.
# 3. Regras que você deve seguir para gerar sua resposta
- Estado dos dados: se não houver comparison_ranked, retornar status: pendente_dados com instrução para executar Agente 2.
- Seleção primária: escolher o processador de menor effective_rate garantindo não violar constraints_detected ou ausência de features relevantes; se o atual for top-1 com diferença < 5 bps para o top-1, recomendar renegociação em vez de troca.
- Roteamento: propor regras por segmento quando o delta de effective_rate entre melhor e segundo melhor exceder 5 bps e volume do segmento >= 10% do GMV. Segmentos mínimos: {bandeira}, {país: domestic/international}, {faixa de ticket: abaixo/do/limiar_break_even}. Formular condicao de forma determinística (ex.: if brand == 'Visa' and country == 'international' then route -> X).
- Negociação: identificar campos com maior contribuição no cost_breakdown (mdr_percent, fixed_fee, cross_border_surcharge_percent, chargeback_fee). Sugerir alvo_sugerido = min(valor_atual, percentil_melhor=best_value_no_market) quando disponível; impacto_bps = (diferença_no_campo_aplicada_ao_GMV)*10000/GMV.
- KPIs: incluir pelo menos {effective_rate_mensal, custo_por_transacao, chargeback_rate, gmv_internacional_share}. Definir fórmula textual clara e periodicidade mensal.
- Economia: current_effective_rate = effective_rate do current_processor_name se presente, senão usar média ponderada dos top-3. recommended_effective_rate = effective_rate do primary_processor sob estratégia proposta. absolute_savings = (current_effective_rate - recommended_effective_rate)*GMV. relative_savings = absolute_savings/(current_effective_rate*GMV).
- Checklist: incluir etapas de contrato, certificação técnica, testes de liquidação e monitoramento pós-go-live de 2 ciclos. 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: JSON do Agente 2 com comparison_ranked, sensitivity, break_even e normalized_merchant_profile (incluindo current_processor_name).
-
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é 15.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: JSON com: strategy {primary_processor, secondary_processor, routing_rules[] {segmento, condicao, dest_processor, rational}, negotiation_points[] {campo, valor_atual, alvo_sugerido, impacto_bps}, kpis[] {nome, formula, meta, periodicidade}, implementation_checklist[], risk_notes[]}; savings_estimate {current_effective_rate, recommended_effective_rate, absolute_savings, relative_savings}.
- Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 15.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: Este é o último agente do fluxo principal. A resposta gerada é considerada o entregável final.
3.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo principal de otimização de taxas de transação.