> For the complete documentation index, see [llms.txt](https://chatme-ai-4.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chatme-ai-4.gitbook.io/docs/kak-obuchit-i-protestirovat-agenta/testirovanie-scenariya-agenta.md).

# Тестирование сценария Агента

После того как Сценарий агента  собран и Агент обучен (о том, как успешно обучить Агента: Требования для успешного обучения Агента), его необходимо протестировать.Для этого откройте Дебаг виджет, в котором можно пообщаться с Агентом, переключив тумблер DEBUG.\
![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-Lu0SYjXH1j/e8c716e1af1acd94740d929f173fcb997c1a15cdddcae181a4f7393c73439e4863712f9fcebc3c2598767ec437a0eadd2f32a504ede8430b287167a05ebf1d49b402d6c720a6ab60421fac6c542621e73c390141fc98d3b2ed3728f37cb5388222a231d1)

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

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

1. Составить максимально полный список вопросов к Агенту. Необходимо продумать, как реальный Собеседник будет формулировать вопросы, и постараться предусмотреть большинство из них. Также в список вопросов необходимо включить фразы, которые Агент не должен распознавать и должен отправлять в fallback.
2. Прогнать список вопросов через Агента, проверить распознавание Интентов и подсчитать процент правильных ответов Агента. Если фраза не распознается (попадает в fallback) или попадает не в тот Интент, в который должна, выписываем ее и указываем название Интента, куда она должна была попасть. После того как все Интенты будут проверены, нужно занести выписанные фразы в соответствующие Интенты и переобучить Агента. Если нерелевантные фразы, которые Агент не должен распознавать, попадают не в fallback, а в Интенты, после завершения регрессионного тестирования следует попробовать подобрать более оптимальное значение Threshold. Подробнее в разделе Тестирование и улучшение распознавания Агента: подбор Confidence threshold.
3. После переобучения Агента снова пройтись по списку Интентов и проверить каждый. Вновь подсчитать процент правильных ответов. Если Интенты продолжают путаться, проверяем Обучающая выборка. Если Обучающая фраза в выборОбучающая выборка разных Интентов слишком похожи, нужно либо сделать Обучающая выборка этих Интентов более отличными друг от друга (убрать похожие формулировки, добавить больше отличающихся фраз), либо объединить путающиеся Интенты в один.
4. Если в Сценарий агента задействованы Словарь, работа Словарь проверяется следующим образом: нужно задать вопросы с целью попасть в конкретную Ветка сценария — одно из разветвлений с референсом — либо ветка true. Если фраза попадает не в ту ветку, в которую должна, то идем в Словарь и проверяем, есть ли использованное в фразе слово в выборке Словарь. Если нет — добавляем, если есть — проверяем, нет ли этого же слова в других Сущность.
5. После сохранения изменений в Словарь еще раз пройтись по всем Ветка сценария и, в случае непопадания в нужную Ветка сценария, добавить недостающие слова в Словарь.
6. Также необходимо проверить работу всего функционала. Особое внимание стоит уделить слотам со сложным функционалом — Regular Expression, Memory.
7. Проверить скорость перевода на оператора, если такой переход предусмотрен.
8. Проверить работу Внешний запрос и скорость интеграции с внешними сервисами, если они предусмотрены.
9. Провести тест в каждом задействованном Канал Проекта: мессенджеры, виджет и пр.
10. Проверить орфографию, пунктуацию и грамматику.

> Важно: для того чтобы внесенные изменения вступили в силу, не забудьте переобучить вашего Агента с помощью кнопки Train в БотБилдере.
