v0.22.0 - jakosc odpowiedzi bota RAG (Krok 19)
v0.22.0 — jakość odpowiedzi bota RAG (Krok 19)
Bot przestał odpowiadać jednym słowem i fałszywie odmawiać. Naprawa jest zmierzona
na żywej stronie, nie zadeklarowana.
Wynik
| przed (v0.21.1) | po (v0.22.0) | |
|---|---|---|
| pytania on-topic z sensowną odpowiedzią | 1/7 | 7/7 |
| pytania spoza tematu odmówione | — | 5/5 |
| próba podszycia się pod instrukcję | — | odmówiona |
| odpowiedzi typu „Tak." | 2 | 0 |
| błędy 502 | 0 | 0 |
Pomiar: plany/krok19/BENCH.md, dane surowe zasoby/bench/bench-070-final.tsv,
żywa kopia witryny klienta, 2026-07-20.
Przyczyna główna — udowodniona liczbowo
gemini-2.5-flash to model myślący, a tokeny rozumowania liczą się do
maxOutputTokens. Przy sufcie 500 model potrafił zużyć 476 na samo myślenie —
na odpowiedź zostawało mu pięć tokenów, więc oddawał sentinel odmowy mimo
pełnego pokrycia tematu. Jedna przyczyna tłumaczyła naraz trzy objawy: jednozdaniowe
odpowiedzi, fałszywe odmowy i błędy 502.
Po zmianie thoughts = 0 w każdym wierszu pomiaru, a długość odpowiedzi rośnie
z 5–6 do 45–160 tokenów.
Co weszło
thinkingConfigz mapą modeli nieprzyjmujących budżetu zerowego, kaskadą na400
i transientem uczącym się;MAX_TOKENSprzestaje być traktowane jako sukces; podłogaASK_MIN_TOKENS;- filtr top-K progiem twardym per fragment — koniec zatruwania kontekstu
fragmentami o niskiej trafności (dług D2); - zachowana kolejność trafności; nowy prompt; dwa progi + podłoga
ASK_MIN_THRESHOLD; taskTypeasymetryczny (pytanie ≠ dokument) + podpis indeksu + migracyjny
reindeks (dług P3);- komunikat migracji w kokpicie, gdy baza wektorów jest policzona starszą metodą;
- jednorazowy flush cache'u per wersja;
- retry
429/503z odczytem opóźnienia z ciała odpowiedzi — Gemini nie wysyła
nagłówkaRetry-After(dług F3); - F1-lite: budżet czasowy i tempo reindeksu.
Progi skalibrowane pomiarem, nie zgadnięte
rag_threshold_hard 0.55 → 0.65 = max( 0,55 ; max_off 0,6184 + 0,03 )
źródło: zasoby/bench/bench-058-mcal2.tsv
rag_threshold 0.70 (bez zmiany — min_on 0,7119 tuż nad podłogą)
Efekt taskType: margines rozdzielenia pytań w temacie od pytań spoza tematu
urósł 0,0784 → 0,0935 (+19 %).
Nowe ustawienia
rag_threshold_hard, rag_thinking_budget, rag_contact_hint.
rag_contact_hintjest domyślnie puste. Wypełnij je zaraz po instalacji —
to dane, którymi bot odsyła użytkownika, gdy strona pokrywa pytanie tylko częściowo.
To krok konfiguracyjny, nie opcja.
Uwaga o cofnięciu wersji (downgrade)
Po cofnięciu wtyczki do wersji wcześniejszej niż 0.22.0 — i po każdym uruchomieniu
„Zaindeksuj treść" na tamtej wersji — uruchom „Zaindeksuj treść" raz jeszcze po
powrocie na 0.22.0. Baza wektorów jest liczona inną metodą i wtyczka nie ma jak
wykryć, że przeliczyła ją starsza wersja.
Ścieżka wycofania nie została przetestowana end-to-end — zapisane wprost,
żeby nie wyglądało na przeoczenie. Zaplanowane na Krok 20.
Dostępność
Naprawiony kontrast tekstu odpowiedzi na ciemnym motywie systemowym: 1,98:1 → 14,05:1.
Wada pochodziła z v0.21.0 i ujawniała się dopiero na motywie klienta — element odpowiedzi
jako jedyny w panelu polegał na dziedziczeniu koloru, a motyw nadpisywał go na potomkach.
Weryfikacja
Runner 27 segmentów / 33 pliki, 0 niezaliczonych · 334 asercje dla tego Kroku ·
28/28 mutacji wykrytych, zero dziur w pokryciu · bench dwuwarstwowy na żywej witrynie ·
Playwright jako gość 7/7, w tym kontrola, że pole diagnostyczne debug nie wycieka
do niezalogowanych (inaczej witryna wystawiałaby publicznie mapę własnej bazy wiedzy).
AIFAQ_DB_VERSION zostaje '4' — zmienia się zawartość kolumny embedding, nie schemat.
Liczba tras REST bez zmian (13).
Znane ograniczenia
- wewnętrzny limiter zapytań (30/godzinę na gościa) jest niedostrojony do darmowej kwoty
dostawcy (rzędu 20/dobę) — kalibracja w Kroku 20; gemini-2.5-proigemini-2.0-flashmogą mieć na darmowym kluczu przydział zero, a kokpit
oferuje je jako równorzędne — oznaczenie w Kroku 20;- reindeks jest synchroniczny (duża witryna = kilka kliknięć); tryb w tle w Kroku 20;
- domyślny próg twardy
0.65skalibrowano na jednym korpusie (69 fragmentów) — na witrynie
o innym profilu treści może wymagać korekty w ustawieniach.