Команда AI for Devs подготовила перевод статьи о том, почему Retrieval-Augmented Generation (RAG) чаще всего эффективнее дообучения моделей. Vector, Graph и Agentic RAG помогают ИИ работать точнее, быстрее адаптироваться и учитывать реальный контекст — будь то кодовая база, документация или API. Дообучение же остаётся дорогим и негибким инструментом.
Многие лиды разработки, начинающие внедрять ИИ, считают, что тонкая настройка модели — это логичный следующий шаг. Но это не так. Если только вы не собираетесь расширять знания модели о каком-то малораспространённом языке программирования, тонкая настройка почти всегда оказывается неподходящим инструментом. Она не научит модель вашим политикам безопасности. Не «зашьёт» во внутренние кодовые базы. Не подстроит модель под ваши процессы разработки.
В лучшем случае она повышает знакомство с узкими шаблонами, встречавшимися в ограниченном наборе данных. В худшем — раздувает модель, приводит к переобучению, усложняет соблюдение требований и делает будущие обновления хрупкими и дорогими. Ключ к точному и надёжному ИИ в разработке ПО — это RAG.
Retrieval-Augmented Generation (RAG) решает настоящую проблему
RAG даёт модели структурированный доступ к вашему реальному контексту: документации, исходному коду, тестам, шаблонам проектирования, правилам соответствия и внутренним API. Он не пытается «вшить» вашу организацию в веса модели — вместо этого извлекает нужную информацию в нужный момент, с семантической точностью и пониманием архитектуры.
Будь то векторные эмбеддинги, семантическая близость, графы знаний или агентные рабочие процессы — RAG позволяет LLM генерировать максимально точные ответы, опираясь на контекст вашей компании. При этом нет необходимости каждый раз заново обучать, развёртывать или проверять модель при изменении кодовой базы.
Тонкая настройка — это неверное решение правильной задачи. RAG — это путь вперёд, учитывающий инженерные реалии и соответствующий требованиям управления. И наша реализация RAG становится всё более продвинутой. Enterprise Context Engine от Tabnine повышает скорость использования кода на 82% по сравнению с «коробочной» LLM, что значительно выше показателей других вендоров, где рост составляет лишь 30–40%.
В 99% случаев вам не нужна тонкая настройка
Корпоративные AI-системы часто должны учитывать проприетарные или актуальные технические знания, выходящие за рамки обучающих данных LLM. Для этого используют два подхода: Retrieval-Augmented Generation (RAG) — подача внешней информации в промпты — и тонкая настройка модели на предметных данных. Недавние исследования в области разработки ПО сравнивают эти стратегии, чтобы понять, как лучше улучшать генерацию кода, помощников для разработчиков и технические Q&A. В целом, работы показывают, что методы на базе RAG часто не уступают и даже превосходят дообученные модели по точности и качеству кода, особенно когда предметные знания сложны или быстро меняются.
Лучшие ответы, меньшие затраты: почему RAG выигрывает у тонкой настройки в её же игре
Добавляйте новые знания без переобучения — и добивайтесь лучших результатов в том, что действительно важно. Semantic или Vector RAG используют поиск по векторным эмбеддингам для извлечения релевантного контекста (например, сниппетов кода, документации) на основе семантического сходства. В корпоративных сценариях этот подход позволяет LLM обращаться к актуальным внутренним знаниям без переобучения. Эмпирические данные показывают значительный рост фактической точности по сравнению с использованием только дообученных моделей.
Например, Ovadia и др. (2023) выяснили, что неконтролируемая тонкая настройка даёт лишь умеренный прирост, тогда как RAG «стабильно её превосходит как в работе с уже известными знаниями, так и с абсолютно новыми». Аналогично, Soudani и др. (2024) показали, что хотя тонкая настройка повышает результативность на распространённом материале, RAG «значительно опережает FT» в случаях с редкими, узкоспециализированными фактами.
Что особенно важно для экономных лидов разработки: обучение крупной модели на нишевых данных требует огромных ресурсов, тогда как извлечение знаний оказывается и эффективным, и результативным способом добавлять новую информацию.
RAG пишет код, который компилируется — и не отстаёт от изменений
В задачах разработки semantic RAG применялся для расширения возможностей моделей кода за счёт документации по API, предыдущих фрагментов кода и статей из базы знаний. Bassamzadeh и Methani (2024) сравнили дообученную модель Codex с оптимизированным RAG подходом для DSL, используемого в корпоративной автоматизации (воркфлоу с тысячами кастомных вызовов API).
Дообученная модель показала наибольшее сходство кода с эталонными решениями, однако модель с RAG-дополнением достигла того же уровня по этому показателю, одновременно снизив количество синтаксических ошибок (успешная компиляция выросла на 2 процентных пункта). Подход RAG действительно продемонстрировал чуть более высокий уровень галлюцинаций в названиях API (на 1–2 пункта) по сравнению с дообученной моделью, но при этом мог работать с новыми, ранее неизвестными API благодаря дополнительному контексту.
Иными словами, кодогенератор, «заземлённый» на эмбеддингах с помощью RAG, показал качество, сопоставимое со специализированной моделью, и оставался актуальным по мере эволюции API, тогда как статичная дообученная модель с этим не справлялась. Эти результаты указывают, что vector RAG может обеспечивать такую же или даже более высокую точность кода, чем тонкая настройка, сохраняя при этом гибкость (без необходимости переобучения) для корпоративных кодовых баз, которые постоянно меняются. Подкреплять модель реальной документацией гораздо надёжнее, чем переобучать её каждый раз при изменении API.
Когда векторный поиск не справляется, Graph RAG вступает в игру
Это более умный способ получать ответы из сложных, взаимосвязанных корпоративных систем. Graph RAG интегрирует в процесс поиска структурированные графы знаний или связанные данные, а не опирается только на сходство эмбеддингов. Такой метод использует связи между сущностями (например, функциями, библиотеками или концепциями), чтобы извлекать более богатый контекст. Исследования GraphRAG показали, что поиск, основанный на графах, повышает качество работы с комплексными корпоративными документами.
Он использует LLM для построения графа знаний на приватном датасете, а затем извлекает информацию через графовые связи, достигая «значительных улучшений в результатах Q&A» на длинных и взаимосвязанных корпоративных текстах. GraphRAG доказал свою эффективность при ответах на целостные запросы, требующие «соединять точки» между разрозненными кусками организационных данных, где базовый vector RAG давал сбой. В условиях сложных корпоративных кодовых баз структурированный подход GraphRAG превосходит предыдущие методы semantic RAG и по точности, и по широте ответов, подчёркивая его ценность для поиска знаний в компании.
Не настраивайте модель для сложных задач — Graph RAG справляется с ними естественным образом
Когда для ответа требуется рассуждение, важнее связи, а не переобучение. Академические исследования подтверждают преимущества графового поиска. Для многошаговых Q&A Jiang и др. (2025) предложили KG-guided RAG, который сначала выполняет семантический поиск, а затем расширяет контекст через граф знаний. Их эксперименты на HotpotQA показали, что KG-расширенный RAG даёт более качественные ответы и релевантный контекст, чем стандартные RAG-базовые подходы.
Привлекая связанные факты через графовые связи, модель может генерировать более полные и точные ответы. Эти результаты указывают, что Graph-ориентированный RAG способен дополнить или даже заменить тонкую настройку в тех случаях, когда запросы требуют рассуждений на основе сложных и связанных знаний (что нередко встречается в больших кодовых базах или корпоративных данных). Вместо того чтобы дообучать модель для запоминания всех связей, Graph RAG динамически обращается к онтологиям или сетям знаний, обеспечивая более точные ответы в таких областях, как архитектура ПО (где функции, модули и их зависимости образуют граф).
Умнее, чем тонкая настройка: Agentic RAG думает, прежде чем ответить
Когда инженерные задачи становятся сложными, нужна модель, способная рассуждать, а не просто вспоминать. Agentic RAG — это подход, при котором LLM-агент получает возможность самостоятельно решать, когда и как использовать поиск, в многошаговом и интерактивном режиме. В отличие от фиксированного одношагового конвейера RAG, «агентный» подход позволяет модели итеративно обращаться к источникам знаний или использовать инструменты (например, поиск или компилятор), чтобы выполнить задачу. Это особенно полезно для ассистентов разработчиков, где запрос может требовать анализа нескольких источников информации (например, сначала чтения логов ошибок, а затем извлечения документации по API).
Система Agentic RAG ломает линейную схему prompt→retrieve→generate: LLM может пропустить поиск, если знает ответ, или выполнить несколько шагов поиска и циклов рассуждения для решения сложной задачи. Такая гибкая стратегия даёт заметное преимущество по сравнению с дообученной моделью, которая вынуждена выдавать ответ «одним выстрелом» из своих внутренних весов.
Почему Agentic RAG обыгрывает тонкую настройку в реальных задачах разработки
Новые исследования показывают, что агентные и многошаговые стратегии поиска дают измеримый прирост точности. Chang и др. (2025) представили MAIN-RAG — мультиагентный RAG-фреймворк, где LLM-«агенты» совместно фильтруют и отбирают документы перед генерацией. Без какой-либо тонкой настройки модели MAIN-RAG показал на 2–11% более высокую точность ответов, чем традиционный одношаговый RAG, устраняя нерелевантный контекст и сохраняя максимально полезную информацию. Агентный подход также улучшил согласованность ответов, предлагая «конкурентоспособную и практичную альтернативу решениям на основе обучения».
Это говорит о том, что для задач вроде помощи в написании кода агентный RAG может превзойти дообученную модель: агент способен, например, последовательно извлекать разные фрагменты кода, запускать тесты или обращаться к документации до тех пор, пока не проверит решение или исправление кода — возможностей, которых статичная дообученная модель лишена. Хотя исследования Agentic RAG в инструментах для разработчиков пока находятся на ранней стадии, текущие результаты указывают на более высокую способность решать задачи за счёт сочетания LLM с механизмами принятия решений и поиска, а не за счёт одной лишь дообученной памяти. В корпоративных условиях это означает, что AI-ассистент сможет автоматически проходить по внутренним базам знаний или репозиториям проекта в несколько шагов, предоставляя разработчикам более точную и контекстно релевантную помощь.
RAG выигрывает у тонкой настройки там, где это действительно важно: точность, эффективность и практическая ценность
Если модель не опирается на ваши знания, она всего лишь угадывает. Факты говорят сами за себя: Retrieval-Augmented Generation (RAG) стабильно превосходит тонкую настройку по ключевым метрикам корпоративной разработки ПО — точности, адаптивности и качеству кода.
Vector и semantic RAG добавляют актуальные технические знания без переобучения. Graph RAG строит структурированный контекст из сложных систем, обеспечивая более глубокое понимание. А agentic RAG вводит рассуждения и принятие решений — превращая LLM из статичного предсказателя в динамичного помощника, способного решать задачи.
Тонкая настройка имеет предел. RAG ведёт вашу модель дальше — с точностью, контекстом и актуальностью в реальном времени.
Если вы хотите, чтобы AI помогал вашим разработчикам, вам не нужен ещё один конвейер тонкой настройки. Вам нужна система, которая знает, где искать.
Русскоязычное сообщество про AI в разработке

Друзья! Эту статью перевела команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!
NeriaLab
Я смотрю на всю эту "мышиную возню" вокруг: трансформеров, RAG и прочих "патчей" для LLM и понимаю, всё это костыли. Разработчики берут идеи из проверенных когнитивных архитектур вроде Soar, где контекст, логика и смысл заложены в саму структуру системы и пытаются их "натянуть" на LLM. Они не понимают главного: настоящий интеллект строится не на предсказании слов, а на архитектуре, способной работать с символами, целями и внутренними моделями мира. А у нас пока просто очень умный автодополнитель, обёрнутый в технологию прошлого века.
acc0unt
Очередное нытьё про то, какие LLM плохие, и какие символьные методы из 1985 года хорошие.
Объясни тогда, почему LLM дают результаты, а символьные методы в ИИ сдохли ещё в 90-х?
Цепляться сейчас с отчаянием обречённого за провалившиеся 30 лет назад парадигмы ИИ - это тупо и бесполезно.
akakoychenko
Давайте на это шире посмотрим. Живой разработчик это тот же LLM. Без кодовой базы под рукой, IDE с автокомплитом и возможности глянуть в доку тоже напишет некомпилируемую хрень.
Принципиальное отличие оно в том, что разработчик сам понимает, когда надо дернуть внешние данные, а RAGом пытаются напичкать до выполнения задачи. Примерно, как если закрыть программиста в комнате без интернета и заставить писать программу в блокноте, но перед этим дать ему десяток вырванных страниц с учебника по питону, и пару файлов с проекта. Повезет - ему этих данных хватит. Не повезёт, - штош, придется додумать, как могла б выглядеть функция, с которой раньше дела не имел, и, которая в эти страницы не попала
Вангую, что все начнёт нормально работать, когда модель сама будет запрашивать доп данные в процессе генерации, и понимать, когда неспособна выдать надёжный ответ. Условно, не вырывать страницы с учебника до задачи, а листать учебник в процессе выполнения
NeriaLab
Тогда вы придёте к когнитивной/логической/символьной модели, а это значит переработка всей архитектуры. Ну и смысл тратить время и силы на неработающие модели, а сразу заниматься "нужными" системами?!