RAG Agents LLM
Архитектура RAG-системы (общее)
- Зачем нужен Guardrails в агентной системе? Какие узлы должны быть помимо RAG и SQL-агента (UX, эскалация на оператора)?
- Как реализовать роутинг между узлами в мульти-агентной системе?
Парсинг и подготовка данных
- Какие ресурсы нужны для парсинга PDF через Docling? Каков обычный латенси для тысяч документов?
- Как организовать pipeline обновления документации по расписанию (Airflow, ночные джобы)?
Эмбеддинги и поиск
- Что такое dense-вектора и sparse-вектора, чем они отличаются?
- Какой алгоритм для sparse-векторов используется в Qdrant? Это BM25 или нет?
- Какую модель эмбеддинга выбрать (BGE-M3 vs альтернативы)? Сколько ресурсов CPU/RAM нужно для inference?
Дообучение эмбеддера
- Как формировать датасет для дообучения эмбеддера (запрос → релевантный чанк)?
- Как майнить hard negatives через несколько моделей-учителей?
- В какой пропорции hard negatives относительно позитивов? Нужны ли random negatives?
- Как генерировать синтетические данные через LLM? Какую модель использовать для генерации, какую для валидации?
- В каких случаях LoRA выигрывает у полного SFT при дообучении эмбеддера?
Метрики качества ретривера
- Какие метрики качества эмбеддера замеряют (NDCG, Recall@5)?
- Что такое NDCG? Как нормализуется? Какой у него диапазон?
- Что значит NDCG=0.3? Можно ли оперировать этим значением для понимания, насколько глубоко в выдаче находится релевантный документ?
- Почему именно Recall выбирают как метрику для ретривера?
- Когда лучше смотреть Precision вместо Recall?
Cross-Encoder и реранкинг
- Какие Cross-Encoder используют для реранкинга?
- Как объединять результаты dense + sparse поиска перед реранкингом (MRR, Reciprocal Rank Fusion)?
- Сколько времени отрабатывает Cross-Encoder на 50 чанках? Как ускорить?
- Когда выгоднее лёгкая LLM в качестве реранкера, а когда обученный BGE-reranker?
LLM в проде
- Сколько ресурсов GPU нужно для развертывания LLM на 14B параметров?
- Что такое vLLM и SGLang? В чём разница? Что такое Radix-кэш?
- Какие плюсы и минусы 4-bit квантования (AWQ) для inference больших LLM? Как оно влияет на качество и память?
- Когда есть смысл дообучать LLM-ку для генерации, а когда нет?
SQL-агент
- Как работает SQL-агент: chain-of-thought, инструменты, схема БД в контексте?
- Как валидировать SQL-запрос (через
EXPLAIN)?
- Как реализовать LLM-judge для оценки сгенерированного SQL? Какие критерии (синтаксис, оптимизированность, соответствие схеме)?
- Как реализовать human-in-the-loop парадигму перед исполнением SQL?
- Что такое rate-limiting в итеративной рефлексии агента?
Прототипирование и production
- Какие технологии используют для прототипирования RAG (LangChain, Chroma, ChainLit)?
- Как в FastAPI открыть Swagger? Что нужно прописать, чтобы он появился?
- В чём преимущество FastAPI перед Flask?
Code-review
- На какие 5 вещей смотришь при code-review? (type hints, edge cases, mutable default arguments, дублирование кода, изобретение колеса)
Нагрузочное тестирование
- Как проводить нагрузочное тестирование агентной системы? Что замерять?
- Что такое P95, P99 латентность? Как обосновать P95 = 1 минута для агента?