# 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`