review: auto-review do Captain em 2026-05-16
Some checks failed
Some checks failed
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>
This commit is contained in:
parent
8522f925c7
commit
b3e92d780a
249
docs/captain/reviews/2026-05-16.md
Normal file
249
docs/captain/reviews/2026-05-16.md
Normal file
@ -0,0 +1,249 @@
|
||||
# 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`:
|
||||
|
||||
```markdown
|
||||
### 💵 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:
|
||||
|
||||
```markdown
|
||||
> **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`:
|
||||
|
||||
```markdown
|
||||
**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`:
|
||||
```markdown
|
||||
### 💵 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:
|
||||
```markdown
|
||||
> **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):
|
||||
```markdown
|
||||
**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
|
||||
Loading…
Reference in New Issue
Block a user