RAG система не сработала: год ошибок и путь к рабочей архитектуре
RAG система (Retrieval-Augmented Generation, генерация ответов с опорой на найденные документы) обещает превратить корпоративные знания в умного ИИ-помощника, но на практике больше года проб показали: наивный подход ломается на первой же реальной задаче, и починить его можно только сменой архитектуры.
Большинство команд, которые сейчас строят RAG на русскоязычных данных, повторяют одни и те же ошибки: запихивают сырые документы в модель, получают «похожие на правду» ответы и разочаровываются в технологии. Разбор ниже показывает, где именно ломается конвейер и что делать на каждом этапе.
Автор оригинальной статьи на Habr больше года ведёт RAG-проект в небольшой компании. Задача: не просто искать фрагменты в документации, а научить ИИ-помощника диагностировать проблемы пользователей. Путь от первого наивного прототипа до рабочей архитектуры оказался длиннее и поучительнее, чем обещают учебники.
Что понадобится
- Любая локальная LLM (большая языковая модель, нейросеть, которая генерирует текст) или API облачной модели. В оригинале использовались модели от 3 до 8 миллиардов параметров через LM Studio
- Векторная база данных для хранения эмбеддингов (числовых «слепков» смысла текста)
- Набор корпоративных документов: инструкции, переписки из рабочих чатов, тикеты из helpdesk
- Реранкер (модель, которая пересортировывает найденные фрагменты по релевантности). В оригинале упоминается Cohere
- Терпение и технический писатель. Без качественной документации RAG система не заработает, сколько ни крути параметры
- Время: от нескольких недель на подготовку данных до нескольких месяцев на отладку
Как перейти от наивного RAG к рабочей системе?
-
Проверьте, достаточно ли у вас данных. Прежде чем писать код, честно оцените документацию. Если она неполная, противоречивая или устаревшая, сначала наведите порядок в ней. Как формулирует автор: «Мусор на входе даёт мусор на выходе». RAG система не создаёт знания, она ищет их в том, что вы ей дали.
-
Начните с наивного RAG и поймите его границы. Наивный (Naive) RAG работает так: документы режутся на куски, каждый кусок прогоняется через эмбеддер (модель, которая превращает текст в набор чисел), результат записывается в векторную базу. Когда пользователь задаёт вопрос, его текст тоже превращается в вектор, и система ищет ближайшие по смыслу куски. Этого достаточно, если задача: найти конкретный фрагмент в большом массиве документов. Не усложняйте, если ваш сценарий именно такой.
-
Соберите пары «вопрос и решение» из реальных переписок. Выгрузите тикеты, чаты, письма. Пропустите их батчами (порциями) через LLM с промптом, который отсекает мусор и оставляет только полезные пары. Пример промпта:
ROLE: Ты специалист по разметке данных.
Тебе на вход подаётся сырой кусок переписки из рабочего чата.
Задача: отсечь мусор (приветствия, поздравления) и найти
полезные пары «вопрос и ответ», касающиеся бизнес-логики.
Ответ считается полезным, если на него есть благодарность
или обратная связь от задавшего вопрос.
Формат ответа: TXT, разделитель между парами — "*****".
Такой подход даёт сразу два результата: готовые кейсы для базы знаний и живой, не синтетический набор для оценки (eval-набор) будущей RAG системы.
-
Переходите к гибридному поиску. Наивный RAG плохо справляется с аббревиатурами и кодами (например, «01-ЦФИ.Я2»), потому что их смысл нельзя адекватно записать в вектор. Гибридный поиск совмещает семантический (по смыслу) и BM25 (по ключевым словам). Добавьте реранкер, который пересортирует найденные фрагменты и отбросит нерелевантные.
-
Разделите задачи «найти» и «понять». Главная находка из оригинала: наивный RAG хорош как поисковик, но не умеет в диагностику. Если вам нужно, чтобы бот не просто находил «чек-бокс на такой-то вкладке», а объяснял, почему он не работает («потому что в настройках отключён режим такой-то»), RAG система должна уметь связывать несколько фрагментов и рассуждать по ним. Это требует другой архитектуры промптов (промпт-инжиниринга) и, скорее всего, более мощной модели.
-
Закройте пробелы в доменных знаниях. Часть знаний живёт только в головах сотрудников. Выделите AI-инженера и технического писателя в связку: один формализует знания, другой превращает их в данные, пригодные для RAG системы.
Допустим, у вас техподдержка SaaS-продукта. Вы выгружаете 10 000 сообщений из рабочего чата за год, прогоняете их через LLM с промптом разметки и получаете 800 пар «вопрос и решение». 200 из них оказываются уникальными кейсами, которых нет в документации. Вы добавляете их в базу знаний, и при следующем вопросе «Почему у клиента не отображается отчёт 01-ЦФИ.Я2?» RAG система находит не только инструкцию «где лежит отчёт», но и реальный кейс из чата, где коллега объяснил, что отчёт скрывается при отключённом режиме отображения. Модель получает оба фрагмента и формулирует диагностику, а не просто ссылку на меню.
Кидать всё в модель без подготовки. 50 инструкций, загруженных разом в локальную LLM, дают медленные и неточные ответы. Модели на 3 или 8 миллиардов параметров физически не вмещают столько контекста и начинают галлюцинировать (уверенно выдумывать то, чего нет в документах).
Верить первому результату. Ответы «вроде похожие на правду», но неполные или неверные, опаснее, чем честное «не знаю». Пользователь доверяет боту и действует по ложной инструкции.
Игнорировать eval-набор. Без реальных пар «вопрос и проверенный ответ» вы не сможете измерить, стало ли лучше после каждого изменения. Собирайте eval с первого дня.
Пропускать этап документации. RAG система не заменяет документацию, она на неё опирается. Нет качественных данных, нет качественных ответов.
Что делать прямо сейчас, по ролям?
Автору на Дзене. Если вы пишете про технологии или ведёте экспертный канал, разбор чужих ошибок с RAG даёт готовый формат для серии постов. Покажите своей аудитории, что «ИИ-помощник» без подготовки данных не работает.
Маркетологу. RAG система может стать ядром внутреннего чат-бота для команды: ответы на типовые вопросы клиентов, онбординг новых сотрудников. Но закладывайте в бюджет работу технического писателя, без него проект остановится на стадии прототипа.
Предпринимателю в РФ. Все описанные инструменты доступны: LM Studio работает локально, векторные базы данных опенсорсные. Из облачных LLM, доступных в России, можно использовать YandexGPT или GigaChat вместо зарубежных API. Главное: начинайте с аудита документации, а не с выбора фреймворка.
По моим наблюдениям, 9 из 10 вопросов «почему мой RAG не работает» сводятся к одному: данные не готовы. Это скучный ответ, но честный. Самая полезная находка из этого разбора: используйте саму LLM, чтобы превратить хаос рабочих переписок в структурированные пары «вопрос и решение». Вы одновременно получаете базу знаний и набор для тестирования. Только учитывайте, что автоматически извлечённые пары нужно проверять руками: модель может неверно определить, какой ответ был правильным, особенно если в чате спорили.
Путь от «загрузил 50 инструкций и жду чуда» до работающей RAG системы проходит через неудобную правду: сначала документация и данные, потом архитектура и модели. Кто это принял, у того бот диагностирует проблемы, а не пересказывает оглавление.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

SpaceX выкупает Cursor за $60 млрд: нейросеть для кода подорожала вдвое за полтора года
Компания Anysphere, создатель популярного ИИ-редактора кода Cursor, прошла путь от студенческого стартапа до сделки со SpaceX на 60 млрд долларов за три года,…

Нейросеть в медицине выдумывает диагнозы: 4 провала сервиса и как их чинили
Медсервис на нейросетях звучит просто, пока не увидишь, как модель уверенно связывает повышенные лейкоциты с препаратом, который пользователь начал принимать…

Яндекс ГПТ в ИИ-агентах за 15 минут: готовые конфиги для OpenCode, Pi и Hermes
Яндекс ГПТ подключается к инструментам разработки через стандартный OpenAI-совместимый протокол, и автор Habr собрал готовые конфиги для OpenCode, Pi и Hermes,…
Комментарии