Files
MtoRagSystem/RETRIEX_PATCH_20B_ROUTING_NORMALIZATION_FIX_README.md
2026-05-02 19:17:59 +02:00

59 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RetrieX Patch 20b Routing Normalization Fix
## Ziel
Patch 20b korrigiert den ersten LLM-Normalisierungsansatz aus p20. Die LLM-gestützte Eingabekorrektur bleibt erhalten, wird aber robuster und sauberer im Routing verwendet.
## Problem
Der Test `was kpstet der indikator` blieb nach p20 weiterhin RAG-only. Ursache: Wenn das LLM wegen strenger Guardrails unsicher war, konnte es den Originaltext unverändert zurückgeben. Dann erkannte die Commerce-/Shop-Intent-Logik das falsch geschriebene Routing-Wort nicht.
Zusätzlich darf die normalisierte Routing-Frage nicht die eigentliche Nutzerfrage in History und Antwortkontext ersetzen.
## Lösung
- Originalprompt bleibt erhalten.
- Separater `routingPrompt` wird vor Intent-, RAG- und Shop-Routing verwendet.
- LLM-Normalisierung bleibt der erste Schritt.
- Danach generischer Fuzzy-Fallback gegen kanonische Routing-Terme aus YAML.
- Keine Tippfehlerlisten wie manuell gepflegte Vertipper.
- Fuzzy-Matching arbeitet nur gegen kanonische Signalwörter wie `kostet`, `suche`, `shop`, `messgerät`, `lösung`, `schwimmbad` usw.
- Mehrdeutige oder unsichere Korrekturen werden verworfen.
- Produktnamen, Zahlen und fachliche Ergänzungen werden nicht hinzugefügt.
## Zusätzliche Intent-Korrektur
Die Formulierung `ich suche eine preiswerte Lösung zur messung von pH & Chlor für mein schwimmbad` wird als beratende Produktsuche behandelt. Dafür wurde ein zusätzliches Advisory-Product-Selection-Pattern sowie Preiswert-/Günstig-Signale in YAML ergänzt.
## Geänderte Dateien
- `src/Agent/AgentRunner.php`
- `src/Config/AgentRunnerConfig.php`
- `src/Config/RetriexEffectiveConfigProvider.php`
- `config/retriex/agent.yaml`
- `config/retriex/intent.yaml`
## Pflichtchecks
```bash
bin/console mto:agent:config:validate
bin/console mto:agent:regression:test
bin/console mto:agent:config:audit-source --details
bin/console mto:agent:config:audit-patterns --details
```
## Manuelle Regressionen
1. `was kpstet der indikator`
- Erwartung: interne Routing-Normalisierung zu `was kostet der indikator`
- Shop-Suche wird angefragt
2. `ich suche eine preiswerte Lösung zur messung von pH & Chlor für mein schwimmbad`
- Erwartung: beratende Shop-/Produktsuche wird ausgelöst
- Chlor-/pH-Messfähigkeit darf genannt werden
- Schwimmbad-Eignung nur vorsichtig formulieren, wenn nicht explizit belegt
3. Stabile 1.5.1-Baseline
- `Was ist der niedrigste Grenzwert für die Wasserhärte, welcher mit einem Testomaten überwacht werden kann?`
- `mit welchem indikator wird der wert gemessen`