Поделиться через


Рекомендации по разработке тем в Copilot Studio

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

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

  • Темы могут активироваться в зависимости от высказываний пользователя и модели распознавания речи(NLU).
    Эти темы можно рассматривать как темы точек входа.
    Если у вас есть триггерные фразы, которые перекрывают несколько тем, хорошо иметь универсальную тему (или тему устранения неоднозначности), а затем перенаправлять на другие темы, заполняя слоты и уточняя вопросы.
    Благодаря извлечению сущностей уточняющие вопросы можно пропустить, и разговор напрямую переходит к соответствующей теме без дальнейшего ввода данных со стороны пользователя.

  • Темы могут активироваться при вызове из действия перенаправления.
    Эти темы могут содержать узлы разговора и логики, могут вызываться несколькими темами и содержать входные и выходные переменные. В идеале это темы многоразового использования и небольшого размера.

  • Тема также может быть и тем, и другим.
    Например, темы, активированные распознаванием намерений или явным перенаправлением.

  • Темы могут быть активированы другими событиями.
    Например, это могут быть пользовательские события, неактивность и т. д.

Для получения дополнительной информации см. полный список триггеров тем.

Совет

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

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

Благодаря заполнению слотов и извлечению сущностей, если пользователь говорит: «Мне нужно разблокировать мою кредитную карту», срабатывает тема Card, и оба вопроса Debit/Credit и Block/Unblock пропускаются, поскольку CardType и OperationType выводятся из фразы-триггера. Затем автоматически вызывается соответствующая дочерняя тема Credit Card без ввода пользователем каких-либо дополнительных данных.

Диаграмма, показывающая темы Copilot Studio, вызванные фразами-триггерами, а также другими темами.

Создание небольших тем

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

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

Совет

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

Количество тем — это предпочтение и решение разговорного дизайна. Это либо приводит к появлению нескольких больших тем (если есть объединение), либо к меньшим темам (если есть разделение).

Совет

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

Создание повторно используемых тем

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

Совет

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

Избегайте пересечения тем

Отслеживайте и устраняйте двусмысленность между темами

Когда темы инициируются с помощью NLU, важно избегать проблем с перекрытием. Проблемы перекрытия обычно проявляются в большом количестве тем несколько соответствующих тем (также известным как "вы имели в виду?").

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

Совет

Для тем, запускаемых триггерными фразами, вам следует:

  • Сравните триггерные фразы по своим темам и удалите неоднозначные пары.
  • Старайтесь не использовать одни и те же слова в триггерных фразах разных тем.

Существует несколько способов отслеживания перекрытия тем:

  • Проанализируйте высказывания пользователей, которые вызывают тему "Вы имели в виду", так как это ключевой показатель того, что у вас есть совпадения
  • Copilot Studio предлагает функцию обнаружения перекрытия тема , которая позволяет авторам агент обнаруживать перекрывающиеся темы и решать их соответствующим образом (удаляя/перемещая триггерные фразы между темами).

Создайте тему устранения неоднозначности

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

Совет

Продолжая предыдущий пример, чтобы обрабатывать такие сценарии, как "разблокировать кредитную карту" или "разблокировать дебетовую карту", где пользователи могут просто сказать "разблокировать карту" и модель NLU не знает, какую конкретную тему и процесс запускать, вы можете вызвать общую тему устранения неоднозначности Card, использовать вопрос для заполнения слота сущности для CardType и соответственно запустить соответствующую тему.

Использование сущностей для уменьшения количества тем

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

  • Заказать пиццу
  • Заказать бургеры
  • Заказать напитки

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

  • Одну тему для Order
  • Одну сущность для FoodType, с Pizzas, Burgers и Drinks в качестве значений.