Skip to content

Lokale KI

MadGapun edited this page Jun 12, 2026 · 4 revisions

Lokale KI & KI-Steuerung

PBP arbeitet mit zwei AI-Schichten: einer lokalen AI (Ollama auf deinem Rechner, kostenlos) und Claude Desktop (Anthropic-API, Token-basiert). Diese Seite erklaert wie sie zusammenspielen und wie du steuerst, was wo passiert.

Die zwei Schichten

Lokale AI (Ollama)

  • Wo: deinem eigenen Rechner, keine Cloud
  • Wofuer: Routine-Klassifikation, Skills extrahieren, schnelle Vorsortierung
  • Kostenlos und offline-faehig
  • Modell: waehlbar (kleinere = schneller, groessere = praeziser)
  • Persoenlichkeit: Elwosa — britisch ironische Sidebar-Begleitung (siehe Elwosa)

Claude Desktop

  • Wo: Anthropic-API ueber Claude Desktop
  • Wofuer: komplexe Aufgaben — Anschreiben generieren, Interview- Coaching, Profil-Ersterfassung, Stellen-Analyse
  • Token-Verbrauch — schnell teurer bei Bulk-Operationen
  • Granular abschaltbar (siehe unten)

Granulare KI-Steuerung (#425, seit beta.56)

Settings → Lokale KI → Sektion „KI-Unterstuetzung (Claude)":

Master-Schalter

Wenn aus, blockt PBP alle Claude-getriebenen Operationen mit einem freundlichen Hinweis. Manuelle Tools (Profil pflegen, Bewerbungen tracken, Standard-CV exportieren) und der Dashboard-Button „Jetzt suchen" bleiben immer nutzbar — auch bei Master=False. Damit wird PBP nie ganz nutzlos.

Sieben Feature-Toggles

Toggle Was es kontrolliert
Jobsuche via Claude jobsuche_starten ueber Claude. Dashboard-Button bleibt unabhaengig.
Dokumentenanalyse Profil aus Lebenslauf-Uploads extrahieren
Stellenanalyse / Fit-Bewertung fit_analyse, skill_gap_analyse, Score-Refinement
Bewerbungs-Erstellung Angepasster CV, Fachprofil, Anschreiben generieren
Coaching Interview-Sim, Gehaltsverhandlung, Ablehnungs-Analyse
Profil-Ersterfassung Gefuehrtes Interview
KI-Hinweise Dashboard-Recommendations die auf Claude verweisen

Default: alles aktiv.

MCP-Tools fuer Claude

Du kannst Toggles auch im Chat schalten:

„Schalte Coaching ab." „Was ist gerade an KI aktiv?" „Master-Switch aus."

Tools: ki_features_lesen, ki_features_setzen.

Lokale-AI-Section in den Settings

Direkt darunter folgt die klassische Verwaltung der lokalen AI:

  • Modell-Auswahl mit Pull-Buttons fuer empfohlene Modelle
  • Health-Check — Modell installiert? Ollama erreichbar?
  • Aktiviert / Pausiert / Off als drei Zustaende
  • Routing-Tabelle pro LLM-Task einstellbar (lokal / Claude / manuell)
  • Elwosa-Konfiguration (Frequenz-Slider, Tonfall, Trigger-Klassen)
  • „Ollama starten"-Button (seit beta.60 / #637) — erscheint wenn Ollama gerade nicht erreichbar ist (z.B. nach Taskmanager-Stop oder Reboot). Klick spawnt ollama serve als losgeloesten Subprocess und pollt 30s ob es greift. Bei nicht installiertem Ollama-Binary kommt eine klare Fehlermeldung mit Download-Link.

Ollama bleibt warm — Cold-Start vermeiden (seit beta.62 / #638)

Ollama entlaedt das Modell standardmaessig nach 5 Min Inaktivitaet aus dem RAM. Der erste Aufruf danach kostet 50-60s (Cold-Load) — was bei Bulk-Tools wie stellen_auto_aussortieren in MCP-Timeouts geht.

PBP wirkt dem mit drei Layern entgegen:

  1. keep_alive=60m in jedem /api/generate-Call → Modell bleibt 60 Min im RAM nach jedem Aufruf
  2. Background-Warmup-Loop im MCP-Server-Prozess: alle 4 Min ein Dummy-Ping mit num_predict=1, damit das Modell quasi nie kalt wird. Greift nur wenn user_state=active.
  3. Pre-Warmup vor Bulk-Operationen wie stellen_auto_aussortieren — falls das Modell wider Erwarten kalt ist, zahlt der User die 50-60s einmal hier statt MCP-Timeout zu riskieren.

Manuell triggerbar via POST /api/llm/warmup oder im Dashboard ueber den "Status neu pruefen"-Workflow.

Ollama als Hintergrund-KI (seit beta.63 / #638 Stufe 1+3)

PBP nutzt Ollama nicht nur als Tool wenn du es ansprichst — es laeuft automatisch mit:

Periodisches Lernen: Pattern-Analyse und Doku-Lernen laufen seit beta.94 (#677) ueber den Automatik-Scheduler — Intervall einstellbar unter Tab-Einstellungen.

Zeitkontext: Seit beta.96 bekommt jeder lokale LLM-Aufruf das aktuelle Datum mitgeliefert — Zeitangaben wie „seit 2019" werden korrekt gegen das echte Jahr gerechnet (#679-Folge).

Transparenz: Was wurde aussortiert, was wurde gelernt (beta.104, #689 Teil 1)

In Einstellungen → Lokale KI gibt es zwei aufklappbare Bereiche:

  • „Was wurde aussortiert?" — listet jede Auto-Aussortierung mit Titel, Firma und der KI-Begruendung. Pro Stelle ein Zurueckholen-Button; jede Korrektur fliesst als Few-Shot-Beispiel ins Lernen zurueck.
  • „Lernprotokoll" — zeigt dauerhaft, was die lokale KI aus deinem Verhalten gelernt hat (learning_insights). Loeschen einzelner Erkenntnisse + Komplett-Reset folgen (#689 Teil 2).

Endpoint fuer eigene Auswertungen: GET /api/local-ai/auto-dismissed.

Auto-Aussortierung nach jeder Jobsuche

Nach jeder erfolgreich abgeschlossenen Jobsuche bewertet Ollama die neu gefundenen Stellen automatisch und sortiert die offensichtlich unpassenden aus. Bedingungen:

  • Ollama erreichbar + user_state=active
  • Setting auto_dismiss_after_search=true (Default ON)
  • Max 30 Stellen pro Auto-Run (Schutz vor langen RAM-Blocks)

Was du merkst: "Jobsuche druecken → 30 Stellen rein → 10 davon sind nach 2 Min schon weg, mit Begruendung."

Auto-Aussortierungen sind in der DB mit Praefix auto: getaggt — so unterscheidbar von manuellen Entscheidungen.

Few-Shot-Lernschleife aus deinen Bewertungen

Jedes Mal wenn du eine Stelle manuell aussortierst (stelle_bewerten('passt_nicht', grund=...)), wird das ein Trainings-Beispiel. Beim naechsten LLM-Bewertungslauf sieht das Modell die letzten 5 Beispiele direkt im Prompt:

BEISPIELE — diese Stellen hat der Bewerber zuletzt selbst abgelehnt:
  - 'Junior Frontend Developer' bei 'Startup XY' → PASST_NICHT
    (Grund: falsches_seniority_level)
  - 'Sales Manager' bei 'Big Corp' → PASST_NICHT
    (Grund: falsches_fachgebiet)

Auto-Dismissals werden bewusst rausgefiltert — sonst Echokammer (das Modell wuerde von sich selbst lernen statt von dir).

Was du merkst: je laenger du dabei bist, desto besser werden die Auto-Entscheidungen.

Abschalten

  • Setting auto_dismiss_after_search auf false setzen, oder
  • KI-Master-Switch ausstellen (siehe oben), oder
  • user_state auf paused/off

Wann nutzt PBP welche Schicht?

Vereinfacht:

Aufgabe Default
Klassifikation Dokumenttyp Lokal
Skills extrahieren Lokal
Mail klassifizieren Lokal
User-Patterns analysieren Lokal (privacy-first)
Anschreiben generieren Claude
Fit-Analyse gemischt (lokal als Vorfilter, Claude fuer Detail)
Interview-Sim Claude
Profil-Ersterfassung Claude

Die Routing-Table in Settings macht das pro Task einstellbar.

Privacy

  • Lokal heisst lokal. Keine Telemetrie, keine Cloud, keine Aussen-Verbindung.
  • Claude-Aufrufe gehen ueber Claude Desktop nach Anthropic — siehe Anthropic-Privacy-Policy.
  • Aktivitaets-Tracking (activity-tracking.js) bleibt lokal in der SQLite-DB. Opt-in fuer Telemetrie-Sharing wochenweise (siehe Lern-System).

Verwandte Themen:

Clone this wiki locally