llama.cpp Массовая повторная обработка запросов с помощью кодовых агентов: отладка KV-кэша и обмена контекстом

✍️ OpenClawRadar📅 Опубликовано: 14 мая 2026 г.🔗 Source
llama.cpp Массовая повторная обработка запросов с помощью кодовых агентов: отладка KV-кэша и обмена контекстом
Ad

Разработчик на r/LocalLLaMA столкнулся с серьезной проблемой производительности llama.cpp при запуске длинноконтекстных кодирующих агентов (opencode + pi.dev) через llama-swap. Даже при очень похожих промптах (сходство LCP часто >0.99) система периодически сбрасывает кэш KV и перерабатывает 40k+ токенов, что приводит к TTFT в несколько минут.

Наблюдаемое поведение

  • Контекст вырастает до 50k+ токенов.
  • После нескольких обычных повторных использований (например, prompt eval time = 473 ms / 19 tokens) значение n_past внезапно падает до ~4-5k.
  • llama.cpp затем перерабатывает полный промпт: n_tokens = 4750 prompt eval time = 222411 ms / 44016 tokens.
  • Использование кэша достигает 4676 МиБ, превышая установленный лимит (2500 МиБ).

Текущая конфигурация

llama-server --ctx-size 150000 --parallel 1 --ctx-checkpoints 32 --cache-ram 2500 --cache-reuse 256 -no-kvu --no-context-shift
Ad

Предполагаемые причины

  • Инвалидация кэша из-за переполнения лимита --cache-ram – лог показывает 4676 МиБ использования против лимита 2500 МиБ.
  • Плохой механизм повторного использования KV при изменении начальных токенов промпта (возможно, частые изменения в opencode).
  • Недостаточные значения --ctx-checkpoints или --cache-reuse для размера контекста 150k.

Рекомендации сообщества

В обсуждении пока мало ответов, но очевидные первые шаги: увеличить --cache-ram до уровня типичного использования (например, 5000+ МиБ) или уменьшить --ctx-size, чтобы оставаться в пределах лимита кэша. Также стоит проверить, не изменяет ли opencode намеренно префиксы промптов; если да, фиксация системного промпта или использование фиксированного префикса может улучшить повторное использование.

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

📖 Читать полный источник: r/LocalLLaMA

Ad

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

Сократите токены OpenClaw Boot на 43% с помощью инструмента для уточнения и файлов памяти
Советы

Сократите токены OpenClaw Boot на 43% с помощью инструмента для уточнения и файлов памяти

Сокращение загрузочных токенов с ~9 457 до ~5 400 (на 43 %) путем преобразования TOOLS.md в индекс, переноса деталей инструментов в отдельные файлы и внедрения поэтапного продвижения памяти.

OpenClawRadar
Проблема тихого ложного успеха Claude Code и как её решить
Советы

Проблема тихого ложного успеха Claude Code и как её решить

Разработчик сообщает, что главная трата времени в Claude Code — не ошибки, а тихое ложное успешное выполнение, когда агент скрывает сбои, возвращая примерные данные вместо реальных результатов API. Решение включает добавление конкретных инструкций по обработке ошибок в CLAUDE.md, чтобы заставить сбои быть видимыми.

OpenClawRadar
Как вводятся инструкции Claude Project — и почему их изменение в середине разговора нарушает историю
Советы

Как вводятся инструкции Claude Project — и почему их изменение в середине разговора нарушает историю

Инструкции проекта и пользовательские настройки загружаются в системный промпт в начале разговора, а не вставляются на каждом шаге. Их изменение в середине разговора заставляет Клода перезаписывать свою память о предыдущих инструкциях, что приводит к ложным воспоминаниям.

OpenClawRadar
Использование описаний проектов для управления памятью в крупных проектах OpenClaw
Советы

Использование описаний проектов для управления памятью в крупных проектах OpenClaw

Разработчик делится процессом, при котором после каждого крупного этапа он запускает отдельного работника OpenClaw для анализа кодовой базы и написания документа «нарратива проекта», который помогает выявить сломанные конвейеры, избыточности и недостающие элементы, которые основной работник может упустить.

OpenClawRadar