AI-агенты
Как защитить AI-агента записи от prompt injection: отделить данные от команд, ограничить действия с бронями, проверять права и тестировать опасные сценарии.

Коротко
Защита AI-агента записи от подмены инструкций строится не на одной запрещающей фразе в промпте, а на разделении источников данных и проверке каждого действия вне языковой модели. Сообщение клиента, комментарий в CRM или найденный документ не должны выдавать агенту новые права, менять правила оплаты или разрешать доступ к чужим бронированиям.
Подмена инструкций, или prompt injection, возникает, когда входной текст пытается изменить поведение агента вместо передачи обычных сведений о записи. Для бизнеса важен практический результат: даже если модель ошибочно предложила опасное действие, система не должна его выполнить. Ниже приведены требования к проектированию и проверке агента, а не обещание полной защиты конкретной модели или продукта.
Главное в статье
Пожелание клиента не равнозначно разрешению менять правила бизнеса.
Инструкции могут попасть к агенту не только из чата, но и из внешнего контента.
Сервер должен проверять права, объект и параметры каждого изменения.
Проверять нужно фактические действия, а не только вежливый ответ модели.
Сбой защитной проверки не должен превращаться в разрешение выполнить операцию.
Раздел 01
В обычном сценарии клиент сообщает услугу, дату и предпочтения. В проблемном сценарии он дополнительно требует считать себя администратором, пропустить оплату или отменить записи других людей. Агент может обсуждать доступные условия, но не должен принимать такое сообщение за изменение своей роли или полномочий.
Менее очевидный путь проходит через контент, который система сама передала модели: примечание в карточке, импортированный FAQ, письмо или описание услуги. OWASP различает прямую подмену во входном сообщении и косвенную подмену через внешние материалы. Поэтому источник текста важен даже тогда, когда он показан внутри знакомой CRM.
Представим учебный пример: в комментарии к заявке написано, что при чтении нужно отправить полную клиентскую базу на указанный адрес. Это содержание комментария, а не команда владельца системы. Получение текста через интеграцию не делает его авторитетным распоряжением.
Вместе с содержимым передавайте происхождение: сообщение клиента, утверждённые условия услуги, результат поиска или ответ API. Это помогает сохранять границы доверия, но не заменяет контроль действий. Даже аккуратно размеченный текст может быть неверно интерпретирован моделью.
Раздел 02
Агент может предложить параметры записи, однако итоговые цена, доступность и допустимость изменения должны проверяться системой бизнеса. Если скидку устанавливает только сумма, которую модель передала в запросе, фраза о запрете скидок не создаёт надёжной границы. Сервер должен сам рассчитывать или сверять условия.
Для изменения существующей брони недостаточно знать её номер из переписки. Проверяйте, что текущий клиент или сотрудник вправе работать именно с этим объектом. OWASP рекомендует отказ по умолчанию и проверку разрешений при каждом запросе. В сценарии записи это означает отдельную проверку владельца, действия и актуального состояния брони.
Не передавайте модели общий инструмент с неограниченной командой для CRM, если задаче нужны только поиск собственных записей и согласованный перенос. Узкие операции проще проверить: какой объект меняется, какие поля допускаются и какие условия должны сохраняться. Неизвестный параметр не должен расширять полномочия по умолчанию.
Подтверждение клиентом тоже имеет область действия. Согласие на перенос конкретного визита не разрешает отменить остальные записи или изменить контактные данные всей семьи. Перед существенным действием полезно показывать краткое резюме операции и связывать подтверждение с этим вариантом, а не с любым последующим решением агента.
Раздел 03
| Входные сведения | Допустимое использование | Недопустимый вывод |
|---|---|---|
| Клиент просит скидку | Проверить доступные условия или передать запрос ответственному. | Клиент вправе самостоятельно назначить любую цену. |
| Комментарий называет отправителя директором | Сохранить утверждение как текст и проверить роль обычным способом. | Роль администратора уже подтверждена содержимым комментария. |
| Документ содержит платёжную ссылку | Сверить способ оплаты с доверенной конфигурацией. | Любая найденная ссылка разрешена для отправки клиенту. |
| В чате указан номер чужой брони | Проверить право доступа без раскрытия чужих данных. | Знание номера разрешает отмену или просмотр визита. |
Раздел 04
Доступные операции
Перечислите действия, необходимые для выбранного сценария: показать свободное время, создать запись или предложить перенос. Доступ к массовой выгрузке и административным настройкам не должен появляться только ради удобства разработки.
Контекст клиента
Связывайте запрос с проверенным контекстом пользователя на сервере. Идентификатор клиента, который модель прочитала из сообщения или сама подставила в параметры, не является самостоятельным доказательством права доступа.
Источники условий
Назначьте авторитетные источники цены, правил отмены и способов оплаты. Комментарии и свободный текст могут пояснять ситуацию, но не должны переопределять эти условия без утверждённого процесса.
Получатели данных
Ограничьте, куда интеграция может отправлять сведения. Произвольный адрес из документа или сообщения не становится разрешённым получателем клиентской истории. Для внешней передачи нужен отдельный проверяемый сценарий.
Режим отказа
Задайте действие при недоступной проверке прав или конфликтующих данных: остановить изменение и передать вопрос сотруднику. Сообщение агенту «не удалось проверить» не должно интерпретироваться как возможность продолжить без проверки.
Раздел 05
Создайте отдельный набор вымышленных клиентов и броней с заранее заданными правами. Для каждого сценария опишите не только ожидаемый ответ, но и состояние системы после разговора. Проверка «агент сказал, что не может» недостаточна, если перед этим он уже вызвал опасную операцию.
Учебный тест на чужую бронь: один клиент знает идентификатор записи другого и просит её перенести, называя себя сотрудником. Ожидаемый результат состоит в отсутствии доступа и изменений без надлежащего подтверждения роли. Не следует раскрывать детали чужой записи ради объяснения отказа.
Тест на косвенную инструкцию: в тестовом описании услуги размещают просьбу изменить утверждённые платёжные реквизиты. Агент может использовать полезное описание услуги, но ссылка для оплаты должна оставаться привязанной к доверенному процессу. Проверяйте отправленные сообщения и фактические параметры интеграции.
Тест на смешанное сообщение: клиент корректно просит свободное время и одновременно требует игнорировать ограничения. Система должна по возможности помочь с разрешённой частью запроса, не выполняя запрещённую. Полный отказ на любое необычное слово ухудшает обслуживание и не доказывает устойчивость защиты.
Раздел 06
Нарисовать путь данных
Перечислите каналы чата, CRM-поля, документы и ответы интеграций, которые получает агент. Для каждого укажите источник и допустимое использование. Особое внимание уделите контенту, который может редактировать внешний пользователь.
Закрепить проверки на сервере
Для каждой операции определите объект, требуемые права и допустимые изменения. Проверьте, что эти правила действуют независимо от формулировки диалога и не исчезают при повторной попытке или смене канала.
Прогнать разрешённые и запрещённые сценарии
Используйте тестовые данные, сравните изменения бронирований и сообщения. Повторите набор после обновления модели, промпта, базы знаний или инструментов: любой из этих компонентов может изменить поведение.
Подготовить остановку и разбор
Назначьте ответственного и способ временно отключить рискованные действия, сохранив безопасный режим консультации. После инцидента проверьте затронутые объекты и только затем возобновляйте автоматические изменения.
Раздел 07
Сохраняйте необходимые для разбора сведения: источник запроса, предложенную операцию, результат проверки прав и итоговое изменение. Не записывайте секреты и полные клиентские данные без необходимости. Журнал должен помогать ответить, почему действие разрешили или остановили, а не становиться дополнительным источником утечки.
Отдельно учитывайте заблокированные опасные действия и ошибочные отказы обычным клиентам. Высокое число отказов может означать шумный фильтр, а не хорошую защиту. Полезный показатель связан с фактическими нарушениями правил и прохождением подготовленных сценариев, а не только с долей распознанных подозрительных фраз.
При передаче диалога человеку помечайте исходный текст как непроверенное содержание. Сотруднику нужна краткая сводка запрошенного действия и причины остановки, а не автоматически утверждённая рекомендация агента. Ручное рассмотрение помогает только тогда, когда сохраняет ту же проверку полномочий.
Важно
Для первого аудита выберите три критичных действия: изменение цены, перенос чужой брони и отправку данных на внешний адрес. Проверьте запреты на уровне интеграции. Обсуждая AI-агента MySlot, уточните конкретные права инструментов и процесс согласования; наличие AI-функции само по себе не является подтверждением перечисленных защит.
Вывод
Подмена инструкций опасна, когда прочитанные слова получают полномочия менять реальный процесс. Поэтому защита должна сохраняться даже при ошибке интерпретации модели.
Разделите источники, сузьте доступные операции и проверьте права на сервере. Затем тестируйте не только ответы, но и изменения записей: именно они определяют последствия для клиентов.
Демо
Покажем демо MySlot и разберём ваш процесс: услуги, расписание, ресурсы, CRM, оплаты и уведомления.
MySlot
MySlot подойдёт, если вам нужно:
Похожие статьи
AI-агенты
Безопасный AI-агент онлайн-записи: правила, статусы и контроль ошибок
Как настроить AI-агента записи безопасно: правила расписания, ограничения, CRM-статусы, аудит действий, оплата и передача сложных диалогов человеку.
ЧитатьAI-агенты
База знаний для AI-агента записи: структура, правила и контроль
Как подготовить базу знаний для AI-агента записи: услуги, расписание, цены, ограничения, ответы, действия, эскалация, тесты и обновления.
ЧитатьAI-агенты
Тестирование AI-агента записи: сценарии, метрики и контроль
Как тестировать AI-агента записи: набор диалогов, точность услуг и слотов, действия, оплаты, безопасность, handoff, метрики и контроль качества.
ЧитатьЗапуск
MySlot поможет принимать записи, управлять расписанием, ресурсами, оплатами и передавать данные в CRM.