Workflow orientado a IA (agent) responsável por:
-
Ler o texto da solicitação do cliente.
-
Considerar a decisão de política já tomada pelo
MotorPoliticasPosVenda. -
Montar um plano estruturado de ações e uma resposta sugerida para o cliente.
-
Indicar se o caso deve ser escalado para supervisor.
Importante: este workflow não altera a política (
ELEGIVEL,VALOR_REEMBOLSO,RESTRICOES).
Ele apenas planeja como tratar o caso e como comunicar, com base nessas decisões.
Dado:
-
o texto da solicitação do cliente
-
o tipo de solicitação, motivo e decisão de política (saída do Filho A)
O workflow:
- Usa IA para analisar o contexto, o tom e o histórico da decisão.
- Define um conjunto de ações estruturadas a serem tomadas (reembolso, voucher, tag, remarcação, etc.).
- Gera uma mensagem de resposta sugerida para o cliente.
- Decide se o caso deve ou não ser escalado para um supervisor.
Esse workflow será exportado como um Component e chamado pelo Workflow Pai OrquestradorPosVenda.
O workflow AgentePlanoResolucao recebe, como entrada, o output do Filho A + o texto original do cliente:
{
"texto_solicitacao": "string",
"TIPO_SOLICITACAO": "string",
"MOTIVO": "string",
"ELEGIVEL": true,
"VALOR_REEMBOLSO": 0,
"CODIGO_REGRA_APLICADA": "string",
"RESTRICOES": "string or null"
}-
texto_solicitacao (string)
Texto livre da mensagem enviada pelo cliente. -
TIPO_SOLICITACAO (string)
Tipo da solicitação, conforme classificado pelo Filho A.
Exemplos:REEMBOLSO,REMARCACAO,RECLAMACAO_SERVICO, etc. -
MOTIVO (string)
Motivo formalizado, em formato de código.
Exemplos:CANCELAMENTO_CLIENTE_ANTECIPADO,ATRASO_ONIBUS,NO_SHOW_CLIENTE, etc. -
ELEGIVEL (boolean)
Indica se a solicitação é elegível a reembolso segundo a política. -
VALOR_REEMBOLSO (number)
Valor de reembolso aprovado pela política.
Importante: o agent não pode aumentar esse valor. -
CODIGO_REGRA_APLICADA (string)
Código da regra de negócio aplicada (ex.:"RULE_FULL_REFUND_24H_BEFORE"). -
RESTRICOES (string | null)
Restrições associadas à decisão.
Exemplos:-
null -
"APENAS_VOUCHER_POR_EXCECAO" -
"REMARCACAO_MESMA_ROTA_E_TARIFA"
-
Nome sugerido: montar_contexto_para_agente
Responsabilidades:
-
Montar um objeto de contexto que será enviado ao modelo de IA, contendo:
-
Texto da solicitação (
texto_solicitacao) -
Tipo e motivo (
TIPO_SOLICITACAO,MOTIVO) -
Decisão de política (
ELEGIVEL,VALOR_REEMBOLSO,CODIGO_REGRA_APLICADA,RESTRICOES) -
Opcional: adicionar campos derivativos (ex.: tags legíveis para humanos).
-
Saída interna:
contexto_agente(estrutura consolidada contendo todos os campos necessários ao prompt)
Nome sugerido: agente_plano_e_resposta
Tipo: step de IA (LLM / agent)
Responsabilidades:
-
Gerar, a partir do
contexto_agente:-
Um plano estruturado de ações (
ACOES) -
Uma mensagem sugerida para o cliente (
RESPOSTA_SUGERIDA) -
Um indicador de escalonamento (
ESCALAR_SUPERVISOR)
-
Formato de output esperado:
{
"ACOES": [
{
"tipo": "string",
"valor": 0,
"motivo": "string opcional",
"tag": "string opcional",
"nova_data": "string opcional",
"canal": "string opcional"
}
],
"RESPOSTA_SUGERIDA": "string",
"ESCALAR_SUPERVISOR": false
}Observação: os campos dentro de cada item de ACOES podem variar conforme o tipo de ação (ex.: REEMBOLSO usa valor, REMARCAR_VIAGEM usa nova_data, TAGUEAR_CLIENTE usa tag).
Nome sugerido: validar_acoes_contra_politica
Responsabilidades:
-
Garantir que as ações sugeridas não violem a política definida pelo Filho A.
-
Regras exemplo:
-
Se
ELEGIVEL = false, nenhuma ação do tipo "REEMBOLSO" comvalor > 0deve ser permitida. -
Se houver
RESTRICOES = "APENAS_VOUCHER_POR_EXCECAO", o agent pode sugerir voucher, mas não reembolso em dinheiro.
-
Comportamento sugerido em caso de violação:
-
Remover ou ajustar ações inconsistentes.
-
Opcionalmente, adicionar uma ação de fallback (ex.:
NAO_REEMBOLSARcom motivo de política).
Saída interna:
-
ACOES_VALIDADAS(lista de ações após saneamento) -
RESPOSTA_SUGERIDA(inalterada, ou ajustada se necessário) -
ESCALAR_SUPERVISOR(pode permanecer ou ser forçado paratrueem casos críticos)
Nome sugerido: montar_output_final
Responsabilidades:
- Consolidar os campos finais que serão expostos como output do workflow:
{
"ACOES": [...],
"RESPOSTA_SUGERIDA": "string",
"ESCALAR_SUPERVISOR": false
}O output público do workflow AgentePlanoResolucao deve seguir o formato:
{
"ACOES": [
{
"tipo": "string",
"valor": 0,
"motivo": "string opcional",
"tag": "string opcional",
"nova_data": "string opcional",
"canal": "string opcional"
}
],
"RESPOSTA_SUGERIDA": "string",
"ESCALAR_SUPERVISOR": false
}-
ACOES (array)
Lista estruturada de ações que o sistema/times devem executar.
Exemplos de tipos de ação:-
REEMBOLSO- campos relevantes:
valor
- campos relevantes:
-
ENVIAR_VOUCHER- campos relevantes:
valor
- campos relevantes:
-
NAO_REEMBOLSAR- campos relevantes:
motivo
- campos relevantes:
-
REMARCAR_VIAGEM- campos relevantes:
nova_data
- campos relevantes:
-
TAGUEAR_CLIENTE- campos relevantes:
tag
- campos relevantes:
-
CONFIRMAR_COM_CLIENTE- campos relevantes:
canal("email", "whatsapp", etc.)
- campos relevantes:
-
-
RESPOSTA_SUGERIDA (string)
Mensagem em texto livre para ser enviada ao cliente (ou usada como base).
Deve refletir:-
a decisão de política
-
o plano de ação (
ACOES) -
um tom empático e claro
-
-
ESCALAR_SUPERVISOR (boolean)
Indica se o caso deve ser escalado para supervisão humana.
Exemplos de gatilhos típicos:-
cliente muito insatisfeito (tom forte)
-
reincidência / histórico de problemas
-
valor muito alto
-
tipo de incidente crítico
-
O workflow deve ser capaz de gerar algo similar aos seguintes resultados:
Input (resumo do Filho A + texto):
-
TIPO_SOLICITACAO = "REEMBOLSO" -
MOTIVO = "CANCELAMENTO_CLIENTE_ANTECIPADO" -
ELEGIVEL = true -
VALOR_REEMBOLSO = 199.90
Output esperado:
{
"ACOES": [
{ "tipo": "REEMBOLSO", "valor": 199.90 }
],
"RESPOSTA_SUGERIDA": "Olá! Tudo bem? Já processamos o cancelamento da sua passagem e o reembolso integral de R$ 199,90 será realizado conforme o meio de pagamento utilizado. Qualquer dúvida é só responder por aqui :)",
"ESCALAR_SUPERVISOR": false
}Input (resumo do Filho A + texto):
-
TIPO_SOLICITACAO = "REEMBOLSO" -
MOTIVO = "ATRASO_ONIBUS" -
ELEGIVEL = true -
VALOR_REEMBOLSO = 259.50
Output esperado:
{
"ACOES": [
{ "tipo": "REEMBOLSO", "valor": 259.50 },
{ "tipo": "ENVIAR_VOUCHER", "valor": 50.00 },
{ "tipo": "TAGUEAR_CLIENTE", "tag": "ALTO_RISCO" }
],
"RESPOSTA_SUGERIDA": "Olá! Antes de tudo, sentimos muito pelo transtorno e pelo impacto no seu compromisso. Já aprovamos o reembolso integral de R$ 259,50 e, além disso, vamos disponibilizar um voucher de R$ 50,00 para uma próxima viagem, como forma de compensação. Estamos registrando o ocorrido com a rota e o parceiro responsáveis para evitar que isso se repita.",
"ESCALAR_SUPERVISOR": true
}Input:
-
TIPO_SOLICITACAO = "REEMBOLSO" -
MOTIVO = "NO_SHOW_CLIENTE" -
ELEGIVEL = false -
VALOR_REEMBOLSO = 0.0 -
RESTRICOES = "APENAS_VOUCHER_POR_EXCECAO"
Output esperado:
{
"ACOES": [
{ "tipo": "NAO_REEMBOLSAR", "motivo": "NO_SHOW_TARIFA_RESTRITA" },
{ "tipo": "ENVIAR_VOUCHER", "valor": 50.00 }
],
"RESPOSTA_SUGERIDA": "Olá! Entendemos a situação e agradecemos por ter explicado. Pela política da tarifa que você escolheu, não podemos realizar reembolso em caso de não comparecimento. Mesmo assim, gostaríamos de ajudar: podemos oferecer um voucher de R$ 50,00 para ser usado em uma próxima compra.",
"ESCALAR_SUPERVISOR": false
}Input:
-
TIPO_SOLICITACAO = "REMARCACAO" -
MOTIVO = "ALTERACAO_PLANO_CLIENTE" -
ELEGIVEL = true -
VALOR_REEMBOLSO = 0.0 -
RESTRICOES = "REMARCACAO_MESMA_ROTA_E_TARIFA"
Output esperado:
{
"ACOES": [
{ "tipo": "REMARCAR_VIAGEM", "nova_data": "2025-12-23" },
{ "tipo": "CONFIRMAR_COM_CLIENTE", "canal": "email" }
],
"RESPOSTA_SUGERIDA": "Olá! Sem problemas, conseguimos remarcar a sua viagem para o dia seguinte mantendo o mesmo valor e rota. Confirma pra gente se o horário das XXh está ok? Assim já finalizamos a alteração.",
"ESCALAR_SUPERVISOR": false
}