대부분의 AI 점성술 앱이 하나의 LLM 호출을 일일 운세 템플릿으로 감싸는 데 그치는 이 분야에서, Cosmic Story v2는 구조적으로 다른 접근을 합니다. 생성되는 모든 결과물이 AI를 호출하기도 전에 네 가지 요소로 구성하는 단계를 거칩니다. 바로 이 단계 덕분에 결과물이 그 챕터가 누구를 위한 것인지, 언제를 위한 것인지, 어떤 형태인지 알고 있는 것처럼 느껴집니다.

이 글에서는 네 가지 요소를 하나씩 살펴보고, 각각의 역할을 짚어 본 뒤, 이들이 어떻게 하나의 프롬프트로 합쳐지는지 보여 드립니다.

네 가지 요소

┌──────────────────────────────┐
│ 1. Person + bond context     │
│ 2. Astrological surface      │
│ 3. User signal               │
│ 4. Cadence shape             │
└──────────────────────────────┘
       ↓
  composed prompt
       ↓
  AI generation
       ↓
  post-process + encrypt
       ↓
  surface in app

Each factor brings orthogonal information. None is redundant with another. Drop one and the output regresses noticeably; add a fifth and the prompt becomes muddier without gaining signal.

Factor 1: person + bond context

Who is this artifact for? What's their relationship to the user? What do we know about how this bond has felt recently?

This factor includes:

  • The person's name and type-of-relationship label (partner, sister, friend, parent, mentor, etc.).
  • Aggregated texture from the user's recent activity about this person: how many check-ins included this person's "with-tag", how many journal entries mentioned them, how the resonance scores for this bond have moved.
  • A short summary of recent chapters about this person, so today's chapter has continuity with yesterday's.

This is the dominant signal. Astrology can add texture, but if the prompt doesn't anchor on a specific person and the texture of that bond, the output drifts toward generic.

Factor 2: astrological surface

This is what makes the output cosmic story rather than journal app. But — critically — it's a modifier, not a dictionary.

Calculated via Swiss Ephemeris (sweph), 진지한 점성가들의 도구를 뒷받침하는 바로 그 라이브러리입니다. 이 요소에는 다음이 포함됩니다:

  • 사용자의 네이탈 차트.
  • 사용자와 특정 인물 사이의 상호 궁합(쉽게 말해 하늘에서의 두 사람의 관계).
  • 현재 운행 — 실제 행성들이 사용자의 차트와 상호 궁합 차트에 대해 지금 이 순간 무엇을 하고 있는지.

결과로는 1개에서 3개의 애스펙트 칩이 생성됩니다. "달 삼각 금성"이나 "수성 역행 사분 태양" 같은 작고 구조화된 태그로, 챕터가 수식어처럼 활용할 수 있습니다. 챕터가 "수성이 14° 쌍둥이자리에서 당신의 네이탈 태양과 사분을 이루고 있어요"라고 말할 필요는 없습니다. 대신 "오늘은 직설적으로 전하기가 까다로울 거예요. 긴 세 문장보다 짧은 한 문장이 나아요" 같은 식으로 표현합니다.

기본 어조는 쉬운 일상어입니다. 전문 용어 모드는 점성술에 익숙한 사용자를 위해 선택적으로 켤 수 있습니다 — 같은 프롬프트에서, 후처리 단계가 표면 어휘를 기술 용어로 바꿔줄 뿐입니다.

요소 3: 사용자 신호

이 사용자에게 앱에서 최근 어떤 일이 있었나요? 구체적으로:

  • 최근 체크인: 기분, 에너지, 함께-태그 패턴.
  • 해당 유대에 대한 공명 점수: 소통, 친밀감, 성장, 갈등이 이번 주에 어떻게 움직였는지.
  • 이 스레드의 코치 메시지(있다면) — 맥락 전용이며, AI 제공자가 그대로 읽기 위한 것은 아닙니다.

이것이 바로 챕터가 엔진이 당신의 한 주를 기억하는 것처럼 느껴지게 만드는 요소입니다. 이 요소가 없다면, 오늘의 챕터는 당신이 어떻게 지내왔든 동일하게 나옵니다.

요소 4: 주기 형태

이것은 어떤 종류의 산출물이어야 할까요?

  • 일일 챕터(가장 흔한 경우).
  • 매주 일요일 요약 편지.
  • 코치 답장(Luminara 모드).
  • 리추얼 넛지.
  • 인박스 카드(새로운 유대 펄스, 날씨, 새로고침 등).

주기는 알맞은 템플릿, 알맞은 분량 예산(챕터 ≈ 220 단어; 코치 답장 ≈ 120 단어; 리추얼 넛지 ≈ 30 단어), 그리고 알맞은 어조 수식어를 선택합니다. 이것이 없으면 엔진은 맥락 단서로부터 추측해야 하는데, 이는 불안정합니다.

AI 제공업체로 전송되는 내용

구성된 프롬프트는 사용자 데이터를 단순히 이어 붙인 것이 아닙니다. 구성 단계에서는 다음과 같은 처리가 이루어집니다.

  • 원시 PII를 제거합니다. 이름은 프롬프트가 제공업체에 도달하기 전에 토큰으로 변환되며(PERSON_1, PERSON_2), 생성이 끝난 후 후처리 과정에서 토큰을 실제 이름으로 다시 바꿉니다.
  • 사용자가 비공개로 표시한 저널 항목을 정리합니다.
  • 클레임 방지 가드레일이 포함된 시스템 프롬프트를 추가합니다(의료 / 임신 / 정확성 관련 주장 금지, 비교 비방 금지, 임상 대체를 암시하는 표현 금지).
  • 케이던스 템플릿을 선택합니다 — 챕터 / 요약 / 코치 / 리추얼 / 넛지 — 각각 고유한 구조화 출력 스키마를 갖습니다.

전체 페이로드는 AI_GENERATION_ADAPTER 심볼 토큰을 통해 AI 제공업체로 전송됩니다. 어댑터는 교체 가능합니다. 오늘은 My Zodiac AI가 한 제공업체를 사용하지만 내일은 다른 제공업체가 될 수도 있으며, 엔진은 이를 신경 쓰지 않습니다.

AI 응답 이후: 후처리

AI가 응답하고 나면 네 가지 일이 일어나요:

  1. 위기 분류기 — 사용자의 최근 입력이나 이 출력에 위기 관련 표현이 포함되어 있는지 확인해요. 만약 그렇다면 지역 지원 자원을 눈에 잘 띄게 표시해요.
  2. 상황 칩 추출기 — 출력에서 1~3개의 점성술 칩을 뽑아내요.
  3. 주장 방지 필터 — 30개 이상의 용어 금지 목록(의료, 정확성, 파트너 통제)을 위반하는 표현을 모두 제거해요.
  4. AES-256 암호화 — 챕터 본문은 MongoDB에 기록되기 전에 암호화돼요.

그런 다음 아티팩트가 저장되고(soulwise_chapters에), EventEmitter2 이벤트가 발생하며(CHAPTER_COMPLETED), 받은 편지함에 표시돼요.

이것이 마케팅 페이지에 중요한 이유

대부분의 AI 점성술 앱은 단일 LLM 호출을 감싸는 데 그칩니다. 4요소 엔진은 Cosmic Story v2의 결과물이 누구를 위한 것인지, 그리고 언제를 위한 것인지 아는 것처럼 느껴지는 구조적 이유입니다. 또한 이 엔진이 활성 프리미엄 사용자 한 명당 매주 최대 35개의 서로 다른 AI 생성 콘텐츠를 반복적으로 들리지 않게 만들어낼 수 있는 이유이기도 합니다. 모든 산출물이 사람 + 신호 + 주기의 서로 다른 조합으로 구성되기 때문입니다.

이것이 구조적으로 차별화 지점입니다. 이 카테고리에서 프롬프트를 이런 방식으로 구성하는 곳은 없습니다. Co-Star는 사용자 한 명당 하루에 프롬프트 하나를 감쌀 뿐입니다. The Pattern은 새로운 콘텐츠를 전혀 생성하지 않습니다. Paired는 단 하나의 관계만을 모델링합니다.

4가지 요소, 하나의 파이프라인, 8가지 산출물 유형. 그것이 바로 이 엔진입니다.

자주 묻는 질문

왜 세 가지나 다섯 가지가 아니라 네 가지 요소인가요?

요소가 세 가지면 결과물이 일반적인 느낌을 주는데, 케이던스(결과물 유형)가 다른 요소 중 하나로 흡수되기 때문이에요. 다섯 가지 이상이면 중복이 생겨서, 추가된 요소가 독립적인 신호를 제공하지 못해요. 결국 네 가지가 중복 없이 관계에 특화되고, 시점에 맞고, 질감을 반영한 결과물을 만들어내는 가장 작은 조합이었어요.

엔진이 제 일기를 한 글자씩 그대로 읽나요?

엔진은 피드 사용으로 설정된 일기만 읽어요. 각 일기에는 '비공개 — Luminara에 제공하지 않음' 플래그가 항목별로 있어요. 기본값은 꺼짐이에요. 프리미엄에서는 오래된 일기에 대한 일괄 전환 기능이 추가돼요. 어떤 내용도 회원님의 계정 밖으로 공유되지 않아요.

점성술이 프롬프트의 주된 신호인가요?

아니에요. 점성술은 보정 요소예요. 주된 신호는 사람과 관계의 맥락, 그리고 최근의 사용자 신호예요. 점성술은 질감을 더해줘요 — '오늘은 수학적으로 스트레스가 높은 날이에요'가 아니라 '오늘은 수성의 끌림이 실제로 느껴져요'처럼요. 기본 목소리는 평이한 표현이고, 전문 용어 모드는 선택해서 켜는 방식이에요.

이어서 읽기

자주 묻는 질문

무료 도구 사용해 보기

출생차트를 바탕으로 한 맞춤형 인사이트를 받아 보세요

이 글 공유하기