Определите, стоит ли использовать Claude для маршрутизации заявок
Вот ключевые показатели того, что вам следует использовать LLM, такую как Claude, вместо традиционных подходов машинного обучения для вашей задачи классификации:У вас ограниченное количество размеченных обучающих данных
У вас ограниченное количество размеченных обучающих данных
Ваши категории классификации могут меняться или развиваться со временем
Ваши категории классификации могут меняться или развиваться со временем
Вам нужно обрабатывать сложные, неструктурированные текстовые входные данные
Вам нужно обрабатывать сложные, неструктурированные текстовые входные данные
Ваши правила классификации основаны на семантическом понимании
Ваши правила классификации основаны на семантическом понимании
Вам требуются интерпретируемые обоснования для решений по классификации
Вам требуются интерпретируемые обоснования для решений по классификации
Вы хотите более эффективно обрабатывать пограничные случаи и неоднозначные заявки
Вы хотите более эффективно обрабатывать пограничные случаи и неоднозначные заявки
Вам нужна многоязычная поддержка без поддержания отдельных моделей
Вам нужна многоязычная поддержка без поддержания отдельных моделей
Создайте и разверните ваш рабочий процесс поддержки на основе LLM
Поймите ваш текущий подход к поддержке
Прежде чем погружаться в автоматизацию, важно понять вашу существующую систему обработки заявок. Начните с изучения того, как ваша команда поддержки в настоящее время обрабатывает маршрутизацию заявок. Рассмотрите такие вопросы, как:- Какие критерии используются для определения того, какое SLA/предложение услуг применяется?
- Используется ли маршрутизация заявок для определения того, к какому уровню поддержки или специалисту по продукту направляется заявка?
- Есть ли уже какие-либо автоматизированные правила или рабочие процессы? В каких случаях они не срабатывают?
- Как обрабатываются пограничные случаи или неоднозначные заявки?
- Как команда приоритизирует заявки?
Определите категории намерений пользователей
Хорошо определенный список категорий намерений пользователей имеет решающее значение для точной классификации заявок поддержки с помощью Claude. Способность Claude эффективно направлять заявки в вашей системе прямо пропорциональна тому, насколько хорошо определены категории вашей системы. Вот некоторые примеры категорий и подкатегорий намерений пользователей.Техническая проблема
Техническая проблема
- Проблема с оборудованием
- Программная ошибка
- Проблема совместимости
- Проблема производительности
Управление аккаунтом
Управление аккаунтом
- Сброс пароля
- Проблемы с доступом к аккаунту
- Вопросы по выставлению счетов
- Изменения подписки
Информация о продукте
Информация о продукте
- Вопросы о функциях
- Вопросы о совместимости продукта
- Информация о ценах
- Вопросы о доступности
Руководство пользователя
Руководство пользователя
- Вопросы “как сделать”
- Помощь в использовании функций
- Советы по лучшим практикам
- Руководство по устранению неполадок
Обратная связь
Обратная связь
- Сообщения об ошибках
- Запросы на новые функции
- Общая обратная связь или предложения
- Жалобы
Связанные с заказом
Связанные с заказом
- Запросы о статусе заказа
- Информация о доставке
- Возвраты и обмены
- Изменения заказа
Запрос на обслуживание
Запрос на обслуживание
- Помощь в установке
- Запросы на обновление
- Планирование обслуживания
- Отмена услуги
Проблемы безопасности
Проблемы безопасности
- Вопросы о конфиденциальности данных
- Сообщения о подозрительной активности
- Помощь с функциями безопасности
Соответствие нормам и юридические вопросы
Соответствие нормам и юридические вопросы
- Вопросы о соответствии нормативным требованиям
- Вопросы об условиях обслуживания
- Запросы на юридическую документацию
Экстренная поддержка
Экстренная поддержка
- Критические сбои системы
- Срочные проблемы безопасности
- Проблемы, требующие срочного решения
Обучение и образование
Обучение и образование
- Запросы на обучение по продукту
- Вопросы по документации
- Информация о вебинарах или семинарах
Интеграция и API
Интеграция и API
- Помощь в интеграции
- Вопросы по использованию API
- Вопросы о совместимости с третьими сторонами
Установите критерии успеха
Работайте с вашей командой поддержки, чтобы определить четкие критерии успеха с измеримыми показателями, пороговыми значениями и целями. Вот некоторые стандартные критерии и показатели при использовании LLM для маршрутизации заявок поддержки:Согласованность классификации
Согласованность классификации
Скорость адаптации
Скорость адаптации
Многоязычная обработка
Многоязычная обработка
Обработка пограничных случаев
Обработка пограничных случаев
Снижение предвзятости
Снижение предвзятости
Эффективность промпта
Эффективность промпта
Оценка объяснимости
Оценка объяснимости
Точность маршрутизации
Точность маршрутизации
Время до назначения
Время до назначения
Частота перенаправления
Частота перенаправления
Частота разрешения при первом контакте
Частота разрешения при первом контакте
Среднее время обработки
Среднее время обработки
Оценки удовлетворенности клиентов
Оценки удовлетворенности клиентов
Частота эскалации
Частота эскалации
Продуктивность агента
Продуктивность агента
Частота отклонения самообслуживания
Частота отклонения самообслуживания
Стоимость на заявку
Стоимость на заявку
Выберите правильную модель Claude
Выбор модели зависит от компромиссов между стоимостью, точностью и временем отклика. Многие клиенты обнаружили, чтоclaude-3-5-haiku-20241022
является идеальной моделью для маршрутизации заявок, поскольку это самая быстрая и экономичная модель в семействе Claude 3, при этом обеспечивающая отличные результаты. Если ваша задача классификации требует глубоких предметных знаний или большого объема категорий намерений со сложными рассуждениями, вы можете выбрать более крупную модель Sonnet.
Создайте сильный промпт
Маршрутизация заявок — это тип задачи классификации. Claude анализирует содержание заявки поддержки и классифицирует ее в предопределенные категории на основе типа проблемы, срочности, требуемой экспертизы или других соответствующих факторов. Давайте напишем промпт для классификации заявок. Наш начальный промпт должен содержать содержимое запроса пользователя и возвращать как рассуждение, так и намерение.- Мы используем f-строки Python для создания шаблона промпта, позволяя вставить
ticket_contents
в теги<request>
. - Мы даем Claude четко определенную роль в качестве системы классификации, которая тщательно анализирует содержание заявки для определения основного намерения и потребностей клиента.
- Мы инструктируем Claude о правильном форматировании вывода, в данном случае предоставлять свои рассуждения и анализ внутри тегов
<reasoning>
, а затем соответствующую метку классификации внутри тегов<intent>
. - Мы указываем допустимые категории намерений: “Support, Feedback, Complaint”, “Order Tracking” и “Refund/Exchange”.
- Мы включаем несколько примеров (т.н. few-shot prompting) для иллюстрации того, как должен быть отформатирован вывод, что улучшает точность и согласованность.
Разверните ваш промпт
Трудно узнать, насколько хорошо работает ваш промпт, не развернув его в тестовой производственной среде и не проведя оценку. Давайте построим структуру развертывания. Начнем с определения сигнатуры метода для обертывания нашего вызова к Claude. Мы возьмем метод, который мы уже начали писать, который имеетticket_contents
в качестве входных данных, и теперь вернем кортеж reasoning
и intent
в качестве выходных данных. Если у вас есть существующая автоматизация, использующая традиционное машинное обучение, вам следует вместо этого следовать той сигнатуре метода.
- Импортирует библиотеку Anthropic и создает экземпляр клиента, используя ваш API-ключ.
- Определяет функцию
classify_support_request
, которая принимает строкуticket_contents
. - Отправляет
ticket_contents
в Claude для классификации, используяclassification_prompt
- Возвращает
reasoning
иintent
модели, извлеченные из ответа.
stream=False
(по умолчанию).
Оцените ваш промпт
Промптинг часто требует тестирования и оптимизации, чтобы быть готовым к производству. Чтобы определить готовность вашего решения, оцените производительность на основе критериев успеха и пороговых значений, которые вы установили ранее. Для проведения оценки вам понадобятся тестовые примеры. Остальная часть этого руководства предполагает, что вы уже разработали свои тестовые примеры.Создайте функцию оценки
Наш пример оценки для этого руководства измеряет производительность Claude по трем ключевым показателям:- Точность
- Стоимость на классификацию
- Мы добавили
actual_intent
из наших тестовых примеров в методclassify_support_request
и настроили сравнение для оценки того, соответствует ли классификация намерения Claude нашей золотой классификации намерения. - Мы извлекли статистику использования для API-вызова, чтобы рассчитать стоимость на основе использованных входных и выходных токенов
Запустите вашу оценку
Правильная оценка требует четких пороговых значений и ориентиров для определения того, что является хорошим результатом. Приведенный выше скрипт даст нам значения времени выполнения для точности, времени отклика и стоимости на классификацию, но нам все равно нужны четко установленные пороговые значения. Например:- Точность: 95% (из 100 тестов)
- Стоимость на классификацию: 50% снижение в среднем (по 100 тестам) от текущего метода маршрутизации
Улучшите производительность
В сложных сценариях может быть полезно рассмотреть дополнительные стратегии для улучшения производительности помимо стандартных техник инженерии промптов и стратегий внедрения ограничений. Вот некоторые распространенные сценарии:Используйте таксономическую иерархию для случаев с более чем 20 категориями намерений
По мере увеличения количества классов также расширяется количество требуемых примеров, потенциально делая промпт громоздким. В качестве альтернативы вы можете рассмотреть возможность внедрения иерархической системы классификации с использованием смеси классификаторов.- Организуйте ваши намерения в структуру таксономического дерева.
- Создайте серию классификаторов на каждом уровне дерева, обеспечивая каскадный подход к маршрутизации.

- Плюсы - большая нюансированность и точность: Вы можете создать разные промпты для каждого родительского пути, позволяя более целенаправленную и контекстно-специфическую классификацию. Это может привести к улучшенной точности и более нюансированной обработке запросов клиентов.
- Минусы - увеличенная задержка: Имейте в виду, что множественные классификаторы могут привести к увеличенной задержке, и мы рекомендуем реализовывать этот подход с нашей самой быстрой моделью, Haiku.
Используйте векторные базы данных и поиск по сходству для обработки сильно вариативных заявок
Несмотря на то, что предоставление примеров является наиболее эффективным способом улучшения производительности, если запросы поддержки сильно варьируются, может быть трудно включить достаточно примеров в один промпт. В этом сценарии вы могли бы использовать векторную базу данных для поиска по сходству из набора данных примеров и извлечения наиболее релевантных примеров для данного запроса. Этот подход, подробно описанный в нашем рецепте классификации, показал улучшение производительности с 71% точности до 93% точности.Учитывайте ожидаемые пограничные случаи
Вот некоторые сценарии, в которых Claude может неправильно классифицировать заявки (могут быть и другие, уникальные для вашей ситуации). В этих сценариях рассмотрите возможность предоставления явных инструкций или примеров в промпте о том, как Claude должен обрабатывать пограничный случай:Клиенты делают неявные запросы
Клиенты делают неявные запросы
- Решение: Предоставьте Claude несколько реальных примеров таких запросов от клиентов, вместе с тем, каково основное намерение. Вы можете получить еще лучшие результаты, если включите обоснование классификации для особенно нюансированных намерений в заявках, чтобы Claude мог лучше обобщить логику на другие заявки.
Claude приоритизирует эмоции над намерением
Claude приоритизирует эмоции над намерением
- Решение: Предоставьте Claude указания о том, когда приоритизировать настроение клиента или нет. Это может быть что-то такое простое, как “Игнорируйте все эмоции клиента. Сосредоточьтесь только на анализе намерения запроса клиента и какую информацию клиент может запрашивать.”
Множественные проблемы вызывают путаницу в приоритизации
Множественные проблемы вызывают путаницу в приоритизации
- Решение: Уточните приоритизацию намерений, чтобы Claude мог лучше ранжировать извлеченные намерения и определять основную проблему.
Интегрируйте Claude в ваш более широкий рабочий процесс поддержки
Правильная интеграция требует, чтобы вы приняли некоторые решения относительно того, как ваш скрипт маршрутизации заявок на основе Claude вписывается в архитектуру вашей более широкой системы маршрутизации заявок. Есть два способа, которыми вы могли бы это сделать:- На основе push: Система поддержки заявок, которую вы используете (например, Zendesk), запускает ваш код, отправляя событие webhook в вашу службу маршрутизации, которая затем классифицирует намерение и направляет его.
- Этот подход более масштабируем для веба, но требует, чтобы вы предоставили публичную конечную точку.
- На основе pull: Ваш код запрашивает последние заявки на основе заданного расписания и направляет их во время запроса.
- Этот подход проще в реализации, но может делать ненужные вызовы к системе поддержки заявок, когда частота запросов слишком высока, или может быть слишком медленным, когда частота запросов слишком низка.