llama.cpp Reprocesamiento Masivo de Prompts con Agentes de Codificación: Depuración de Caché KV e Intercambio de Contexto

Un desarrollador en r/LocalLLaMA se encuentra con un grave problema de rendimiento con llama.cpp al ejecutar agentes de codificación de contexto largo (opencode + pi.dev) a través de llama-swap. Incluso con prompts muy similares (similitud LCP a menudo >0,99), el sistema descarta periódicamente la caché KV y reprocesa más de 40k tokens, lo que provoca un TTFT de varios minutos.
Comportamiento observado
- El contexto crece hasta 50k+ tokens.
- Después de varios reúsos normales (por ejemplo,
prompt eval time = 473 ms / 19 tokens),n_pastcae repentinamente a ~4-5k. - llama.cpp entonces reprocesa el prompt completo:
n_tokens = 4750 prompt eval time = 222411 ms / 44016 tokens. - El uso de caché alcanza 4676 MiB, superando el límite configurado (2500 MiB).
Configuración actual
llama-server --ctx-size 150000 --parallel 1 --ctx-checkpoints 32 --cache-ram 2500 --cache-reuse 256 -no-kvu --no-context-shiftCausas sospechadas
- Invalidación de caché por desbordamiento del límite
--cache-ram– el registro muestra 4676 MiB usados frente al límite de 2500 MiB. - Mecanismo de reúso de KV defectuoso cuando los tokens iniciales del prompt cambian (posiblemente alteraciones frecuentes por opencode).
--ctx-checkpointso--cache-reuseinsuficientes para el tamaño de contexto de 150k.
Recomendaciones de la comunidad
El hilo tiene pocas respuestas hasta ahora, pero los primeros pasos obvios incluyen aumentar --cache-ram para igualar el uso típico (por ejemplo, 5000+ MiB), o reducir --ctx-size para mantenerse por debajo del límite de caché. También verificar si opencode está mutando intencionalmente los prefijos de prompt; de ser así, bloquear el prompt del sistema o usar un prefijo fijo podría mejorar el reúso.
Para desarrolladores que ejecuten configuraciones similares, compartan sus configuraciones funcionales en el hilo de origen.
📖 Leer la fuente completa: r/LocalLLaMA
👀 Ver también

11 consejos profundos de Claude de un usuario diario de 18 meses
Un desarrollador senior comparte 11 consejos no obvios sobre Claude tras 18 meses de uso diario, incluyendo Projects, Custom Styles, Memory, Sonnet 4.6 vs Opus 4.7, Haiku 4.5 para trabajo por lotes, subagentes de Claude Code y Artifacts llamando a la API.

Cómo un no programador creó un flujo de trabajo reutilizable de Claude para el marketing de contenido de fundadores
Un ex editor de revista sin experiencia en programación comparte cómo accidentalmente creó un flujo de trabajo repetible con Claude para el marketing de contenido de fundadores en solitario: volcar pensamientos en bruto y luego reestructurarlos con Claude en formatos específicos para cada plataforma.

Los Agentes de Código Claude No Leen Automáticamente la Documentación del Proyecto
Cuando Claude Code envía subagentes como Sonnet para escribir código, esos agentes solo ven lo que se incluye explícitamente en su instrucción y no leen automáticamente CLAUDE.md, MEMORY.md u otros archivos de contexto del proyecto a menos que se les indique específicamente que lo hagan.

Escribir archivos SOUL.md efectivos para agentes de programación de IA
Una publicación de Reddit en r/openclaw demuestra la diferencia entre instrucciones vagas y específicas en SOUL.md, mostrando que las indicaciones específicas producen un comportamiento más útil del agente de IA.