Spaces:
Runtime error
Runtime error
eriquesouza commited on
Commit ·
0c57a2b
1
Parent(s): d617b55
Enhance seed memories in `seeds.py` with new semantic and episodic entries
Browse files- Added multiple semantic memories reflecting user experiences and frustrations regarding internet services and TV subscriptions.
- Introduced episodic memories capturing specific user interactions and events.
- Improved context tagging and summaries for better categorization and understanding of user feedback.
seeds.py
CHANGED
|
@@ -6,80 +6,284 @@ def _ago(days: int, hour: int = 9, minute: int = 0) -> str:
|
|
| 6 |
return dt.replace(hour=hour, minute=minute, second=0, microsecond=0).isoformat()
|
| 7 |
|
| 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
SEED_MEMORIES = [
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
"memory_type": "semantic",
|
| 14 |
-
"context_tags": ["
|
| 15 |
-
"summary": "
|
| 16 |
-
"created_at": _ago(90, hour=
|
| 17 |
},
|
| 18 |
-
{
|
| 19 |
-
"content":
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
"memory_type": "semantic",
|
| 21 |
-
"context_tags": ["
|
| 22 |
-
"summary": "
|
| 23 |
"created_at": _ago(75, hour=10),
|
| 24 |
},
|
| 25 |
-
{
|
| 26 |
-
"content":
|
|
|
|
|
|
|
|
|
|
| 27 |
"memory_type": "semantic",
|
| 28 |
-
"context_tags": ["
|
| 29 |
-
"summary": "
|
| 30 |
-
"created_at": _ago(
|
| 31 |
},
|
| 32 |
-
{
|
| 33 |
-
"content":
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
"memory_type": "semantic",
|
| 35 |
-
"context_tags": ["
|
| 36 |
-
"summary": "
|
| 37 |
-
"created_at": _ago(
|
| 38 |
},
|
| 39 |
-
{
|
| 40 |
-
"content":
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
"memory_type": "semantic",
|
| 42 |
-
"context_tags": ["
|
| 43 |
-
"summary": "
|
| 44 |
-
"created_at": _ago(
|
| 45 |
},
|
| 46 |
-
{
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
},
|
| 54 |
-
{
|
| 55 |
-
|
| 56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
"memory_type": "state",
|
| 58 |
-
"context_tags": ["
|
| 59 |
-
"summary": "
|
| 60 |
-
"created_at": _ago(
|
| 61 |
},
|
| 62 |
-
{
|
| 63 |
-
|
| 64 |
-
|
|
|
|
|
|
|
|
|
|
| 65 |
"memory_type": "state",
|
| 66 |
-
"context_tags": ["
|
| 67 |
-
"summary": "
|
| 68 |
-
"created_at": _ago(
|
| 69 |
},
|
| 70 |
-
{
|
| 71 |
-
"content":
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
},
|
| 77 |
-
{
|
| 78 |
-
|
| 79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
"memory_type": "procedural",
|
| 81 |
-
"context_tags": ["
|
| 82 |
-
"summary": "
|
| 83 |
-
"created_at": _ago(
|
| 84 |
-
}
|
| 85 |
-
]
|
|
|
|
| 6 |
return dt.replace(hour=hour, minute=minute, second=0, microsecond=0).isoformat()
|
| 7 |
|
| 8 |
|
| 9 |
+
# ─── Mapa de tensões intencionais ──────────────────────────────────────────────
|
| 10 |
+
#
|
| 11 |
+
# CONTRADITÓRIAS (mesma situação, relatos opostos de usuários diferentes):
|
| 12 |
+
# SEM-01 vs SEM-04 → migração para fibra: usuário A ficou satisfeito vs usuário B teve problemas
|
| 13 |
+
# EPI-02 vs EPI-05 → desconto de retenção: funcionou vs gerou mais reclamações depois
|
| 14 |
+
#
|
| 15 |
+
# CONFLITANTES (não podem ser verdade ao mesmo tempo):
|
| 16 |
+
# STA-02 vs STA-03 → roteador AX-3000: disponível vs sem estoque
|
| 17 |
+
# PRO-03 vs PRO-04 → protocolo de desconto: oferecer logo vs só após escuta
|
| 18 |
+
#
|
| 19 |
+
# MEMÓRIAS RUINS (extraídas de conversa mas imprecisas ou desatualizadas):
|
| 20 |
+
# SEM-03 → usuário disse que TV a cabo "nunca dá problema" (generalização incorreta)
|
| 21 |
+
# EPI-03 → usuário relatou sucesso da campanha sem mencionar churn posterior
|
| 22 |
+
# STA-05 → usuário mencionou parceria com Operadora Y, pode estar desatualizado
|
| 23 |
+
#
|
| 24 |
+
# ───────────────────────────────────────────────────────────────────────────────
|
| 25 |
+
|
| 26 |
SEED_MEMORIES = [
|
| 27 |
+
|
| 28 |
+
# ── SEMÂNTICAS ──────────────────────────────────────────────────────────────
|
| 29 |
+
# Padrões abstraídos de múltiplas conversas com usuários
|
| 30 |
+
|
| 31 |
+
{ # SEM-01 ✅ BOA — contradiz SEM-04
|
| 32 |
+
"content": (
|
| 33 |
+
"Olha, eu até pensei em cancelar a internet para pegar outra mais barata, mas como eu tenho "
|
| 34 |
+
"o combo completo com vocês, incluindo a TV e o telefone fixo, acho que não vale a pena "
|
| 35 |
+
"cancelar nada agora porque eu acabaria perdendo todos os descontos e tudo junto de uma vez."
|
| 36 |
+
),
|
| 37 |
"memory_type": "semantic",
|
| 38 |
+
"context_tags": ["combo", "retenção", "cancelamento", "padrão", "fidelidade"],
|
| 39 |
+
"summary": "Clientes de combo relatam fricção natural para cancelar",
|
| 40 |
+
"created_at": _ago(90, hour=9),
|
| 41 |
},
|
| 42 |
+
{ # SEM-02 ✅ BOA
|
| 43 |
+
"content": (
|
| 44 |
+
"Acabei de instalar o plano faz 5 dias e fui medir a velocidade aqui, mas não está dando "
|
| 45 |
+
"o que eu contratei de jeito nenhum. O outro atendente me falou um monte de termos técnicos, "
|
| 46 |
+
"mas eu só quero entender por que estou recebendo menos megas do que vocês me venderam!"
|
| 47 |
+
),
|
| 48 |
"memory_type": "semantic",
|
| 49 |
+
"context_tags": ["velocidade", "internet", "onboarding", "frustração", "instalação"],
|
| 50 |
+
"summary": "Novos clientes sempre questionam velocidade real vs contratada",
|
| 51 |
"created_at": _ago(75, hour=10),
|
| 52 |
},
|
| 53 |
+
{ # SEM-03 ❌ RUIM — generalização incorreta feita por um único usuário
|
| 54 |
+
"content": (
|
| 55 |
+
"Sou cliente de vocês há uns 5 anos e vou te falar: a TV a cabo de vocês nunca me dá problema. "
|
| 56 |
+
"É sério, pode cair chuva ou o que for, é o único serviço que nunca cai na minha casa."
|
| 57 |
+
),
|
| 58 |
"memory_type": "semantic",
|
| 59 |
+
"context_tags": ["TV", "confiabilidade", "percepção", "clientes antigos"],
|
| 60 |
+
"summary": "Cliente antigo relatou TV a cabo como serviço mais confiável",
|
| 61 |
+
"created_at": _ago(180, hour=14),
|
| 62 |
},
|
| 63 |
+
{ # SEM-04 ⚠️ CONTRADITÓRIA com SEM-01
|
| 64 |
+
"content": (
|
| 65 |
+
"Quero ver para tirar a TV do meu plano. Eu estou pagando essa TV a cabo do combo todo mês, "
|
| 66 |
+
"mas na realidade a gente só senta na sala para assistir Netflix e YouTube. Não faz sentido "
|
| 67 |
+
"continuar pagando por um negócio que ninguém aqui em casa usa."
|
| 68 |
+
),
|
| 69 |
"memory_type": "semantic",
|
| 70 |
+
"context_tags": ["TV", "streaming", "combo", "cancelamento", "downgrade"],
|
| 71 |
+
"summary": "Clientes de combo reclamam que pagam TV mas só usam streaming",
|
| 72 |
+
"created_at": _ago(20, hour=11),
|
| 73 |
},
|
| 74 |
+
{ # SEM-05 ✅ BOA
|
| 75 |
+
"content": (
|
| 76 |
+
"Minha internet caiu de novo! Isso já aconteceu na semana passada e vocês falaram que tinham "
|
| 77 |
+
"resolvido em definitivo. Estou cansado de ter que ligar toda vez pelo mesmo motivo e escutar "
|
| 78 |
+
"as mesmas desculpas de vocês sem que resolvam meu problema de verdade."
|
| 79 |
+
),
|
| 80 |
"memory_type": "semantic",
|
| 81 |
+
"context_tags": ["incidente", "rede", "frustração", "histórico", "atendimento"],
|
| 82 |
+
"summary": "Clientes pós-incidente chegam irritados; reconhecer histórico acalma",
|
| 83 |
+
"created_at": _ago(55, hour=15),
|
| 84 |
},
|
| 85 |
+
{ # SEM-06 ✅ BOA
|
| 86 |
+
"content": (
|
| 87 |
+
"Vocês me deixaram o fim de semana inteirinho sem internet, o sinal sumiu no sábado de manhã! "
|
| 88 |
+
"Agora já é segunda-feira, eu vi que a luz do modem normalizou agorinha, mas o transtorno que "
|
| 89 |
+
"eu passei nesses dois dias me deu vontade de cancelar tudo e ir para a concorrência."
|
| 90 |
+
),
|
| 91 |
+
"memory_type": "semantic",
|
| 92 |
+
"context_tags": ["segunda-feira", "fim de semana", "indisponibilidade", "insatisfação", "cancelamento"],
|
| 93 |
+
"summary": "Problemas no fim de semana geram insatisfação amplificada na segunda",
|
| 94 |
+
"created_at": _ago(40, hour=8),
|
| 95 |
+
},
|
| 96 |
+
|
| 97 |
+
# ── EPISÓDICAS ──────────────────────────────────────────────────────────────
|
| 98 |
+
# Eventos específicos relatados por usuários em conversas
|
| 99 |
+
|
| 100 |
+
{ # EPI-01 ✅ BOA
|
| 101 |
+
"content": (
|
| 102 |
+
"Meu nome é Carlos e eu pedi a portabilidade do meu número já faz 5 dias. Essa é a terceira vez "
|
| 103 |
+
"que eu ligo para cá e cada atendente me dá um prazo ou uma informação diferente! Se vocês não "
|
| 104 |
+
"resolverem isso agora, eu vou direto no Procon abrir uma reclamação contra a empresa."
|
| 105 |
+
),
|
| 106 |
+
"memory_type": "episodic",
|
| 107 |
+
"context_tags": ["portabilidade", "telefonia", "reclamação", "Procon", "inconsistência"],
|
| 108 |
+
"summary": "Cliente relatou portabilidade travada há 5 dias com 3 informações diferentes",
|
| 109 |
+
"created_at": _ago(70, hour=10),
|
| 110 |
},
|
| 111 |
+
{ # EPI-02 ❌ RUIM / INCOMPLETA — contradiz EPI-05
|
| 112 |
+
"content": (
|
| 113 |
+
"Eu estava mesmo pensando em cancelar por causa do preço alto, mas esse desconto de 30% que "
|
| 114 |
+
"você me ofereceu agora foi excelente. Foi super rápido e resolveu meu problema, pode manter "
|
| 115 |
+
"o contrato ativo desse jeito."
|
| 116 |
+
),
|
| 117 |
+
"memory_type": "episodic",
|
| 118 |
+
"context_tags": ["retenção", "desconto", "satisfação", "preço", "sucesso"],
|
| 119 |
+
"summary": "Cliente Ana: desconto de 30% resolveu intenção de cancelamento",
|
| 120 |
+
"created_at": _ago(90, hour=9),
|
| 121 |
+
},
|
| 122 |
+
{ # EPI-03 ✅ BOA
|
| 123 |
+
"content": (
|
| 124 |
+
"Queria deixar um elogio para o técnico que veio fazer a migração para a fibra óptica na semana passada. "
|
| 125 |
+
"Ele foi super pontual e me explicou tudo direitinho. A velocidade dobrou na prática aqui em casa! "
|
| 126 |
+
"Tem algum programa onde eu possa indicar amigos para a empresa e ganhar algum desconto por isso?"
|
| 127 |
+
),
|
| 128 |
+
"memory_type": "episodic",
|
| 129 |
+
"context_tags": ["fibra", "migração", "elogio", "indicação", "satisfação"],
|
| 130 |
+
"summary": "Cliente elogiou migração para fibra e perguntou sobre programa de indicação",
|
| 131 |
+
"created_at": _ago(50, hour=14),
|
| 132 |
+
},
|
| 133 |
+
{ # EPI-04 ✅ BOA
|
| 134 |
+
"content": (
|
| 135 |
+
"Eu agendei a instalação para hoje cedo e o técnico simplesmente não apareceu, e ninguém se deu ao "
|
| 136 |
+
"trabalho de me avisar! Eu perdi meio dia de trabalho esperando igual uma boba. Se vocês não mandarem "
|
| 137 |
+
"alguém aqui para resolver isso ainda hoje, eu vou cancelar o pedido e não quero mais nada."
|
| 138 |
+
),
|
| 139 |
+
"memory_type": "episodic",
|
| 140 |
+
"context_tags": ["instalação", "no-show", "técnico", "cancelamento", "escalamento"],
|
| 141 |
+
"summary": "Cliente perdeu meio dia por no-show do técnico e ameaçou cancelamento",
|
| 142 |
+
"created_at": _ago(34, hour=11),
|
| 143 |
+
},
|
| 144 |
+
{ # EPI-05 ⚠️ CONTRADITÓRIA com EPI-02
|
| 145 |
+
"content": (
|
| 146 |
+
"Eu aceitei uma proposta de vocês de 30% de desconto há 3 meses para não cancelar, só que agora "
|
| 147 |
+
"a minha fatura veio no valor cheio de novo e ninguém me avisou nada que ia expirar! Estou me "
|
| 148 |
+
"sentindo enganado, parece que me deram o desconto só para eu ficar na época e depois esqueceram "
|
| 149 |
+
"de mim. Quero cancelar meu contrato agora."
|
| 150 |
+
),
|
| 151 |
+
"memory_type": "episodic",
|
| 152 |
+
"context_tags": ["desconto", "retenção", "cancelamento", "transparência", "fatura"],
|
| 153 |
+
"summary": "Cliente cancelou após desconto de retenção expirar sem aviso prévio",
|
| 154 |
+
"created_at": _ago(12, hour=16),
|
| 155 |
+
},
|
| 156 |
+
{ # EPI-06 ✅ BOA
|
| 157 |
+
"content": (
|
| 158 |
+
"A queda de internet que deu aqui em casa na semana passada me prejudicou muito, eu perdi uma reunião "
|
| 159 |
+
"de trabalho super importante. Eu moro sozinha e dependo 100% dessa internet para o meu home office. "
|
| 160 |
+
"Eu aceito esse abatimento de 3 dias na fatura que você propôs, mas preciso de uma garantia de "
|
| 161 |
+
"que isso não vai se repetir."
|
| 162 |
+
),
|
| 163 |
+
"memory_type": "episodic",
|
| 164 |
+
"context_tags": ["queda", "internet", "home office", "compensação", "fatura"],
|
| 165 |
+
"summary": "Cliente home office teve reunião prejudicada por queda; aceitou compensação",
|
| 166 |
+
"created_at": _ago(7, hour=10),
|
| 167 |
+
},
|
| 168 |
+
|
| 169 |
+
# ── ESTADO ──────────────────────────────────────────────────────────────────
|
| 170 |
+
# Fatos atuais sobre a operação, relatados ou confirmados em conversas recentes
|
| 171 |
+
|
| 172 |
+
{ # STA-01 ✅ BOA
|
| 173 |
+
"content": (
|
| 174 |
+
"Estou tentando abrir o aplicativo de vocês para emitir a segunda via do meu boleto, mas só dá "
|
| 175 |
+
"uma mensagem de erro na tela e não carrega o código de barras de jeito nenhum. Já tentei "
|
| 176 |
+
"ontem e hoje e continua quebrado."
|
| 177 |
+
),
|
| 178 |
"memory_type": "state",
|
| 179 |
+
"context_tags": ["app", "boleto", "instabilidade", "financeiro", "bug"],
|
| 180 |
+
"summary": "App com erro no módulo de boleto — múltiplos clientes relatando",
|
| 181 |
+
"created_at": _ago(2, hour=9),
|
| 182 |
},
|
| 183 |
+
{ # STA-02 ⚠️ CONFLITANTE com STA-03
|
| 184 |
+
"content": (
|
| 185 |
+
"Falei com o pessoal do pátio aqui no centro de distribuição e o estoque do roteador AX-3000 tá "
|
| 186 |
+
"cheio. Tem bastante caixa aqui, pode mandar bala e agendar as instalações normalmente para a "
|
| 187 |
+
"galera dos planos de 300 Mega que tem equipamento para todo mundo."
|
| 188 |
+
),
|
| 189 |
"memory_type": "state",
|
| 190 |
+
"context_tags": ["roteador", "AX-3000", "estoque", "instalação", "técnico"],
|
| 191 |
+
"summary": "Técnico confirmou estoque AX-3000 disponível em 16/05",
|
| 192 |
+
"created_at": _ago(6, hour=14),
|
| 193 |
},
|
| 194 |
+
{ # STA-03 ⚠️ CONFLITANTE com STA-02
|
| 195 |
+
"content": (
|
| 196 |
+
"Vocês cancelaram a minha instalação de última hora! O técnico me ligou dizendo que não vinha "
|
| 197 |
+
"porque simplesmente não tinha o roteador AX-3000 no estoque para trazer. Como vocês me vendem "
|
| 198 |
+
"um plano de 300 Megas e não têm o aparelho para instalar?"
|
| 199 |
+
),
|
| 200 |
+
"memory_type": "state",
|
| 201 |
+
"context_tags": ["roteador", "AX-3000", "ruptura", "instalação", "cancelamento"],
|
| 202 |
+
"summary": "Ruptura de estoque AX-3000 confirmada em 20/05 — instalações impactadas",
|
| 203 |
+
"created_at": _ago(2, hour=11),
|
| 204 |
+
},
|
| 205 |
+
{ # STA-04 ✅ BOA
|
| 206 |
+
"content": (
|
| 207 |
+
"Moro aqui no Bairro Novo e faz uma semana que minha internet fica uma carroça à noite. É batata: "
|
| 208 |
+
"deu umas 19h o sinal despenca e a velocidade cai pela metade, e só volta a melhorar depois "
|
| 209 |
+
"das 22h. Não consigo assistir nada nesse horário."
|
| 210 |
+
),
|
| 211 |
+
"memory_type": "state",
|
| 212 |
+
"context_tags": ["lentidão", "congestionamento", "Bairro Novo", "horário de pico", "rede"],
|
| 213 |
+
"summary": "Bairro Novo com lentidão 19h–22h esta semana — possível congestionamento",
|
| 214 |
+
"created_at": _ago(3, hour=16),
|
| 215 |
+
},
|
| 216 |
+
{ # STA-05 ❌ RUIM / POTENCIALMENTE DESATUALIZADA
|
| 217 |
+
"content": (
|
| 218 |
+
"Eu preciso saber se vocês atendem em área rural, mais especificamente no interior do Pará. O "
|
| 219 |
+
"atendente que me atendeu em março me garantiu que vocês têm uma parceria com a Operadora Y "
|
| 220 |
+
"que cobre lá e eu achei ótimo, mas quero ter certeza absoluta antes de assinar."
|
| 221 |
+
),
|
| 222 |
+
"memory_type": "state",
|
| 223 |
+
"context_tags": ["cobertura", "rural", "Pará", "parceria", "Operadora Y"],
|
| 224 |
+
"summary": "Agente informou parceria Operadora Y para cobertura rural (não verificado)",
|
| 225 |
+
"created_at": _ago(60, hour=11),
|
| 226 |
+
},
|
| 227 |
+
|
| 228 |
+
# ── PROCEDURAIS ─────────────────────────────────────────────────────────────
|
| 229 |
+
# Como o agente deve agir em situações específicas, aprendido em conversas
|
| 230 |
+
|
| 231 |
+
{ # PRO-01 ✅ BOA
|
| 232 |
+
"content": (
|
| 233 |
+
"Minha internet está muito lenta hoje. Mas peraí, você me perguntou se eu estou usando o cabo de rede "
|
| 234 |
+
"ou o Wi-Fi... Deixa eu ver aqui... Realmente, no cabo de rede a velocidade está normal, o problema "
|
| 235 |
+
"é só quando eu vou para o quarto e o sinal do Wi-Fi fica fraquinho. Nem precisa mandar técnico então, "
|
| 236 |
+
"o problema é a distância do aparelho."
|
| 237 |
+
),
|
| 238 |
+
"memory_type": "procedural",
|
| 239 |
+
"context_tags": ["lentidão", "Wi-Fi", "diagnóstico", "suporte", "N1"],
|
| 240 |
+
"summary": "Lentidão: perguntar cabeado vs Wi-Fi antes de qualquer outra coisa",
|
| 241 |
+
"created_at": _ago(80, hour=9),
|
| 242 |
+
},
|
| 243 |
+
{ # PRO-02 ✅ BOA
|
| 244 |
+
"content": (
|
| 245 |
+
"Eu cansei de esperar e vou registrar uma reclamação agora mesmo na Anatel e no Procon! ... Olha, "
|
| 246 |
+
"gostei que você não ficou tentando me convencer a mudar de ideia e admitiu que eu tenho esse direito. "
|
| 247 |
+
"Como você me deu esse protocolo com um prazo travado de 24 horas para o supervisor me ligar com a "
|
| 248 |
+
"solução, eu vou aguardar esse prazo antes de enviar a reclamação."
|
| 249 |
+
),
|
| 250 |
+
"memory_type": "procedural",
|
| 251 |
+
"context_tags": ["Procon", "Anatel", "reclamação", "escalamento", "protocolo"],
|
| 252 |
+
"summary": "Cliente ameaça Procon/Anatel: reconhecer direito + dar prazo concreto",
|
| 253 |
+
"created_at": _ago(65, hour=10),
|
| 254 |
+
},
|
| 255 |
+
{ # PRO-03 ⚠️ CONFLITANTE com PRO-04
|
| 256 |
+
"content": (
|
| 257 |
+
"Eu liguei decidido a cancelar hoje, mas caramba, você já começou a conversa me oferecendo essa "
|
| 258 |
+
"proposta de desconto logo de cara? Desse jeito não tem nem como recusar, nem deu tempo de eu "
|
| 259 |
+
"reclamar de nada. Pode renovar o plano com esse valor novo aí."
|
| 260 |
+
),
|
| 261 |
+
"memory_type": "procedural",
|
| 262 |
+
"context_tags": ["retenção", "desconto", "cancelamento", "timing", "oferta"],
|
| 263 |
+
"summary": "Retenção: oferecer desconto logo no início, antes do cliente se firmar",
|
| 264 |
+
"created_at": _ago(100, hour=14),
|
| 265 |
+
},
|
| 266 |
+
{ # PRO-04 ⚠️ CONFLITANTE com PRO-03
|
| 267 |
+
"content": (
|
| 268 |
+
"Vocês ficam querendo me empurrar desconto na mensalidade, mas o meu problema não é dinheiro! Eu quero "
|
| 269 |
+
"cancelar porque a minha conexão cai todo santo dia e o suporte de vocês não resolve a fiação externa. "
|
| 270 |
+
"Não adianta me dar 30% de desconto para eu continuar sem internet e ter que cancelar daqui a dois meses."
|
| 271 |
+
),
|
| 272 |
+
"memory_type": "procedural",
|
| 273 |
+
"context_tags": ["retenção", "desconto", "motivo", "cancelamento", "churn"],
|
| 274 |
+
"summary": "Após caso Paulo: entender motivo antes de oferecer desconto de retenção",
|
| 275 |
+
"created_at": _ago(10, hour=9),
|
| 276 |
},
|
| 277 |
+
{ # PRO-05 ✅ BOA
|
| 278 |
+
"content": (
|
| 279 |
+
"O motivo do meu cancelamento é estritamente financeiro, as coisas apertaram e o plano de vocês ficou "
|
| 280 |
+
"muito pesado no meu orçamento mensal. ... Ah, você tem um plano menor? Se eu fizer esse downgrade "
|
| 281 |
+
"para um pacote mais básico e a conta cair para quase metade do preço, eu topo sim! Não preciso cancelar "
|
| 282 |
+
"tudo, só precisava abaixar o custo."
|
| 283 |
+
),
|
| 284 |
"memory_type": "procedural",
|
| 285 |
+
"context_tags": ["cancelamento", "preço", "downgrade", "retenção", "plano"],
|
| 286 |
+
"summary": "Cancelamento por preço: oferecer downgrade de plano funciona melhor que desconto",
|
| 287 |
+
"created_at": _ago(25, hour=11),
|
| 288 |
+
},
|
| 289 |
+
]
|