На этой странице
Ссылка ведёт к договору, но договор принадлежит другому клиенту. В условном случае помощник поддержки ищет дату продления в папках двух клиентов. Он находит похожий договор чужого клиента, помещает его в контекст и гладко отвечает.
Это не зарегистрированный инцидент. Ссылка создаёт впечатление тщательности, одновременно раскрывая чужие данные. Ошибка произошла до первого предложения модели.
Сохранённое выступление о размещении знаний AI даёт архитектурный вывод: знания, различающиеся по пользователям, требуют поиска с контролем доступа. Руководство Microsoft по доступу к документам описывает права, связанные с индексированными документами, и личность в момент запроса. Общее правило проще продукта: до ответа должен доходить только разрешённый материал.
Граница должна стоять перед ответом
Промпт может просить краткость, ссылки или уточнение. Он не способен безопасно сказать «не пользуйся чужими документами», когда модель уже получила эти документы. Если поиск пересёк границу, промпту предлагают отменить ошибку доступа.
Личность вызывающего должно установить приложение. Поисковый запрос должен содержать область: клиента, роль, аккаунт или права на документ. Результаты фильтруют или авторизуют до передачи текста модели. Если ответ ведёт к записи, путь записи заново проверяет полномочие относительно нужной записи.
- Личность вызывающего
проверить в приложении
- Ограниченный поиск клиент · роль · документ
фильтр до контекста модели
- Ответ с основанием
ссылаться на допустимые данные
- Разрешение на запись
повторно проверить цель
Это не только вопрос векторного поиска. Поиск по словам, сохранённые резюме, память беседы и ответы инструментов тоже могут содержать закрытую информацию. Резюме документа одного клиента остаётся закрытым после сокращения текста.
Руководство по подключению бизнес-инструментов спрашивает, кому принадлежит запись и какая система является источником истины. Для помощника добавьте: кто вправе знать о существовании этой записи?
Маленький пример показывает порядок
Пусть условный индекс содержит четыре документа: две публичные справки, договор клиента A и договор клиента B. Пользователь клиента A спрашивает об условиях оплаты. Семантически ближайший текст находится в договоре B.
Поиск без ограничения вернёт его. Более позднее указание «отвечай только о клиенте A» не гарантирует защиту: текст уже вошёл в контекст модели. Ограниченный поиск удалит документ B до ранжирования или вернёт лишь допустимых кандидатов. Помощник тогда ответит по договору A или признает отсутствие нужного источника.
Реализация зависит от платформы. Шаблон защитных фильтров Azure AI Search привязывает группы к документам и применяет фильтр при каждом запросе. Документация также предупреждает, что скрытие поля с правами из ответа само по себе не является контролем доступа. Защиту обеспечивают фильтр и личность за ним.
Это особенно важно при изменении прав. Если сотрудник теряет доступ, старый кеш или индекс не должен продолжать выдавать документ. Нужны процедура обновления и тесты отзыва, не только первого предоставления прав. Если поисковый сервис не способен соблюдать модель доступа источника, копировать в него источник может быть неверным архитектурным выбором.
Разрешение и релевантность проверяются отдельно
Допустимый документ может быть не по теме или устареть. Точный ответ может быть запрещён. Это разные сбои, проверяйте их отдельно.
Сначала испытывайте границу: может ли человек одного клиента получить, процитировать или вывести личные сведения другого? Включите прямые вопросы, пересказы и резюме. Затем проверяйте качество внутри разрешённого набора: выбирает ли помощник текущую политику и признаёт ли нехватку данных? Руководство Microsoft по RAG прямо рекомендует проверять доступ при поиске и считать полученный текст недоверенным.
Цена есть. Индекс с учётом прав требует метаданных, связи личностей и обработки отзыва. После фильтра некоторые запросы вернут пустоту. Если у человека нет доступа к свидетельствам, это правильный результат. Уверенная догадка на месте пустоты превращает защиту доступа в ошибку точности.
Граница также испытывает более широкое правило исключений в автоматизации: что делать, когда разрешённый поиск ничего не нашёл? Хорошая система отвечает «У меня нет доступа к источнику для ответа» и предлагает надлежащую передачу. Она не расширяет поиск на другого клиента, не использует старый ответ и не выводит секрет из заголовка документа. Считайте пустой результат обычным проверяемым состоянием процесса. Разрешение является частью правильности, не поздней заплатой.
Полезный помощник не обязан знать всё о компании. Он должен найти нужные данные в пределах полномочий спрашивающего и признать, когда граница оставляет вопрос без ответа.
Часто Задаваемые Вопросы
Может ли промпт запретить помощнику раскрывать личные записи?
Промпт описывает поведение, но не заменяет разрешение. Ограничивайте поиск документами, доступными спрашивающему, и повторно проверяйте право перед действиями с последствиями.
Где применять права клиентов в поисковой системе?
Связывайте установленную личность вызывающего с запросом и фильтруйте или проверяйте документы до передачи их текста модели. Обновляйте сведения о правах при их изменении.
Достаточно ли ссылки для доверия ответу?
Нет. Ссылка показывает происхождение ответа. Она не доказывает, что человек вправе видеть источник, а данные актуальны и правильны.