Merlin: Локальное первое дедупликация контекста LLM – измерение до 71% перекрытия чанков, бесплатно и с открытым ядром

Автор выпустил Merlin — локальный инструмент дедупликации для контекстных окон LLM. Тестирование на 22 миллионах пассажей из реальных сессий агентов и пайплайнов RAG показало 22% дублированного контента в типичном контексте агента и до 71% в запросах с интенсивным RAG. Для локальных моделей с контекстом 8K/16K/32K удаление избыточности означает, что больше полезных токенов помещается до усечения.
Три режима интеграции
1. Режим HTTP-прокси
Лучше всего подходит для Ollama, vLLM, SGLang, OpenWebUI, llama.cpp server или чего-либо с совместимым с OpenAI эндпоинтом. Запустите прокси локально и укажите клиенту http://localhost:8787/v1 вместо вашего сервера моделей. Дедупликация на уровне чанков происходит в исходящем запросе до отправки модели.
По умолчанию включен режим с учетом кэша: префикс беседы остается нетронутым (так что prefix-caching vLLM/SGLang по-прежнему работает), и дедуплицируется только последнее сообщение пользователя. Есть опциональный агрессивный режим, если частота попаданий в кэш уже низкая.
2. MCP-сервер
Для Claude Desktop, Claude Code, OpenClaw, Cursor. Предоставляет инструменты:
merlin_dedupe— дедупликация текстаmerlin_dedupe_file— дедупликация содержимого файлаmerlin_savings_summary— отображение статистикиmerlin_status— проверка сервиса
Эти инструменты не вызываются автоматически; необходимо дать модели инструкцию вызывать их для больших вставок.
3. Автономный CLI
Для конвейеров оболочки и предварительной обработки. Однопоточный, бинарник ~250 КБ, без зависимостей времени выполнения, без сетевых вызовов. Принимает входной файл в аргументе и записывает дедуплицированные строки через --output-dedup=path.txt.
Установка (одна команда на конфигурацию)
curl -LO https://github.com/corbenicai/merlin-community/releases/latest/download/merlin-community.zip
unzip merlin-community.zip && cd merlin-community
python shared/install_helpers.py <integration> enable
Где <integration> может быть claude_desktop, claude_code, openclaw, cursor или proxy.
Измерения и компромиссы
- Статьи: arXiv:2605.09611 (архитектура), arXiv:2605.09990 (измерение на 22M пассажах), Zenodo: 10.5281/zenodo.20090991
- Лимиты сообщества: 50 МБ за запуск, 200 МБ в день, 2 ГБ в месяц. Четко отклоняет слишком большую работу (проверено на файле 51 МБ). Для любительского использования подходит.
- Открытое ядро: Публичный репозиторий — это community edition; отдельный закрытый движок Pro существует для высокопроизводительных серверов.
- Не исправляет фрагментацию сессии, когда весь разговор воспроизводится каждый раз — это проблема оркестровки, выходящая за рамки данного инструмента.
- Доступность бинарников: Windows x64 в v0.2.1. Linux + macOS CI пайплайн в разработке.
Для кого это
Для пользователей локальных LLM, запускающих агентов или RAG с Ollama, vLLM, SGLang, llama.cpp или любым совместимым с OpenAI бэкендом, которые хотят уместить больше реальных токенов в ограниченные контекстные окна.
📖 Читать полный источник: r/LocalLLaMA
👀 Смотрите также

Routerly: Самостоятельно размещаемый шлюз для LLM с политиками маршрутизации в реальном времени и контролем бюджета
Routerly — это бесплатный, открытый, саморазмещаемый шлюз для LLM, который обеспечивает выбор модели во время выполнения на основе политик маршрутизации, таких как самая дешёвая, самая быстрая или самая способная, а также лимиты бюджета на уровне проекта с отслеживанием затрат на токен. Он совместим с OpenAI для простой интеграции с такими инструментами, как Cursor, LangChain и Open WebUI.

CADAM: Текст-в-CAD с открытым исходным кодом, параметрическими ползунками и рендерингом на WebAssembly
CADAM создает параметрические 3D-модели по тексту или изображениям, выводит код OpenSCAD с интерактивными ползунками и полностью работает в браузере через WebAssembly.

Конвейер Humanizer с открытым исходным кодом: шестишаговый Markdown-файл для постобработки AI-текста
Один Markdown-файл реализует шестиэтапный пайплайн для обнаружения и переписывания текстов, сгенерированных ИИ, с учетом канала, калибровкой голоса, шлюзами строгости и самопроверкой.

Запрос функции для Claude Desktop: Хук запуска сессии для автоматической инициализации
Разработчик, создающий системы постоянного контекста для Claude Desktop, выявляет проблему: поле "Пользовательские настройки" вводит инструкции только при отправке первого сообщения пользователем, что требует ручного запуска для инициализации. Он предлагает добавить поле "При запуске сессии", которое будет выполняться автоматически при открытии нового диалога.