Посмотри ещё на T-Search (https://huggingface.co/t-tech/T-Search) - кажется, его можно довольно безболезненно прикрутить как отдельный слой поиска по уже собранному корпусу. Особенно интересно: multi-step поиск, контроль покрытия вопроса и сохранение только полезных evidence chunks между итерациями. Я бы попробовал добавить его сначала опционально рядом с текущим retriever и просто A/B проверить, даёт ли он лучше recall, coverage и поиск противоречий без усложнения всей архитектуры.