Работа с функциями

Лучшие практики

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


Начните с одного рабочего сценария. Например, «клиент просит специалиста → сотрудник получает резюме → ИИ прекращает отвечать». Когда он проверен, добавляйте остальные.

Одна функция — одна понятная задача

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

Название «Передать вопрос специалисту» понятнее, чем «Обработка клиента 2». Для имени в промпте используйте столь же узнаваемое handoff_to_specialist. После создания оно не редактируется.

Опишите и повод для вызова, и исключения

Нейросети нужны конкретные правила. «Вызывай функцию при необходимости» оставляет слишком много вариантов.

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

Сначала укажите условие, затем имя функции и ожидаемый текст. Если важные сведения неизвестны, объясните, нужно ли сначала задать вопрос клиенту.

Разделяйте текст клиенту и информацию сотруднику

Готовые условия, адреса и инструкции храните как «Заданный текст». Для резюме разговора используйте «Текст от нейросети».

Внутренние подробности отправляйте через служебное сообщение, примечание CRM или бота сотрудника. Не добавляйте их в шаг «Отправить текстовое сообщение», если клиент не должен их видеть.

У функции один параметр content. Если он подключён одновременно к сообщению клиенту и примечанию сотруднику, оба шага получат одинаковый текст. Для разных аудиторий задайте клиентскую реплику отдельно.

Не добавляйте второй ответ без необходимости

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

Если функция только записывает данные в CRM, можно оставить «Продолжить обычный текстовый ответ» — нейросеть продолжит разговор с клиентом.

Подбирайте текст под источник запуска

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

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

Защищайте уже обработанные сделки

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

Список исключений защищает только перемещение. Он не отменяет комментарий или назначение ответственного из других шагов.

Проверяйте повторы отдельно

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

Задержка — не команда «повторить через час»: через час условия должны снова совпасть. Проверьте, что они перестают выполняться после решения задачи. Иначе можно регулярно напоминать о давно обработанном обращении.

Условия «Последнее сообщение от» → «Клиент» и «Последнее сообщение старше» полезнее одного таймера, если цель — найти оставленный без ответа вопрос. Значение «Менеджер» означает исходящее сообщение с Вашей стороны и само по себе не подтверждает, что ответ написал человек.

Не обещайте успех предыдущего шага

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

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

Останавливайте ИИ осознанно

Шаг «Остановить ИИ-цикл» прекращает дальнейшие ответы ИИ в беседе. Перед этим передайте сотруднику контекст и убедитесь, что у команды есть порядок работы с такими обращениями.

Заполненная «Причина остановки» заменит заметку беседы. Чтобы сохранить существующую заметку, оставьте поле пустым, а объяснение запишите отдельным служебным сообщением или примечанием CRM.

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

Протестируйте не только удачный случай

Для ИИ-автоответчика проверьте в «Тестировании диалога» несколько обращений:

ПримерЧто проверить
Клиент явно просит нужное действиеВыбрана правильная функция.
Похожий вопрос без просьбы о действииНет преждевременного запуска.
Не хватает телефона или других данныхНейросеть не придумывает сведения.
Клиент повторил вопросНет лишних уведомлений или повторного набора изображений.
Функция отправляет готовый текстДополнительный ответ не дублирует его.

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

Учитывайте общие настройки

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

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

На этой странице