Когда RAG становится дороже, чем ответ
Знакомо? Загружаете 50-страничный PDF в контекст агента, чтобы найти один абзац о сроках оплаты. Классический RAG-подход отправляет весь документ через эмбеддинги, потом ищет релевантные фрагменты, а агент все равно получает 3-4 страницы текста. Итог: 15 тысяч токенов на входе, 2 тысячи на выходе, счет от OpenAI или Anthropic растет быстрее, чем ваше терпение.
mq — это не очередная библиотека для RAG. Это инструмент, который превращает документы в структурированные данные еще до того, как они попадут к агенту. Представьте jq, но для PDF, DOCX, HTML и JSON. Вместо отправки всей документации по API вы отправляете только нужные поля.
Как это работает? Проще, чем кажется
Основная идея mq — декларативный подход. Вы описываете, что нужно извлечь из документа, а инструмент делает всю грязную работу. Никаких промптов для извлечения сущностей, никаких кастомных парсеров под каждый формат файла.
1 Установка и базовый пример
# Установка через pip (актуально на 01.02.2026)
pip install mq-query
Допустим, у вас есть контракт в PDF. Вместо того чтобы загружать все 30 страниц в контекстное окно агента, вы делаете так:
# Извлекаем только ключевые поля из контракта
mq contract.pdf 'select(.type == "contract") | {parties: .parties, effective_date: .dates.effective, termination_clause: .sections.termination}'
Результат — чистый JSON с тремя полями. Вместо 15 тысяч токенов — 300. Экономия 98% на этом этапе. Звучит как магия, но под капотом — комбинация OCR, парсинга структуры и умных эвристик.
Важный нюанс: mq не заменяет полнотекстовый поиск. Если вам нужен семантический поиск по неструктурированному тексту, RAG-пайплайн все еще нужен. Но для извлечения конкретных данных — mq выигрывает по скорости и стоимости.
Почему 83%? Реальные цифры
Создатели mq провели бенчмарки на наборе из 1000 документов разного типа. Результаты на февраль 2026:
| Тип документа | Средний размер (токены) | После mq (токены) | Экономия |
|---|---|---|---|
| PDF-контракты | 12,500 | 850 | 93% |
| HTML-страницы | 8,200 | 1,100 | 87% |
| JSON-API ответы | 4,500 | 750 | 83% |
| DOCX-отчеты | 15,800 | 2,300 | 85% |
Среднее значение — 83%. Но это только половина истории. Экономия токенов на входе — это хорошо. Но что с качеством ответов агентов?
Парадокс: меньше данных — лучше ответы
Кажется контр-интуитивным. Как удаление 83% контента может улучшить качество? Ответ — в шуме.
Когда агент получает полный документ, он тратит токены (и ваши деньги) на:
- Анализ нерелевантных разделов
- Попытки связать разрозненные части
- Фильтрацию boilerplate-текста (юридические формулировки, шапки, подвалы)
mq убирает этот шум заранее. Агент получает только сигнал. В тестах с Gemini 3 Flash точность ответов на вопросы по контрактам выросла с 78% до 92%. Потому что модель не отвлекалась на 15 страниц юридического текста, а фокусировалась на конкретных полях.
2 Интеграция с агентными workflow
Где mq сияет ярче всего? В мультиагентных системах. Представьте цепочку:
- Агент-сборщик загружает документы
- mq извлекает структурированные данные
- Агент-аналитик работает только с чистыми данными
- Агент-отчетчик генерирует вывод
Каждый агент получает ровно то, что нужно. Никаких перекрестных помех. Как в кейсе Suzano, где оптимизация workflow дала 40% экономии времени.
# Пример интеграции mq с автономным агентом
from mq import QueryEngine
import asyncio
async def process_contract(agent, contract_path):
# Вместо загрузки всего файла в контекст
query = "select(.sections.payment_terms) | {due_days: .terms.due_days, penalty: .terms.late_penalty}"
# mq извлекает только условия оплаты
payment_terms = await QueryEngine().execute(contract_path, query)
# Агент получает 200 токенов вместо 12000
response = await agent.ask(f"Проанализируй условия оплаты: {payment_terms}")
return response
Чем mq не является (и почему это важно)
Популярное заблуждение: mq заменяет RAG. Нет. Это разные инструменты для разных задач.
| Задача | Лучший инструмент | Почему |
|---|---|---|
| Извлечение конкретных полей из документов | mq | Декларативный синтаксис, экономия токенов до 95% |
| Семантический поиск по неструктурированному тексту | RAG | Понимание смысла, а не структуры |
| Обработка потоковых данных | Агентные ETL | Реальное время, инкрементальная обработка |
| Скрапинг динамических сайтов | AgentCrawl | JavaScript-рендеринг, обход анти-бот систем |
mq — это препроцессор. Он готовит данные для агентов, как шеф-повар режет овощи перед приготовлением. RAG — это уже процесс готовки.
Подводные камни (они есть всегда)
Не все так радужно. mq v2.1 (актуальная версия на февраль 2026) имеет ограничения:
- Сканированные PDF требуют качественного OCR. Если документ криво отсканирован — результат будет соответствующий
- Сложные таблицы с объединенными ячейками могут парситься некорректно
- Кастомные форматы документов (типа инвойсов из старых SAP-систем) требуют кастомизации парсеров
Но главная проблема — ментальный сдвиг. Разработчики привыкли бросать документы в RAG и надеяться на лучшее. mq требует думать заранее: «Что именно мне нужно из этого документа?»
Совет от практика: начните с простых запросов. Вместо "дай мне все о контракте" спросите "дай мне стороны контракта и дату подписания". Специфичность — ваш друг в экономии токенов.
Кому нужен mq прямо сейчас?
Если вы делаете что-то из этого списка — установите mq сегодня:
- Обрабатываете более 100 документов в день через AI-агентов
- Платите больше $500/месяц за токены моделей
- Используете сжатие вывода инструментов и хотите сжать еще и вход
- Строите цепочки агентов, где каждый работает с частью документа
- Устали ждать, пока RAG найдет нужный фрагмент в 200-страничном отчете
Особенно выгодно для юридических и финансовых компаний. Контракты, отчеты, инвойсы — идеальные кандидаты для структурированного извлечения.
Что дальше? Будущее query-документов
mq — не конечная точка. Это начало движения к более умной предобработке документов. На горизонте 2026-2027:
- Автоматическое определение схемы — инструмент сам поймет, какие поля можно извлечь
- Интеграция с векторными БД — гибридный подход: сначала структура через mq, потом семантика через RAG
- ML-модели для распознавания типов документов — инструмент определит, что перед ним: контракт, счет или отчет
Но самый интересный тренд — снижение латентности агентных систем. Когда каждый агент ждет 2 секунды на обработку документа, цепочка из 5 агентов дает 10 секунд ожидания. mq сокращает это время до 0.5 секунд на документ.
Итог: если ваш AI-агент читает документы как человек — от начала до конца — вы платите за воздух. mq учит его читать как юриста — сразу переходить к нужным пунктам. Разница в стоимости — 83%. Разница во времени — 4x. Разница в качестве ответов — 15% в пользу mq.
Попробуйте на одном документе. Посчитайте сэкономленные токены. Умножьте на месячный объем. Цифра удивит. Или напугает — сколько вы платили за ненужный текст.