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

6 Schleifentypen in produktiven KI-Agenten: Eine einwöchige Log-Analyse
Analyse von 670 Ereignissen aus 5 Produktionsagenten über eine Woche zeigt 6 Loop-Muster mit hohem Schweregrad, darunter Entscheidungsoszillation, Wiederholungsschleifen, Ping-Pong-Schleifen, Recall-Write-Schleifen, Reflexionsschleifen und Tool-Nichtdeterminismus.

Verwenden von Projektberichten zur Verwaltung des Speichers in großen OpenClaw-Projekten
Ein Entwickler beschreibt einen Prozess, bei dem nach jedem wichtigen Meilenstein ein separater OpenClaw-Worker gestartet wird, um die Codebasis zu analysieren und ein 'Projektnarrativ'-Dokument zu erstellen, das dabei hilft, defekte Pipelines, Redundanzen und fehlende Teile zu identifizieren, die der Haupt-Worker möglicherweise übersieht.

Code KI-Bots zum Kämpfen gegen Menschen in einem neuen Multiplayer-Spiel.
Ein neues Mehrspieler-Spiel ermöglicht es Spielern, KI-Bots zu programmieren, die gegen menschliche Spieler in Echtzeit antreten, und bietet eine einzigartige Kombination aus Programmier- und Spielherausforderungen.

OpenClaw API Budgetauslauf: Einstellungen, die sofort geändert werden müssen
Die standardmäßige Heartbeat-Funktion von OpenClaw kann API-Budgets durch die Überprüfung von Aufgaben alle 30 Minuten und das Laden vollständiger Kontextdateien, des Speichers und des Chat-Verlaufs jedes Mal belasten. Die Quelle empfiehlt, die aktiven Stunden zu ändern, günstigere Basismodelle zu verwenden, manuell nur bei Bedarf auf Premium-Modelle umzuschalten und /new zu verwenden, um Sitzungen zurückzusetzen.