• Сообщения
  • Управляемые агенты
  • Администрирование
Search...
⌘K
Сценарии использования
ОбзорМаршрутизация заявокАгент поддержки клиентовМодерация контентаЮридическое резюмирование
Инженерия подсказок
ОбзорРекомендации по составлению подсказокПодсказки для Claude Fable 5Подсказки для Claude Opus 4.8Инструменты для подсказок в Консоли
Тестирование и оценка
Определение успеха и создание оценокИспользование инструмента оценки в КонсолиСнижение задержки
Усиление защитных механизмов
Снижение галлюцинацийПовышение согласованности выводаПредотвращение джейлбрейковСнижение утечки подсказок
Справочник
Глоссарий
Log in
Агент поддержки клиентов
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Рекомендации/Сценарии использования

Агент поддержки клиентов

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

Прежде чем начать разработку с Claude

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

Вот несколько ключевых признаков того, что вам стоит использовать «large language model» (большую языковую модель), или LLM, такую как Claude, для автоматизации части процесса поддержки клиентов:

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

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

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

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

Вот пример взаимодействия в чате для поддержки клиентов по автострахованию:

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

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

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

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

Вот ключевые задачи, связанные с приведённым выше примером взаимодействия по страхованию:

  1. Приветствие и общие указания

    • Тепло поприветствовать клиента и начать разговор
    • Предоставить общую информацию о компании и взаимодействии
  2. Информация о продукте

    • Предоставить информацию о страховом покрытии электромобилей
      Это потребует, чтобы у Claude была необходимая информация в контексте, и может означать, что необходима интеграция RAG.
    • Отвечать на вопросы, связанные с уникальными потребностями страхования электромобилей
    • Отвечать на уточняющие вопросы о расчёте или деталях страхования
    • Предлагать ссылки на источники, когда это уместно
  3. Управление разговором

    • Придерживаться темы (автострахование)
    • Перенаправлять вопросы не по теме обратно к релевантным темам
  4. Генерация расчёта

    • Задавать соответствующие вопросы для определения права на расчёт
    • Адаптировать вопросы на основе ответов клиента
    • Отправлять собранную информацию в API генерации расчёта
    • Представлять предоставленный расчёт клиенту

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

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

Вот критерии и контрольные показатели, которые можно использовать для оценки того, насколько успешно Claude выполняет определённые задачи:

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

Как реализовать Claude в качестве агента обслуживания клиентов

Выберите подходящую модель Claude

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

Для чата поддержки клиентов Claude Opus 4.8 хорошо подходит для баланса между интеллектом, задержкой и стоимостью. Однако в случаях, когда у вас есть поток разговора с несколькими подсказками, включая RAG, использование инструментов и/или подсказки с длинным контекстом, Claude Haiku 4.5 может быть более подходящим для оптимизации задержки.

Создайте сильную подсказку

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

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

IDENTITY = """You are Eva, a friendly and knowledgeable AI assistant for Acme Insurance
Company. Your role is to warmly welcome customers and provide information on
Acme's insurance offerings, which include car insurance and electric car
insurance. You can also help customers get quotes for their insurance needs."""
Хотя у вас может возникнуть соблазн поместить всю информацию внутрь системной подсказки как способ отделить инструкции от разговора с пользователем, Claude на самом деле работает лучше всего, когда основная часть содержимого подсказки написана внутри первого хода User (единственное исключение — ролевая подсказка). Подробнее читайте в разделе Назначение роли Claude с помощью системной подсказки.

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

Поместите все эти части в файл с именем config.py.

STATIC_GREETINGS_AND_GENERAL = """
<static_context>
Acme Auto Insurance: Your Trusted Companion on the Road

About:
At Acme Insurance, we understand that your vehicle is more than just a mode of transportation—it's your ticket to life's adventures.
Since 1985, we've been crafting auto insurance policies that give drivers the confidence to explore, commute, and travel with peace of mind.
Whether you're navigating city streets or embarking on cross-country road trips, Acme is there to protect you and your vehicle.
Our innovative auto insurance policies are designed to adapt to your unique needs, covering everything from fender benders to major collisions.
With Acme's award-winning customer service and swift claim resolution, you can focus on the joy of driving while we handle the rest.
We're not just an insurance provider—we're your co-pilot in life's journeys.
Choose Acme Auto Insurance and experience the assurance that comes with superior coverage and genuine care. Because at Acme, we don't just
insure your car—we fuel your adventures on the open road.

Note: We also offer specialized coverage for electric vehicles, ensuring that drivers of all car types can benefit from our protection.

Acme Insurance offers the following products:
- Car insurance
- Electric car insurance
- Two-wheeler insurance

Business hours: Monday-Friday, 9 AM - 5 PM EST
Customer service number: 1-800-123-4567
</static_context>
"""

Затем сделайте то же самое для информации об автостраховании и страховании электромобилей.

STATIC_CAR_INSURANCE = """
<static_context>
Car Insurance Coverage:
Acme's car insurance policies typically cover:
1. Liability coverage: Pays for bodily injury and property damage you cause to others.
2. Collision coverage: Pays for damage to your car in an accident.
3. Comprehensive coverage: Pays for damage to your car from non-collision incidents.
4. Medical payments coverage: Pays for medical expenses after an accident.
5. Uninsured/underinsured motorist coverage: Protects you if you're hit by a driver with insufficient insurance.

Optional coverages include:
- Rental car reimbursement
- Roadside assistance
- New car replacement
</static_context>
"""

STATIC_ELECTRIC_CAR_INSURANCE = """
<static_context>
Electric Car Insurance:
Our specialized electric car insurance goes beyond traditional auto coverage,
offering tailored protection for your high-tech investment. In addition to standard coverages, we offer:
- Safeguarding expensive battery systems
- Covering home charging equipment
- Adapting to the rapidly evolving world of electric vehicles

Whether you're driving a Rivian, Nissan Leaf, Chevrolet Bolt,
or any other electric vehicle, our knowledgeable agents are ready to craft a policy
that gives you the confidence to enjoy every electron-powered mile.
</static_context>
"""

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

EXAMPLES = """
Here are a few examples of how you can interact with customers:

<example 1>
H: Hi, do you offer commercial insurance for small businesses?

A: Ah! Unfortunately, we don't offer commercial insurance at this time.
However, we do provide a range of personal insurance products including car insurance and electric car insurance.
Would you like to know more about these offerings?
</example 1>

<example 2>
H: Hi, what are your business hours?

A: Our business hours are Monday to Friday, 9 AM to 5 PM EST.
If you have any questions or need assistance, feel free to reach out during those times.
How else can I assist you today?
</example 2>

<example 3>
H: I'm shopping for car insurance. What does Acme offer?

A: Great choice! Acme's car insurance policies typically include:
- Liability coverage: Protects you if you're at fault in an accident
- Collision coverage: Pays for damage to your car in an accident
- Comprehensive coverage: Covers non-collision incidents like theft or vandalism
- Medical payments coverage: Pays for medical expenses after an accident
- Uninsured/underinsured motorist coverage: Protects you from drivers with insufficient insurance

We also offer optional coverages like rental car reimbursement, roadside assistance, and new car replacement.
Would you like more details on any of these coverages, or do you have specific questions about insuring your vehicle?
</example 3>

<example 4>
H: I'd like to hear about your electric car insurance.

A: Certainly! Our electric car insurance is specially designed to meet the unique needs of electric vehicle owners.
In addition to all the standard coverages we offer for regular cars, our electric car policies include:

- Battery coverage: Protection against damage or degradation of your vehicle's expensive battery system
- Tech package: Covers repairs or replacement of advanced electronics and onboard computer systems
- Charging station coverage: Protects both home and portable charging equipment
- Cybersecurity protection: Coverage against hacking or digital threats
- Specialized roadside assistance: Includes flatbed towing to protect the vehicle's undercarriage

We cover a wide range of electric vehicles, including popular models from Tesla, Rivian, Nissan, Chevrolet, and more.
Is there a specific electric vehicle you're looking to insure, or would you like more details on any of these coverages?
</example 4>

<example 5>
H: I'd like to get a quote for my car insurance.

A: Certainly! I'd be happy to help you get a quote for your car insurance.
To provide you with an accurate quote, I'll need to collect some information about your vehicle and the primary driver.
Let's start with the basics:

1. What is the make and model of your vehicle?
2. What year was it manufactured?
3. Approximately how many miles have you driven?
4. What is the age of the primary driver?

Once you provide this information, I'll use our quoting tool to generate a personalized insurance quote for you.
</example 5>
"""

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

ADDITIONAL_GUARDRAILS = """Please adhere to the following guardrails:
1. Only provide information about insurance types listed in our offerings.
2. If asked about an insurance type we don't offer, politely state
that we don't provide that service.
3. Do not speculate about future product offerings or company plans.
4. Don't make promises or enter into agreements it's not authorized to make.
You only provide information and guidance.
5. Do not mention any competitor's products or services.
"""

Теперь объедините все эти разделы в одну строку для использования в качестве вашей подсказки.

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

Добавьте динамические и агентные возможности с помощью использования инструментов

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

Для этого примера начните с одного инструмента для расчёта страховой премии.

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

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

TOOLS = [
    {
        "name": "get_quote",
        "description": "Calculate the insurance quote based on user input. Returned value is per month premium.",
        "input_schema": {
            "type": "object",
            "properties": {
                "make": {"type": "string", "description": "The make of the vehicle."},
                "model": {"type": "string", "description": "The model of the vehicle."},
                "year": {
                    "type": "integer",
                    "description": "The year the vehicle was manufactured.",
                },
                "mileage": {
                    "type": "integer",
                    "description": "The mileage on the vehicle.",
                },
                "driver_age": {
                    "type": "integer",
                    "description": "The age of the primary driver.",
                },
            },
            "required": ["make", "model", "year", "mileage", "driver_age"],
        },
    }
]


def get_quote(make, model, year, mileage, driver_age):
    """Returns the premium per month in USD"""
    # Вы можете вызвать HTTP-эндпоинт или обратиться к базе данных, чтобы получить котировку.
    # Здесь мы имитируем задержку в 1 секунду и возвращаем фиксированную котировку 100.
    time.sleep(1)
    return 100

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

Трудно понять, насколько хорошо работает ваша подсказка, не развернув её в тестовой производственной среде и не запустив оценки, поэтому давайте создадим небольшое приложение, используя подсказку, Anthropic SDK и streamlit для пользовательского интерфейса.

В файле с именем chatbot.py начните с настройки класса ChatBot, который будет инкапсулировать взаимодействия с Anthropic 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"An error occurred: {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"An error occurred: {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("An error occurred: Unexpected response type")

    def handle_tool_use(self, func_name, func_params):
        if func_name == "get_quote":
            premium = get_quote(**func_params)
            return f"Quote generated: ${premium:.2f} per month"

        raise Exception("An unexpected tool was used")

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

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

Сделайте это в файле с именем app.py

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


def main():
    st.title("Chat with Eva, Acme Insurance Company's Assistant🤖")

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

    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("Type your message here..."):
        st.chat_message("user").markdown(user_msg)

        with st.chat_message("assistant"):
            with st.spinner("Eva is thinking..."):
                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

Оцените ваши подсказки

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

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

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

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

Уменьшите задержку длинного контекста с помощью RAG

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

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

Реализация RAG для сценариев поддержки рецепт RAG показала повышение точности, сокращение времени отклика и снижение затрат на API в системах с обширными требованиями к контексту.

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

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

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

Усильте защитные ограничения ввода и вывода

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

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

Уменьшите воспринимаемое время отклика с помощью потоковой передачи

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

Вот как реализовать потоковую передачу:

  1. Используйте Anthropic Streaming API для поддержки потоковых ответов.
  2. Настройте ваш фронтенд для обработки входящих фрагментов текста.
  3. Отображайте каждый фрагмент по мере его поступления, имитируя набор текста в реальном времени.
  4. Реализуйте механизм сохранения полного ответа, позволяющий пользователям просмотреть его, если они уйдут и вернутся.

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

Масштабируйте ваш чат-бот

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

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

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

Интегрируйте Claude в ваш рабочий процесс поддержки

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

Вот как вы можете подойти к этому:

  1. Создайте обёртку API: разработайте простую обёртку API вокруг вашей функции классификации. Например, вы можете использовать Flask API или Fast API, чтобы обернуть ваш код в HTTP-сервис. Ваш HTTP-сервис может принимать ввод пользователя и возвращать ответ ассистента целиком. Таким образом, ваш сервис может иметь следующие характеристики:

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

Книга рецептов Retrieval Augmented Generation (RAG)

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

Книга рецептов по цитированию

Изучите рецепт по цитированию из книги рецептов, чтобы узнать, как обеспечить точность и объяснимость информации.

Was this page helpful?

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