Приватный ассистент на RAG-архитектуре поднимается за несколько часов. Разбираем, как он устроен, во что обходится и на чем чаще всего спотыкается первый пилот. Алексей Тюняев, руководитель продуктового офиса облачных продуктов «Рег.облака», разберет, как развернуть ИИ-ассистента в защищенном контуре и научить его работать с внутренними документами.
Разработчик кидает в публичный чат-бот кусок проприетарного кода, чтобы быстро получить рефакторинг. Ответ приходит через минуту, а фрагмент кодовой базы остается на чужих серверах. В массовых сервисах диалоги по умолчанию могут попадать в обучающие выборки. Отключить это обычно можно, но галочку в настройках находят единицы.
Добавьте сюда смену поведения модели после очередного обновления и прямой запрет службы безопасности на передачу данных наружу — и станет понятно, почему компании возвращаются к идее собственного ассистента в изолированном контуре.
Чем приватный ассистент отличается от публичного сервиса
Разница — в контроле над данными и доступом. Вместо общего сервиса компания получает выделенную виртуальную машину с развернутой платформой управления моделями. Все вычисления идут внутри этого контура. Архитектура держится на нескольких вещах:
- обработка запросов не выходит за пределы выделенного инстанса;
- доступ закрывается многофакторной аутентификацией и ролевой моделью (RBAC), действия пользователей пишутся в лог;
- данные шифруются при передаче (TLS, HTTPS) и на диске (AES-256).
Ничего экзотического, но именно эта комбинация снимает большую часть вопросов у безопасников.
Как RAG подключает внутренние документы
Само по себе изолированное развертывание дает только приватность. Полезным ассистента делает RAG (Retrieval-Augmented Generation, генерация, дополненная поиском) — подход, при котором система сначала ищет информацию в подключенной базе знаний и уже на найденных фрагментах строит ответ.
Работает это в три такта:
- Retrieval. На ваш вопрос система ищет релевантные фрагменты в базе знаний — регламентах, документации, выгрузках из Confluence.
- Augmentation. Найденные куски подставляются в исходный запрос как контекст.
- 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 и файлы окружения для локальной разработки закрывают половину вопросов новичков в команде, и ассистент отвечает на них без вас.
Приватный ассистент не отменяет здравого смысла и код-ревью. Он просто снимает выбор между «пользоваться современными моделями» и «не отдавать наружу внутренние данные» — вместе с необходимостью объяснять безопасности, куда именно ушел кусок кода.