Ctxpact: Прокси-компрессор контекста для локальных LLM

✍️ OpenClawRadar📅 Опубликовано: 13 апреля 2026 г.🔗 Source
Ctxpact: Прокси-компрессор контекста для локальных LLM
Ad

Ctxpact — это лёгкий совместимый с OpenAI прокси, который располагается между AI-агентами и локальными LLM, чтобы интеллектуально сжимать слишком большие входные данные до того, как они попадут в модели с ограниченным окном контекста. Он разработан для агентных рабочих процессов, таких как OpenClaw и Hermes, которые отправляют полезные данные объёмом 100k+ токенов в модели с окном контекста всего 16k, где усечение привело бы к потере критической информации.

Как это работает

Система использует трёхэтапный конвейер сжатия:

  • DCP (Динамическая обрезка контекста): Удаляет дублирующиеся вызовы инструментов, убирает перезаписанные записи файлов, обрезает трассировки стека ошибок. Нулевые вызовы LLM, чисто структурные.
  • Суммаризация: Удаляет старые реплики диалога, заменяя их сгенерированными LLM суммами. Сохраняет скользящее окно последних реплик нетронутым.
  • Извлечение: Когда входные данные всё ещё слишком велики (например, роман на 110k токенов), использует одну из 16 стратегий извлечения, чтобы получить наиболее релевантный контент в рамках бюджета токенов.

Стратегии извлечения

Этап извлечения реализует 16 стратегий, от:

  • 0 вызовов LLM: Сходство эмбеддингов (ChromaDB), заголовки разделов, эвристический поиск по ключевым словам (grep), сжатие LLMLingua
  • 1 вызов LLM: LLM генерирует поисковые запросы, взвешенное по IDF сопоставление на уровне слов собирает контекст
  • 2 вызова LLM (лучшая точность): readagent — слияние эмбеддингов + BM25 + RRF, двойное расширение терминов LLM, извлечение с учётом позиции
  • N вызовов LLM: Многошаговые циклы вызова инструментов, генерация кода DSPy, чанкирование map-reduce

Результаты бенчмарков

Протестировано 12 стратегий на 2 моделях (LFM2-8B-A1B и Qwen3.5-9B) на 331 модели GGUF в общей сложности:

  • Тест "Франкенштейн": 110k токенов сжато до 12k токенов, 8 вопросов на понимание прочитанного; 8/8 правильных, детерминировано в 3 последовательных запусках, 0% вариативности
  • LoCoMo-MC10: Многосессионный диалог с вопросами-ответами, 10 вариантов, случайный базовый уровень — 10%; readagent + Qwen3.5-9B набирает 15/20 (75%)
  • Совокупная производительность: readagent + Qwen3.5-9B достигает 87.5%, rlm + Qwen3.5-9B достигает 80.0%
Ad

Ключевые выводы

  • Выбор модели важнее выбора стратегии: Переход с LFM2 на Qwen3.5 улучшил каждую отдельную стратегию на +25-50 процентных пунктов. Медианная стратегия перешла с 5/8 на 7/8 только за счёт смены модели.
  • NR-MMLU предсказывает производительность инженерии контекста: 47% NR-MMLU у LFM2 против 65% у Qwen3.5 напрямую соответствует различиям в точности.
  • 2 вызова LLM для извлечения — оптимальная точка: Переход от 0 к 1 вызову даёт значительный прирост; от 1 к 2 вызовам достигается пиковая точность. За пределами 2 вызовов точность падает.
  • readagent и rlm — прорывные стратегии: Обе достигают 8/8 на "Франкенштейне". Единственные стратегии, решающие вопрос Q4 (вопрос об Ирландии). readagent лидирует в кросс-доменных задачах с 75% на LoCoMo против 60% у rlm.

Технические детали

  • Архитектура: Автономный прокси (рассматривались плагин LiteLLM и sidecar-процесс), потому что прорывные стратегии требуют вызовов LLM в середине конвейера
  • Реализация: ~11k строк Python, сервер FastAPI, 3 эндпоинта, совместимость с OpenAI, без тяжёлых фреймворков
  • Совместимость: Подключается перед любым бэкендом llama-server / Ollama / vLLM. Без API-ключей, без облака, всё работает на вашем оборудовании

Для разработчиков, запускающих локальные LLM с агентными рабочими процессами, превышающими окна контекста, Ctxpact предоставляет практическое решение для сохранения целостности информации, оставаясь в рамках аппаратных ограничений.

📖 Read the full source: r/LocalLLaMA

Ad

👀 Смотрите также

ClawCut: Python-прокси, который делает небольшие локальные LLM пригодными для использования с OpenClaw
Инструменты

ClawCut: Python-прокси, который делает небольшие локальные LLM пригодными для использования с OpenClaw

ClawCut — это прокси-сервер на Python Flask, который решает распространённые проблемы при подключении локальных моделей 7B/14B к OpenClaw, включая отравление контекста, бесконечные циклы и сбои в выводе cron-задач. Он реализует динамическую амнезию во время вызовов инструментов и автоматическую доставку для запланированных задач.

OpenClawRadar
Бенчмаркинг Nemotron 3 Super 120B с контекстом в 1 миллион токенов на M1 Ultra.
Инструменты

Бенчмаркинг Nemotron 3 Super 120B с контекстом в 1 миллион токенов на M1 Ultra.

Пользователь протестировал Nemotron 3 Super 120B с квантованной моделью Q4_K_M, используя llama.cpp на M1 Ultra, достигнув контекстного окна в 1 миллион токенов, которое потребовало примерно 90 ГБ видеопамяти. Бенчмарки производительности показывают скорость генерации токенов от 255 т/с при обработке промпта в 512 токенов до 22,37 т/с при контексте в 100 000 токенов.

OpenClawRadar
Оркестратор рабочих процессов с интеграцией ИИ-интерфейса командной строки для задач системного администратора.
Инструменты

Оркестратор рабочих процессов с интеграцией ИИ-интерфейса командной строки для задач системного администратора.

Разработчик создал файловый оркестратор рабочих процессов под названием 'workflow', который интегрируется с Claude Code, Codex CLI и Gemini CLI. Он генерирует, обновляет, исправляет и улучшает YAML-воркфлоу из описаний на естественном языке для задач системного администратора.

OpenClawRadar
Qwen3.6-27B как локальный слой рассуждений: результаты двухнедельного тестирования мультиагентной системы
Инструменты

Qwen3.6-27B как локальный слой рассуждений: результаты двухнедельного тестирования мультиагентной системы

Разработчик заменил Claude на локальную Qwen3.6-27B в мультиагентном оркестраторе на 2 недели в 47 рабочих процессах. Результаты: сильные рассуждения, 12% ошибок формата вызова инструментов и лимит контекста в 12k токенов.

OpenClawRadar