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

Reddit-Benutzer teilt Prompt-Struktur, um Code-Ausgabe-Drift von Claude bei komplexen Aufgaben zu reduzieren
Ein Reddit-Nutzer fand heraus, dass die Verwendung einer strukturierten Prompt-Anordnung für längere Claude Code-Aufgaben hilft, Output-Drift zu verhindern. Der Ansatz beinhaltet die Definition spezifischer Elemente wie Aufgabenumfang, benötigte Dateien, Erfolgskriterien und Vermeidungsparameter vor der Ausführung.

Multi-Agent-Orchestrierung in OpenClaw: Regeln zentralisieren, Sub-Agenten erzeugen
Ein OpenClaw-Benutzer beschreibt den Wechsel von duplizierten Workspace-Anweisungen zu einem einzigen Haupt-Agenten, der Unter-Agenten erzeugt und Architekturregeln (z. B. strukturierte Daten als .JSON speichern) in allen Agent-Workspaces durchsetzt.

Routing Agent Subtasks zu günstigeren Modellen senkte Kosten von $18 auf $4 bei gleicher Refaktorisierung
Ein Entwickler senkte die Kosten für Agentenläufe von 18 $ auf 4 $, indem er Routineaufgaben (Lint, Umbenennungen, Konfigurationsänderungen) an günstige Modelle wie DeepSeek V4 Pro und Tencent Hunyuan Hy3 weiterleitete und Opus 4.7 für komplexe Überlegungen reservierte.

Die Verwendung von KI zur Generierung von Projekt-Tickets vor der Programmierung reduziert Scope Drift.
Ein Entwickler stellte fest, dass das Erstellen detaillierter Projekt-Tickets mit Aufgaben, Unteraufgaben, Umfang und Abnahmekriterien durch KI, bevor Code geschrieben wird, Scope Creep und große Diffs erheblich reduzierte. Jeder KI-Agent erhält nur seine spezifische Unteraufgabe, nicht den gesamten Plan.