Skip to Content
KnowledgeSDKSelf-Improvement

Self-Improvement

Der Classifier lernt aus Korrekturen. Jede Korrektur verbessert zukuenftige Klassifikationen ueber drei Ebenen.

Wie Feedback gespeichert wird

Drei Ebenen

Ebene 1: Direkte Korrektur (sofort wirksam)

Bei jeder Klassifikation durchsucht der Feedback-Store per FTS5-Volltextsuche aehnliche Tickets, die in der Vergangenheit korrigiert wurden:

SELECT correct, COUNT(*) as corrections FROM classifications WHERE correct IS NOT NULL AND predicted != correct AND classifications_fts MATCH 'ticket titel woerter' GROUP BY correct ORDER BY corrections DESC

Jede Korrektur gibt einen Score-Boost von 0.5 (max 2.0) fuer die korrigierte Collection.

Beispiel:

  • 5 Tickets mit “Dashboard” wurden von lowcode zu portal korrigiert
  • Neues Ticket “Dashboard zeigt alte Daten” bekommt: portal +2.0

Ebene 2: Keyword-Gewicht-Anpassung (periodisch)

Die Methode getKeywordAdjustments() analysiert systematische Fehlklassifikationen und schlaegt Keyword-Gewicht-Aenderungen vor:

const store = getFeedbackStore(); const adjustments = store.getKeywordAdjustments(); // Ergebnis: // [ // { term: "dashboard", boostCollection: "portal", reduceCollection: "lowcode", count: 5 }, // { term: "checkliste", boostCollection: "produkte", reduceCollection: "studio", count: 3 } // ]

Diese Vorschlaege koennen manuell in die classifier-config.ts uebernommen werden.

Ebene 3: LLM-Prompt-Hints (automatisch)

Die Methode getLlmPromptHints() generiert Hinweise, die automatisch in den LLM-System-Prompt eingefuegt werden:

## Bekannte Fehlklassifikationen (aus Feedback) - Tickets die nach "studio" aussehen, gehoeren oft zu "produkte" (5x korrigiert) - Tickets die nach "lowcode" aussehen, gehoeren oft zu "portal" (3x korrigiert)

Diese Hints helfen dem LLM, bekannte Fallen zu vermeiden.

Feedback-Store

Der Store nutzt SQLite mit FTS5 (Volltextsuche):

TabelleZweck
classificationsAlle Klassifikationen mit Vorhersage + Korrektur
classifications_ftsFTS5-Index ueber Titel + Body (fuer Textaehnlichkeit)

Datenbank-Pfad

UmgebungPfad
Produktion (K8s)/data/qmd/feedback.sqlite
Lokal./data/qmd/feedback.sqlite

Die Feedback-DB ist unabhaengig vom Such-Index. Sie kann geloescht werden, ohne die Suche zu beeintraechtigen — nur das gelernte Feedback geht verloren.

Statistiken

curl https://docs.processcube.io/api/classify-ticket/stats \ -H "Authorization: Bearer $CLASSIFIER_API_KEY"
{ "total": 247, "withFeedback": 53, "accuracy": 0.83, "topMisclassifications": [ { "predicted": "lowcode", "correct": "portal", "count": 8 }, { "predicted": "studio", "correct": "produkte", "count": 5 } ] }