Definir si usar Claude para el enrutamiento de tickets
Aquí hay algunos indicadores clave de que debería usar un LLM como Claude en lugar de enfoques tradicionales de ML para su tarea de clasificación:Tienes datos de entrenamiento etiquetados limitados disponibles
Tienes datos de entrenamiento etiquetados limitados disponibles
Es probable que tus categorías de clasificación cambien o evolucionen con el tiempo
Es probable que tus categorías de clasificación cambien o evolucionen con el tiempo
Necesitas manejar entradas de texto complejas y no estructuradas
Necesitas manejar entradas de texto complejas y no estructuradas
Tus reglas de clasificación se basan en la comprensión semántica
Tus reglas de clasificación se basan en la comprensión semántica
Requieres un razonamiento interpretable para las decisiones de clasificación
Requieres un razonamiento interpretable para las decisiones de clasificación
Quieres manejar casos extremos y tickets ambiguos de manera más efectiva
Quieres manejar casos extremos y tickets ambiguos de manera más efectiva
Necesitas soporte multilingüe sin mantener modelos separados
Necesitas soporte multilingüe sin mantener modelos separados
Construir e implementar tu flujo de trabajo de soporte con LLM
Comprender tu enfoque de soporte actual
Antes de sumergirte en la automatización, es crucial entender tu sistema de tickets existente. Comienza investigando cómo tu equipo de soporte maneja actualmente el enrutamiento de tickets. Considera preguntas como:- ¿Qué criterios se utilizan para determinar qué SLA/oferta de servicio se aplica?
- ¿Se utiliza el enrutamiento de tickets para determinar a qué nivel de soporte o especialista de producto va un ticket?
- ¿Hay reglas o flujos de trabajo automatizados ya implementados? ¿En qué casos fallan?
- ¿Cómo se manejan los casos extremos o tickets ambiguos?
- ¿Cómo prioriza el equipo los tickets?
Definir categorías de intención del usuario
Una lista bien definida de categorías de intención del usuario es crucial para la clasificación precisa de tickets de soporte con Claude. La capacidad de Claude para enrutar tickets de manera efectiva dentro de tu sistema es directamente proporcional a qué tan bien definidas están las categorías de tu sistema. Aquí hay algunas categorías y subcategorías de intención del usuario de ejemplo.Problema técnico
Problema técnico
- Problema de hardware
- Error de software
- Problema de compatibilidad
- Problema de rendimiento
Gestión de cuenta
Gestión de cuenta
- Restablecimiento de contraseña
- Problemas de acceso a la cuenta
- Consultas de facturación
- Cambios de suscripción
Información del producto
Información del producto
- Consultas sobre características
- Preguntas de compatibilidad del producto
- Información de precios
- Consultas de disponibilidad
Orientación al usuario
Orientación al usuario
- Preguntas de cómo hacer
- Asistencia en el uso de características
- Consejos de mejores prácticas
- Guía de solución de problemas
Comentarios
Comentarios
- Informes de errores
- Solicitudes de características
- Comentarios o sugerencias generales
- Quejas
Relacionado con pedidos
Relacionado con pedidos
- Consultas sobre el estado del pedido
- Información de envío
- Devoluciones e intercambios
- Modificaciones de pedidos
Solicitud de servicio
Solicitud de servicio
- Asistencia de instalación
- Solicitudes de actualización
- Programación de mantenimiento
- Cancelación de servicio
Preocupaciones de seguridad
Preocupaciones de seguridad
- Consultas sobre privacidad de datos
- Informes de actividad sospechosa
- Asistencia con características de seguridad
Cumplimiento y legal
Cumplimiento y legal
- Preguntas sobre cumplimiento normativo
- Consultas sobre términos de servicio
- Solicitudes de documentación legal
Soporte de emergencia
Soporte de emergencia
- Fallos críticos del sistema
- Problemas urgentes de seguridad
- Problemas sensibles al tiempo
Formación y educación
Formación y educación
- Solicitudes de formación sobre productos
- Consultas de documentación
- Información sobre webinars o talleres
Integración y API
Integración y API
- Asistencia de integración
- Preguntas sobre uso de API
- Consultas de compatibilidad con terceros
Establecer criterios de éxito
Trabaja con tu equipo de soporte para definir criterios de éxito claros con puntos de referencia medibles, umbrales y objetivos. Aquí hay algunos criterios estándar y puntos de referencia al usar LLMs para el enrutamiento de tickets de soporte:Consistencia de clasificación
Consistencia de clasificación
Velocidad de adaptación
Velocidad de adaptación
Manejo multilingüe
Manejo multilingüe
Manejo de casos extremos
Manejo de casos extremos
Mitigación de sesgos
Mitigación de sesgos
Eficiencia de prompt
Eficiencia de prompt
Puntuación de explicabilidad
Puntuación de explicabilidad
Precisión de enrutamiento
Precisión de enrutamiento
Tiempo hasta la asignación
Tiempo hasta la asignación
Tasa de reencaminamiento
Tasa de reencaminamiento
Tasa de resolución en primer contacto
Tasa de resolución en primer contacto
Tiempo medio de gestión
Tiempo medio de gestión
Puntuaciones de satisfacción del cliente
Puntuaciones de satisfacción del cliente
Tasa de escalamiento
Tasa de escalamiento
Productividad del agente
Productividad del agente
Tasa de desvío de autoservicio
Tasa de desvío de autoservicio
Costo por ticket
Costo por ticket
Elegir el modelo Claude adecuado
La elección del modelo depende de los compromisos entre costo, precisión y tiempo de respuesta. Muchos clientes han encontrado queclaude-3-5-haiku-20241022
es un modelo ideal para el enrutamiento de tickets, ya que es el modelo más rápido y rentable de la familia Claude 3 mientras sigue ofreciendo excelentes resultados. Si tu problema de clasificación requiere un profundo conocimiento de la materia o un gran volumen de categorías de intención con razonamiento complejo, puedes optar por el modelo Sonnet más grande.
Construir un prompt sólido
El enrutamiento de tickets es un tipo de tarea de clasificación. Claude analiza el contenido de un ticket de soporte y lo clasifica en categorías predefinidas basadas en el tipo de problema, urgencia, experiencia requerida u otros factores relevantes. Vamos a escribir un prompt de clasificación de tickets. Nuestro prompt inicial debe contener el contenido de la solicitud del usuario y devolver tanto el razonamiento como la intención.- Usamos f-strings de Python para crear la plantilla de prompt, permitiendo que el
ticket_contents
se inserte en las etiquetas<request>
. - Le damos a Claude un rol claramente definido como sistema de clasificación que analiza cuidadosamente el contenido del ticket para determinar la intención principal y las necesidades del cliente.
- Instruimos a Claude sobre el formato de salida adecuado, en este caso proporcionar su razonamiento y análisis dentro de etiquetas
<reasoning>
, seguido por la etiqueta de clasificación apropiada dentro de etiquetas<intent>
. - Especificamos las categorías de intención válidas: “Soporte, Comentarios, Queja”, “Seguimiento de Pedido” y “Reembolso/Cambio”.
- Incluimos algunos ejemplos (también conocido como prompting con pocos ejemplos) para ilustrar cómo debe formatearse la salida, lo que mejora la precisión y consistencia.
Implementar tu prompt
Es difícil saber qué tan bien funciona tu prompt sin implementarlo en un entorno de producción de prueba y ejecutar evaluaciones. Vamos a construir la estructura de implementación. Comencemos definiendo la firma del método para envolver nuestra llamada a Claude. Tomaremos el método que ya hemos comenzado a escribir, que tieneticket_contents
como entrada, y ahora devolveremos una tupla de reasoning
e intent
como salida. Si tienes una automatización existente que usa ML tradicional, querrás seguir esa firma de método en su lugar.
- Importa la biblioteca Anthropic y crea una instancia de cliente usando tu clave API.
- Define una función
classify_support_request
que toma una cadenaticket_contents
. - Envía el
ticket_contents
a Claude para clasificación usando elclassification_prompt
- Devuelve el
reasoning
eintent
del modelo extraídos de la respuesta.
stream=False
(el valor predeterminado).
Evaluar tu prompt
El prompting a menudo requiere pruebas y optimización para estar listo para producción. Para determinar la preparación de tu solución, evalúa el rendimiento basándote en los criterios de éxito y umbrales que estableciste anteriormente. Para ejecutar tu evaluación, necesitarás casos de prueba para ejecutarla. El resto de esta guía asume que ya has desarrollado tus casos de prueba.Construir una función de evaluación
Nuestra evaluación de ejemplo para esta guía mide el rendimiento de Claude a lo largo de tres métricas clave:- Precisión
- Costo por clasificación
- Agregamos el
actual_intent
de nuestros casos de prueba al métodoclassify_support_request
y configuramos una comparación para evaluar si la clasificación de intención de Claude coincide con nuestra clasificación de intención dorada. - Extrajimos estadísticas de uso para la llamada a la API para calcular el costo basado en los tokens de entrada y salida utilizados
Ejecutar tu evaluación
Una evaluación adecuada requiere umbrales y puntos de referencia claros para determinar qué es un buen resultado. El script anterior nos dará los valores de tiempo de ejecución para precisión, tiempo de respuesta y costo por clasificación, pero aún necesitaríamos umbrales claramente establecidos. Por ejemplo:- Precisión: 95% (de 100 pruebas)
- Costo por clasificación: 50% de reducción en promedio (en 100 pruebas) del método de enrutamiento actual
Mejorar el rendimiento
En escenarios complejos, puede ser útil considerar estrategias adicionales para mejorar el rendimiento más allá de las técnicas estándar de ingeniería de prompts y estrategias de implementación de barreras de protección. Aquí hay algunos escenarios comunes:Usar una jerarquía taxonómica para casos con más de 20 categorías de intención
A medida que crece el número de clases, el número de ejemplos requeridos también se expande, potencialmente haciendo que el prompt sea difícil de manejar. Como alternativa, puedes considerar implementar un sistema de clasificación jerárquico usando una mezcla de clasificadores.- Organiza tus intenciones en una estructura de árbol taxonómico.
- Crea una serie de clasificadores en cada nivel del árbol, permitiendo un enfoque de enrutamiento en cascada.

- Pros - mayor matiz y precisión: Puedes crear diferentes prompts para cada ruta principal, permitiendo una clasificación más dirigida y específica al contexto. Esto puede llevar a una mejor precisión y un manejo más matizado de las solicitudes de los clientes.
- Contras - mayor latencia: Ten en cuenta que múltiples clasificadores pueden llevar a una mayor latencia, y recomendamos implementar este enfoque con nuestro modelo más rápido, Haiku.
Usar bases de datos vectoriales y búsqueda de similitud para manejar tickets altamente variables
A pesar de que proporcionar ejemplos es la forma más efectiva de mejorar el rendimiento, si las solicitudes de soporte son altamente variables, puede ser difícil incluir suficientes ejemplos en un solo prompt. En este escenario, podrías emplear una base de datos vectorial para hacer búsquedas de similitud desde un conjunto de datos de ejemplos y recuperar los ejemplos más relevantes para una consulta dada. Este enfoque, detallado en nuestra receta de clasificación, ha demostrado mejorar el rendimiento de un 71% de precisión a un 93% de precisión.Tener en cuenta específicamente los casos extremos esperados
Aquí hay algunos escenarios donde Claude puede clasificar erróneamente tickets (puede haber otros que sean únicos para tu situación). En estos escenarios, considera proporcionar instrucciones explícitas o ejemplos en el prompt de cómo Claude debería manejar el caso extremo:Los clientes hacen solicitudes implícitas
Los clientes hacen solicitudes implícitas
- Solución: Proporciona a Claude algunos ejemplos reales de clientes de este tipo de solicitudes, junto con cuál es la intención subyacente. Puedes obtener resultados aún mejores si incluyes una justificación de clasificación para intenciones de tickets particularmente matizadas, para que Claude pueda generalizar mejor la lógica a otros tickets.
Claude prioriza la emoción sobre la intención
Claude prioriza la emoción sobre la intención
- Solución: Proporciona a Claude instrucciones sobre cuándo priorizar el sentimiento del cliente o no. Puede ser algo tan simple como “Ignora todas las emociones del cliente. Concéntrate solo en analizar la intención de la solicitud del cliente y qué información podría estar pidiendo el cliente.”
Múltiples problemas causan confusión en la priorización de problemas
Múltiples problemas causan confusión en la priorización de problemas
- Solución: Aclara la priorización de intenciones para que Claude pueda clasificar mejor las intenciones extraídas e identificar la preocupación principal.
Integrar Claude en tu flujo de trabajo de soporte más amplio
La integración adecuada requiere que tomes algunas decisiones con respecto a cómo tu script de enrutamiento de tickets basado en Claude se ajusta a la arquitectura de tu sistema de enrutamiento de tickets más amplio. Hay dos formas en que podrías hacer esto:- Basado en push: El sistema de tickets de soporte que estás usando (por ejemplo, Zendesk) activa tu código enviando un evento de webhook a tu servicio de enrutamiento, que luego clasifica la intención y la enruta.
- Este enfoque es más escalable para la web, pero necesita que expongas un punto final público.
- Basado en pull: Tu código extrae los últimos tickets según un horario dado y los enruta en el momento de la extracción.
- Este enfoque es más fácil de implementar pero podría hacer llamadas innecesarias al sistema de tickets de soporte cuando la frecuencia de extracción es demasiado alta o podría ser excesivamente lento cuando la frecuencia de extracción es demasiado baja.