RAG нейросети за 5 итераций: от папки с md-файлами до графа знаний на Go
Если вам знакома ситуация, когда документация устарела, знания разбросаны по чатам и головам коллег, а проект горит, этот разбор покажет, как один разработчик собрал RAG-систему (retrieval-augmented generation, генерация ответов с опорой на найденные документы) из подручных средств и за пять итераций довёл её до многослойного пайплайна с графом знаний.

Сценарий «беспорядочная база знаний плюс срочная задача» типичен для российских IT-проектов, где реорганизации и миграции между облаками происходят регулярно, а документацию обновлять некому.
История опубликована на Хабре русскоязычным разработчиком, который прошёл путь от простого поиска по md-файлам до опенсорсного решения на Go с графовым RAG, гибридным поиском и адаптивной схемой рассуждений. Ниже разбираю каждую фазу как практическое руководство: что понадобилось, какие шаги повторить и где автор споткнулся.
Что понадобится
- Языки и рантайм: Python для быстрого прототипа (фаза 1-2), Go для продакшен-версии (фаза 3)
- LLM для инференса (генерации ответов): облачное API, совместимое с OpenAI-форматом, либо локальная видеокарта с 24 Гб VRAM (автор использовал RTX 4090 с моделями Qwen3.8 27B и Qwen3-embedder)
- Векторная база данных: ChromaDB или аналог
- Фреймворк для RAG: LlamaIndex или подобный
- Источники знаний: код, задачи из трекера, документация, экспорт чатов
- Загрузчики данных: скрипты на Python, которые конвертируют задачи, документы и треды из чатов в md-файлы
- Время на базовый прототип: от одного часа (фаза 1) до нескольких недель на полноценный пайплайн
Пошаговая инструкция: от экстренного прототипа до графового RAG
1. Соберите все источники в одну папку как md-файлы (фаза 1)
Автор написал на Python загрузчики, которые превращали задачи из трекера, документацию и треды из чатов в md-файлы. Бэкенд и фронтенд-код легли в ту же папку. Итог: единое хранилище, по которому можно искать.
2. Подключите LLM через API и задайте первый вопрос
Корпоративный поставщик ИИ предоставил DeepSeek V4 Flash на совместимом с OpenAI API эндпойнте. В течение часа автор получил анализ девяти дефектов: где чинить, сколько времени займёт, какие три уже исправлены.
Пример промпта для такого сценария:
Проанализируй следующие дефекты из списка поддержки.
Для каждого укажи:
1. Файл и функцию, где вероятна причина
2. Оценку времени на исправление
3. Зависимости от других задач
Контекст проекта: [вставить содержимое md-файлов]
Список дефектов: [вставить список]
3. Внедрите гибридный поиск BM25 плюс векторный (фаза 2)
Простой поиск по md-файлам быстро упирается в потолок: находит куски текста, но не понимает контекста. Гибридный ретривер сочетает два подхода:
- BM25 (классический текстовый поиск по ключевым словам) хорошо находит точные совпадения
- Векторный поиск (поиск по смыслу, а не по словам) ловит семантически близкие фрагменты
Автор поднял решение на LlamaIndex плюс ChromaDB.
4. Добавьте Graph of Thoughts для сложных вопросов
Graph of Thoughts (граф мыслей, метод, при котором модель разбивает вопрос на подвопросы, делает серию запросов и синтезирует результат) дал качественный скачок. Вместо одного поискового запроса система строит дерево подзадач, ищет ответ на каждую и собирает итог.
Полученный ответ можно отредактировать и сохранить как сущность с наивысшим приоритетом, чтобы при следующем похожем вопросе система находила проверенный ответ первым.
5. Очистите базу знаний от мёртвых данных
Автор объявил источниками истины только чаты и код на проде. Остальное прошло через процесс актуализации: дашборд показывал устаревшие документы, и их либо обновляли, либо удаляли. Без этого шага RAG в нейросетях выдаёт галлюцинации (когда модель уверенно цитирует устаревшую информацию как актуальную).
6. Перепишите на продакшен-язык и добавьте продвинутые методы (фаза 3)
Автор счёл Python недостаточным для продакшена и переписал систему на Go. К графовому RAG и гибридному поиску добавились:
- Temporal-awareness (учёт времени, система понимает, что свежий чат важнее старого документа)
- LogicRAG (логический слой проверки непротиворечивости найденных фрагментов)
- Оптимизации производительности для работы на домашнем железе
7. Протестируйте на бенчмарках
Автор проверил систему на русскоязычном бенчмарке DRAGON (набор вопросов по корпусу новостей) и получил 80,3%. По его оценке, это близко к потолку, потому что на часть вопросов ответов в корпусе нет. Бенчмарк RUMBA не подошёл по типу задач, а EnterpriseRAG-Bench с 500 тысячами документов оказался слишком тяжёлым для локального запуска.
Результат за неделю: 115 упоминаний в чатах
За одну неделю автора упомянули в рабочих чатах 115 раз, потому что он находил ответы на актуальные вопросы быстрее всех, опираясь на доступные ему код, задачи, документацию и чаты. RAG в нейросетях сработал не как академический эксперимент, а как рабочий инструмент в условиях хаоса.
Служба поддержки прислала список из 9 дефектов, на каждый из которых пожаловались минимум 100 пользователей. Проблемы: от невозможности войти в приложение до неактуальных отчётных документов. Автор загрузил список в систему вместе с контекстом кода и задач. В течение часа появился анализ: где и что чинить, сколько времени займёт, три дефекта уже исправлены и отданы в тестирование.
- Не чистить базу знаний. Если скормить модели устаревшие документы наравне с актуальными, она будет уверенно цитировать мёртвую информацию. Определите источник истины (код на проде, свежие чаты) и выбросьте остальное.
- Ждать идеального бенчмарка. Автор потратил заметное время на поиск подходящего русскоязычного бенчмарка и не нашёл полностью подходящего. Для внутренних проектов быстрее собрать свой набор вопросов и ответов по реальным задачам команды.
- Оставаться на прототипе. Решение на Python с LlamaIndex запускается за час, но для постоянной работы команды нужен продакшен-уровень: очереди, кэширование, контроль версий базы знаний.
- Игнорировать временной фактор. Без temporal-awareness система не отличает вчерашнее решение от позавчерашнего отменённого. Свежие источники должны весить больше.
Что делать с этим прямо сейчас?
Автору Дзена. Если вы ведёте несколько рубрик и тонете в собственных черновиках, заметках и источниках, простейший RAG на md-файлах плюс облачное API соберёт вам ответ по вашей же базе за минуту. Начните с папки markdown-файлов и любого совместимого с OpenAI API сервиса.
Разработчику и тимлиду в РФ. Сценарий автора (миграция, потеря людей, разбросанные знания) узнаваем. Python-прототип можно поднять за час. Из доступных в России LLM для инференса: YandexGPT, GigaChat, а также опенсорсные модели Qwen и DeepSeek на собственном железе.
Предпринимателю. Яндекс анонсировал выход «Алиса AI для бизнеса» в сентябре, которая решает похожую задачу: забирает данные из разных систем и выдаёт ответ. Если нет ресурсов строить своё, имеет смысл дождаться и сравнить.
Эта история ценна не технологией, а честностью. Автор показал, что RAG-система, собранная за час из подручных средств, решила горящую проблему, а потом эволюционировала через пять фаз до графа знаний и гибридного поиска. Проект пока приостановлен из-за нехватки ресурсов на тестирование. Автор приглашает сообщество к разработке «национальной базы знаний с открытым исходным кодом». По моим наблюдениям, именно таких проектов, практичных, выросших из боли, а не из гранта, в русскоязычном опенсорсе не хватает. Но честная оговорка: без нормального бенчмарка и сообщества вокруг проекта повторить путь автора сможет только человек с похожим техническим бэкграундом.
Хотите, чтобы нейросеть писала по вашим данным, а не по чужим?
В dzen.guru мы разбираем, как авторы и команды используют RAG и другие методы работы с ИИ на практике. Подпишитесь, чтобы не пропустить следующий разбор.
Подписаться на dzen.guru
Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

ChatTJB: чатбот с людьми вместо ИИ собрал 100 000 запросов за месяц
Компания индустрии делает вид, что всё заменят нейросети, а бывший менеджер Google в апреле 2026 года запустил чатбот с людьми вместо ИИ и за месяц собрал 100…

Кто придумал термин «искусственный интеллект» и ещё 9 понятий: глоссарий TechCrunch
Microsoft, Google и OpenAI каждую неделю вводят новые термины, и даже профильные журналисты путаются в аббревиатурах: LLM, RAG, RLHF, а с прошлой недели ещё и…

70 000 волонтёров собрали датасет для робототехники с искусственным интеллектом прямо в браузере
Microsoft, Google, OpenAI и другие корпорации собирают данные для обучения роботов в закрытых лабораториях с дорогим оборудованием, и это тормозит всю отрасль.…
Комментарии