diff --git a/docs/plan-local-llm-router.md b/docs/plan-local-llm-router.md index e3b83d3..6da0702 100644 --- a/docs/plan-local-llm-router.md +++ b/docs/plan-local-llm-router.md @@ -85,16 +85,29 @@ messages + tools → Qwen antwortet mit `tool_calls` → Brain fuehrt via `_dispatch_tool` aus → Ergebnis zurueck → finale Antwort. Tool-Loop im Brain, Ziel = lokales LLM statt Claude-Proxy. -**Kritische Regel: klein halten.** Der Wert des lokalen Tiers ist Speed; das -volle Arsenal (~49 K Zeichen Schemas) wuerde den Prompt sprengen und das kleine -Modell ueberfordern. Daher nur ein **Start-Satz haeufiger, risikoarmer Tools**: -- Lokal: Wetter, Uhrzeit, `memory_search` (lesen), `trigger_timer`, - Spotify-Steuerung (Nicht-Fast-Path-Saetze), Licht/Smart-Home. -- Bleibt bei Claude: `skill_create/update/delete`, `oauth_*`, `project_*`, - `flux_generate`, `memory_save` (schreiben) — erst spaeter evtl. lokal. +**Awareness ≠ Authority.** Das lokale Modell soll WISSEN, was ARIA alles kann +(damit es gezielt eskaliert statt zu halluzinieren), aber nicht alles ausfuehren. -Escalation-Netz bleibt: braucht ein Turn ein Tool, das lokal nicht dabei ist → -`<>` → Claude mit vollem Arsenal. +**Harte Grenze = Kontext/VRAM, nicht Misstrauen.** Das volle Tool-Schema sind +~15-20 K Tokens. Qwens Kontext steht auf 8 K (`LLM_CTX=8192`) — es passt nicht +rein. Hochdrehen auf 32 K kostet mehrere GB KV-Cache extra → OOM auf der +geteilten 12-GB-3060 (Whisper + F5-TTS liegen mit drauf). Claude im RZ hat +200 K-1 M Kontext und ist zuverlaessig → kann sich das ganze Arsenal leisten; +das lokale 8B auf Heim-Hardware nicht. Andere Hardware-Klasse, anderes Budget. + +**Design (gibt „im Bilde" ohne VRAM zu sprengen):** +- **Ausfuehrbar lokal:** kleiner, risikoarmer Start-Satz — Wetter, Uhrzeit, + `memory_search` (lesen), `trigger_timer`, Spotify-Steuerung, Licht/Smart-Home. +- **Awareness-Liste (billig, ~paar hundert Tokens im System-Prompt):** kurze + Aufzaehlung des Rests — „ARIA kann ausserdem: Skills bauen, OAuth, Projekte, + Bilder, ins Gedaechtnis schreiben — dafuer `<>`." Kein volles Schema. +- **Bleibt bei Claude (Authority):** `skill_create/update/delete`, `oauth_*`, + `project_*`, `flux_generate`, `memory_save`. + +Escalation-Netz bleibt: braucht ein Turn ein Tool, das lokal nicht ausfuehrbar +ist → `<>` → Claude mit vollem Arsenal. Der „Nur lokales LLM"-Haken +dient dazu, spaeter datengetrieben zu messen, ob der ausfuehrbare Satz erweitert +werden kann. Implementierung (B1): Adapter reicht `tools` an llama.cpp + gibt `tool_calls` zurueck; Bridge schleust beides durch (llm_request/llm_response); Brain-Tool-Loop