Skip to content

Pós-Análise

Pós-Análise processa automaticamente conversas após elas terminarem, extraindo insights estruturados, resumos e métricas. Esta funcionalidade poderosa transforma conversas brutas em dados de negócio acionáveis sem revisão manual.

Configuração de Pós-Análise

O Que é Pós-Análise?

Quando uma conversa termina, Pós-Análise executa uma passagem de análise de IA separada que pode:

CapacidadeExemplo de Output
Sumarizar conversas"Cliente perguntou sobre faturamento, resolvido explicando data de vencimento"
Extrair dados estruturados{ "topico": "faturamento", "resolvido": true, "sentimento": "satisfeito" }
Pontuar interaçõesSatisfação do cliente: 4/5, Performance do agente: 92%
Classificar intençõesPrimária: "consulta_faturamento", Secundária: "interesse_upgrade"
Sinalizar follow-ups"Cliente solicitou callback sobre preços enterprise"

Custo Adicional de Tokens

Pós-Análise executa uma chamada LLM separada após cada conversa, o que incorre em custos adicionais de tokens. O custo depende do tamanho da conversa e complexidade da análise.


Como Funciona

Conversa Termina

Pós-Análise Disparada

┌─────────────────────────────────────┐
│  LLM analisa conversa completa:     │
│  - Aplica seus prompts de análise   │
│  - Extrai dados estruturados        │
│  - Gera resumos                     │
└─────────────────────────────────────┘

Resultados armazenados e/ou enviados via webhook

Momento do disparo:

  • Chamadas de voz: Quando a chamada termina
  • Chat: Quando thread é marcado completo ou expira
  • Threads via API: Quando explicitamente fechados

Configuração

Habilitando Pós-Análise

  1. Navegue para Configuração do Agente > Avançado
  2. Encontre a seção Pós-Análise
  3. Ative Habilitar Pós-Análise
  4. Configure seus schemas de análise

Schema de Análise

Defina quais dados extrair usando JSON Schema:

json
{
  "type": "object",
  "properties": {
    "resumo": {
      "type": "string",
      "description": "Resumo de 2-3 frases da conversa"
    },
    "topico": {
      "type": "string",
      "enum": ["faturamento", "suporte_tecnico", "vendas", "geral", "reclamacao"],
      "description": "Tópico principal da conversa"
    },
    "resolvido": {
      "type": "boolean",
      "description": "Se o problema do cliente foi resolvido"
    },
    "sentimento": {
      "type": "string",
      "enum": ["positivo", "neutro", "negativo"],
      "description": "Sentimento geral do cliente"
    },
    "followup_necessario": {
      "type": "boolean",
      "description": "Se ação de follow-up é necessária"
    },
    "notas_followup": {
      "type": "string",
      "description": "Detalhes sobre follow-up necessário, se houver"
    }
  },
  "required": ["resumo", "topico", "resolvido", "sentimento"]
}

Prompt de Análise

Customize instruções para a análise:

markdown
Analise esta conversa de suporte ao cliente e extraia o seguinte:

1. **Resumo**: Forneça um resumo breve e factual do que foi discutido e o resultado.

2. **Classificação de Tópico**: Categorize em um destes tópicos:
   - faturamento: Pagamento, faturas, cobranças, reembolsos
   - suporte_tecnico: Problemas de produto, bugs, perguntas de como fazer
   - vendas: Preços, planos, upgrades, novas compras
   - geral: Consultas gerais, gerenciamento de conta
   - reclamacao: Insatisfação, solicitações de escalação

3. **Resolução**: A pergunta/problema principal do cliente foi resolvido nesta conversa?

4. **Sentimento**: Baseado na linguagem e respostas do cliente, avalie o sentimento geral.

5. **Follow-up**: Observe se algum item de ação ou callbacks foram prometidos.

Seja objetivo e baseie sua análise no conteúdo real da conversa.

Exemplos de Schemas

Análise de Suporte ao Cliente

json
{
  "type": "object",
  "properties": {
    "resumo": {
      "type": "string",
      "description": "Resumo conciso da interação de suporte"
    },
    "categoria_problema": {
      "type": "string",
      "enum": ["acesso_conta", "faturamento", "bug_produto", "solicitacao_feature", "como_fazer", "outro"]
    },
    "status_resolucao": {
      "type": "string",
      "enum": ["resolvido", "escalado", "pendente", "nao_resolvido"]
    },
    "score_esforco_cliente": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "Esforço estimado que o cliente teve que fazer (1=fácil, 5=difícil)"
    },
    "motivo_escalacao": {
      "type": "string",
      "description": "Se escalado, explique por quê"
    }
  }
}

Análise de Qualificação de Vendas

json
{
  "type": "object",
  "properties": {
    "qualidade_lead": {
      "type": "string",
      "enum": ["quente", "morno", "frio", "nao_qualificado"],
      "description": "Score de qualificação do lead"
    },
    "orcamento_mencionado": {
      "type": "boolean"
    },
    "faixa_orcamento": {
      "type": "string",
      "description": "Orçamento estimado se mencionado"
    },
    "timeline": {
      "type": "string",
      "description": "Timeline de compra se discutido"
    },
    "decisor": {
      "type": "boolean",
      "description": "O contato é um decisor?"
    },
    "concorrente_mencionado": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Quaisquer concorrentes mencionados"
    },
    "proximo_passo": {
      "type": "string",
      "description": "Próxima ação recomendada"
    }
  }
}

Análise de Garantia de Qualidade

json
{
  "type": "object",
  "properties": {
    "saudacao_adequada": {
      "type": "boolean",
      "description": "O agente cumprimentou o cliente adequadamente?"
    },
    "identificacao_verificada": {
      "type": "boolean",
      "description": "A identidade do cliente foi verificada quando necessário?"
    },
    "informacao_precisa": {
      "type": "boolean",
      "description": "A informação fornecida foi precisa?"
    },
    "tom_profissional": {
      "type": "boolean",
      "description": "O agente manteve tom profissional durante toda conversa?"
    },
    "encerramento_adequado": {
      "type": "boolean",
      "description": "O agente encerrou a conversa adequadamente?"
    },
    "problemas_compliance": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Quaisquer preocupações de compliance observadas"
    },
    "score_geral": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    }
  }
}

Acessando Resultados da Análise

Na Plataforma

  1. Navegue para Conversas ou Histórico de Threads
  2. Selecione uma conversa concluída
  3. Veja a aba Análise para ver dados extraídos

Via Webhook

Configure um webhook para receber resultados de análise automaticamente:

json
{
  "event": "conversation.analyzed",
  "conversation_id": "conv_abc123",
  "agent_id": "agt_xyz",
  "timestamp": "2025-01-18T15:30:00Z",
  "analysis": {
    "resumo": "Cliente ligou sobre discrepância de faturamento...",
    "topico": "faturamento",
    "resolvido": true,
    "sentimento": "positivo",
    "followup_necessario": false
  }
}

Veja Webhooks para detalhes de configuração.

Via API

Recupere análise para uma conversa específica:

bash
GET /api/conversations/{conversation_id}/analysis
Authorization: Bearer {api_key}

Melhores Práticas

1. Mantenha Schemas Focados

Não tente extrair tudo. Foque em dados que você vai realmente usar:

❌ Super-engenheirado:

json
{
  "properties": {
    "resumo": {},
    "resumo_detalhado": {},
    "resumo_breve": {},
    "resumo_executivo": {},
    // ... mais 30 campos
  }
}

✅ Focado:

json
{
  "properties": {
    "resumo": {},
    "topico": {},
    "resolvido": {},
    "followup": {}
  }
}

2. Use Enums para Consistência

Valores estruturados facilitam relatórios:

json
{
  "sentimento": {
    "type": "string",
    "enum": ["positivo", "neutro", "negativo"]
  }
}

Isso garante valores consistentes ao invés de variações como "feliz", "satisfeito", "bom", "positivo".

3. Escreva Descrições Claras

O campo description guia a análise:

json
{
  "score_esforco_cliente": {
    "type": "integer",
    "minimum": 1,
    "maximum": 5,
    "description": "Avalie quanto esforço o cliente teve que fazer: 1=problema resolvido imediatamente, 5=cliente teve que se repetir múltiplas vezes ou foi transferido"
  }
}

4. Teste com Conversas Reais

Antes de fazer deploy, teste seu schema contra transcrições reais de conversas para verificar:

  • Campos são extraíveis de conversas típicas
  • Categorias/enums cobrem casos comuns
  • Prompt de análise produz resultados precisos

5. Considere Custo vs. Valor

Pós-Análise usa tokens adicionais. Equilibre:

  • Analise todas as conversas para insights de alto valor
  • Amostra conversas para monitoramento de qualidade
  • Pule análise para interações muito curtas

Casos de Uso

Dashboard de Customer Success

Acompanhe taxas de resolução, tendências de sentimento e problemas comuns:

MétricaCampo Fonte
Taxa de Resoluçãoresolvido (boolean)
Tendência de Sentimentosentimento (enum)
Top Problemascontagem de topico (enum)
Fila de Follow-upfiltro de followup_necessario

Integração com Pipeline de Vendas

Envie leads qualificados para seu CRM:

javascript
// Exemplo de handler de webhook
if (analysis.qualidade_lead === 'quente' && analysis.decisor) {
  await crm.createOpportunity({
    contact: conversation.customer,
    source: 'AI Agent',
    budget: analysis.faixa_orcamento,
    timeline: analysis.timeline,
    notes: analysis.resumo
  });
}

Monitoramento de Qualidade

Sinalize automaticamente conversas para revisão:

javascript
// Alerte em scores de qualidade baixos
if (analysis.score_geral < 70 || analysis.problemas_compliance.length > 0) {
  await alertTeam('Revisão de QA Necessária', conversation.id);
}

Solução de Problemas

Análise Não Executando

  • Verifique se Pós-Análise está habilitada
  • Verifique se conversas estão sendo fechadas adequadamente
  • Revise schema por erros de sintaxe

Extrações Incorretas

  • Melhore campos de descrição no schema
  • Adicione exemplos ao seu prompt de análise
  • Garanta que valores de enum cobrem todos os casos
  • Teste com amostras representativas de conversas

Custos Altos

  • Reduza complexidade do schema
  • Use prompts de análise mais curtos
  • Considere amostragem ao invés de analisar todas as conversas
  • Use modelos menores para análise se disponíveis

Documentação Relacionada