A self-learning loop nem egy LLM-feature. Egy ipari pipeline, ami a felhasználói beszélgetésekből minőségjavító prompt-változtatásokat termel. A motor ezt négy fázisban végzi, és az engine cockpit LearningLoopFunnel widget pontosan ezt a négy fázist mutatja egy horizontális oszlopdiagrammon. Ez egy poszt a fázisokról, a mérendő számokról, és arról, hogyan zárul vissza a kör a prompt-deploy markerekhez.
Fázis 1: conversations
Minden befejezett beszélgetés (site_chat, voice, workflow) egy eng_conversations sor. A funnel első száma: ennyi nyersanyaggal indulunk. Egy átlagos nap ~12 000 beszélgetés a teljes platformon.
A scope-szűkítés itt kezdődik: nem minden beszélgetést scoringolunk azonnal. Két szűrő: legalább 2 user-üzenet (egy üdvözlet nem releváns) és nem-belső-teszt forgalom (a is_internal_test=true sorok kihagyva).
Fázis 2: scored
A fennmaradó beszélgetéseket egy ConversationScoringService hét dimenzión értékeli: semantic_accuracy, tone, helpfulness, brevity, factual_correctness, hallucination_risk, safety_compliance. Mindegyik 1-5 skála, egy judge LLM (Claude 3.5 Sonnet a default, deterministic temperature=0) értékeli a teljes transcript-et.
A funnel második száma a sikeresen scoringolt beszélgetések száma. Egy átlagos nap ~9 800 (a maradék 2 200 az egyszerű üdvözlet vagy belső teszt).
Fázis 3: flagged
A scored beszélgetésekből kiválasztjuk azokat, ahol legalább egy dimenzió ≤ 3.0. Ezek a „flagged” sorok. Egy átlagos nap ~340 ilyen — ~3.5% flag-rate. A flagek között megkülönböztetünk severity-eket: low (egy dimenzió 3.0), medium (kettő ≤ 3.0), high (egy ≤ 2.0 VAGY safety_compliance ≤ 3.0).
A high flag-ek azonnal a cockpit /cockpit/admin-trainable route-jának dashboardjára kerülnek, ahol egy mérnök (vagy a review agent — lásd lent) reagálhat.
Fázis 4: resolved
A resolved fázis ahol a tényleges tanulás történik. Három cselekvési opció:
- Prompt edit. A mérnök megnézi a flagged conversation transcript-et, azonosítja a prompt-hibát, és új prompt verziót deploy-ol. Új deploy-marker, mérhető score-impact.
- Add to eval set. A beszélgetés bekerül a tenant
eng_eval_setstáblába, és minden következő prompt-változtatás regressziósan tesztel ellene. - Mark as expected. A beszélgetés a flag-érdemlő ellenére várt viselkedés volt (pl. „kezdő-felhasználó zavaros kérdést tett fel, az agent helyesen kért tisztázást, a brevity score alacsony, de OK”). Egy
expected_low_scorecímke, és kihagyjuk a következő scoringolási körből.
A funnel negyedik száma: ennyi flag-et resolved a csapat (vagy az auto-review agent) a megfigyelési ablakon belül. Egy átlagos hét: ~1 800 flag, ~1 100 resolved (61%). A maradék 39% queue-ban marad.
A horizontal bar widget
A LearningLoopFunnel egy SVG bar chart, négy téglalappal egymás után. A téglalapok hossza arányos a számokkal. A téglalap fölötti label a fázis nevét és a számot mutatja. A két téglalap közötti rés a „leakage” — ennyi beszélgetés esett ki a következő fázisra való átállásnál. A widget hover-en a leakage okát is mutatja (pl. „2 200 conversation kihagyva: nem-tesztelhető”).
A widget a /cockpit/learning-loop route-on él, de a dashboard top-szintjén is megjelenik egy mini-verzióban, hogy minden cockpit-látogatás első pillantása legyen.
Hogyan zárul vissza a deploy körre
A loop akkor zárul, amikor egy flag-resolution → prompt edit → új prompt deploy → deploy marker a chart-on → score-trend mérése a marker után. Ha a score-drift pozitív (javulás), a deployment „validated” státuszt kap. Ha negatív, automatikus revert javaslat. A „validated” prompt-verziók egy belső changelogba kerülnek, és emberi review után candidate-ek a hasonló tenantok promptjaiba.
Ez az utolsó lépés — a tenantok közötti tanulás-átvitel — az, amit Phase 8-nak hívunk és most fejlesztünk. Az első hét fázis működik, és napi ~1 100 flag-resolution alapján prompt-minőség mérhetően javul: az átlagos semantic_accuracy 2026 januárjában 3.8, június közepén 4.3. Ez nem kis növekedés. Ez két év mérnöki munka egyetlen számra sűrítve.