llama.cpp Massives Prompt-Neuverarbeitung mit Coding-Agents: Debugging von KV-Cache und Kontextaustausch

Ein Entwickler auf r/LocalLLaMA hat ein ernstes Performance-Problem mit llama.cpp, wenn er über llama-swap langkontextige Coding-Agenten (opencode + pi.dev) ausführt. Selbst bei sehr ähnlichen Prompts (LCP-Ähnlichkeit oft >0,99) verwirft das System regelmäßig den KV-Cache und verarbeitet über 40k Token neu, was zu einer TTFT von mehreren Minuten führt.
Beobachtetes Verhalten
- Der Kontext wächst auf über 50k Token an.
- Nach mehreren normalen Wiederverwendungen (z.B.
prompt eval time = 473 ms / 19 tokens) fälltn_pastplötzlich auf ~4-5k. - llama.cpp verarbeitet dann den gesamten Prompt neu:
n_tokens = 4750 prompt eval time = 222411 ms / 44016 tokens. - Die Cache-Nutzung erreicht 4676 MiB und überschreitet das konfigurierte Limit (2500 MiB).
Aktuelle Konfiguration
llama-server --ctx-size 150000 --parallel 1 --ctx-checkpoints 32 --cache-ram 2500 --cache-reuse 256 -no-kvu --no-context-shiftVermutete Ursachen
- Cache-Invalidierung aufgrund Überschreitung des
--cache-ram-Limits – das Log zeigt 4676 MiB Nutzung vs. 2500 MiB Limit. - Schlechter KV-Wiederverwendungsmechanismus, wenn sich frühe Prompt-Token ändern (möglicherweise häufige Änderungen durch opencode).
- Unzureichende
--ctx-checkpointsoder--cache-reusefür die Kontextgröße von 150k.
Empfehlungen aus der Community
Der Thread hat bisher wenige Antworten, aber naheliegende erste Schritte sind, --cache-ram auf die typische Nutzung zu erhöhen (z.B. 5000+ MiB) oder --ctx-size zu reduzieren, um unter dem Cache-Limit zu bleiben. Außerdem sollte geprüft werden, ob opencode absichtlich Prompt-Präfixe ändert; wenn ja, könnte das Fixieren des System-Prompts oder die Verwendung eines festen Präfixes die Wiederverwendung verbessern.
Für Entwickler mit ähnlichen Setups: Teilt eure funktionierenden Konfigurationen im Quellthread.
📖 Lies die vollständige Quelle: r/LocalLLaMA
👀 Siehe auch

Wie ein Nicht-Entwickler einen wiederverwendbaren Claude-Workflow für das Content-Marketing von Gründern erstellte
Ein ehemaliger Redakteur einer Zeitschrift ohne Programmierkenntnisse teilt, wie er versehentlich einen wiederverwendbaren Claude-Workflow für das Content-Marketing als Solo-Gründer entwickelte: rohe Gedanken ausspucken, dann mit Claude in plattformspezifische Formate umstrukturieren.

OpenClaw auf einem Raspberry Pi Model B mit kostenlosen APIs ausführen
OpenClaw läuft stabil auf einem Raspberry Pi Model B mit kostenlosen API-Stufen, darunter Google Gemma 4 31B IT (~20 RPM, unbegrenzter Kontext) und Gemini Flash, wobei Firefox headless bei der Browserautomatierung Chromium übertrifft.

7 MCP Gateway Bugs: Session-Leaks, totes SSE und OAuth im Gateway-Modus
Ein Reddit-Beitrag beschreibt sieben reale MCP-Gateway-Bugs – Sitzungszustand, der zwischen Clients ausläuft, stille SSE-Trennungen, OAuth-Fehler im Gateway-Modus und mehr – mit Lösungen basierend auf langweiliger Infrastruktur, nicht auf besseren Prompts.
5 Claude Code Terminal-Befehle, die Sie vielleicht vermissen
Ein Senior-Entwickler teilt fünf versteckte Claude Code-Befehle für das Terminal: benutzerdefinierte Statusleiste, Shell-Befehle, Dateierwähnungen, Multi-Repo-Kontext und Nebengespräche.