Что было в первой части
Привет! Меня зовут Алексей, я разработчик в Битрикс24. В первой части я рассказывал про retrieval-часть нашего RAG для AI-помощника Марты: как мы перестраивали поиск по базе знаний, подбирали retrieval pipeline под продуктовую документацию и постепенно улучшали качество поиска через серию небольших экспериментов.
Там же я разобрал, почему production RAG — это не разовая настройка, а постоянная работа с retrieval, шумом в данных и latency (задержкой ответа). Каждое из этих измерений требует отдельного внимания, и оптимизация одного нередко влияет на другое.
Что измеряем и зачем
Сегодня — про то, как мы измеряли качество всей RAG-системы целиком, а не отдельных её компонентов. Это принципиально другая задача: retrieval может работать хорошо сам по себе, но итоговый ответ пользователю всё равно окажется неудовлетворительным. Именно поэтому нужна end-to-end оценка.
Расскажу про два типа датасетов, которые мы использовали: экспертный — размеченный вручную специалистами, и синтетический — сгенерированный автоматически. У каждого свои плюсы, ограничения и области применения.
Метрики и их ловушки
Отдельно остановлюсь на том, почему retrieval-метрики могут расходиться с реальным качеством ответов. Это один из самых частых подводных камней в RAG-разработке: система «хорошо ищет» по метрикам поиска, но генерирует ответы, которые не устраивают пользователя. Такое расхождение легко пропустить, если оценивать только retrieval в изоляции.
Именно поэтому важно строить eval на уровне финального ответа — и понимать, какие метрики действительно коррелируют с пользовательским опытом, а какие создают иллюзию прогресса.
Замыкание агентной петли
Ещё одна ключевая тема — как мы замкнули агентную петлю: то есть встроили оценку качества обратно в процесс оптимизации системы. Это позволяет не просто измерять метрики разово, а итеративно улучшать агента на основе автоматической обратной связи.
В конце покажу финальную картину метрик с замечаниями по каждой и поделюсь полезными мыслями, которые появились у нас во время этой работы — включая то, что мы бы сделали иначе, зная результат заранее.