Как развернуть ИИ-ассистента в защищенном контуре и научить его работать с внутренними документами

Приватный ассистент на RAG-архитектуре поднимается за несколько часов. Разбираем, как он устроен, во что обходится и на чем чаще всего спотыкается первый пилот. Алексей Тюняев, руководитель продуктового офиса облачных продуктов «Рег.облака», разберет, как развернуть ИИ-ассистента в защищенном контуре и научить его работать с внутренними документами.
Разработчик кидает в публичный чат-бот кусок проприетарного кода, чтобы быстро получить рефакторинг. Ответ приходит через минуту, а фрагмент кодовой базы остается на чужих серверах. В массовых сервисах диалоги по умолчанию могут попадать в обучающие выборки. Отключить это обычно можно, но галочку в настройках находят единицы. 

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

Чем приватный ассистент отличается от публичного сервиса

Разница — в контроле над данными и доступом. Вместо общего сервиса компания получает выделенную виртуальную машину с развернутой платформой управления моделями. Все вычисления идут внутри этого контура. Архитектура держится на нескольких вещах: 

  • обработка запросов не выходит за пределы выделенного инстанса;
  • доступ закрывается многофакторной аутентификацией и ролевой моделью (RBAC), действия пользователей пишутся в лог; 
  • данные шифруются при передаче (TLS, HTTPS) и на диске (AES-256).

Ничего экзотического, но именно эта комбинация снимает большую часть вопросов у безопасников.

Как RAG подключает внутренние документы

Само по себе изолированное развертывание дает только приватность. Полезным ассистента делает RAG (Retrieval-Augmented Generation, генерация, дополненная поиском) — подход, при котором система сначала ищет информацию в подключенной базе знаний и уже на найденных фрагментах строит ответ.

Работает это в три такта: 

  1. Retrieval. На ваш вопрос система ищет релевантные фрагменты в базе знаний — регламентах, документации, выгрузках из Confluence. 
  2. Augmentation. Найденные куски подставляются в исходный запрос как контекст. 
  3. Generation. Модель отвечает на вопрос вместе с проверенным контекстом, а не по общим знаниям.

Знания базовой модели перестают быть потолком — вы загружаете внутренние документы, код и регламенты, и ассистент отвечает, опираясь на них. Например, вместо ручного разбора истории в CRM менеджер пишет «Какие были претензии у ООО “Стройинвест” за последний год?». Ассистент собирает упоминания в переписке, актах и протоколах встреч и выдает выжимку.

RAG не дает модели фантазировать на рабочие темы, а отправляет ее сначала заглянуть в инструкцию — ваши же документы.

У нас в разработке это закрывает документирование: DeepSeek Coder и Qwen3-Coder формируют внутреннюю OpenAPI-спецификацию, создают и обогащают README, иногда генерируют однотипные юнит-тесты с мокированием зависимостей. Рутины стало заметно меньше, но полагаться на модель целиком мы не рискуем. Сгенерированные тесты проверяем руками, для сложной бизнес-логики добавляем свои, а сверху идут код-ревью, e2e-тесты и внешний контроль покрытия.

Сценарий первого запуска

Начинать разумно с пилота на одной задаче, а не со стратегии на год.

Сначала выберите эту задачу

Не «автоматизируем поддержку целиком», а «поможем инженерам искать в базе знаний» или «научим ассистента писать README по структуре репозитория». Узкая формулировка дает измеримый результат за пару недель. Широкая обычно заканчивается тем, что система не справляется, а команда разочаровывается.

Дальше — данные

Хватит 30–50 актуальных документов по выбранной задаче. Весь файловый архив грузить не нужно. Уберите устаревшие версии, распознайте сканы в текст, дайте файлам осмысленные названия. «Инструкция_по_настройке_роутера_XR45_2025.pdf» сработает точнее, чем «document42.pdf».

Затем инфраструктура

Команде до 50 человек хватает виртуальной машины с 8 vCPU, 32 ГБ оперативной памяти, диском на 200–500 ГБ и видеокартой уровня NVIDIA L4. Собирать все вручную необязательно: например, в Рег.облаке есть готовый образ приватного ИИ-ассистента с преднастроенной RAG-архитектурой, развертывание занимает около получаса.

Загрузите документы и прогоните типовые запросы

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

Пилот запускайте на трех-пяти коллегах, которые готовы тестировать и давать обратную связь. Пусть используют ассистента в реальных задачах и отмечают, где ответ помог, а где нет. Считать экономику на этом этапе рано. Важнее понять, решает ли система хотя бы одну задачу лучше, чем без нее.

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

Где ломается первый пилот

Первое — файлы без внятных названий и описания. Система ищет по смыслу, но опирается на то, как вы разложили материалы. Понятное имя файла и описание базы знаний вроде «Техдокументация по сетевому оборудованию, 2025» экономят десятки неудачных ответов.

Второе — ожидание, что модель сама во всем разберется. RAG не дообучает модель, а подкладывает ей контекст. Внутренний жаргон нужно объяснять явно: если у вас есть «процедура ЗК» (закрытие квартала), заведите отдельный документ, где написано, что это, кто участвует и в какие сроки.

Третье — неструктурированное описание архитектуры. Схемы взаимодействия сервисов стоит грузить в единообразном формате — назначение сервиса, эндпоинты, зависимости:

## ProductService

— Назначение: управление каталогом ресурсов

— API: GET /products, POST /products

— Зависимости: AuthService, OrderService

Четвертое — отсутствие рабочих конфигураций. Готовые docker-compose и файлы окружения для локальной разработки закрывают половину вопросов новичков в команде, и ассистент отвечает на них без вас.

Приватный ассистент не отменяет здравого смысла и код-ревью. Он просто снимает выбор между «пользоваться современными моделями» и «не отдавать наружу внутренние данные» — вместе с необходимостью объяснять безопасности, куда именно ушел кусок кода.

Что будем искать? Например,ChatGPT

Мы в социальных сетях