In una categoria dove la maggior parte delle app di astrologia IA avvolge una singola chiamata LLM in un template di oroscopo quotidiano, Cosmic Story v2 fa qualcosa di strutturalmente diverso: ogni artefatto che genera passa attraverso una fase di composizione a quattro fattori prima ancora che l'IA venga chiamata. È quella fase che rende l'output capace di sapere per chi è scritto il capitolo, quando, e in quale forma.
Questo articolo illustra i quattro fattori, ne spiega la funzione e mostra come si fondono in un unico prompt.
┌──────────────────────────────┐
│ 1. Persona + contesto legame │
│ 2. Superficie astrologica │
│ 3. Segnale utente │
│ 4. Forma della cadenza │
└──────────────────────────────┘
↓
prompt composto
↓
generazione IA
↓
post-elaborazione + cifratura
↓
visualizzazione nell'app
Ogni fattore porta informazioni ortogonali. Nessuno è ridondante rispetto agli altri. Rimuoverne uno fa regredire l'output in modo evidente; aggiungerne un quinto rende il prompt più confuso senza guadagnare segnale.
Per chi è questo artefatto? Che relazione ha con l'utente? Cosa sappiamo di come questo legame si è sentito di recente?
Questo fattore include:
- Il nome della persona e l'etichetta del tipo di relazione (partner, sorella, amica, genitore, mentore, ecc.).
- Texture aggregata dall'attività recente dell'utente su questa persona: quanti check-in includevano il tag "con" di questa persona, quante voci di diario la menzionavano, come si sono mossi i punteggi di risonanza per questo legame.
- Un breve riassunto dei capitoli recenti su questa persona, così il capitolo di oggi ha continuità con quello di ieri.
Questo è il segnale dominante. L'astrologia può aggiungere texture, ma se il prompt non si ancora su una persona specifica e sulla texture di quel legame, l'output deriva verso il generico.
Questo è ciò che rende l'output una cosmic story piuttosto che un diario app. Ma — crucialmente — è un modificatore, non un dizionario.
Calcolato tramite Swiss Ephemeris (sweph), la stessa libreria usata da ogni serio professionista dell'astrologia. Il fattore include:
- La carta natale dell'utente.
- La sinastria tra l'utente e la persona specifica (il loro rapporto nel cielo, in sostanza).
- I transiti attuali — cosa stanno facendo i pianeti reali in questo momento rispetto alla carta dell'utente e alla carta di sinastria.
L'output riceve da 1 a 3 chip di aspetto — piccoli tag strutturati come "Luna trigono Venere" o "Mercurio retrogrado quadrato Sole" — su cui il capitolo può appoggiarsi come modificatore. Il capitolo non deve dire "Mercurio è a 14° Gemelli quadrato al tuo Sole natale". Dice qualcosa come "oggi sarà difficile essere diretti; una frase breve vale più di tre".
La voce predefinita è italiano semplice. Il gergo astrologico è opt-in per l'utente di fascia natività — stesso prompt, ma il post-processor cambia il vocabolario di superficie per usare termini tecnici.
Cosa è successo nell'app, per questo utente, di recente? Nello specifico:
- Check-in recenti: umore, energia, pattern del tag "con".
- Punteggi di risonanza per il legame rilevante: dove Comunicazione, Intimità, Crescita, Conflitto si sono mossi questa settimana.
- Messaggi coach da questo thread (se presenti) — solo contestuali, non per essere letti letteralmente dal provider IA.
Questo è ciò che fa sembrare al capitolo che il motore ricordi la tua settimana. Senza questo fattore, il capitolo di oggi sarebbe identico indipendentemente da come ti sei mostrato.
Che tipo di artefatto dovrebbe essere?
- Un capitolo quotidiano (il caso più comune).
- Una lettera di riepilogo domenicale settimanale.
- Una risposta coach (modalità Luminara).
- Un suggerimento rituale.
- Una card inbox (impulso legame fresco, meteo, aggiornamento, ecc.).
La cadenza sceglie il template corretto, il budget di lunghezza corretto (capitolo ≈ 220 parole; risposta coach ≈ 120 parole; suggerimento rituale ≈ 30 parole) e i giusti modificatori di tono. Senza di essa, il motore dovrebbe indovinare dai segnali contestuali, il che è fragile.
Il prompt composto non è una concatenazione grezza dei dati utente. La fase di composizione:
- Elimina i dati personali grezzi. I nomi vengono tokenizzati (
PERSONA_1, PERSONA_2) prima che il prompt raggiunga il provider; il post-processor sostituisce i token con i nomi reali dopo la generazione. - Epura le voci di diario che l'utente ha contrassegnato come private.
- Aggiunge un prompt di sistema che include guardrail anti-claim (nessun claim supporto e riflessione / fertilità / accuratezza; nessuna calunnia comparativa; nessun linguaggio di sostituzione clinica).
- Sceglie il template di cadenza — capitolo / riepilogo / coach / rituale / suggerimento — ciascuno con il proprio schema di output strutturato.
Il payload completo va al provider IA tramite il token simbolo AI_GENERATION_ADAPTER. L'adattatore è intercambiabile; oggi My Zodiac AI usa un provider, domani potrebbe essere un altro, e il motore non se ne preoccupa.
Una volta che l'IA risponde, accadono quattro cose:
- Classificatore di crisi — verifica se l'input recente dell'utente o questo output contiene linguaggio di crisi. In caso affermativo, mostra in evidenza risorse di supporto locali.
- Estrattore di chip di aspetto — estrae 1-3 chip astrologici dall'output.
- Filtro anti-claim — elimina qualsiasi formulazione che viola la lista di oltre 30 termini vietati (supporto e riflessione, accuratezza, controllo del partner).
- Cifratura AES-256 — il corpo del capitolo viene cifrato prima di essere scritto su MongoDB.
Poi l'artefatto viene persistito (in soulwise_chapters), viene emesso un evento EventEmitter2 (CHAPTER_COMPLETED) e l'inbox lo mostra.
La maggior parte delle app di astrologia IA avvolge una singola chiamata LLM. Il motore a quattro fattori è la ragione strutturale per cui gli output di Cosmic Story v2 danno la sensazione di sapere per chi sono e quando. È anche il motivo per cui il motore può produrre fino a 35 pezzi distinti generati dall'IA per utente premium attivo a settimana senza suonare ripetitivo — ogni artefatto si compone da una combinazione diversa di persona + segnale + cadenza.
Questa è, strutturalmente, la leva differenziatrice: nessun altro nella categoria compone i prompt in questo modo. Co-Star avvolge un prompt per utente al giorno. The Pattern non genera contenuto fresco. Paired modella un solo legame.
Quattro fattori, una pipeline, otto tipologie di artefatto. Questo è il motore.