perf(router): lokales Fenster auf letzte 8 Turns cappen (Speed bei langer History)
Gemessen: lokaler Call mit 12-Turn-Fenster ~2,6s statt ~0,8s. Im Hauptchat (bis 50 Turns) wuerde volles Fenster das Prefill aufblaehen und den Speed-Vorteil auffressen. Lokales Tier ist fuer kurze Plauder-Turns — letzte 8 Turns reichen. B1a end-to-end verifiziert: plaudern→lokal (~0,8s warm), Tool/hart→Claude, localOnly erzwingt lokal; Config live gelesen, Default aus. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -1062,6 +1062,8 @@ class Agent:
|
|||||||
# /shared/config/local_llm.json (Default aus → alles Claude wie bisher).
|
# /shared/config/local_llm.json (Default aus → alles Claude wie bisher).
|
||||||
# Rueckgabe: fertige Antwort (str) wenn lokal erledigt, sonst None → Claude.
|
# Rueckgabe: fertige Antwort (str) wenn lokal erledigt, sonst None → Claude.
|
||||||
|
|
||||||
|
_LOCAL_WINDOW_TURNS = 8 # nur die letzten N Turns ans lokale Modell (Speed)
|
||||||
|
|
||||||
def _try_local_fast_lane(self, user_message: str,
|
def _try_local_fast_lane(self, user_message: str,
|
||||||
active_project_id: str) -> Optional[str]:
|
active_project_id: str) -> Optional[str]:
|
||||||
cfg = router_mod.load_config()
|
cfg = router_mod.load_config()
|
||||||
@@ -1069,7 +1071,10 @@ class Agent:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
sys_prompt = router_mod.build_local_system_prompt(IDENTITY_ANCHOR)
|
sys_prompt = router_mod.build_local_system_prompt(IDENTITY_ANCHOR)
|
||||||
window = self.conversation.window(project_id=active_project_id)
|
# Nur die letzten paar Turns ans lokale Modell — es ist fuer kurze
|
||||||
|
# Plauder-Turns da. Volles Fenster (bis 50) wuerde das Prefill aufblaehen
|
||||||
|
# und den Speed-Vorteil auffressen (gemessen: 12 Turns → ~2,6s statt ~0,8s).
|
||||||
|
window = self.conversation.window(project_id=active_project_id)[-self._LOCAL_WINDOW_TURNS:]
|
||||||
messages = [{"role": "system", "content": sys_prompt}]
|
messages = [{"role": "system", "content": sys_prompt}]
|
||||||
messages += [{"role": t.role, "content": t.content} for t in window]
|
messages += [{"role": t.role, "content": t.content} for t in window]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user