Практика
AI-ассистент по документам без утечек данных
AI-ассистент по документам компании без утечек: схема RAG по шагам, права доступа при поиске, где размещать модель, что не загружать в индекс. Чек-лист и цены.
Коротко. AI-ассистент по документам компании — система, которая ищет ответ в регламентах, договорах, инструкциях и базе знаний и формулирует его обычным языком со ссылкой на источник. Почти всегда она построена по схеме RAG (Retrieval-Augmented Generation): сначала поиск подходящих фрагментов, затем генерация ответа моделью. Архитектура без утечек держится на четырёх решениях. Права доступа проверяются при поиске, до того как фрагмент попадёт в модель. Модель работает там, где вы контролируете данные и договор. В индекс не попадает то, о чём никто не должен спрашивать. Каждый ответ журналируется вместе со списком использованных документов. Ниже — схема по шагам, точки утечек, варианты размещения модели и чек-лист.
Для руководителей и ИТ-директоров, которые выбирают или заказывают ассистента по внутренним документам, а также для тех, у кого он уже работает.
Как устроен AI-ассистент по документам компании
Типовая схема RAG состоит из семи звеньев. Утечка возможна на каждом, поэтому полезно видеть их все.
- Источники. Файловый сервер, корпоративный портал, вики, система документооборота, CRM, почтовые архивы.
- Загрузка и очистка. Коннектор забирает документы, извлекает текст, удаляет служебную разметку, сохраняет метаданные: автора, дату, папку и права доступа.
- Разбиение и векторизация. Текст делится на фрагменты, модель эмбеддингов превращает каждый в числовой вектор для смыслового поиска.
- Индекс. Векторы, текст фрагментов и метки доступа хранятся в векторной базе.
- Поиск. По вопросу сотрудника находятся похожие фрагменты — только среди тех, что ему разрешено видеть.
- Генерация. Языковая модель получает вопрос и найденные фрагменты и пишет ответ со ссылками на документы.
- Проверка и журнал. Ответ проходит фильтр, а запрос, фрагменты и ответ записываются в журнал.
Главное решение: права доступа на этапе поиска
Самая частая ошибка — ассистент, который отвечает всем одинаково. Коннектор загрузил документы под учётной записью с широкими правами, и теперь стажёр получает выдержки из зарплатной ведомости, если правильно спросит.
Правильная схема такая. При загрузке к каждому фрагменту сохраняются права исходного документа: какие группы и пользователи его видят. При поиске ассистент берёт группы спрашивающего из корпоративного каталога или единого входа и фильтрует результаты до передачи в модель. Модель физически не получает того, что человеку не положено.
Три детали, о которых забывают:
- Синхронизация прав. Если сотрудника перевели в другой отдел или уволили, а индекс обновляется раз в месяц, старые права живут ещё месяц. Права нужно синхронизировать чаще, чем сами документы.
- Удаление. Документ, удалённый из источника, должен исчезать из индекса, включая копии фрагментов и кэш.
- Фильтр после генерации не заменяет фильтр до неё. Если фрагмент уже попал в контекст, модель может пересказать его своими словами, и маскирование по ключевым словам это пропустит.
Инструкция в системном промпте «не рассказывай о зарплатах» тоже не защита: промпт можно обойти, и об этом подробно в статье о prompt injection.
Где в архитектуре утекают данные
| Звено | Как происходит утечка | Контроль |
|---|---|---|
| Источники | в загрузку попали папки «на всякий случай»: кадры, бухгалтерия, переписка руководства | явный список источников, согласованный с владельцами данных |
| Загрузка | учётная запись коннектора с правами администратора, права документов не сохраняются | отдельная учётная запись только на чтение, перенос прав в метаданные |
| Векторизация | текст уходит внешнему сервису эмбеддингов, о котором никто не подумал | та же оценка поставщика, что и для основной модели |
| Индекс | векторная база доступна по сети без аутентификации; векторы считают «анонимными» | шифрование, сетевая изоляция, доступ только у сервиса ассистента |
| Поиск | нет фильтра по правам спрашивающего | фильтрация по группам пользователя до генерации |
| Генерация | фрагменты отправляются поставщику модели без договора и оценки страны обработки | размещение модели по уровню данных, договор |
| Ответ и журнал | в журнале полные тексты запросов и ответов, доступные всем администраторам | ограниченный доступ к журналу, срок хранения |
В OWASP Top 10 for LLM Applications 2025 эти риски описаны в пунктах LLM02 Sensitive Information Disclosure и LLM08 Vector and Embedding Weaknesses. О векторах отдельно: исследование Morris и соавторов «Text Embeddings Reveal (Almost) As Much As Text» (2023) показало, что из эмбеддингов можно в значительной степени восстановить исходный текст, поэтому индекс нужно защищать как сами документы.
Где работает модель: три варианта размещения
| Вариант | Куда попадают фрагменты документов | Что учесть | Когда подходит |
|---|---|---|---|
| Облачный API зарубежного поставщика | на серверы поставщика за пределами Беларуси | трансграничная передача по Закону № 99-З, условия хранения и использования данных, корпоративный договор | публичные и внутренние документы без персональных данных и коммерческой тайны |
| Модель у облачного провайдера или в ЦОД в Беларуси | остаются в стране, у провайдера | договор с провайдером, меры защиты, выбор доступных моделей | документы с персональными данными — после оценки юристом |
| Собственный сервер компании | не покидают периметр | стоимость оборудования, обновления моделей, качество ответов на ваших документах | коммерческая тайна, строгие требования клиентов и регуляторов |
Частая недооценка: модель эмбеддингов тоже видит весь текст документов. Если основная модель стоит у вас, а векторизация идёт через внешний API, данные всё равно уходят наружу. Когда данные пересекают границу, разберитесь с правилами трансграничной передачи персональных данных. Требования к размещению данных для вашей отрасли уточните отдельно.
Что не загружать в индекс и как готовить документы
- Учётные данные, ключи, пароли, выгрузки из систем с платёжными данными.
- Персональные дела сотрудников, медицинские сведения, данные о заработной плате — если только ассистент не строится именно для кадровой службы с отдельным разграничением.
- Черновики и устаревшие версии регламентов: ассистент уверенно процитирует отменённую редакцию.
- Документы от внешних сторон без проверки: входящие файлы могут содержать скрытые инструкции для модели.
Полезно ввести метку «разрешено для ассистента» на уровне папок или типов документов и загружать только помеченное. Это медленнее на старте, зато вы знаете состав индекса.
Ответы, ссылки на источник и журнал
Каждый ответ должен содержать ссылки на документы и фрагменты, из которых он собран. Это решает две задачи: сотрудник может проверить ответ, а при инциденте видно, откуда пришла информация. OWASP выделяет ненадёжные ответы модели в отдельный риск LLM09 Misinformation, и ссылка на источник — простой способ его снизить.
Журнал фиксирует пользователя, вопрос, найденные фрагменты, ответ и срабатывания фильтров. Сам журнал содержит конфиденциальные данные, поэтому доступ к нему ограничивают, а срок хранения определяют заранее. Выходной фильтр маскирует персональные данные и реквизиты, которые всё же прошли через поиск.
Как внедрять: пилот, проверка, расширение
- Пилот на одном отделе с документами без персональных данных — регламенты, инструкции, база знаний поддержки.
- Проверка с разными ролями. Одни и те же вопросы задают сотрудники с разными правами; ответы сравнивают с тем, что каждому положено видеть.
- Тестирование безопасности: обход прав, извлечение системного промпта, инъекции через документы.
- Расширение на новые источники — каждый со своим согласованием и проверкой прав.
У Viviar «AI-Ассистент под ключ» стоит от 11 600 BYN: один канал (Telegram или виджет), один источник данных и три месяца поддержки; 2–3 канала — от 23 200 BYN. Разработка ведётся в направлении разработки, и контроли из этой статьи закладываются в проект с первого дня. Если документы чувствительные, добавляется «Пакет безопасного AI» — от 20 300 BYN за сценарий и от 8 700 BYN в месяц за сопровождение. Общая картина рисков AI-внедрения — в статье о безопасном внедрении AI в компании.
Чек-лист архитектуры ассистента по документам
- Источники перечислены явно и согласованы с владельцами данных
- Коннектор работает под отдельной учётной записью только на чтение
- Права исходных документов переносятся в метаданные фрагментов
- Поиск фильтрует фрагменты по группам спрашивающего до передачи в модель
- Права и удаления синхронизируются с источниками по расписанию
- Для основной модели и модели эмбеддингов определены место обработки и договор
- Векторная база изолирована по сети и зашифрована
- Учётные данные, зарплаты и черновики исключены из индекса
- Ответы содержат ссылки на источники
- Журнал ведётся, доступ к нему ограничен, срок хранения определён
- Проведена проверка с разными ролями и тестирование на инъекции через документы
Частые вопросы
Чем RAG-ассистент отличается от дообучения модели на документах?
RAG не меняет модель: документы лежат в индексе, а модель получает нужные фрагменты в момент вопроса. Поэтому права доступа можно проверять при каждом запросе, а удалённый документ исчезает из ответов после обновления индекса. При дообучении знания попадают в веса модели, разграничить доступ к ним и надёжно удалить конкретный документ практически невозможно.
Можно ли использовать облачный API зарубежной модели для документов с персональными данными?
Это решение юридическое, а не только техническое. Отправка фрагментов с персональными данными поставщику за рубежом означает трансграничную передачу по Закону № 99-З, и для неё нужны основания, договор и оценка страны обработки. Для документов без персональных данных и коммерческой тайны облачный API обычно приемлем, для остальных стоит рассмотреть размещение модели в Беларуси или на своём сервере.
Как ассистент понимает, какие документы можно показывать сотруднику?
При загрузке он сохраняет права каждого документа из источника: файлового сервера, портала или системы документооборота. При вопросе ассистент получает группы сотрудника из корпоративного каталога и ищет только среди разрешённых фрагментов. Важно синхронизировать права регулярно, иначе после перевода или увольнения сотрудник какое-то время сохранит доступ через ассистента.
Сколько стоит корпоративный AI-ассистент по документам?
У Viviar пакет «AI-Ассистент под ключ» начинается от 11 600 BYN: один канал, например Telegram или виджет, один источник данных и три месяца поддержки. Вариант с двумя-тремя каналами — от 23 200 BYN. Итоговая цена зависит от числа источников, требований к разграничению прав и того, где должна работать модель.
Что делать, если ассистент выдумывает ответы?
Сначала проверить поиск: чаще всего модель фантазирует, когда не нашла подходящих фрагментов. Помогают ссылки на источники в каждом ответе, правило отвечать «в документах этого нет» при пустом поиске и регулярный набор контрольных вопросов с эталонными ответами. Для решений с последствиями, например юридических или финансовых, ответ ассистента должен проверять человек.
Вывод
Надёжный AI-ассистент по документам компании определяется не выбором модели, а архитектурой вокруг неё: права проверяются при поиске, место обработки выбрано по уровню данных, индекс защищён как сами документы, а каждый ответ прослеживается до источника. Такие решения дешевле заложить на старте, чем добавлять после первой утечки. Если планируете ассистента или уже запустили его, опишите источники и задачи — предложим архитектуру и посчитаем стоимость.
Источники: OWASP Top 10 for LLM Applications 2025 — LLM02, LLM08, LLM09 (genai.owasp.org); J. X. Morris et al., Text Embeddings Reveal (Almost) As Much As Text, 2023 (arxiv.org); NIST AI 600-1 Generative AI Profile, 2024 (nist.gov); Закон Республики Беларусь от 07.05.2021 № 99-З «О защите персональных данных» (pravo.by); цены — публичные пакеты Viviar, /pricing, действуют с 01.09.2026.