4.3 KiB
4.3 KiB
RetrieX Patch 44 - Runtime Answer Guard / Shop Follow-up Cleanup
Ziel
Dieser Patch behandelt drei Fehler außerhalb der p43 YAML-/Listen-/Maps-Konsolidierung:
- Sporadische endlos lange Produktlisten, bei denen ein letztes Shop-Produkt wiederholt wird.
- Falscher einleitender Satz bei direkten Zubehör-/Kabel-Shopfragen wie
zeige mir Anschlusskabel für pH/Redox. - Falsche Shop-Follow-up-Query
schauebeischaue im shopnach einer vorherigen fachlichen Frage.
Änderungen
1. Runtime-Schutz gegen Endlosantworten
Dateien:
src/Agent/AgentRunner.phpsrc/Config/AgentRunnerConfig.phpconfig/retriex/agent.yaml
Änderung:
- Neuer konfigurierbarer
final_answer_guard. - Stoppt die finale LLM-Ausgabe, wenn eine Antwort zu lang wird oder dieselbe relevante Antwortzeile zu oft wiederholt wird.
- Der Guard läuft im finalen Streaming-Pfad und ist generisch: keine Chlor-, Schwimmbad-, Testomat- oder Produkt-Sonderlogik.
- Bei Abbruch wird ein kurzer Hinweis ausgegeben statt endlos weiterzustreamen.
2. Ollama Output-Cap
Dateien:
src/Infrastructure/OllamaClient.phpconfig/retriex/model.yamlconfig/services.yamlsrc/Config/RetriexEffectiveConfigProvider.php
Änderung:
- Neuer Parameter
retriex.llm.num_predict: 2048. - Wird als Ollama-Option
num_predictgesendet. - Wichtig für Installationen mit blockierender Ollama-Generierung (
stream=false), damit Runaway-Ausgaben bereits auf Modellseite begrenzt werden.
3. schaue im shop als Meta-Shop-Follow-up
Datei:
config/retriex/language.yaml
Änderung:
- Ergänzt zentrale User-Instruction-Terme:
schaue,schau,schauen,nachschauen. - Dadurch wird
schaue im shopwiesuche im shopals Meta-Shop-Follow-up behandelt und kann den vorherigen Kontext verwenden, statt die Suchqueryschauezu senden.
4. Zubehörantwort-Hardening
Datei:
config/retriex/prompt.yaml
Änderung:
- Verstärkt Antwortregeln für direkte Zubehör-/Kabel-Shopfragen.
- Bei passenden Shop-Treffern soll nicht mit einer fehlenden Hauptgerät-/Messgeräte-Aussage begonnen werden.
- Das verhindert Sätze wie sinngemäß „kein sicher belegter Testomat für pH-Messung“, wenn der Nutzer Anschlusskabel für pH/Redox angefragt hat.
Geänderte Dateien
config/retriex/agent.yamlconfig/retriex/language.yamlconfig/retriex/model.yamlconfig/retriex/prompt.yamlconfig/services.yamlsrc/Agent/AgentRunner.phpsrc/Config/AgentRunnerConfig.phpsrc/Config/RetriexEffectiveConfigProvider.phpsrc/Infrastructure/OllamaClient.php
Lokale Prüfungen
Ausgeführt:
php -l src/Agent/AgentRunner.php
php -l src/Config/AgentRunnerConfig.php
php -l src/Infrastructure/OllamaClient.php
php -l src/Config/RetriexEffectiveConfigProvider.php
python3 -c 'YAML parse check for changed YAML files'
Ergebnis:
- PHP-Syntax der geänderten PHP-Dateien: grün.
- YAML-Parsing der geänderten YAML-Dateien: grün.
- Konfigurations-Sanity für
schaue/schauundshop: grün.
Nicht vollständig lokal ausführbar:
php bin/console mto:agent:config:validate
Grund: Im entpackten ZIP ist kein vendor/ enthalten; bin/console bricht mit Dependencies are missing. Try running "composer install". ab.
Nach dem Einspielen bitte prüfen
bin/console cache:clear
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
-
ich würde gern chlor im schwinnbad messen- Erwartung: keine endlose Wiederholung des letzten Produkts.
- Falls das Modell trotzdem wiederholt, muss die Antwort durch den Guard abbrechen.
-
zeige mir Anschlusskabel für pH/Redox- Erwartung: Zubehör-/Kabeltreffer direkt listen.
- Kein einleitender Satz über fehlenden Testomat oder fehlendes pH-Messgerät.
-
Dialog:
welche indikatoren gibt es für die messung von freiem chlor- danach:
schaue im shop - Erwartung: Shop-Follow-up nutzt den vorherigen Kontext, nicht die Query
schaue.
Hinweise
- Keine Retrieval-, Ranking- oder Produktmatching-Logik wurde geändert.
- Keine neuen fachlichen Token-/Produktlisten im PHP-Core.
- Neue fachliche/sprachliche Begriffe liegen in YAML.
- Der Runtime-Guard ist bewusst generisch und konfigurierbar.