OpenAI y Grok Pierden ante RAG Personalizado en el Desafío Legal Agentic RAG
En el Desafío Legal Agentic RAG, un equipo comparó soluciones listas de OpenAI y Grok, CAG, BM25 y su propio pipeline híbrido. El hallazgo: incluso modelos pode

Авторы статьи разобрали, как их команда проходила Agentic RAG Legal Challenge — международное соревнование по ответам на вопросы на основе юридических PDF. Главный вывод оказался неприятно практичным: победу решает не громкое имя модели, а способность точно привязать ответ к нужной странице документа.
Как проверяли системы В челлендже участвовали более 300 команд, а
корпус состоял из реальных судебных решений, законов и регуляторных актов DIFC на английском языке. Сначала участникам дали 30 документов и 100 вопросов для warm-up, затем почти 300 документов и 900 вопросов для финала. Сами вопросы были разного типа: даты, числа, имена, списки, да или нет и короткие свободные ответы. Но важнее всего была не только точность формулировки, а метрика Grounding — совпали ли указанные страницы с тем, откуда реально взят ответ.
«Даже идеальный ответ обнуляется, если указал не ту страницу.»
Под это команда собрала собственный пайплайн: PDF переводили в Markdown, резали на смысловые чанки, достраивали для каждого контекст, считали dense и sparse-эмбеддинги и складывали всё в Qdrant. Часть работы выполняли локально на Mac Studio M3 Ultra. Машина быстро справилась с парсингом 30 PDF и локальными эмбеддингами, но генерация контекста для чанков оказалась слишком медленной: из-за длинного prefill на один чанк уходило по 15–20 секунд, поэтому этот этап пришлось выносить во внешний API.
Кто провалился первым
Первым делом авторы проверили самый ленивый путь — просто загрузить документы в встроенную базу знаний OpenAI. На глаз решение выглядело прилично, но в метриках дало Total 0.362: ответы часто были неплохими, а вот цитирование страниц ломало всё.
Затем протестировали CAG, где в модель отправляют почти весь корпус сразу, без поиска по кускам. Эксперимент с Qwen 3.5 Flash и контекстом до 1 млн токенов показал, что CAG не бесполезен: точность была высокой, но Grounding снова подвёл.
Чистый BM25 выступил ещё хуже и оказался самой слабой попыткой. Из этого прогона вышло несколько неприятных, но полезных выводов: встроенные базы знаний от крупных игроков не гарантируют хорошего цитирования; CAG может отвечать точно, но без аккуратной привязки к страницам проигрывает по итоговой оценке; классический BM25 в одиночку уже не тянет сложные юридические вопросы; гибридный RAG с нормальным реранкингом оказался сильнее встроенных решений OpenAI и Grok. Собственная система MORAG сначала тоже не впечатлила: маленький локальный Qwen плохо держал точность и особенно сыпался на multi-document вопросах.
Перелом наступил после перехода на Grok через OpenRouter и более строгого отбора чанков. В warm-up команда поднялась с Total 0.362 на ранних прогонах до 0.
780 в финальной попытке, а Grounding вырос примерно с 0.45 до 0.90.
Именно этот рост, а не замена одной модной модели на другую, и стал главным фактором прогресса.
Что реально помогло
Самый заметный прирост дали не абстрактные «улучшения качества», а несколько очень конкретных инженерных решений. Команда разделила режимы reasoning и non-reasoning по типам вопросов, добавила агентный цикл с повторным поиском, если данных не хватало, и отдельно построила gold set для проверки ответов на 900 вопросах. Это позволило не стрелять вслепую в финале и быстро находить системные ошибки вроде неправильной трактовки формулировки про поданную, но отклонённую апелляцию.
reasoning-модель оставили для boolean, name и names, где non-reasoning терял 8–16% точности; для date, number и free_text использовали более быстрый non-reasoning режим без заметной просадки; в поиск добавили первые 1–3 страницы документов, упомянутых в вопросе, потому что там часто лежат ключевые реквизиты дела; пересобрали summaries и sparse-векторы под юридическую предметную область; * ужали чанки под лимит эмбеддера FRIDA, который обрезает всё, что длиннее 512 токенов. В финальной фазе MORAG уступил подготовленному golden submission по общему Total — 0.603 против 0.
631, но обошёл его по трём из пяти метрик: по точности детерминированных ответов, по качеству свободных ответов и по скорости. Проигрыш снова пришёл из Grounding. Это важный нюанс: сама RAG-система уже отвечала лучше «ручного» эталона, но техническая привязка ответа к правильной странице всё ещё отставала.
Что это значит
Эта история хорошо показывает, что CAG не убил RAG, Mac Studio подходит для части локального пайплайна, а готовые базы OpenAI и Grok не заменяют настройку под конкретный корпус. Если данные сложные, то выигрывает не самый громкий бренд, а команда, которая умеет мерить ошибки, контролировать чанкинг и доводить Grounding до рабочего состояния.