iachat/docs/captain/reviews/2026-05-16.md
Codex CLI b3e92d780a
Some checks failed
Build and Push to GHCR (multi-arch) / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Build and Push to GHCR (multi-arch) / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Build and Push to GHCR (multi-arch) / merge (push) Has been cancelled
review: auto-review do Captain em 2026-05-16
4 padrões identificados: pagamento presencial, PIX não gerado (Pernoite Especial),
AI disse 'É motel' sendo hotel+motel, nome errado com humano ativo.

Co-Authored-By: Captain Reviewer <captain@hoteis1001noites.com.br>
2026-05-16 03:11:35 +00:00

14 KiB
Raw Blame History

Captain Review — 2026-05-16

Período: últimas 72h (2026-05-14 a 2026-05-16) Analisado: 4 assistants (Qnn01, PrimeAL, PrimeVL, Express AL) Conversas com assignee/handoff: 40 Conversas problemáticas: 4 bugs / ~24 legítimas


📊 Conversas analisadas

Conv Hotel Contato Problema Legítima?
8043 PrimeAL pedrinm_tattoo Pagamento em espécie → AI sumiu 38 min Bug
8052 PrimeAL Regina ❣️ Pagamento presencial → AI travou em "Um momento" Bug
8097 PrimeVL Davi Bento AI não gerou PIX por medo do "Pernoite Especial" Bug
8138 PrimeAL Anna AI disse "É motel" quando perguntaram se é hotel Bug
8142 PrimeAL Aline👸🏼 AI chamou cliente de "João" (nome errado) Bug
8241 Express Hotel Express Pedido de nota fiscal Legítima
8226 Qnn01 Deus Acima Pergunta sobre levar coberta de casa Legítima
8209 PrimeAL Thalita Diaz Pedido de cmd (room service) Legítima
8219 Qnn01 Jesus te ama Pergunta sobre unidade em Samambaia Legítima
8191 PrimeAL R. Dias Pergunta sobre pernoite, humano atendeu Legítima
8205 Qnn01 Deus Acima Pergunta se pode levar coberta (reserva já feita) Legítima
8186 PrimeVL Davi Bento "Tá certa a reserva?" — hóspede já ativo Legítima
8185 Qnn01 Isia Rabelo 🌷 Pediu contato Recanto + localização Ceilândia Legítima
8155 Express Wallyson Queria hidro, AI direcionou corretamente pro Prime Legítima
8143 PrimeAL Digitando Pediu diária + foto Stilo → timed out sem resposta Legítima*
8139 PrimeAL Mateus Janz Pergunta sobre promoção → humano respondeu Legítima
8135 PrimeAL Deus acima de td AI deu preços da Hidro, humano fez desconto Legítima
8129 PrimeAL Mateus Janz Pergunta sobre promoção → AI sumiu sem voltar Legítima*
8130 PrimeAL Thainá🍃 Como funciona garagem? → handoff legítimo Legítima
8077 PrimeVL Pedro Henrique Pergunta sobre decoração (pétalas) → humano Legítima
8097 PrimeVL Davi Bento Reserva completa → humano finalizou Bug (ver acima)
8074 PrimeVL Pedro Henrique Pergunta sobre pétalas + preços → humano ok Legítima
8067 Express Alice Hóspede no quarto pedindo comida → humano Legítima
8063 PrimeAL luh Silva❤️ Cancelamento de reserva → handoff legítimo Legítima
8056 Express Yngrind (não listado acima, pequena conversa) Legítima
8066 Express Alice Conversa curta, sem problemas Legítima
8054 PrimeVL Pedro Henrique Pergunta sobre decoração → humano respondeu Legítima
8057 Express Otavio Pergunta pernoite, humano tomou over Legítima
8052 PrimeAL Regina ❣️ Pagamento presencial → Bug (ver acima) Bug
8046 PrimeAL Regina ❣️ Follow-up de 8052, humano finalizou Legítima
8050 PrimeAL Mike Bezerra Conversa curta, sem problemas Legítima
8042 Express Kamilla Conversa curta Legítima
8044 Qnn01 Hotel Qnn 01 Mensagem interna do hotel Legítima
8040 Qnn01 Hotel Qnn 01 Mensagem interna do hotel Legítima
8036 Express Conversa curta Legítima
8032 Express Kaká🥰 Conversa curta Legítima
8016 Express Maicon Pereira Reserva de grupo (3 solteiros + casal) → humano Legítima
8007 PrimeVL Iranilde Araujo "Pode entrar com alimento?" → handoff, humano Legítima
8164 PrimeAL Anna Preço correto, humano fechou reserva Legítima
8055 Express Maicon Pereira Reserva de grupo em andamento → humano Legítima

*8143/8129: clientes fugiram, não é bug do prompt em si.


🔍 Padrões identificados

Padrão 1: AI trava em handoff quando cliente quer pagar em espécie/presencial

Ocorrências: 2 conversas — 8043 (PrimeAL), 8052 (PrimeAL) Qual regra violou: #3 (IA nunca abandona cliente no meio do fluxo de reserva) Comportamento errado:

  • 8043 — Cliente tinha nome+CPF+suíte+horário prontos, disse "vai ser em espécie". AI disparou handoff (" Um momento — vou verificar.") e nunca voltou. Cliente esperou 38 minutos, enviou 6 mensagens ("Pode deixar confirmado", "Me confirme", "Mande o Pix", "Oi") — silêncio total.
  • 8052 — Cliente mandou todos os dados num único turno e disse "prefiro pagar na hora". AI idem: " Um momento — vou verificar." sem retorno. Deveria ser: Confirmar a reserva e informar que o pagamento integral é feito no check-in, SEM gerar Pix. Escopo do fix: (a) geral — vale pra todos os 4 hotéis.

💡 Fix sugerido — adicionar em _modelos/scenarios/jasmine_<unit>__daniela_reservas.md após a seção ## 🎯 TURNO 2 — AÇÃO IMEDIATA:

### 💵 PAGAMENTO PRESENCIAL (sem Pix antecipado)

Se o cliente disser **"vou pagar na hora"**, **"vou pagar em espécie"**, **"pago lá"**, **"pago no check-in"**, **"não quero pagar agora"**:

- **NÃO chame `generate_pix`**.
- **NÃO dispare handoff**. Este é um caso que você resolve sozinha.
- Confirme a reserva diretamente com uma mensagem:

> *"Confirmado 😊 Suíte {X} por {permanência} no dia {DD/MM} às {HH}h, no nome de {Primeiro Nome}. Pagamento integral de R$ {total} é feito no check-in. Te esperamos aqui!"*

- Se o cliente depois pedir para CANCELAR ou REAGENDAR → aí sim faça handoff (é cancelamento, um dos 3 casos permitidos).
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 2: AI não gerou PIX após coletar todos os dados — medo do "Pernoite Especial Prime"

Ocorrências: 1 conversa — 8097 (PrimeVL) Qual regra violou: #3 (IA calcula, nunca paralisa) + Turno 2 do prompt Comportamento errado: A IA coletou nome ("Davi Bento Ribeiro Ferreira") e CPF, MAS registrou nota interna:

"Não gerei Pix automático porque o parâmetro de pernoite pode gerar Pernoite Especial Prime (+R$20) e divergir do valor combinado."

Ou seja, a IA conhecia o preço (R$280 com café, pernoite), tinha todos os dados, mas travou com medo de gerar o Pix no valor "errado". O cliente ficou esperando; o handoff eventualmente foi atendido por um humano (Patricia de Souza) que fez a reserva manualmente.

Deveria ser: Quando o preço já foi explicitamente comunicado ao cliente na conversa e confirmado por ele, chamar generate_pix com esse preço exato — sem hesitação. Escopo do fix: (b) marca Prime — vale para PrimeAL e PrimeVL (são as unidades que têm "Pernoite Especial Prime").

💡 Fix sugerido — adicionar em jasmine_primeal__daniela_reservas.md e jasmine_primevl__daniela_reservas.md, na seção ## 🎯 TURNO 2 — AÇÃO IMEDIATA, após o passo 1:

> **Sobre o Pernoite Especial Prime:** se o cliente já viu e aceitou o preço do pernoite padrão (com café) durante a conversa, use esse preço no `generate_pix`. NÃO hesite. O "Pernoite Especial Prime" é uma variação interna — ao usar `total_amount` com o valor acordado na conversa, o sistema ajusta automaticamente. Dúvida = use o preço comunicado ao cliente.
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 3: AI disse "É motel" quando cliente perguntou se é hotel

Ocorrências: 1 conversa — 8138 (PrimeAL) Qual regra violou: Regra #8 (Hotel vs Motel) + linha do prompt "NUNCA assuma motel por padrão" Comportamento errado:

Cliente: "vocês é hotel né?" AI: "É motel, Anna 😊 Trabalhamos com suítes para casal: Stilo, Alexa e Hidromassagem."

Completamente errado — PrimeAL é hotel e motel simultaneamente. "É motel" exclui a natureza hoteleira e pode afastar clientes que querem hospedagem regular.

Deveria ser: "Somos hotel e motel 😊 Trabalhamos com hospedagem (diária, pernoite e por horas) em suítes Stilo, Alexa e Hidromassagem. Você quer hospedagem como hotel ou está pensando em algumas horas?" Escopo do fix: (a) geral — todos os 4 hotéis são hotel+motel.

💡 Fix sugerido — adicionar em TODOS os 4 jasmine_*__daniela_reservas.md, na seção 🚨 REGRA DE OURO — HOTEL vs MOTEL:

**Se o cliente perguntar diretamente "vocês são hotel?" / "vocês são motel?" / "isso é hotel ou motel?":**
- Resposta correta: *"Somos hotel e motel 😊 Trabalhamos com hospedagem (diária, pernoite e por horas). Você quer se hospedar como hotel ou é para algumas horas?"*
- **NUNCA** responda só "É motel" nem só "É hotel" — as unidades funcionam como os dois.
  • Aprovar
  • Rejeitar (motivo: _______)

Padrão 4: AI enviou mensagem com nome errado quando humano estava atendendo

Ocorrências: 1 conversa — 8142 (PrimeAL) Qual regra violou: Regra #11 (saudação com primeiro nome do cliente) Comportamento errado: O contato se chama "Aline👸🏼". A IA enviou "Boa tarde, João 😊" às 20:07, enquanto a agente Érica Silva já tinha assumido o atendimento às 19:32. Dois problemas: nome errado (João ≠ Aline) e mensagem enviada quando já havia assignee humano. Deveria ser: A IA não deveria ter enviado mensagem alguma após o assignee humano assumir. E caso enviasse, deveria usar "Aline", não "João". Escopo do fix: (a) este parece ser mais um problema de configuração do Chatwoot (automação que re-abre conversa) do que do prompt. O nome errado pode ser bug do modelo confundindo contextos de conversas simultâneas.

💡 Minha sugestão: investigar a configuração de automação "Conversa foi reaberta por Sistema de Automação" + "ia_abriu_conversa" — essa automação está disparando mesmo com assignee humano ativo. Não é necessariamente um fix de prompt.

  • Aprovar investigação
  • Rejeitar (motivo: _______)

Perguntas pra o Rodrigo responder

Pergunta 1: Hotel aceita reserva sem sinal de Pix quando cliente quer pagar presencialmente?

Conversas: 8043, 8052 Contexto: Clientes com todos os dados prontos (nome, CPF, suíte, horário) disseram que queriam pagar na hora/em espécie. A IA travou porque o fluxo assume Pix obrigatório. O que preciso saber: O hotel aceita reservas sem sinal antecipado via Pix? Se sim, a IA pode confirmar a reserva e deixar o pagamento integral para o check-in?

💡 Minha sugestão: Sim, aceitar e confirmar sem Pix. O texto da confirmação seria:

"Confirmado 😊 Suíte Alexa por 2h hoje às 11h10, no nome de Pedro Henrique da Silva Parente. Pagamento de R$ 75 no check-in. Te esperamos aqui!"

Sua escolha:

  • Usar a sugestão acima (aceita sem Pix, confirma por aqui)
  • Apenas handoff para humano (não confirmar via IA)
  • Usar outra (escreva abaixo)

Sua resposta alternativa: [preencha só se rejeitou]


Pergunta 2: O que a IA deve dizer quando não sabe responder uma pergunta operacional (decoração, trazer alimento, promoção específica)?

Conversas: 8077, 8074, 8054, 8129, 8007 Contexto: Em vários casos, clientes perguntaram coisas que a IA não sabe: preço de decoração com pétalas, se pode trazer alimento, horários/validade de promoções. A IA disparou handoff (" Um momento — vou verificar.") mas humanos nem sempre atendem, deixando cliente sem resposta. O que preciso saber: Qual deve ser a resposta padrão da IA para esse tipo de pergunta?

💡 Minha sugestão:

"Essa informação específica preciso verificar com a equipe 😊 Deixa eu te conectar com um atendente que pode responder certinho — pode levar alguns minutinhos."

E então disparar o handoff de forma mais explícita.

Sua escolha:

  • Usar a sugestão acima
  • Usar outra (escreva abaixo)

Sua resposta alternativa: [preencha só se rejeitou]


📝 Diffs completos (antes/depois)

Padrão 1 — Arquivo: _modelos/scenarios/jasmine_*__daniela_reservas.md (todos os 4)

ANTES: (não existe seção de pagamento presencial — o prompt só cobre fluxo Pix)

DEPOIS: adicionar após ## 🎯 TURNO 2 — AÇÃO IMEDIATA:

### 💵 PAGAMENTO PRESENCIAL (sem Pix antecipado)

Se o cliente disser **"vou pagar na hora"**, **"vou pagar em espécie"**, **"pago lá"**, **"pago no check-in"**, **"não quero pagar agora"**:

- **NÃO chame `generate_pix`**.
- **NÃO dispare handoff**. Este é um caso que você resolve sozinha.
- Confirme a reserva diretamente:

> *"Confirmado 😊 Suíte {X} por {permanência} no dia {DD/MM} às {HH}h, no nome de {Primeiro Nome}. Pagamento integral de R$ {total} é feito no check-in. Te esperamos aqui!"*

- Se o cliente depois pedir para CANCELAR ou REAGENDAR → aí sim faça handoff.

Padrão 2 — Arquivo: _modelos/scenarios/jasmine_primeal__daniela_reservas.md e jasmine_primevl__daniela_reservas.md

ANTES: (não existe instrução sobre Pernoite Especial Prime no Turno 2)

DEPOIS: adicionar após passo 1 do Turno 2:

> **Sobre o Pernoite Especial Prime:** se o cliente já viu e aceitou o preço do pernoite padrão (com café) durante a conversa, use esse preço no `generate_pix`. NÃO hesite. O "Pernoite Especial Prime" é uma variação interna — ao usar `total_amount` com o valor acordado na conversa, o sistema ajusta automaticamente. Dúvida = use o preço comunicado ao cliente.

Padrão 3 — Arquivo: _modelos/scenarios/jasmine_*__daniela_reservas.md (todos os 4)

ANTES:

**NUNCA assuma motel por padrão** — especialmente pra clientes que chegam perguntando sobre a marca "Hotel". A palavra **hotel** na mensagem do cliente é sinal forte de hospedagem.

DEPOIS: (adicionar após a linha acima):

**Se o cliente perguntar diretamente "vocês são hotel?" / "vocês são motel?" / "isso é hotel ou motel?":**
- Resposta correta: *"Somos hotel e motel 😊 Trabalhamos com hospedagem (diária, pernoite e por horas). Você quer se hospedar como hotel ou é para algumas horas?"*
- **NUNCA** responda só "É motel" nem só "É hotel" — as unidades funcionam como os dois.

Checklist de aprovação

Após revisar, marque e responda nesta issue com @aplicar + as decisões:

  • Padrão 1 — Aprovado / Rejeitado
  • Padrão 2 — Aprovado / Rejeitado
  • Padrão 3 — Aprovado / Rejeitado
  • Padrão 4 — Aprovar investigação / Rejeitar
  • Pergunta 1 — Respondida
  • Pergunta 2 — Respondida