카드 해석 방법론

본 페이지는 타로리더가 어떻게 카드를 뽑고 해석을 생성하는지의 전 과정을 공개합니다. "AI 타로"가 어떻게 작동하는지 투명하게 알리는 것이 신뢰의 출발점이라고 믿습니다.

1. 카드 풀 — 78장 라이더-웨이트 풀덱

본 서비스는 78장의 라이더-웨이트-스미스 덱(1909) 원본을 사용합니다.

  • 메이저 아르카나 22장 (The Fool ~ The World)
  • 마이너 아르카나 56장 — 4슈트 × 14장 (Wands·Cups·Swords·Pentacles, 각 Ace~10 + Page·Knight·Queen·King)

각 카드의 한국어 의미(정방향·역방향)는 app/seeds/seed_cards.py에 정의되어 있으며, 표준 라이더-웨이트 해석 체계에 기반합니다. 자세한 카드별 의미는 전체 카드 가이드를 참고하세요.

2. 카드 뽑기 — 무작위성 보장

이용자가 부채꼴로 펼쳐진 78장 중 3장을 클릭하면, 그 카드 ID 3개가 서버로 전송됩니다. 서버는 다음을 수행합니다.

  1. 카드 ID 중복 검증, 활성 유형 검증, 질문 본문 길이 검증
  2. 각 카드에 대해 독립적으로 secrets.randbelow(2)를 호출하여 정/역방향 결정 (Python 표준 secrets 모듈은 암호학적으로 안전한 난수 생성기를 사용합니다)
  3. 카드별 정/역방향 의미 텍스트 로드

"좋은 카드"가 더 자주 나오게 하거나, 그림자 카드를 빼는 등의 편향은 일체 없습니다.

3. 시스템 프롬프트 — LLM에게 전달되는 지시

각 질문 유형(연애·재물·진로 등 14종)마다 별도의 시스템 프롬프트가 적용됩니다. 모든 유형의 베이스 원칙은 다음과 같습니다.

당신은 정통 라이더-웨이트 타로 리더입니다. 다음 원칙을 엄격히 따라 해석하세요.

  1. 정방향과 역방향, 빛과 그림자를 모두 정직하게 풀어내세요.
  2. 그림자성 강한 카드(Tower, Death, Devil, Moon 등)는 부드럽게 포장하지 말고 분명하게 전달하세요.
  3. 단정적 예언("반드시 ~한다", "확실히 ~될 것이다")이나 두려움을 부추기는 표현은 피하세요.
  4. 동시에 무비판적 낙관("다 잘 풀릴 거예요")도 배제하세요.
  5. 의료·법률·재정 조언으로 해석되지 않게 주의하세요.
  6. 응답은 [전체 메시지] / [과거] / [현재] / [미래] 4단락 형식으로 한국어로 작성하세요.

유형별 시스템 프롬프트의 전문은 관리자 화면에서 확인할 수 있으며, 필요 시 운영자가 조정할 수 있습니다.

4. 사용자 컨텍스트 — LLM에게 전달되는 데이터

시스템 프롬프트와 함께 다음의 user 메시지가 전송됩니다.

[질문 유형] 연애운 (love)
[질문] (사용자 입력)

[뽑힌 카드]
1. 과거 - The Tower [역방향] (테마: 충격, 붕괴, 각성)
   — 피할 수 없는 변화를 늦추려는 시도, 작은 균열의 누적
2. 현재 - The Sun [정방향] (테마: 기쁨, 활력, 성공)
   — 밝은 에너지와 명확함, 즐거운 성취
3. 미래 - Death [역방향] (테마: 종결, 변화, 전환)
   — 변화 거부, 끝내야 할 것을 붙들고 있음

위 카드 배열을 바탕으로 과거-현재-미래 흐름을 한국어로 해석해 주세요.
역방향 카드는 그림자 의미를 정직하게 다루고,
Tower/Death/Devil/Moon 같은 그림자성 강한 카드는 부드럽게 포장하지 말고 분명하게 짚어 주세요.

5. LLM 호출 — 자체 호스팅 인프라

  • OpenAI 호환 API 엔드포인트(/v1/chat/completions) 사용
  • 외부 회사 AI(ChatGPT, Claude, Gemini)는 사용하지 않습니다. 사용자 질문이 외부 회사 서버로 전송되지 않습니다.
  • Temperature 0.8 (창의성과 일관성의 균형)
  • 타임아웃: 연결 5초, 응답 60초
  • 동시 호출 제한: Semaphore(8)

6. 결과 처리 및 표시

  1. LLM 응답 텍스트를 정규식으로 5섹션으로 분리: 전체 메시지 / 과거 / 현재 / 미래 / 핵심 조언
  2. 각 섹션에 색상 그라데이션 헤더와 시간 뱃지(PAST/NOW/NEXT) 적용
  3. 역방향 카드는 화면에서 180° 회전 + 빨간 "역방향" 배지로 표시
  4. 요약 보기: 별도의 요약 시스템 프롬프트로 5줄 요약 생성 (1회만, 캐싱)
  5. 리딩 결과·응답 시간·LLM 모델·상태(성공/실패)를 통계 로그에 기록

7. 균형 잡힌 해석을 위한 추가 장치

  • 오늘의 운세 (자동 3장): today 유형은 시스템이 카드 3장을 무작위로 뽑아 오전 · 오후 · 저녁에 대응시키고, 한 줄 메시지 / 오전 / 오후 / 저녁 / 핵심 조언 형식으로 응답
  • 역방향 대응 안내: 역방향 카드가 걸린 시간대는 경고·정체 신호와 함께 그 시간대의 대응 행동을 제시
  • 카드 의미 강화: Death = "회피할 수 없는 끝과 시작", Tower = "거짓된 토대의 붕괴, 진실이 격렬하게 드러나는 시기", Devil = "자기 파괴적 집착, 두려움이 만든 사슬" 등 카드 의미 자체에 입체성을 부여하여 단순 긍정/부정 이분법을 회피

8. 참고 문헌과 출처

본 서비스의 카드 의미와 해석 체계는 다음 자료에 기반합니다.

  • Arthur Edward Waite, The Pictorial Key to the Tarot (1910)
  • Pamela Colman Smith의 1909년 원본 일러스트
  • Rachel Pollack, Seventy-Eight Degrees of Wisdom (1980)
  • Mary K. Greer, Tarot for Your Self (1984)
  • 국내 타로 표준 해석 자료 (한국타로협회 등)

자세한 출처와 저작권 정보는 카드 출처와 참고문헌 페이지를 참고하세요.

9. 한계와 정직한 고백

  • LLM은 그럴듯하게 들리지만 사실과 다른 내용을 생성할 수 있습니다 (환각).
  • 같은 질문에 매번 다른 답이 나옵니다. 이는 카드 무작위성의 자연스러운 결과입니다.
  • 본 서비스의 해석이 "정답"이 아닙니다. 다른 타로 리더는 같은 카드를 다르게 풀 수 있습니다.
  • 운영자는 모든 리딩 결과를 검수하지 않습니다. 부적절한 결과를 발견하시면 알려주세요.

점 보러 가기

🔮 메인으로 →