Retrieval-Augmented Thoughts (RAT, мысли, дополненные поиском) --- техника, которая встраивает retrieval в каждый шаг цепочки рассуждений. Обычный RAG ищет информацию один раз до генерации ответа, а RAT пересматривает и корректирует каждую промежуточную мысль с учётом найденных фактов.
В 2026 году RAT полезнее понимать не как “RAG, но побольше”, а как reasoning-orchestration pattern для длинных или fact-sensitive цепочек. Его цель не просто добавить документы в контекст, а не дать промежуточным шагам дрейфовать от источников по мере генерации.
| Параметр | CoT | RAG | CoT + RAG | RAT |
|---|---|---|---|---|
| Когда retrieval | Никогда | 1 раз до генерации | 1 раз до CoT | На каждом шаге |
| Что ревизируется | Ничего | Ничего | Ничего | Каждая мысль |
| Галлюцинации | Высокие | Средние | Средние | Низкие |
| Стоимость | Низкая | Средняя | Средняя | Высокая |
| Лучше для | Логика, математика | Простые факты | Факт + рассуждение | Multi-hop, сложные факты |
RAT показывает наибольший прирост на задачах, где:
Используй RAT для ответа на multi-hop вопрос: Вопрос: Какой язык программирования использовался для создания операционной системы, на которой работает поисковый движок Google? Мысль 1: Google использует поисковый движок собственной разработки. [Retrieval: 'поисковый движок Google технологии'] [Найдено: Google Search работает на инфраструктуре Google, включая GFS, MapReduce, Bigtable. Серверы работают под модифицированной версией Linux.] Мысль 1 (revised): Google Search работает на серверах под модифицированным Linux. Мысль 2: Linux написан на языке C. [Retrieval: 'язык программирования ядро Linux'] [Найдено: Ядро Linux написано преимущественно на C с ассемблерными вставками. С 2022 года поддерживается Rust для модулей ядра.] Мысль 2 (revised): Ядро Linux написано на C (с ассемблерными вставками), с 2022 года также поддерживается Rust. Итоговый ответ: ОС серверов Google --- модифицированный Linux. Ядро Linux написано на C. Таким образом, основной язык --- C.
RAT пошагово уточнил: (1) Google работает на Linux, а не на собственной ОС, (2) ядро написано на C, а не на C++ --- типичная галлюцинация CoT. Дополнительно RAT нашёл факт о поддержке Rust с 2022 года.
На практике RAT стоит между классическим RAG и агентным исследовательским workflow:
single-shot RAG ищет один раз и надеется, что этого контекста хватит на весь ответRAT пересобирает фактическую опору по ходу reasoningdeep research agents уже умеют планировать поиск, ветвить его и возвращаться назадПоэтому RAT — хороший промежуточный слой. Он особенно полезен, когда вам ещё не нужен полноценный агентный контур, но уже недостаточно одного retrieval-прохода в начале.
RAT обычно даёт лучший ROI в сценариях, где:
Типичные примеры: policy analysis, long-document QA, code generation по меняющейся документации, internal knowledge assistants и сложные research answers с несколькими источниками.
Техника быстро становится слишком дорогой, если:
Хорошее правило: если вы не можете чётко выделить проверяемые промежуточные мысли, RAT обычно не даст ожидаемого выигрыша. В таком случае лучше либо усилить обычный RAG, либо перейти к более явному planner-researcher workflow.
1. Чем RAT отличается от обычного RAG?
2. Когда RAT наиболее полезен?
3. Что делает Selective RAT для оптимизации?