AWS представила паттерн query-aware компрессии для RAG-приложений на Amazon Bedrock, который позволяет сократить количество входных токенов, передаваемых основной модели, до 80% без потери качества ответов. Решение описано в блоге AWS Machine Learning Blog и доступно для реализации через AWS Lambda.
Retrieval Augmented Generation (RAG) — популярный подход к построению ИИ-приложений, при котором модель получает релевантные фрагменты из базы знаний для генерации ответа. Однако на каждый запрос модель получает несколько тысяч токенов контекста, что при масштабировании приводит к значительным затратам. Query-aware компрессия решает эту проблему, добавляя промежуточный шаг: после получения top-k фрагментов (обычно 5–20) меньшая и более дешевая модель, например Claude Haiku, анализирует их вместе с запросом и оставляет только релевантные части. Затем основная модель, например Claude Sonnet, получает сжатый контекст и генерирует ответ.
| Компонент | Роль |
|---|---|
| Ретривер | Возвращает top-k фрагментов из векторного индекса |
| Компрессионная модель (Claude Haiku) | Фильтрует фрагменты, оставляя релевантные части |
| Основная модель (Claude Sonnet) | Генерирует ответ на основе сжатого контекста |
Архитектура решения проста: приложение отправляет запрос в ретривер (например, Amazon Bedrock Knowledge Bases), который возвращает top-k фрагментов. Далее AWS Lambda функция вызывает Claude Haiku через Converse API, получает сжатый контекст и передает его в Claude Sonnet для финального ответа. Единственное добавленное звено — компрессионный вызов, который стоит значительно дешевле, чем обработка полного контекста основной моделью. По оценкам AWS, сокращение входных токенов может достигать 80%, что напрямую снижает затраты.
Архитектура использует каскад моделей: Claude Haiku сжимает контекст, Claude Sonnet генерирует ответ, что снижает стоимость и уменьшает галлюцинации.

Помимо экономии, компрессия уменьшает поверхность для галлюцинаций, так как модель получает только релевантный контекст. Паттерн совместим с существующими возможностями Amazon Bedrock, такими как prompt caching, Intelligent Prompt Routing и Rerank API, что позволяет комбинировать их для дополнительной экономии. Однако стоит учитывать компромисс с задержкой: компрессионный вызов добавляет около 1–2 секунд к времени ответа, что может быть критично для приложений реального времени.
AWS приводит пример реализации на Lambda и инструкции по оценке качества ответов, включая сравнение с базовым RAG-пайплайном. Паттерн особенно полезен для технической документации и юридических RAG-нагрузок, где объем контекста велик. Это не единственный способ оптимизации RAG: существуют методы сжатия контекста, такие как LLMLingua, и подходы с использованием reranker'ов, но query-aware компрессия выделяется простотой интеграции и совместимостью с управляемыми сервисами AWS.



