Оценка многоэтапных бесед

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

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

Когда следует использовать многоэтапную оценку

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

Сценарий Почему требуется многоэтапный
Заполнение слота Агент должен собирать несколько фрагментов информации.
Потоки уточнения Агент должен разрешать неоднозначные входные данные пользователя.
Многоэтапные задачи Для выполнения задачи требуется несколько обменов.
Контекстно-зависимые дальнейшие действия Последующие вопросы зависят от более ранних ответов.
Прогрессивное раскрытие информации Информация предоставляется постепенно.

Одноэтапная и многоэтапная оценка

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

Аспект Одноразовая очередь Многоэтапный
Тесты Отдельные пары "вопрос-ответ" Завершение бесед
Контекст Каждый запрос не зависит Включает сборку друг на друга
Сложности Упрощение проектирования и оценки Более реалистичное, но сложное
Диагностика сбоя Проще изолировать проблемы Требуется поохитовный анализ
Вариант использования Тестирование конкретных ответов Тестирование потока беседы

Ключевые метрики для многоэтапной оценки

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

Полнота беседы

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

Пример успешного выполнения

Шаг 1

  • Пользователь: "Мне нужно заказать ноутбук"
  • Агент: "Я могу помочь с этим. Какой тип ноутбука вам нужен?"

Шаг 2

  • Пользователь: "MacBook Pro"
  • Агент: "Какой размер экрана — 14 дюймов или 16 дюймов?"

Шаг 3

  • Пользователь: "16 дюймов"
  • Агент: "Я отправил ваш заказ на 16-дюймовый MacBook Pro. Идентификатор заказа: ORD-456. Ожидаемая доставка: 5–7 рабочих дней.

✅ Достигнута цель пользователя (заказ ноутбука).

Пример сбоя

Шаг 1

  • Пользователь: "Мне нужно заказать ноутбук"
  • Агент: "Я могу помочь с этим. Какой тип ноутбука вам нужен?"

Шаг 2

  • Пользователь: "MacBook Pro"
  • Агент: "MacBook Pro — отличный выбор! Есть ли что-нибудь еще?"

❌ Заказ не был отправлен, и цель пользователя не достигнута.

Хранение знаний

Хранение знаний измеряет, запоминает ли агент и использует сведения, предоставленные в предыдущих поворотах.

Пример успешного выполнения

Шаг 1

  • Пользователь: "Мой идентификатор сотрудника — EMP-12345"
  • Агент: "Спасибо! Как я могу помочь вам сегодня?"

Шаг 2

  • Пользователь: "Я хочу проверка баланс моего PTO"
  • Агент: "Текущий баланс PTO составляет 12 дней".

✅ Агент использовал ранее предоставленный идентификатор сотрудника, не запрашивая повторно.

Пример сбоя

Шаг 1

  • Пользователь: "Мой идентификатор сотрудника — EMP-12345"
  • Агент: "Спасибо! Как я могу помочь вам сегодня?"

Шаг 2

  • Пользователь: "Я хочу проверка баланс моего PTO"
  • Агент: "Я был бы рад помочь. Каков ваш идентификатор сотрудника?

❌ Агент забыл идентификатор сотрудника из предыдущей очереди.

Соблюдение ролей

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

Пример успешного выполнения

Шаг 1

  • Пользователь: "Какова политика PTO?"
  • Агент: предоставляет правильные сведения о политике PTO

Шаг 2

  • Пользователь: "Можете ли вы написать стихотворение об отпуске?"
  • Агент: "Я здесь, чтобы помочь с вопросами о персонале и адаптации. Есть ли еще что-нибудь о PTO, с которым я могу помочь?"

✅ Агент оставался в пределах своей роли и перенаправлялся соответствующим образом.

Пример сбоя

Шаг 1

  • Пользователь: "Какова политика PTO?"
  • Агент: предоставляет правильные сведения о политике PTO

Шаг 2

  • Пользователь: "Можете ли вы написать стихотворение об отпуске?"
  • Агент: "Конечно! Вот стихотворение о солнечных пляжах..."

❌Агент отстранился от своей роли помощник отдела кадров.

Релевантность беседы

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

Пример сбоя

Шаг 1

  • Пользователь: "Какие планы здравоохранения доступны?"
  • Агент: список параметров HMO и PPO

Шаг 2

  • Пользователь: "В чем разница в стоимости?"
  • Агент: "PPO предлагает большую гибкость в выборе врачей".

❌ Ответ не соответствует вопросу пользователя о затратах.

Согласованность контекста

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

Пример сбоя

Шаг 1

  • Пользователь: "Сколько дней отпуска я получаю?"
  • Агент: "Как новый сотрудник, вы получаете 15 дней PTO ежегодно".

Шаг 2

  • Пользователь: "И сколько дней болезни?"
  • Агент: "У вас есть 10 дней болезни, плюс 10 дней отпуска".

❌ Агент противоречит предыдущей информации, изменяя количество дней отпуска.

Разработка многоэтапных тестовых случаев

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

  • Идентификатор и описание тестового случая
  • Данные заземления
  • Последовательность бесед
  • Ожидаемое поведение
  • Утверждения

Пример. Заказ оборудования

  • Идентификатор тестового случая: CONV-001
  • Описание: поток заказа оборудования

Данные заземления

  • Сотрудник: Катрин Польд
  • Идентификатор сотрудника: EMP-54321
  • Отдел: Дизайн продукта
  • Бюджет: 3500 долл. США

Беседа

Шаг 1

  • Пользователь: "Мне нужно настроить ноутбук".
  • Ожидаемое поведение: спросите о предпочтениях.

Шаг 2

  • Пользователь: "MacBook Pro"
  • Ожидаемое поведение. Запрос спецификаций.

Шаг 3

  • Пользователь: "16 дюймов с 32 ГБ ОЗУ"
  • Ожидаемое поведение: подтвердите и отправьте заказ.

4-й шаг

  • Пользователь: "На самом деле, измените его на 64 ГБ".
  • Ожидаемое поведение: обновите заказ.

Утверждения на уровне беседы

  • Беседа завершается с подтвержденным заказом на оборудование.
  • Окончательный заказ отражает исправленную спецификацию (64 ГБ).
  • Агент никогда не запрашивает идентификатор сотрудника (должен выводить из контекста).
  • Общее число завершений — ≤6.

Утверждения на уровне поворота

  • Шаг 3.
    • Агент вызывает средство OrderEquipment.
    • Вызов средства включает в себя модель MacBook Pro 16 дюймов.
    • Вызов средства включает спецификации, содержащие "32 ГБ".
  • Шаг 4.
    • Агент вызывает UpdateOrder или изменяет предыдущий порядок.
    • В окончательном подтверждении отображается значение "64 ГБ".

Пример: беседа с заполнением слота

Сценарий: регистрация с преимуществами (заполнение слота)
Цель. Сбор всех необходимых сведений и завершение регистрации

Обязательные входные данные (слоты):

  • Выбор плана (HMO или PPO)
  • Уровень охвата (отдельный или семейный)
  • Зависимые сведения (если применимо)
  • Дата вступления в силу

Беседа

Шаг 1
Пользователь: "Я хочу зарегистрироваться для получения медицинской страховки".
Агент:

  • Запрос подтверждения
  • Запрашивает предпочтение плана (HMO и PPO)

Шаг 2
Пользователь: "В чем разница?"
Агент:

  • Основные различия между HMO и PPO
  • Повторно запрашивает выбор плана

Шаг 3
Пользователь: "Я пойду с PPO".
Агент:

  • Подтверждает выбор
  • Запрашивает уровень охвата (отдельный или семейный)

4-й шаг
Пользователь: "Охват семьи. У меня есть супруг и двое детей".
Агент:

  • Подтверждает зависимый сценарий
  • Запрашивает зависимые сведения (имена, возраст и т. д.)

5-й шаг
Пользователь: [Предоставляет зависимые сведения]
Агент:

  • Подтверждает все собранные сведения
  • Отправка регистрации
  • Предоставляет сводку по подтверждению

Утверждения:

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

Пример: беседа с пояснением

Сценарий: неоднозначный запрос (уточнение)
Цель. Устранение неоднозначности путем сбора достаточного контекста перед реагированием

Беседа

Шаг 1
Пользователь: "Мне нужно взять некоторое время отгула".
Агент:

  • Запрос подтверждения
  • Спрашивает, какой тип отгула (PTO, больничный лист, личный отпуск)

Шаг 2
Пользователь: "Это для медицинской процедуры".
Агент:

  • Определяет вероятную категорию
  • Задает вопрос о том, является ли запрос для пользователя или члена семьи

Шаг 3
Пользователь: "Это для меня. Это небольшая операция".
Агент:

  • Определяет, что это, скорее всего, больничный
  • Предоставляет соответствующие сведения о политике
  • Спрашивает об ожидаемой длительности

4-й шаг
Пользователь: "Около недели".
Агент:

  • Подтверждает право и процесс
  • Содержит дальнейшие действия (например, запрос на отпуск)
  • Предложения для инициирования запроса, если применимо

Утверждения:

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

Пример: беседа об ошибке восстановления

Сценарий: сбой заказа и восстановление
Цель: прозрачно обрабатывать сбои и направлять пользователя к успешному результату

Разговор:

Шаг 1
Пользователь: "Закажите мне MacBook Pro 16-дюймовый".
Агент:

  • Попытки отправки заказа

Ответ системы или средства:

  • Ошибка: товар не поставляется на складе

Агент:

  • Четко сообщает о проблеме
  • Не скрывает и не игнорирует сбой
  • Предлагает альтернативные варианты (например, другая модель или размер)

Шаг 2
Пользователь: "Когда он вернется на склад?"
Агент:

  • Проверяет доступность или предоставляет оценку по объему запасов, если доступно
  • Если он недоступен, четко сообщает, что
  • Предложения для уведомления пользователя или предложения альтернативных вариантов

Шаг 3
Пользователь: "Можно ли вместо этого получить 14-дюймовый?"
Агент:

  • Подтверждает доступность альтернативы
  • Отправка нового заказа
  • Предоставляет подтверждение (сведения о заказе, ожидаемая доставка)

Утверждения:

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

Многоэтапные утверждения

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

Утверждения на уровне беседы

  • Беседа достигает цели пользователя.
  • Количество поворотов находится в ожидаемом диапазоне.
  • Агент сохраняет согласованные сведения.
  • Агент сохраняет свою роль.
  • Агент не запрашивает повторяющиеся сведения.

Утверждения на уровне поворота

  • Ответ подтверждает предыдущий контекст.
  • В ответе задаются соответствующие последующие вопросы.
  • Агент выполняет ожидаемые действия.
  • Ответ подтверждает выполненные действия.

Условные утверждения

  • Когда пользователь исправляет сведения, агент обновляет последующие ответы.
  • Если действие завершается сбоем, агент сообщает о проблеме и предоставляет альтернативные варианты.
  • Когда пользователь задает не область вопрос, агент перенаправляет соответствующим образом.

Пример. Сквозная многоэтапная оценка

Тестовый случай: настройка нового сотрудника

Описание

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

Данные заземления

  • Сотрудник: Маркус Джонсон
  • Идентификатор сотрудника: EMP-99887
  • Отдел: Инженерия
  • Расположение: Сиэтл
  • Бюджет оборудования: $4000

Беседа

Шаг 1

  • Пользователь: "Я начинаю на следующей неделе и должен настроить свою рабочую станцию".
  • Ожидаемое поведение. Добро пожаловать и спросить о потребностях в оборудовании.

Шаг 2

  • Пользователь: "Мне нужен MacBook Pro 16 дюймов с 64 ГБ ОЗУ и 27-дюймовым монитором".
  • Ожидаемое поведение: отправка заказа и подтверждение.

Шаг 3

  • Пользователь: "Когда истек крайний срок для регистрации для получения медицинского страхования?"
  • Ожидаемое поведение. Предоставьте сведения о преимуществах без потери контекста.

4-й шаг

  • Пользователь: "Можете ли вы подтвердить то, что я заказал?"
  • Ожидаемое поведение. Отзыв и суммирование порядка.

Ожидаемые результаты

  • Заказ оборудования завершен.
  • На вопрос о преимуществах вы дается точный ответ.
  • Контекст сохраняется по очереди.
  • Информация не запрашивается повторно.

Подводные камни

При проектировании и оценке многоэтапных бесед следует учитывать следующие распространенные проблемы:

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

Лучшие методики

Используйте следующие методики для разработки эффективных и масштабируемых многоэтапных оценок:

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

Следующее действие