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

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

Исправление расхода токенов Claude Code: отключение заголовка атрибуции для улучшения кэширования.
Советы

Исправление расхода токенов Claude Code: отключение заголовка атрибуции для улучшения кэширования.

Установка CLAUDE_CODE_ATTRIBUTION_HEADER=false в конфигурации вашей оболочки может повысить процент попаданий в кэш промптов Claude Code между сессиями с 48% до 99,98%, снижая затраты на обработку системных промптов в 7 раз за сессию.

OpenClawRadar
Claude Code Безголовый режим с флагом --print
Советы

Claude Code Безголовый режим с флагом --print

Claude Code может работать в автономном режиме с использованием флага --print, что позволяет передавать промпты для автоматического вывода без интерактивных сессий. Это обеспечивает интеграцию в CI/CD пайплайны, git-хуки и bash-скрипты.

OpenClawRadar
Клод Код требует конкретных запросов, а не расплывчатых инструкций.
Советы

Клод Код требует конкретных запросов, а не расплывчатых инструкций.

Разработчик сообщает, что Claude Code дает лучшие результаты с подробными промптами, а не с расплывчатыми инструкциями, ссылаясь на опыт работы с 4 миллиардами токенов за 5 месяцев.

OpenClawRadar
Прекратите сжигать токены Claude Code на чат-вопросы
Советы

Прекратите сжигать токены Claude Code на чат-вопросы

Один разработчик на r/ClaudeAI сэкономил еженедельный лимит токенов, направляя простые вопросы чата дешевым моделям вроде Haiku, оставив Claude Code для агентских задач, таких как редактирование нескольких файлов.

OpenClawRadar