venger.dev/блог
ИИ для бизнеса · 5 минут чтения, и ещё 10 для технарей

Как ИИ читает ваши регламенты

Сотрудник пишет вопрос, а ассистент за пару секунд отвечает по внутренним документам и показывает пункт, откуда взял ответ. Ниже: как это устроено, где такой ассистент ошибается и что нужно, чтобы запустить его у вас. Все примеры настоящие. Это демо для вымышленной компании «Северный Ветер», и работает оно на одном компьютере без интернета.

Вопрос
01

Как он отвечает: три шага

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

1 · находит

Сравнивает вопрос по смыслу со всеми кусками всех документов и берёт шесть самых похожих. Ищет по смыслу, а не по словам: «работать из дома» находит раздел «Удалённая работа».

2 · передаёт модели

Отдаёт языковой модели эти шесть кусков и короткие правила: отвечать только по ним, ставить ссылки, не выдумывать цифры.

3 · отвечает

Модель пишет короткий ответ со ссылками. По клику на ссылку сотрудник видит исходный пункт и может проверить сам.

Выберите вопрос в строке сверху и посмотрите, что ассистент находит и что отвечает.

Шаг 1. Что нашлось в документахчем длиннее полоса, тем ближе по смыслу
Подсвечены куски, которые уйдут модели. Красный пунктир — порог: что ниже, не передаётся вовсе.
Шаг 2. Правила для моделиодинаковые для любого вопроса
  • Используй только факты из найденных кусков. Если ответа нет, так и скажи и подскажи, к кому обратиться.
  • После каждого факта ставь ссылку на кусок: [1], [2].
  • Отвечай по-русски, коротко и по делу.
  • Не придумывай цифры, даты, имена и сроки.
Шаг 3. Ответнастоящий ответ демо, без правок
02

Где он ошибается и как это ловится

Ассистент ошибается, как и любой сотрудник. Важно, чтобы ошибку было видно и её можно было исправить, а не надеяться на «умную модель». Два настоящих случая из демо.

Поэтому любой пилот я начинаю с вашего набора вопросов: 20–30 штук, которые сотрудники или клиенты задают на самом деле. На них проверяется каждая настройка: нашёл ли ассистент нужный пункт и правильно ли его пересказал. Так «вроде отвечает нормально» превращается в число, которое можно улучшать.

03

Ваши данные остаются у вас

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

Ваш сервер или облако в РФ
Веб-чатбраузер сотрудника
→
Ассистентпоиск по документам и сборка запроса
→
Языковая модельоткрытая, работает локально
Ваши документыхранятся здесь же, обновляются загрузкой новой версии
ИнтернетНе нужен. Одно исключение: если подключить бота в Telegram, вопросы и ответы пойдут через серверы Telegram. Сами документы при этом остаются на месте.

Демо работает на обычном компьютере с игровой видеокартой RTX 5060 Ti на 16 ГБ. Короткий ответ появляется за 2–3 секунды. Сколько людей одновременно потянет такой сервер, зависит от того, как часто спрашивают. Это я оцениваю под вашу нагрузку, а если свой сервер не нужен, подбираю облако в РФ.

Ассистент на вашем сервереЗагрузить документы в ChatGPT
Где данныеу васна серверах OpenAI за рубежом
Откуда ответтолько из ваших документов, со ссылкой на пунктиз документов вперемешку с общими знаниями модели
Кто пользуетсявсе сотрудники через чат или Telegram, без отдельных аккаунтову каждого свой аккаунт и своя копия файлов
Связь с системамиможно подключить к 1С, CRM, почтенет
Общий интеллектслабее: модель меньшесильнее
04

Пилот: что нужно от вас и сколько стоит

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

от 150 000 ₽
пилот на одной задаче, цена фиксируется до старта
2–4 недели
от документов до работающего ассистента
3 000 ₽/ч
доработки после пилота, можно с верхней границей бюджета
  1. Вы присылаете документы и вопросыРегламенты в любом виде (PDF, Word, таблицы) и 20–30 реальных вопросов. Нужен один человек на связи, который знает, какой ответ правильный.
  2. Я оцениваю железоПодойдёт ли ваш сервер, что докупить или какое облако в РФ взять.
  3. Собираю и проверяю на ваших вопросахНастраиваю поиск и правила, пока ассистент не начнёт стабильно находить нужные пункты. Показываю результат по каждому вопросу.
  4. ЗапускаюВеб-чат или Telegram-бот, инструкция для сотрудников, документация для вашего айтишника. Дальше поддержка, если нужна.

Где ещё работает та же схема

Поддержка клиентовответы по условиям доставки, возврата и гарантии, подсказки оператору
Разбор заявок и писемопределить тему, вытащить реквизиты, направить нужному отделу
Продажиответы по каталогу, прайсу и характеристикам товаров
Техники и монтажникипоиск по инструкциям и схемам прямо с телефона

Хотите такого ассистента на своих документах?

Напишите пару абзацев: какие документы и кто будет задавать вопросы. В ответ пришлю план пилота со сроками и ценой.

05

Под капотом: для вашего айтишника

То же самое с терминами и на живых схемах. Данные настоящие: 5 документов демо, 34 фрагмента, модели qwen3-embedding:0.6b для поиска и qwen3.6:35b-a3b для ответов, всё запущено через Ollama.

Нарезка документов на фрагментыпо разделам, до ~700 символов, с повтором абзаца на стыке

Текст из PDF достаётся библиотекой unpdf, из DOCX — mammoth. Потом он режется по заголовкам: один раздел — одна тема. Длинный раздел дробится по абзацам до ~700 символов, а последний короткий абзац куска повторяется в начале следующего, чтобы мысль на стыке не терялась. Ниже тот же алгоритм, что в демо. На 700 символах он даёт ровно столько фрагментов, сколько в настоящем индексе.

Нарезка
Пунктиром обведён абзац, повторённый из предыдущего куска.
Эмбеддинги и карта смысловкаждый фрагмент — 1024 числа; похожие тексты лежат рядом

Модель эмбеддингов превращает фрагмент в вектор из 1024 чисел. Отдельные числа ничего не значат, но у текстов про похожее похожие векторы, даже если общих слов нет.

Вектор фрагмента «1. Компенсация такси»синий — плюс, оранжевый — минус

Если сжать 1024 измерения до двух методом главных компонент, получится карта. Расстояния на ней приблизительные, но видно, что фрагменты одного документа кучкуются, а регламент возвратов (он про клиентов) стоит особняком. Звезда — выбранный вопрос.

Карта 34 фрагментов
Трюк с заголовкомодна строка кода решает, найдётся ли ответ

Фрагмент, вырезанный из середины раздела, теряет контекст. В куске ниже нет ни слова «деньги», ни слова «вернуть»: про это говорит только заголовок раздела. Поэтому демо считает вектор от строки «документ — раздел + текст». В промпт уходит обычный текст, а в поиске фрагмент «помнит», откуда он.

Вопрос: «Что делать, если клиент просит вернуть деньги?»
Место нужного фрагмента среди 34 и сходство. В промпт попадают первые шесть.
Промпт целиком и скорость моделичто именно видит модель для выбранного вопроса

Системный промпт — это правила плюс найденные фрагменты, пронумерованные [1]…[6]. Температура 0,2, режим рассуждений выключен, контекст 16 384 токена. qwen3.6:35b-a3b — «смесь экспертов»: из 35 млрд параметров на каждый токен работает около 3 млрд. Поэтому на RTX 5060 Ti 16 ГБ получается 54–67 токенов в секунду, а первый токен у прогретой модели появляется через ~1,5 с. Холодный старт с загрузкой модели — около 30 с.

В демо индекс хранится в JSON-файле. В проде на этом месте PostgreSQL с расширением pgvector.