Claude Common Use Case Guide: Агенты службы поддержки клиентов

В этом руководстве описано, как использовать Клод Расширенные возможности диалога позволяют обрабатывать запросы клиентов в режиме реального времени, обеспечивать круглосуточную поддержку, сокращать время ожидания и управлять большими объемами запросов на поддержку с помощью точных ответов и проактивного взаимодействия.

Перед строительством с Клодом

Решите, стоит ли использовать Claude для чата поддержки

Вот несколько ключевых показателей того, что вам стоит использовать LLM, например Claude, для автоматизации некоторых процессов поддержки клиентов:

Большое количество повторяющихся запросов

Клод специализируется на эффективном решении большого количества однотипных задач, освобождая человеческих агентов для решения более сложных проблем.

Необходимость быстрой интеграции информации

Клод способен быстро получать, обрабатывать и интегрировать информацию из обширной базы знаний, в то время как человеческому агенту может потребоваться время для проведения исследований или обращения к многочисленным источникам.

Требования к доступности 24/7

Клод способен оказывать поддержку 24 часа в сутки 7 дней в неделю, не уставая, в то время как обеспечение непрерывной работы агентов-людей может быть дорогостоящим и сложным.

Быстрое расширение в пиковые периоды

Claude может справиться с внезапным увеличением объема запросов без необходимости нанимать и обучать дополнительный персонал.

Последовательный голос бренда

Вы можете поручить Клоду последовательно представлять тон и ценности вашего бренда, в то время как человеческие агенты могут иметь разные стили общения.

Некоторые факторы, которые следует учитывать при выборе Claude по сравнению с другими LLM:

  • Вы отдаете предпочтение естественному и тонкому общению: благодаря тонкому пониманию языка Claude позволяет вести более естественные, учитывающие контекст разговоры, которые ближе к человеческому общению, чем чаты с другими LLM.
  • Вы часто получаете сложные и открытые вопросы: Claude может обрабатывать широкий спектр тем и запросов, не генерируя шаблонных ответов и не прибегая к написанию обширных перестановок пользовательского языка.
  • Вам нужна масштабируемая многоязычная поддержка: многоязычные возможности Claude позволяют вести диалоги на более чем 200 языках без необходимости настраивать отдельный чатбот для каждого поддерживаемого языка или проходить длительный процесс перевода.

Определение идеального взаимодействия в чате

Опишите идеальное взаимодействие с клиентом, чтобы определить, как и когда вы ожидаете, что ваши клиенты будут взаимодействовать с Claude. Этот обзор поможет определить технические требования к вашему решению.

Ниже приведен пример взаимодействия в чате для службы поддержки клиентов автострахования:

  • наши клиенты: Чат поддержки при запуске
    • Клод: Теплое приветствие клиентов и начало диалога
  • наши клиенты: Спросите о страховке для их нового электромобиля
    • Клод: Предоставление информации о страховании электромобилей
  • наши клиенты: Задавайте вопросы, связанные с особыми потребностями страхования электромобилей
    • Клод: Давать точные и полезные ответы со ссылками на соответствующие источники
  • наши клиенты: Задавайте вопросы не по теме, не имеющие отношения к страхованию или автомобилям
    • Клод: Уточните, что они не обсуждают неактуальные темы и направляют клиентов обратно к материалам, связанным с автострахованием
  • наши клиенты: Проявил интерес к страховым котировкам
    • Клод: Задайте ряд вопросов, чтобы определить подходящее предложение и скорректировать его в зависимости от ответов клиента.
    • Клод: Отправьте запрос на API-инструмент генерации предложений с необходимой информацией, полученной от клиента
    • Клод: Получение ответной информации от API-инструмента, синтез ее в естественный ответ и предоставление предложения клиенту.
  • наши клиенты: Задаваемые последующие вопросы
    • Клод: Отвечать на последующие вопросы по мере необходимости
    • Клод: Направьте клиента на следующий шаг в процессе страхования и завершите диалог.

По мере написания примеров для собственных сценариев использования вам может быть полезно выписывать слова, используемые в диалоге, чтобы вы могли понять, каким должен быть идеальный тон Клода, длина ответа и требуемый уровень детализации.

Разбейте взаимодействие на отдельные задачи

Чат поддержки клиентов состоит из множества различных задач, включая ответы на вопросы, поиск информации и обработку запросов, объединенных в одно целое взаимодействие с клиентом. Прежде чем приступить к созданию, разбейте идеальное взаимодействие с клиентом на все задачи, которые должен выполнить Клод. Это гарантирует, что вы подскажете и оцените Клода для каждой задачи, а также обеспечит хорошее понимание масштаба взаимодействия, что необходимо учитывать при написании тестовых примеров.

Иногда клиенты считают полезным представить этот процесс в виде блок-схемы взаимодействия, показывающей возможные точки разветвления диалога в зависимости от запросов пользователя.

Ниже перечислены основные задачи, связанные с вышеуказанными видами взаимодействия со страховыми компаниями:

  1. Приветствие и общие указания
    • Тепло встречайте клиентов и начинайте диалог
    • Предоставьте основную информацию о компании и взаимодействии с ней
  2. Информация о продукте
    • Предоставление информации о страховании EV Это необходимо сделать для того, чтобы Клод получил необходимую информацию в своем контексте, и это может означать, что его необходимо Интеграция RAG.
    • Ответьте на вопросы, связанные с особыми потребностями страхования электромобилей
    • Отвечайте на последующие вопросы о котировках или деталях страхования
    • При необходимости дайте ссылки на соответствующие источники
  3. Управление диалогом
    • Не отвлекаться от темы (Автострахование)
    • Направление вопросов, не относящихся к теме, обратно в соответствующие темы
  4. Цитата Поколение
    • Задавайте соответствующие вопросы, чтобы определить квалификацию предложений
    • Корректировка вопросов на основе ответов клиентов
    • Отправьте собранную информацию в API генерации предложений
    • Предоставление клиентам сформированных котировок

Установление критериев успеха

Работая с вашей командой поддержки, специалистыОпределите четкие критерии успехаи написать отчет с количественными показателями и целями.Детальная оценка.

Ниже приведены критерии и контрольные показатели для оценки успешности выполнения Клодом поставленных задач:

Точность понимания запросов

Эта метрика оценивает точность понимания Клодом запросов клиентов по различным темам. Понимание Клодом намерений клиента, критических последующих шагов, успешных решений и т. д. оценивается путем анализа выборки разговоров. Цель - достичь точности понимания на уровне 95% или выше.

Актуальность

Оцените, насколько ответы Клода эффективны для решения конкретной проблемы клиента. Оцените набор диалогов и оцените релевантность каждого ответа (крупномасштабная оценка с помощью скоринговой системы, основанной на большой языковой модели). Целевой балл релевантности - 90% или выше.

Точность реакции

Оцените точность информации о компании и продукте, предоставленной Клоду, на основе предоставленной контекстной информации. Цель - достичь точности 100% для этой информации.

Актуальность цитаты

Отслеживайте частоту и релевантность предоставленных ссылок или ресурсов. Цель - предоставить релевантные ресурсы по взаимодействию 80%, которые требуют дополнительной информации.

Соблюдение тематики

Оцените, придерживается ли Клод темы во время диалога, например, в нашем примере с автострахованием, и оцените ответы Клода на вопросы, связанные с автострахованием или конкретным клиентом. Цель состоит в том, чтобы ответы 95% были непосредственно связаны с автострахованием или конкретными вопросами клиента.

Эффективность создания контента

Оцените, насколько успешно Клод понимает, когда нужно генерировать содержание сообщения, и насколько оно релевантно. Например, в нашей реализации мы будем оценивать понимание Клодом того, когда нужно генерировать цитаты, и их точность. Цель - точность 100%, поскольку это критически важная информация для успешного взаимодействия с клиентами.

Повышение эффективности

Этот показатель измеряет способность Claude выявлять запросы, требующие вмешательства человека, и эскалировать их при необходимости. Отслеживается процент разговоров, которые были эскалированы правильно, и тех, которые должны были быть эскалированы, но не были. Цель - точность эскалации 95% или выше.

Ниже приведены критерии и контрольные показатели для оценки влияния использования Claude для поддержки бизнеса:

поддержание эмоционального состояния

Оцените способность Клода поддерживать или улучшать настроение клиентов на протяжении всего диалога. Используйте инструмент анализа настроения для измерения эмоционального состояния в начале и в конце каждого диалога. Цель состоит в том, чтобы поддерживать или улучшать настроение во время взаимодействия с 90%.

коэффициент утечки

Процент запросов клиентов, успешно обработанных чатботом без вмешательства человека. Обычно целевой показатель составляет 70%-80%, в зависимости от сложности запроса.

Рейтинг удовлетворенности клиентов

Измеряет удовлетворенность клиентов взаимодействием с чат-ботами. Обычно это делается с помощью опроса после взаимодействия. Цель - оценка удовлетворенности клиентов на уровне 4 из 5 или выше.

Среднее время обработки

Среднее время обработки запроса чатботом. Это время сильно варьируется в зависимости от сложности вопроса, но общая цель состоит в том, чтобы среднее время обработки запроса было меньше, чем время обслуживания клиентов человеком.

Как внедрить Клода в качестве агента по работе с клиентами

Выбор подходящей модели Claude

Выбор модели зависит от компромисса между стоимостью, точностью и временем отклика.

Чат поддержки клиентов.claude-3-5-sonnet-20240620 Идеально подходит для баланса между интеллектуальностью, задержкой и стоимостью. Однако если в диалог включено несколько подсказок (в том числе RAG, использование инструментов и/или длинные контекстные подсказки), тоclaude-3-haiku-20240307 Возможно, лучше оптимизировать задержку.

Создание мощного слова для подсказки

Использование Claude для поддержки клиентов требует, чтобы Claude был достаточно направленным и контекстным, чтобы отвечать на запросы клиентов, и достаточно гибким, чтобы обрабатывать широкий спектр запросов клиентов.

Давайте начнем с элементов написания сильных подсказок, начиная с системных подсказок:

IDENTITY = """你是 Eva,一位友好且知识渊博的 Acme 保险公司 AI 助手。你的角色是热情地欢迎客户,并提供有关 Acme 保险产品的信息,包括车险和电动车险。你还可以帮助客户获取他们的保险需求报价。"""

Хотя вы можете быть склонны поместить всю информацию в слова системной подсказки, чтобы отделить инструкции от диалога с пользователем, на самом деле Claude помещает большую часть содержимого подсказки в первый раунд User Лучше всего работает в середине (единственное исключение - подсказки персонажей). Для получения дополнительной информации читайте Используйте системное приглашение, чтобы назначить роль Клоду.

Лучше всего разбить сложные подсказки на подчасти и писать их по одной части за раз. Для каждой задачи можно добиться лучших результатов, постепенно определяя те части подсказки, которые нужны Клоду для выполнения этой задачи. Например, в случае с поддержкой клиентов по автострахованию мы будем писать подсказки поэтапно, начиная с задачи "Приветствия и общие указания". Это также облегчает отладку подсказок, поскольку вы можете быстрее корректировать отдельные части общей подсказки.

Мы поместили все эти секции в файл под названием config.py в документе.

STATIC_GREETINGS_AND_GENERAL = """
<static_context>
Acme 汽车保险:您在路上的可靠伙伴

简介:
在 Acme 保险公司,我们理解您的车辆不仅仅是交通工具——它是您通往生活冒险的门票。自 1985 年以来,我们一直在制定汽车保险政策,赋予驾驶者探索、通勤和旅行的信心。
无论您是在城市街道上穿行,还是在进行跨国旅行,Acme 都会保护您和您的车辆。
我们的创新汽车保险政策专为适应您的独特需求而设计,涵盖从轻微碰撞到重大事故的一切。
凭借 Acme 的获奖客户服务和快速理赔解决方案,您可以专注于驾驶的乐趣,而我们处理其他事宜。
我们不仅是保险提供商——我们是您人生旅途中的副驾驶。
选择 Acme 汽车保险,体验优质保障和真诚关怀带来的安心。因为在 Acme,我们不仅为您的汽车提供保险——我们还为您开拓生活的旅程提供动力。

注:我们还提供电动车的专门保险,确保所有类型车辆的驾驶者都能从我们的保护中受益。

Acme 保险提供以下产品:
- 汽车保险
- 电动车保险
- 两轮车保险

营业时间:周一至周五,上午 9 点至下午 5 点(美国东部时间)
客户服务电话:1-800-123-4567
</static_context>
"""

Мы будем одинаково относиться к информации о страховании автомобилей и электромобилей.

STATIC_CAR_INSURANCE="""
<static_context>
汽车保险覆盖范围:
Acme 的汽车保险政策通常涵盖:
1. 责任险:支付您对他人造成的人身伤害和财产损失。
2. 碰撞险:支付事故中对您汽车的损坏。
3. 综合险:支付非碰撞事故对您汽车造成的损坏。
4. 医疗费用险:支付事故后的医疗费用。
5. 无保险/保险不足的驾驶员险:当您被保险不足的驾驶员撞击时保护您。

可选覆盖范围包括:
- 租车报销
- 道路救援
- 新车更换
</static_context>
"""

STATIC_ELECTRIC_CAR_INSURANCE="""
<static_context>
电动车保险:
我们专门的电动车保险超越了传统的汽车保险,为您的高科技投资提供量身定制的保护。除了标准的保险项目外,我们还提供:
- 保护昂贵的电池系统
- 覆盖家用充电设备
- 适应电动车领域的快速发展

无论您驾驶的是 Rivian、Nissan Leaf、Chevrolet Bolt 或其他电动车型,我们经验丰富的代理人都准备为您制定一份让您安心享受每一段电力驱动旅程的保单。
</static_context>
"""

Теперь, когда у нас есть статический контент, давайте добавим как минимум 4-5 примеров "хороших" взаимодействий, чтобы Клод мог на них реагировать. Эти примеры должны представлять ваше идеальное взаимодействие с клиентом и могут включать в себя меры предосторожности, звонки с помощью инструментов и т. д.

EXAMPLES="""
以下是一些如何与客户互动的示例:

<example 1>
H: 你好,请问你们提供小企业的商业保险吗?

A: 啊!很遗憾,目前我们不提供商业保险。 
不过,我们有多种个人保险产品,包括汽车保险和电动车保险。 
您想了解更多关于这些产品的信息吗?
</example 1>

<example 2>
H: 你好,你们的营业时间是几点?

A: 我们的营业时间是周一至周五,上午 9 点到下午 5 点 (美国东部标准时间)。 
如果您有任何问题或需要帮助,请随时在这些时间内联系我们。 
今天还有什么其他需要我帮助的吗?
</example 2>

<example 3>
H: 我正在寻找汽车保险。Acme 提供哪些服务?

A: 很好的选择!Acme 的汽车保险通常包括:
- 责任险:在事故中您为过错方时为您提供保障
- 碰撞险:支付事故中您车辆的损坏费用
- 全面保障:涵盖非碰撞事件,如盗窃或故意破坏
- 医疗费用保险:事故后支付医疗费用
- 未投保/保险不足司机保障:保护您免受投保不足的司机影响

我们还提供一些可选保障,如租车报销、道路救援和新车更换。 
您想了解这些保障的更多细节,还是有其他关于为您的车辆投保的具体问题?
</example 3>

<example 4>
H: 我想了解一下你们的电动车保险。

A: 当然可以!我们的电动车保险专为电动车车主的独特需求量身定制。 
除了我们为普通车辆提供的所有标准保障外,我们的电动车保险还包括:

- 电池保障:保护您的车辆昂贵电池系统免受损坏或老化
- 技术包:涵盖高级电子设备和车载计算机系统的维修或更换
- 充电站保障:保护家庭和便携式充电设备
- 网络安全保障:对抗黑客攻击或数字威胁的保障
- 专业道路救援:包括平板拖车服务,以保护车辆底盘

我们为多种电动车提供保障,包括特斯拉、Rivian、日产、雪佛兰等热门车型。 
您是否有特定的电动车需要投保,或者您想了解某些保障的更多细节?
</example 4>

<example 5>
H: 我想获取我的汽车保险报价。

A: 当然!我很乐意为您提供汽车保险报价。 
为了为您提供准确的报价,我需要收集一些关于您车辆和主要驾驶人的信息。 
让我们从基本信息开始:

1. 您的车辆品牌和型号是什么?
2. 车辆生产年份是哪一年?
3. 您大约行驶了多少英里?
4. 主要驾驶人的年龄是多少?

一旦您提供了这些信息,我会使用我们的报价工具为您生成个性化的保险报价。
</example 5>
"""

Вам также нужно будет включить все важные инструкции по взаимодействию Claude с клиентами. Их можно взять из правил защиты бренда или политики поддержки.

ADDITIONAL_GUARDRAILS = """请遵循以下防护措施:
1. 仅提供我们产品中列出的保险类型信息。
2. 如果被问及我们不提供的保险类型,请礼貌地说明我们不提供此类服务。
3. 不要对未来的产品或公司计划进行猜测。
4. 不要做出未经授权的承诺或达成协议。你只能提供信息和指导。
5. 不要提及任何竞争对手的产品或服务。
"""

Теперь давайте объединим все эти части в строку, которую будем использовать в качестве подсказки.

TASK_SPECIFIC_INSTRUCTIONS = ' '.join([
   STATIC_GREETINGS_AND_GENERAL,
   STATIC_CAR_INSURANCE,
   STATIC_ELECTRIC_CAR_INSURANCE,
   EXAMPLES,
   ADDITIONAL_GUARDRAILS,
])

Использование инструментов для придания динамики и проактивности

Клод может выполнять операции и получать информацию динамически, используя инструментальные средства на стороне клиента. Все внешние инструменты или API, которые должны использоваться для подсказки, перечислены первыми.

В этом примере мы начнем с инструмента для расчета котировок.

Обратите внимание, что инструмент не выполняет вычислений, он только сигнализирует приложению о необходимости его использования и передает заданные параметры.

Пример калькулятора страховых котировок:

TOOLS = [{
  "name": "get_quote",
  "description": "根据用户输入计算保险报价。返回值为每月的保费。",
  "input_schema": {
    "type": "object",
    "properties": {
      "make": {"type": "string", "description": "车辆的品牌。"},
      "model": {"type": "string", "description": "车辆的型号。"},
      "year": {"type": "integer", "description": "车辆的生产年份。"},
      "mileage": {"type": "integer", "description": "车辆的行驶里程数。"},
      "driver_age": {"type": "integer", "description": "主要驾驶员的年龄。"}
    },
    "required": ["make", "model", "year", "mileage", "driver_age"]
  }
}]

def get_quote(make, model, year, mileage, driver_age):
    """返回每月的保费(以美元计)"""
    # 你可以调用 HTTP 端点或数据库来获取报价。
    # 这里,我们模拟1秒的延迟并返回固定的100美元报价。
    time.sleep(1)
    return 100

Развертывание подсказок

Без развертывания подсказки в тестовой производственной среде и Оперативная оценка В этом случае сложно определить, насколько эффективны ваши подсказки. Поэтому давайте создадим небольшое приложение, используя наши подсказки, Anthropic SDK и streamlit, и создадим для него пользовательский интерфейс.

под названием chatbot.py Сначала создайте класс ChatBot, в котором будет заключена та же информация, что используется в Антропология Взаимодействие с SDK.

Класс должен содержать два основных метода:generate_message ответить пением process_user_input.

from anthropic import Anthropic
from config import IDENTITY, TOOLS, MODEL, get_quote
from dotenv import load_dotenv

load_dotenv()

class ChatBot:
   def __init__(self, session_state):
       self.anthropic = Anthropic()
       self.session_state = session_state

   def generate_message(
       self,
       messages,
       max_tokens,
   ):
       try:
           response = self.anthropic.messages.create(
               model=MODEL,
               system=IDENTITY,
               max_tokens=max_tokens,
               messages=messages,
               tools=TOOLS,
           )
           return response
       except Exception as e:
           return {"error": str(e)}

   def process_user_input(self, user_input):
       self.session_state.messages.append({"role": "user", "content": user_input})

       response_message = self.generate_message(
           messages=self.session_state.messages,
           max_tokens=2048,
       )

       if "error" in response_message:
           return f"发生错误: {response_message['error']}"

       if response_message.content[-1].type == "tool_use":
           tool_use = response_message.content[-1]
           func_name = tool_use.name
           func_params = tool_use.input
           tool_use_id = tool_use.id

           result = self.handle_tool_use(func_name, func_params)
           self.session_state.messages.append(
               {"role": "assistant", "content": response_message.content}
           )
           self.session_state.messages.append({
               "role": "user",
               "content": [{
                   "type": "tool_result",
                   "tool_use_id": tool_use_id,
                   "content": f"{result}",
               }],
           })

           follow_up_response = self.generate_message(
               messages=self.session_state.messages,
               max_tokens=2048,
           )

           if "error" in follow_up_response:
               return f"发生错误: {follow_up_response['error']}"

           response_text = follow_up_response.content[0].text
           self.session_state.messages.append(
               {"role": "assistant", "content": response_text}
           )
           return response_text
      
       elif response_message.content[0].type == "text":
           response_text = response_message.content[0].text
           self.session_state.messages.append(
               {"role": "assistant", "content": response_text}
           )
           return response_text
      
       else:
           raise Exception("发生错误: 意外的响应类型")

   def handle_tool_use(self, func_name, func_params):
       if func_name == "get_quote":
           premium = get_quote(**func_params)
           return f"生成的报价: 每月 ${premium:.2f}"
      
       raise Exception("使用了意外的工具")

Создание пользовательского интерфейса

Разверните этот код с помощью Streamlit и теста основного метода. Это main() Функция устанавливает интерфейс чата на основе Streamlit.

Мы будем работать с файлом под названием app.py Это делается в файле

import streamlit as st
from chatbot import ChatBot
from config import TASK_SPECIFIC_INSTRUCTIONS

def main():
   st.title("与 Eva 聊天,Acme 保险公司的助理🤖")

   if "messages" not in st.session_state:
       st.session_state.messages = [
           {'role': "user", "content": TASK_SPECIFIC_INSTRUCTIONS},
           {'role': "assistant", "content": "明白"},
       ]

   chatbot = ChatBot(st.session_state)

   # 显示用户和助理的消息,跳过前两条
   for message in st.session_state.messages[2:]:
       # 忽略工具使用的消息块
       if isinstance(message["content"], str):
           with st.chat_message(message["role"]):
               st.markdown(message["content"])

   if user_msg := st.chat_input("在此输入您的消息..."):
       st.chat_message("user").markdown(user_msg)

       with st.chat_message("assistant"):
           with st.spinner("Eva 正在思考..."):
               response_placeholder = st.empty()
               full_response = chatbot.process_user_input(user_msg)
               response_placeholder.markdown(full_response)

if __name__ == "__main__":
   main()

Чтобы запустить программу, выполните следующую команду:

streamlit run app.py

Оцените свои советы

Чтобы достичь готовности к производству, подсказки часто требуют тестирования и оптимизации. Чтобы определить, готово ли ваше решение, вы можете оценить эффективность чатбота с помощью систематического процесса, сочетающего количественные и качественные методы. На основе определенных критериев успеха создайтеСильная эмпирическая оценкапозволит вам оптимизировать ваши подсказки.

Антропная консоль Теперь в комплект входит инструмент оценки, позволяющий проверить подсказки в различных сценариях.

Улучшить производительность

В сложных сценариях в дополнение к стандартнымСоветы по проектированиюответить пениемСтратегия внедрения огражденийКроме того, может оказаться полезным рассмотреть другие стратегии повышения производительности. Вот несколько распространенных сценариев:

Сокращение длительной задержки контекста с помощью RAG

При работе с большим количеством статических и динамических контекстов включение всей информации в подсказку может привести к большим затратам, замедлению времени отклика и выходу за пределы контекстного окна. В этом случае применение техники Retrieval Augmented Generation (RAG) может значительно повысить производительность и эффективность.

С помощью Модель встраивания, подобная вояжу Преобразование информации в векторное представление позволяет создать более масштабируемую и отзывчивую систему. Такой подход позволяет динамически извлекать релевантную информацию на основе текущего запроса, а не включать все возможные контексты в каждую подсказку.

реализуйте RAG Используется для поддержки применения сценариев Формулы RAG было показано, что это повышает точность, сокращает время отклика и снижает стоимость API в системах, требующих широкого спектра контекстов.

Интеграция данных в режиме реального времени с помощью инструментов

Когда речь идет о запросах, требующих информации в режиме реального времени, например об остатках на счетах или деталях политики, встроенного подхода на основе RAG недостаточно. Вместо этого можно использовать инструменты, чтобы значительно расширить возможности чатбота по предоставлению точных ответов в режиме реального времени. Например, вы можете использовать инструменты для поиска информации о клиенте, получения данных о заказе и отмены заказа от имени клиента.

Этот метод используется в нашем Использование инструмента: Формула агента по работе с клиентами Появилось в , что позволяет легко интегрировать данные в режиме реального времени в ответы Клода, обеспечивая более персонализированный и эффективный клиентский опыт.

Усиленные меры защиты входа и выхода

При развертывании чат-ботов, особенно в сценариях обслуживания клиентов, очень важно защитить их от риска злоупотреблений, запросов, выходящих за рамки компетенции, и неуместных ответов. Хотя Claude по своей природе устойчив к таким сценариям, вот дополнительные шаги для усиления защиты вашего чатбота:

  • Уменьшение галлюцинаций: Внедрение механизмов проверки фактов и цитировать чтобы убедиться, что ответы основаны на предоставленной информации.
  • Перепроверьте информацию: убедитесь, что ответ агента соответствует политике компании и известным фактам.
  • Избегайте договорных обязательств: убедитесь, что агент не дает обещаний или соглашений, на которые он не уполномочен.
  • Устранение последствий джейлбрейкаИспользуйте такие методы, как безобидная проверка и валидация ввода, чтобы предотвратить использование пользователями уязвимостей модели для создания нежелательного контента.
  • Избегайте упоминания конкурентов: установите фильтр упоминаний конкурентов, чтобы не отвлекаться на бренд и не упоминать продукты или услуги конкурентов.
  • Сохраните роль Клода.: Предотвращает изменение контекстного стиля Claude во время длительных и сложных взаимодействий.
  • Удалите информацию, позволяющую идентифицировать личность (PII): если нет четкого запроса и разрешения, удалите всю PII из ответов.

Сокращение времени отклика благодаря потоковой обработке.

Реализация потоковой передачи данных может значительно повысить вовлеченность и удовлетворенность пользователей при работе с потенциально длинными ответами. В этом случае пользователи получают ответы постепенно, а не ждут, пока будет сгенерирован весь ответ.

Вот шаги по реализации потоковой обработки:

  1. пользоваться Антропотоковый потоковый API Поддерживаются потоковые ответы.
  2. Устанавливает фронт-энд для обработки входящих блоков текста.
  3. Отображает блок текста для каждого поступления, имитируя эффект ввода в реальном времени.
  4. Реализуйте механизм сохранения полных ответов, чтобы пользователи могли просмотреть все содержимое, когда вернутся после перехода.

В некоторых случаях потоковая передача позволяет использовать продвинутые модели с более высокими базовыми задержками, поскольку прогрессивное отображение смягчает влияние более длительного времени обработки.

Расширьте свой чатбот

По мере роста сложности Chatbot архитектура приложения может меняться вместе с ним. Прежде чем добавлять новые уровни в архитектуру, рассмотрите следующие более простые варианты:

  • Убедитесь, что вы максимально используете подсказки и оптимизируете работу с ними. Используйте наши Руководство по проектированию наконечников Напишите самые эффективные советы.
  • Добавьте других к подсказке артефакт (который может включать цепь кия), чтобы убедиться, что желаемая функция может быть достигнута.

Если ваш чатбот выполняет самые разнообразные задачи, возможно, вам стоит подумать о добавлении Отдельные классификаторы намерений для направления первоначального запроса клиента. Для существующих приложений это предполагает создание дерева решений, которое направляет запросы клиентов через классификаторы в специализированные диалоговые окна (каждое со своими инструментами и системными подсказками). Обратите внимание, что такой подход требует дополнительного обращения к Claude, что может увеличить задержку.

Интеграция Клода в рабочие процессы поддержки

В то время как наши примеры посвящены функциям Python, которые можно вызывать в среде Streamlit, развертывание Claude для поддержки Chatbot в реальном времени требует наличия API-сервиса.

Вы можете сделать это:

  1. Создайте обертку API: разработайте простую обертку API для ваших классифицированных функций. Например, вы можете использовать Flask API или Fast API, чтобы обернуть свой код в HTTP-сервис. Этот HTTP-сервис может принимать пользовательский ввод и возвращать полный ответ Assistant. В результате служба может обладать следующими характеристиками:
    • Server-Sent Events (SSE): SSE позволяет передавать ответы в реальном времени между сервером и клиентом. Это очень важно для обеспечения плавной интерактивной работы при использовании LLM.
    • Кэширование: внедрение кэширования может значительно улучшить отзывчивость и сократить количество ненужных вызовов API.
    • Сохранение контекста: сохранение контекста важно для непрерывности диалога, когда пользователь переходит от одного места к другому.
  2. Создание веб-интерфейса: Реализация удобного веб-интерфейса для взаимодействия с агентами, управляемыми Claude.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...