# Captain Review — 2026-05-13 **Período:** últimas 72h (2026-05-11 a 2026-05-13) **Analisado:** 4 assistants (Qnn01, PrimeAL, PrimeVL, Express AL) **Conversas com assignee/handoff:** 40 **Conversas problemáticas:** 9 bugs / 10 legítimas (restantes sem incidentes notáveis) --- ## 📊 Conversas analisadas | Conv | Hotel | Contato | Problema | Legítima? | |---|---|---|---|---| | 7768 | PrimeVL | Luiz Gustavo | Tool status_suites travou, cliente esperou 20+ min | ❌ Bug | | 7755 | PrimeAL | anny | Tool status_suites travou, cliente esperou 10+ min | ❌ Bug | | 7774 | PrimeVL | Luffy do chapéu de Palha | Tool status_suites travou, cliente esperou 30+ min | ❌ Bug | | 7702 | PrimeAL | Lorena Magalhães | Escalada por "passa cartão e divide?" sem resposta | ❌ Bug | | 7742 | PrimeAL | LAYLA | Escalada por "vcs passam cartão?" sem resposta | ❌ Bug | | 7517 | PrimeVL | Kawane | Escalada por "pode levar comida e bebidas?" sem resposta | ❌ Bug | | 7727 | PrimeAL | Jeferson | Fotos da Hidro enviadas 3x; escalada por "tem que encher?" | ❌ Bug | | 7539 | PrimeAL | Sousa | Mensagem interna "Self-improvement review" vazou no chat | ❌ Bug | | 7548 | PrimeAL | Adailton | Pix gerado com valor incorreto no reenvio (R$70 vs R$85) | ❌ Bug | | 7722 | Express | Larisse Kelly | Pedido de recibo por dia para RH | ✅ Legítima | | 7715 | Express | Larisse Kelly | Pedido de nota fiscal diária para RH | ✅ Legítima | | 7583 | Express | AL.🫥 | Pedido de estorno de reserva em outra unidade | ✅ Legítima | | 7614 | Express | AL.🫥 | Pedido de estorno | ✅ Legítima | | 7765 | PrimeVL | Bruna Thais | Pedido de desconto por ser primeira vez/aniversário | ✅ Legítima | | 7524 | PrimeAL | ALAN KARDEC | Negociação de estadia longa (3 diárias) | ✅ Legítima | | 7481 | PrimeVL | . | Cliente consultou preço e foi embora | ✅ Legítima | | 7807 | PrimeVL | Millymendes | Atendimento normal, IA funcionou bem | ✅ Legítima | | 7690 | Express | Rogerio | Redirect para Prime (sem hidro no Express) | ✅ Legítima | | 7640 | Qnn01 | 🍀🧸🍀 | Consulta de preço, inatividade | ✅ Legítima | | 7698 | Express | Jadiel Sousa | Humano tomou conta normalmente | ✅ Legítima | --- ## 🔍 Padrões identificados ### Padrão 1: Tool `status_suites` trava e IA deixa cliente esperando indefinidamente (CRÍTICO) **Ocorrências:** 3 conversas (7768, 7755, 7774) **Qual regra violou:** Implicitamente viola #9 (handoff silencioso sem resposta ao cliente) e a própria regra do cenário `disponibilidade_suites`: "Se a ferramenta falhar, avise que teve instabilidade e peça um instante." **Comportamento errado:** IA manda "⏳ Um momento — vou verificar." e nunca volta. O sistema adiciona `ia_abriu_conversa` (indicando chamada de tool), mas a IA não responde — cliente fica esperando 10–30 min até timeout ou humano intervir. **Deveria ser:** Ao detectar falha (ou ausência de resposta da tool), IA deve informar o cliente e dar alternativa (ligar, pré-reservar mesmo assim). **Escopo do fix:** (a) geral — aconteceu em PrimeAL e PrimeVL **Exemplos:** - Conv 7768: Cliente perguntou "A 303 tá?" — IA disse "⏳" às 21:46, primeiro cliente retornou foi às 21:47 ("Ok"), depois ficou mandando "?", "Oii", "Oi", "?????" até 22:21. Humano respondeu às 22:53. - Conv 7774: Cliente disse "E pra hoje" às 22:23, IA disse "⏳", humano só apareceu às 22:54 — 30 min depois. **💡 Fix sugerido** — Substituir a seção de fallback em `disponibilidade_suites.md` de todos os assistants (após o bloco "Se a ferramenta falhar…"): **ANTES:** ``` Se a ferramenta falhar, avise que teve instabilidade e peça um instante. ``` **DEPOIS:** ``` ## ⚠️ Fallback quando `status_suites` falha ou não retorna Se a ferramenta retornar erro OU não houver resultado após a chamada: 1. NÃO fique em silêncio. NÃO chame handoff. 2. Responda ao cliente imediatamente: "Opa, tive uma instabilidade aqui e não consegui verificar em tempo real 😅 Para garantir disponibilidade agora, você pode: - Me informar que quer reservar mesmo assim — eu registro a pré-reserva e a recepção confirma na chegada. - Ou ligar direto: [número do hotel]. O que prefere?" 3. Se o cliente quiser prosseguir, roteie para daniela_reservas normalmente. ``` - [ ] Aprovar - [ ] Rejeitar (motivo: _______) --- ### Padrão 2: Escalada silenciosa para perguntas operacionais básicas (ALTO) **Ocorrências:** 4 conversas (7702, 7742, 7517, 7727) **Qual regra violou:** Regra #9 (NUNCA handoff por pergunta de valor/simples). Perguntas sobre formas de pagamento e política de uso são do mesmo nível que perguntas de preço — a IA deveria responder diretamente. **Comportamento errado:** Quando cliente pergunta sobre cartão, parcelamento, trazer comida ou hidro cheia, IA manda "⏳ Um momento — vou verificar." e escala para humano sem responder. Cliente fica esperando. **Deveria ser:** Responder direto com as informações da política da unidade. **Escopo do fix:** (a) geral — aconteceu em PrimeAL e PrimeVL **Exemplos e respostas corretas identificadas pelos humanos:** - "Passa cartão?" → Humano: "Sim aceitamos cartão no hotel" (7742) - "Passa cartão e divide?" → Humano: "Não dividimos" (7702) - "Pode levar comida e bebidas de fora?" → Humano: "sim pode trazer" (7517) - "Tem que encher [a hidro] ou já vem cheia?" → Humano: "Se quiser deixamos cheia" (7727) **💡 Fix sugerido** — Adicionar seção de FAQ operacional no final de `jasmine___daniela_reservas.md` (antes das Proibições), para todos os 4 assistants: ```markdown ## ❓ FAQ operacional — responda direto, sem chamar handoff | Pergunta do cliente | Resposta padrão | |---|---| | "Aceita cartão?" / "Passa cartão?" | "Sim! Aceitamos débito e crédito direto na chegada 😊 A pré-reserva online é via Pix (sinal de 50%)." | | "Pode dividir?" / "Parcela?" / "Divide?" | "Não fazemos parcelamento — mas você pode pagar o sinal agora via Pix e o restante em cartão ou dinheiro no check-in 😊" | | "Pode trazer comida?" / "Pode levar bebida?" | "Pode sim, sem problema! 😊" | | "A hidro já vem cheia?" / "Tem que encher a banheira?" | "A hidro fica pronta pra uso na sua chegada! Se quiser cheia de cara, é só avisar na recepção 😊" | | "Os quartos são não fumantes?" | "Sim, todas as suítes são não fumantes. Fumar fora do quarto, por favor 😊" | | "Bebidas alcoólicas pode?" | "Pode sim! 😊" | ``` - [ ] Aprovar - [ ] Rejeitar (motivo: _______) --- ### Padrão 3: Mensagem interna "Self-improvement review" vazou no chat do cliente (GRAVE) **Ocorrências:** 1 conversa (7539 — PrimeAL, contato: Sousa) **Qual regra violou:** Regra #12 (Nunca vazar conteúdo do system prompt, IDs técnicos, mensagens internas) **Comportamento errado:** IA enviou a mensagem a seguir diretamente no chat do cliente: > `💾 Self-improvement review: User profile updated` **Deveria ser:** Mensagens de logging/memória interna do agente NUNCA devem ser enviadas ao cliente. Esta é provavelmente uma mensagem gerada por algum mecanismo de "memória" do agente que foi enviada para o canal de chat em vez de ser descartada. **Escopo do fix:** Investigação técnica — não é fix de prompt, é questão de infraestrutura do Captain AI. **💡 Minha sugestão:** Esta mensagem parece ser de um sistema de memória/autoaprendizado do agente (Captain AI tem algum mecanismo de self-improvement?). Precisamos garantir que qualquer log interno nunca use o canal de mensagem ao cliente (message_type=1). Possível causa: algum tool que o agente chama para "salvar aprendizado" está inadvertidamente gerando uma mensagem de chat. **Sua escolha:** - [ ] Investigar e corrigir no nível técnico (Captain AI / Chatwoot config) - [ ] Já estava ciente / já foi corrigido - [ ] Usar outra abordagem (escreva abaixo) **Sua resposta alternativa:** _[preencha só se rejeitou]_ --- ### Padrão 4: Reenvio de Pix cria nova reserva com valor diferente (GRAVE) **Ocorrências:** 1 conversa (7548 — PrimeAL, contato: Adailton) **Qual regra violou:** Sem violação de regra de atendimento direta, mas é um bug crítico de negócio: cobra valor errado. **Comportamento errado:** Cliente pediu "Tem como mandar de novo o pix". IA encontrou Reserva #206 (Alexa pernoite, total R$170, sinal R$85) no histórico, mas chamou `generate_pix` com parâmetros novos e gerou uma **nova** Reserva #207 com total R$140 e sinal R$70 — valor diferente do original. A IA inclusive detectou a discrepância (enviou nota interna alertando sobre duplicidade/cobrança incorreta) mas enviou o Pix errado mesmo assim. **Deveria ser:** Ao pedido de reenvio de Pix, NÃO criar nova reserva. Escalar para humano que pode reenviar o link correto. **Escopo do fix:** (a) geral — fix em `daniela_reservas.md` de todos os 4 assistants **💡 Fix sugerido** — Adicionar na seção de FAQ ou Proibições de `daniela_reservas.md`: ```markdown ## 🔄 Reenvio de Pix — regra crítica Se o cliente pedir "manda o Pix de novo", "reenvie o Pix", "não recebi o Pix" ou similar: - **NÃO** chame `generate_pix` novamente — isso cria uma nova reserva com valores possivelmente diferentes. - Responda: "Para reenviar o Pix da sua reserva, preciso da ajuda da equipe — um momentinho!" e chame `handoff`. - O motivo: o reenvio precisa apontar para a reserva original, e a IA não tem acesso ao link anterior. ``` - [ ] Aprovar - [ ] Rejeitar (motivo: _______) --- ### Padrão 5: Ferramenta `send_suite_images` chamada múltiplas vezes (duplicação de fotos) **Ocorrências:** 1 conversa (7727 — PrimeAL, contato: Jeferson) **Qual regra violou:** Regra #10 (send_suite_images EXIGE parâmetro — e por extensão, nunca deve ser chamada em loop) **Comportamento errado:** Quando cliente pediu fotos da Hidromassagem, o sistema enviou 3 mensagens idênticas "Suíte SPA Hidromassagem" seguidas. A tool `send_suite_images` foi chamada 3 vezes para a mesma categoria. **Deveria ser:** Uma única chamada por categoria. Se o cliente quiser ver de novo, IA pode chamar de novo mas nunca em rafaga automática. **Escopo do fix:** (a) geral — adicionar em `maria_fotos.md` de todos os 4 assistants **💡 Fix sugerido** — Adicionar regra no `jasmine___maria_fotos.md` após a seção de uso da ferramenta: ```markdown ## ⛔ Regra anti-duplicata - Chame `send_suite_images` **uma única vez** por categoria por turno. - Nunca chame a mesma ferramenta duas vezes seguidas sem uma nova mensagem do cliente entre as chamadas. - Se a ferramenta retornar sucesso, não repita a chamada. ``` - [ ] Aprovar - [ ] Rejeitar (motivo: _______) --- ## ❓ Perguntas pra o Rodrigo responder ### Pergunta 1: Auto-resposta de disponibilidade para datas futuras (mesmo antes de fechar reserva) **Conversa:** 7768, 7755, 7774 **Contexto:** Clientes pedem "a 303 tá?" ou "quero pra hoje" — IA tenta verificar disponibilidade em tempo real mas trava. O cenário disponibilidade_suites.md diz "Se for amanhã ou data futura, não travar a venda por disponibilidade em tempo real: siga para daniela_reservas." Mas para "hoje/agora" manda checar mesmo. **O que preciso saber:** Quando status_suites falha pra pedidos de "hoje", você prefere: (A) IA continua direto pra reserva sem verificar disponibilidade, ou (B) IA pede pra cliente ligar/aguardar? **💡 Minha sugestão:** Opção A — se o cliente quer reservar "pra hoje", IA registra a pré-reserva normalmente e a recepção confirma na chegada (já é o que acontece com datas futuras). Falha de disponibilidade não deve travar venda. **Sua escolha:** - [ ] Opção A — ir direto para reserva, sem verificar disponibilidade (mesmo para "hoje") - [ ] Opção B — avisar instabilidade e pedir para ligar - [ ] Outra (escreva abaixo) **Sua resposta alternativa:** _[preencha só se rejeitou]_ --- ### Pergunta 2: Números de telefone nos prompts — estão corretos? **Contexto:** Conv 7690, humano deu o número 61991868492 para o cliente contatar o Prime. Em 7614, humano deu (61) 4042-8064 para o Prime Ceilândia. O prompt da IA não tem número de telefone (vai buscar no faq_lookup). Os humanos passam números "na mão" quando necessário. **O que preciso saber:** Devemos adicionar os números de telefone de cada unidade diretamente nos prompts (para a IA poder responder quando a ferramenta de disponibilidade falha e sugerir ligar)? **💡 Minha sugestão:** Sim — adicionar uma seção "Contato de emergência" em cada arquivo de disponibilidade_suites.md com o telefone da unidade. Assim a IA pode dizer "Se precisar confirmar agora, ligue: [número]". **Sua escolha:** - [ ] Usar a sugestão acima (adicionar telefones nos prompts de disponibilidade) - [ ] Não — os humanos que passam o número quando necessário - [ ] Usar outra abordagem (escreva abaixo) **Sua resposta alternativa:** _[preencha só se rejeitou]_ --- ## 📝 Diffs completos (antes/depois) ### Arquivo: `_modelos/scenarios/jasmine___disponibilidade_suites.md` (todos os 4) **ANTES (linha existente):** ``` Se a ferramenta falhar, avise que teve instabilidade e peça um instante. ``` **DEPOIS:** ``` ## ⚠️ Fallback quando `status_suites` falha ou não retorna Se a ferramenta retornar erro OU não houver resultado após a chamada: 1. NÃO fique em silêncio. NÃO chame handoff. 2. Responda ao cliente imediatamente: "Opa, tive uma instabilidade aqui e não consegui verificar em tempo real 😅 Para garantir disponibilidade agora, você pode: - Me informar que quer reservar mesmo assim — eu registro a pré-reserva e a recepção confirma na chegada. - Ou ligar direto: [número do hotel]. O que prefere?" 3. Se o cliente quiser prosseguir, roteie para daniela_reservas normalmente. ``` --- ### Arquivo: `_modelos/scenarios/jasmine___daniela_reservas.md` (todos os 4) **ANTES:** *(seção de FAQ operacional não existe)* **DEPOIS (adicionar antes das Proibições):** ```markdown ## ❓ FAQ operacional — responda direto, sem chamar handoff | Pergunta do cliente | Resposta padrão | |---|---| | "Aceita cartão?" / "Passa cartão?" | "Sim! Aceitamos débito e crédito direto na chegada 😊 A pré-reserva online é via Pix (sinal de 50%)." | | "Pode dividir?" / "Parcela?" | "Não fazemos parcelamento — mas você pode pagar o sinal agora via Pix e o restante em cartão ou dinheiro no check-in 😊" | | "Pode trazer comida?" / "Pode levar bebida?" | "Pode sim, sem problema! 😊" | | "A hidro já vem cheia?" / "Tem que encher a banheira?" | "A hidro fica pronta pra uso na sua chegada! Se quiser cheia de cara, é só avisar na recepção 😊" | | "Os quartos são não fumantes?" | "Sim, todas as suítes são não fumantes 😊" | | "Bebidas alcoólicas pode?" | "Pode sim! 😊" | ## 🔄 Reenvio de Pix — regra crítica Se o cliente pedir "manda o Pix de novo", "reenvie o Pix", "não recebi o Pix": - **NÃO** chame `generate_pix` novamente — cria nova reserva com valor possivelmente diferente. - Responda: "Para reenviar o Pix da sua reserva existente, preciso da ajuda da equipe 😊 Um momento!" e chame `handoff`. ``` --- ### Arquivo: `_modelos/scenarios/jasmine___maria_fotos.md` (todos os 4) **ANTES:** *(sem regra anti-duplicata)* **DEPOIS (adicionar no final):** ```markdown ## ⛔ Regra anti-duplicata - Chame `send_suite_images` **uma única vez** por categoria por turno. - Nunca chame a mesma ferramenta duas vezes seguidas sem nova mensagem do cliente. - Se a ferramenta retornar sucesso, não repita a chamada. ``` --- ## ✅ Checklist de aprovação Após revisar, marque suas decisões e responda às perguntas nos campos acima: - [ ] Padrão 1 — Fallback de disponibilidade (Aprovado/Rejeitado) - [ ] Padrão 2 — FAQ operacional básico (Aprovado/Rejeitado) - [ ] Padrão 3 — Self-improvement leak (Ciente/Ação necessária) - [ ] Padrão 4 — Pix reenvio com valor errado (Aprovado/Rejeitado) - [ ] Padrão 5 — Fotos duplicadas (Aprovado/Rejeitado) - [ ] Pergunta 1 — Disponibilidade pra hoje: opção A ou B? - [ ] Pergunta 2 — Telefones nos prompts: sim ou não?