p60 new
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# RetrieX Patch p60 - Generic Referential Shop Anchor Guard
|
||||
|
||||
## Ziel
|
||||
|
||||
Stabilisiert referenzielle Shop-Preisfragen, bei denen der Verlauf bereits einen konkreten Geräteanker und danach ein Zubehör-/Reagenz-/Indikator-Detail enthält.
|
||||
|
||||
Der konkrete Regressionspfad war sinngemäß:
|
||||
|
||||
1. Grenzwert-Frage belegt `Testomat 808`.
|
||||
2. Indikator-Folgefrage belegt `Indikatortyp 300`.
|
||||
3. Preis-Folgefrage fragt `was kostet der indikator`.
|
||||
|
||||
Die Shop-Query durfte nicht bei einem typcode-lastigen Ausdruck wie `indikatortyp 300 indikator` hängen bleiben, weil Shopware dadurch auch unpassende Geräte wie `Testomat 2000 DUO` liefern kann.
|
||||
|
||||
## Änderungen
|
||||
|
||||
### Generische Query-Stabilisierung
|
||||
|
||||
- `genre.yaml` ergänzt für `context_resolution.history_anchor_enrichment`:
|
||||
- `query_terms`
|
||||
- `query_noise_terms`
|
||||
- RAG-/Historienmarker wie `indikatortyp` bleiben Trigger-/Kontextbegriffe, werden aber nicht dominant als Shop-Suchtoken ausgegeben.
|
||||
- Typ-/Code-Tokens wie `300` bleiben erhalten.
|
||||
- Wenn im selben Verlaufsturn ein konkreter Geräte-/Modellanker und ein Zubehör-/Typanker stehen, wird daraus generisch ein qualifizierter Shopanker.
|
||||
|
||||
Beispielhaft ergibt sich:
|
||||
|
||||
```text
|
||||
testomat 808 300 indikator
|
||||
```
|
||||
|
||||
statt:
|
||||
|
||||
```text
|
||||
indikatortyp 300 indikator
|
||||
```
|
||||
|
||||
### Generischer Shop-Treffer-Guard
|
||||
|
||||
Wenn die finale Shopquery einen konkreten Produkt-/Modellanker enthält, werden Shop-Treffer verworfen, die diesen Anker nicht tragen. Ein fremder Gerätetreffer darf dann nicht mehr als Preisbasis für ein referenziertes Zubehör/Verbrauchsmittel dienen.
|
||||
|
||||
### Antwortregel bei fehlendem passendem Shop-Treffer
|
||||
|
||||
`prompt.yaml` erhält eine generische Regel:
|
||||
|
||||
- Bei Preis-/Kosten-/Verfügbarkeitsfragen ohne passenden Shop-Treffer soll keine fremde RAG-/Shop-Produktliste als Preisersatz ausgegeben werden.
|
||||
- Stattdessen soll klar gesagt werden, dass der angefragte kommerzielle Wert aus den bereitgestellten Shopdaten nicht ermittelt werden konnte.
|
||||
|
||||
## Kein Sonderfall
|
||||
|
||||
Der Patch enthält keine harte Sonderlogik für `Testomat 808` oder `Indikator 300`.
|
||||
|
||||
Die Logik ist allgemein:
|
||||
|
||||
- konkreter Verlauf-Geräteanker
|
||||
- Zubehör-/Reagenz-/Indikator-/Accessory-Kontext
|
||||
- technische/RAG-nahe Typwörter als Query-Noise
|
||||
- Typ-/Code-Tokens bleiben erhalten
|
||||
- Shop-Treffer müssen zum konkreten Modellanker passen, wenn ein solcher in der Query enthalten ist
|
||||
|
||||
## Dateien
|
||||
|
||||
- `config/retriex/agent.yaml`
|
||||
- `config/retriex/genre.yaml`
|
||||
- `config/retriex/prompt.yaml`
|
||||
- `src/Agent/AgentRunner.php`
|
||||
- `src/Config/AgentRunnerConfig.php`
|
||||
- `src/Config/RetriexEffectiveConfigProvider.php`
|
||||
|
||||
## Lokale Prüfungen
|
||||
|
||||
- PHP-Lint für geänderte PHP-Dateien grün
|
||||
- YAML parsebar für geänderte YAML-Dateien
|
||||
- lokale Query-Simulation: `testomat 808 300 indikator`
|
||||
|
||||
## Projektchecks
|
||||
|
||||
```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
|
||||
```
|
||||
Reference in New Issue
Block a user