4-Factor Response Engine
4-faktors svarsmotor
Varje daglig incheckning ger en kort kommentar tillbaka. Den kommentaren kommer från 4-faktors svarsmotor — ett avgränsat genereringssystem vars uppgift är att vara användbart på 60 till 100 ord och aldrig ta i för mycket.
De fyra faktorerna
| # | Faktor | Källa | Varför det spelar roll |
|---|---|---|---|
| 1 | Chip | 14-chipspaletten i den dagliga ritualen | Sätter ord på det som stämmer i dag |
| 2 | Fas | Bayesiansk cykeluppskattning | Anger cykelns baslinje |
| 3 | Passagekontext | Dagens passage i ditt födelsehoroskop, om någon | Ger dagen dess prägel |
| 4 | Arketyp | Din menstruella arketyp | Mönstret över flera cykler |
De fyra kombineras deterministiskt till en strukturerad prompt — inte fritt formulerad. Genereringsmodellen skriver inom en stram mall som varierar per kombination av chip × fas.
Varför just fyra
Vi testade två, tre, fyra och sex. Två faktorer (chip + fas) gav noteringar som kändes för generiska. Tre (chip + fas + passage) hade en tendens att luta för mycket åt astrologi. Sex (med tillägg av humör, väder, social belastning) skapade inkonsekvens och ökade genereringstiden förbi budgeten på 200ms p50 för den dagliga ritualen.
Fyra är den optimala punkten där noteringen känns specifik för dig utan att bli stökig.
Begränsningar för genereringen
Modellens utdata filtreras av tre regler vid skrivtillfället:
- Längd — 40 till 120 ord. Allt utanför intervallet genereras om.
- Påståendekontroll — kör utdatan genom samma påståendekontroll som granskar blogginlägg. Se non-medical-cycle-tracking.
- Tonkalibrering — en liten klassificerare avvisar utdata som känns föreskrivande, dömande eller pigg-företagsam. Utdata som landar i "varmt och jordnära" går igenom.
En notis som faller på någon av de tre genereras om upp till tre gånger. Om alla tre misslyckas ser användaren ett kurerat reservalternativ som följer med appen.
Vad modellen INTE ser
- Texten i din dagliga anteckning (bara taggen).
- Några av dina tidigare anteckningar.
- Andra användares data.
- Ditt namn, konto eller någon identifierare.
Genereringen körs på en rensad, anonymiserad indata. Personaliseringen kommer från de strukturerade faktorerna, inte från att din text läses om.
Var detta finns
Motorn ligger i lib/responseEngine/ i Soulwise-kodbasen. Den strukturerade promptmallen är en TypeScript-fil per chip × fas-par (14 × 4 = 56 mallar), var och en handjusterad. Modellen är den minsta som klarade tonkalibreringstestet — en open-weights-modell med 7B parametrar som körs i en Vercel Function med en budget på 200ms p50.
Använd denna kunskap
Bring astrologi i praktiken med AI-driven analys av födelsehoroskop.
Hämta Min GRATIS Födelsehoroskop