작성일: 2026-10-12 · 상태: 검토 가능한 설계 초안
이 문서는 사주와 서양 점성술의 계산 결과를 하나의 상세 풀이와 자연 풍경으로 연결하기 위한 기준이다. 실제 사용자의 원국·출생 차트를 계산한 결과가 아니며, 계산 서비스나 AI 해석을 이미 연결했다는 뜻도 아니다.
1. 지금까지 정한 제품
- 브랜드 이름: 예지연.
- 범위: 생애 전반. 기질, 삶의 흐름, 일·재물, 사랑·가족·관계, 생활의 리듬.
- 경험: 명쾌한 핵심 풀이를 먼저 읽고, 상세 본문을 한 페이지에서 계속 읽는다.
- 분량: 10~15분 읽는 상세형. 분량을 맞추기 위한 반복 문장은 제외한다.
- 화면: 회화 같은 자연 일러스트. 같은 구도의 나무, 낮은 산, 넓은 하늘.
- 초기 풍경: 한국의 현재 날짜로 계절을 정하고, 한국 시간으로 낮·밤을 정한다. 날씨는 기본 연출로 두며 실제 지역 날씨로 표시하지 않는다.
- 분석 후 풍경: 개인 해석에 따라 계절·날씨·낮밤 모두 결정한다. 실제 접속 시간이 개인 풍경을 덮어쓰지 않는다.
- 상태 수: 계절 4개, 날씨 3개(맑음·흐림·비), 낮밤 2개. 미세한 시간 변화와 복잡한 효과는 추가하지 않는다.
- 오행·음양: 나의 바탕을 자연물의 형태·색·질감으로 표현한다. 주변 계절과 날씨는 현재 흐름을 표현한다.
- 결과: 풍경과 핵심 요약 다음에 모든 본문이 펼쳐져 있다. 분야별 풀이를 읽기 위해 별도 버튼을 누르지 않는다.
2. 분석의 기본 구조
출생 정보를 정규화해 사주와 점성술을 각각 계산합니다. 해석 근거를 정리한 뒤, 공통 주제와 차이를 연결합니다. 풍경과 상세 본문이 같은 내용을 설명하는지 마지막으로 확인합니다.
네 종류의 정보를 구분한다
| 구분 | 예시 | 생성 방식 |
|---|---|---|
| 입력 사실 | 출생일, 입력된 시간, 도시, 시간대 | 사용자의 입력과 검증 |
| 계산 결과 | 간지, 절입 시점, 행성 위치, 상승점 | 버전이 고정된 계산 도구 |
| 전통 해석 | 기질, 관계 방식, 시기의 주제 | 출처와 조건을 가진 해석 규칙 |
| 브랜드 표현 | 봄, 비, 밤, 나무의 모양 | 예지연의 표시 규칙 |
천체 위치를 정확히 계산하는 것과 그 위치로 미래를 예측하는 해석의 타당성은 서로 다른 문제다. 예지연의 계절·날씨·낮밤은 해석을 이해하기 위한 상징이다. 실제 기상이나 관측된 천체 배치를 그대로 표시한다고 설명하지 않는다.
3. 출생 정보와 불확실성
| 항목 | 입력 | 처리 기준 |
|---|---|---|
| 생년월일 | 연·월·일 | 실제 존재하는 날짜와 지원 연도 확인 |
| 달력 | 양력 / 음력 | 음력은 평달·윤달을 구분한다 |
| 태어난 시간 | 시·분 / 모름 | 모름은 실제 시간 값으로 바꾸지 않는다 |
| 출생 도시 | 검색 결과에서 국가·도시 선택 | 좌표와 출생 당시 시간대를 함께 확정한다 |
| 대운 계산용 성별 기준 | 남성 / 여성 / 선택 안 함 | 전통 대운 방식에 사용할 때만 반영한다. 새 입력 항목 제안이다 |
한국천문연구원의 변환 화면도 음력의 평달·윤달·모름을 구분한다.[1] 대운 계산 구현의 한 사례인 lunar-python은 연간의 음양과 성별 입력을 사용해 순행·역행을 정한다.[2] 이 방식으로 대운을 제공하려면 해당 기준을 입력받아야 한다. 이름이나 기존 대화에서 성별을 추정해 넣지 않는다.
모르는 시간의 처리
- 해당 출생일의 가능한 시간 범위를 계산 후보로 취급한다.
- 범위 안에서 결과가 바뀌지 않는 항목은 사용한다.
- 시주, 상승점, 하우스처럼 특정 출생 시간에 의존하는 항목은 확정하지 않는다.
- 달의 별자리나 간지가 경계에서 바뀌면 가능한 범위로 설명하고 특정 값 하나를 선택하지 않는다.
- 본문에는 확정 가능한 범위를 알리는 짧은 안내를 넣는다. 정보가 적으면 본문도 필요한 만큼 짧아진다.
Swiss Ephemeris의 하우스 계산 인터페이스에는 시각, 위도, 경도가 들어간다.[3] 따라서 시간을 모르는 사용자에게 임의의 상승점·하우스를 만들어 주지 않는 것이 이 설계의 기본이다.
계산 전 확인이 필요한 경우
- 음력의 평달·윤달에 따라 서로 다른 양력 날짜가 나오는 경우: 사용자에게 구분을 확인한다.
- 같은 이름의 도시가 여럿인 경우: 국가·지역이 포함된 검색 결과에서 선택한다.
- 과거 시간대 변경이나 서머타임 때문에 시각이 중복되거나 존재하지 않는 경우: 후보를 구분한다.
- 계산 도구의 지원 범위를 벗어난 경우: 계산 가능한 범위를 안내한다.
4. 계산 기준 초안
사주
- 년·월·일·시주, 일간의 음양오행, 지장간, 월령, 오행의 관계를 구조화한다.
- 오행의 단순 개수는 참고 자료로 남긴다. 가장 많은 오행 하나만으로 강약·필요한 기운·현재 계절을 결정하지 않는다.
- 년주·월주의 절기 경계, 날짜 경계, 자시 처리, 출생지 시간 보정 방식을 명시하고 버전으로 고정한다.
- 기본 후보는 입춘·절입 기반 계산이다. 23시/0시의 날짜 변경과 진태양시 보정은 비교 사례를 확인한 뒤 하나의 정책으로 고정한다. 도구 기본값을 검토 없이 혼용하지 않는다.
- 한국 음력 변환과 절기 검증은 한국천문연구원 자료를 기준 자료로 사용한다.[1][4] 중국·홍콩의 달력 구현은 한국 사례와 대조한 뒤 채택한다.
- 성별 기준을 선택하지 않으면 전통 대운의 방향을 확정하지 않는다. 확정 가능한 원국과 다른 시기 해석은 제공할 수 있다.
- 대운 시작 시점이 출생 시간 후보에 따라 달라지면 날짜를 한 값으로 단정하지 않는다.
서양 점성술
- 독립 계산 서비스를 사용하되 Astro-Seek은 사용자가 원한 결과 형식·계산 설정의 비교 대상으로 둔다.
- 초기 계산 설정 제안: 회귀 황도, 지구 중심 행성 위치, Placidus 하우스, 주요 5각(합·충·사각·삼각·육각).
- 주요 각의 허용 범위는 설정 파일로 고정하고, 비교 차트도 같은 설정을 사용한다. 각의 존재만으로 좋음·나쁨을 판정하지 않는다.
- 시간·장소가 확정될 때만 상승점·하우스를 사용한다. 계산에 실패한 하우스 체계를 다른 체계로 조용히 바꾸지 않는다.
- 출생 차트와 현재 행성 이동을 구분한다. 타고난 특징과 현재의 흐름이 한 문단에서 섞이지 않도록 한다.
- 구현 후보인 Swiss Ephemeris는 AGPL과 Professional License의 선택 구조를 명시한다.[3] 정식 서비스에 연결할 계산 제공 방식과 라이선스는 도입 시점에 확정한다.
- Astro-Seek 약관·FAQ 본문은 이번 확인에서 정상 열람하지 못했다. 사이트 결과를 자동 수집하거나 상업용 API가 있다고 가정하는 안은 포함하지 않는다.
5. 두 체계를 연결하는 기준
사주와 점성술은 각각 계산한 다음, 같은 주제와 같은 시기를 다루는 해석을 나란히 정리한다. 두 전통 체계의 공통 주제는 설명의 일관성을 높이는 단서로 사용한다. 이것을 과학적인 검증이나 미래 예측의 성공 확률이라고 표현하지 않는다.
| 상황 | 본문 처리 | 풍경 처리 |
|---|---|---|
| 같은 시기·같은 분야의 해석이 같은 방향 | 공통 주제를 핵심 문장으로 제시하고 각각의 근거를 설명 | 해당 주제를 표시 규칙에 전달 |
| 분야가 다름 | 일, 관계, 생활 등 각각의 문맥을 구분해 설명 | 전체를 억지로 한 방향으로 합치지 않음 |
| 같은 주제에서 방향이 다름 | 차이와 적용 조건을 설명하고 현실에서 확인할 기준 제시 | 혼합 상태로 처리 |
| 한 체계의 근거만 충분함 | 해당 체계에 근거한 해석임을 기록 | 제한된 근거로 선택했다는 범위 표시 |
| 입력·계산이 불확실함 | 확정 가능한 항목으로 제한 | 확정 근거가 없으면 초기 풍경 유지 |
| 계산 자체가 실패함 | 실제 풀이를 생성하지 않고 재시도 안내 | 초기 풍경 유지 |
임의의 ‘사주 70% + 점성술 30%’ 같은 점수를 사용하지 않는다. 해석 근거의 숫자를 세어 운세 확률을 만들지 않는다. 각 근거에는 주제·시기·조건을 기록한다.
통합 판단 예시
가상의 규칙 입력에서 사주 해석은 ‘지속성과 기반’을, 점성술 해석은 ‘새로운 시도’를 강조한다고 가정한다. 두 주제를 평균 내는 대신 ‘현재 기반을 유지하면서 작은 실험을 시작하는 방향’으로 정리한다. 본문에는 기반을 살펴본 이유, 시도를 살펴본 이유, 현실에서 확인할 조건을 각각 적는다.
이 예시는 통합 방식의 설명이며 실제 사용자의 계산 결과가 아니다.
6. 풍경을 고르는 규칙
풍경 선택은 AI의 자유로운 묘사로 정하지 않는다. 구조화된 해석의 주제를 고정된 표시 규칙에 넣어 결정한다. 다음 대응은 예지연이 제안하는 상징 체계이며, 전통 문헌의 유일한 대응법이라고 설명하지 않는다.
나의 바탕: 무엇으로 표현할 것인가
| 기본 오행 | 양의 표현 제안 | 음의 표현 제안 |
|---|---|---|
| 목 | 큰 나무의 줄기와 뻗는 가지 | 부드러운 가지, 잎과 풀 |
| 화 | 넓게 퍼지는 따뜻한 색과 빛 | 작은 온기와 은은한 빛 |
| 토 | 안정적인 산의 능선 | 부드러운 흙과 들판 |
| 금 | 바위의 또렷한 윤곽 | 작은 반짝임과 맑은 질감 |
| 수 | 넓게 이어지는 물결의 느낌 | 이슬과 작은 물방울 |
첫 표현의 기준 후보는 일간의 음양오행이다. 이것은 ‘나를 나타내는 시각적 상징’의 선택이며, 사람 전체를 일간 하나로 판정하는 규칙이 아니다. 전체 사주와 점성술의 해석은 본문에서 별도로 다룬다.
같은 나무·산·하늘 구도를 사용하면서 강조 요소 한두 개만 바꾼다. 예를 들어 화의 양 표현을 사용하더라도 개인 풍경이 밤이라면 따뜻한 색감으로 반영하고, 밤하늘에 실제 태양이 떠 있다고 그리지 않는다. 음양으로 낮밤을 자동 결정하지 않는다.
계절: 어떤 큰 주제인가
| 표시 | 해석에서 정리한 대표 주제 | 행동 설명 예시 |
|---|---|---|
| 봄 | 시작·탐색·새로운 기반 | 작게 시도하고 방향을 확인하기 |
| 여름 | 표현·확장·활동 | 힘을 쏟을 대상을 정하고 범위를 관리하기 |
| 가을 | 선별·정리·결실 | 남길 것과 바꿀 것을 구분하기 |
| 겨울 | 보존·회복·내부 준비 | 기반과 생활의 여유를 점검하기 |
계절은 해석의 주제에서 선택한다. 오행이 많다는 이유만으로 특정 계절을 배정하지 않는다. 주제가 충돌하면 각 주제를 설명한 뒤, 현재 요약에 적용할 범위가 분명한 대표 주제를 정한다. 충분한 근거가 없으면 계절을 확정하지 않는다.
날씨: 어떤 조건에서 활용하는가
| 표시 | 해석 조건 | 설명 방식 |
|---|---|---|
| 맑음 | 방향과 활용 조건이 비교적 일치함 | 무엇을 시도하고 확인할지 설명 |
| 흐림 | 기회·주의 요소가 함께 있거나 조건에 따라 방향이 달라짐 | 어느 조건에서 어떤 선택을 할지 설명 |
| 비 | 정비·준비·부담 관리가 우선되는 주제 | 준비할 것과 조정할 것을 설명 |
날씨는 운의 점수나 성공 확률이 아니다. 데이터 누락이나 서버 오류를 사용자의 ‘흐린 운세’ 또는 ‘비 오는 운세’로 바꾸지 않는다. 오류는 별도 상태로 처리한다.
낮밤: 어떻게 힘을 사용할 것인가
| 표시 | 해석의 활용 방향 |
|---|---|
| 낮 | 외부 표현, 교류, 행동을 중심으로 활용 |
| 밤 | 내부 정리, 탐색, 회복, 준비를 중심으로 활용 |
같은 봄이라도 ‘새로운 활동을 시작하는 봄의 낮’과 ‘새로운 방향을 안에서 준비하는 봄의 밤’으로 달라질 수 있다. 낮은 좋음, 밤은 나쁨으로 등급화하지 않는다.
결정 우선순위와 고정 범위
- 계산 상태와 입력의 확정 범위를 먼저 확인한다.
- 타고난 바탕과 시기에 따른 주제를 구분한다.
- 주제들의 시기·분야·조건을 맞춰 비교한다.
- 대표 계절, 활용 방향인 낮밤, 조건인 날씨를 각각 선택한다.
- 선택한 항목마다 해석 근거와 표시 규칙 ID를 기록한다.
- 같은 주제와 동일한 조건의 충돌을 해결할 수 없으면 혼합 상태를 설명하거나 해당 표현을 보류한다.
메인 풍경의 초기 시간 범위 제안은 ‘분석 시점의 현재 흐름’이다. 해당 연도의 해석과 현재 대운의 맥락을 구분해 표시한다. 생애 전체를 하나의 계절로 고정하지 않는다. 구체적인 시기 문장에는 적용 시작·종료 범위를 함께 기록한다. 단기 변화가 연간 주제처럼 표현되지 않도록 한다.
초기 화면의 날짜·시간과 개인 분석의 기준일은 별도 값이다. 입력을 완료해 개인 풍경이 확정되면 접속 시간이 지나도 그 결과를 자동으로 다른 낮밤으로 덮어쓰지 않는다. 사용자가 다시 분석하거나 기준일을 바꿀 때 새로운 결과를 만든다.
7. 상세 본문의 기준
순서와 문체
- 핵심 풀이와 현재의 풍경: 방향을 먼저 말하고 풍경의 의미를 짧게 설명.
- 나의 바탕: 오행·음양과 출생 차트의 기질·강점을 통합해 설명.
- 생애의 큰 흐름: 계산 가능한 시기별 주제와 현재 위치를 구분.
- 일과 재물: 역할, 환경, 보상·생활 조건을 살펴볼 기준.
- 사랑·가족·인간관계: 관계 방식, 경계, 소통의 주제.
- 생활의 리듬: 활동·회복·준비의 균형.
- 지금 활용할 방향: 현실에서 확인할 질문과 작은 행동.
각 부분은 ‘해석 근거 → 일상적인 설명 → 적용 방법’으로 이어 쓴다. 근거 ID는 내부에 남기고 독자에게는 필요한 용어를 짧게 설명한다. 본문은 탭이나 접기 버튼 없이 모두 펼친다.
문체는 차분한 존댓말을 사용하되 결론을 앞에 둔다. 명쾌함은 방향과 조건을 분명히 설명하는 데서 만든다. 입증되지 않은 미래 사건을 확정 사실로 말하거나, 두 해석이 다를 때 한쪽을 감추지 않는다.
AI가 받는 자료
- 확정된 계산 결과와 불확실한 항목 목록.
- 출처·조건·주제·시기를 가진 해석 근거.
- 통합 판단 결과와 선택된 풍경.
- 본문의 순서·문체·길이 목표.
- 이번 결과에서 설명할 수 없는 범위.
AI의 역할은 이 자료를 읽기 쉬운 상세 본문으로 작성하는 것이다. 입력에 없는 간지·행성 위치·성별·생애 사건을 추가하지 않는다. 풍경 상태를 독자적으로 바꾸지 않는다. 특정 시기의 문장은 해당 기간의 근거가 있을 때만 쓴다.
10~15분은 편집 목표다. 초기 본문은 약 6,000~9,000자를 후보 범위로 두고 실제 모바일 읽기 검수로 조절한다. 입력 정보나 근거가 부족한 경우 길이를 채우기 위해 비슷한 문장을 반복하지 않는다.
작성 뒤 확인
- 핵심 문장과 본문의 해석 방향이 같은가.
- 풍경의 계절·날씨·낮밤과 본문 설명이 일치하는가.
- 계산에 없는 사실·시기·숫자를 추가했는가.
- 동일한 이야기가 여러 분야에서 반복되는가.
- 불확실한 부분이 확정된 특징처럼 바뀌었는가.
- 재물 풀이가 투자 지시로, 생활 리듬 풀이가 질병 진단으로 바뀌었는가.
8. 저장하는 결과 구조
아래는 실제 원국 데이터가 없는 구조 설명용 가상 예시다. 근거 두 개를 어떻게 연결하는지 보여준다.
개발용 결과 구조 예시 보기
{
"mode": "illustrative-rule-example",
"version": "yejiyeon-analysis-design-0.1",
"birth_input": null,
"computed_chart": null,
"evidence": [
{
"id": "EXAMPLE-SAJU-1",
"system": "saju",
"scope": "current-theme-example",
"topic": "foundation",
"condition_tags": ["preserve-foundation", "preparation-required"],
"message": "지속성과 기반을 살펴보는 가상 해석",
"status": "illustrative"
},
{
"id": "EXAMPLE-WESTERN-1",
"system": "western",
"scope": "current-theme-example",
"topic": "new-attempt",
"condition_tags": ["new-start", "outward-action"],
"message": "새로운 시도를 살펴보는 가상 해석",
"status": "illustrative"
}
],
"fusion": {
"relationship": "complementary",
"headline": "기반을 지키면서 작은 시도를 시작하세요.",
"basis_ids": ["EXAMPLE-SAJU-1", "EXAMPLE-WESTERN-1"]
},
"scene": {
"season": "spring",
"weather": "cloudy",
"phase": "day",
"symbolic": true,
"explanation": "시작의 기회와 기반 점검이라는 조건을 함께 살펴보는 예시입니다.",
"rule_ids": ["SCENE-START", "SCENE-MIXED-CONDITIONS", "SCENE-ACTION"],
"basis_ids": ["EXAMPLE-SAJU-1", "EXAMPLE-WESTERN-1"]
}
}실제 결과에는 다음 메타데이터를 추가한다.
- 정규화한 입력과 확인한 시간대·좌표.
- 계산 도구 버전, 달력·자시·시간 보정 설정, 하우스·각 설정.
- 분석 기준일과 각 해석의 적용 기간.
- 해석 규칙 버전, 본문 작성 설정, 결과 버전.
- 계산 사실·해석 근거·풍경의 연결 ID.
같은 입력뿐 아니라 같은 기준일과 같은 설정·버전일 때 같은 해석 구조가 나오도록 한다. 본문의 표현까지 같게 유지하려면 확정된 결과를 저장해 다시 보여준다. 현재 풍경을 바꿀 때는 새 기준일로 생성한 결과임을 표시한다.
9. 검토 사례와 기대 동작
아래는 앞으로 구현할 계산·통합·화면의 검수 사례다. 현재 통합 라이브러리를 실행해 통과한 테스트라는 의미는 아니다.
| 사례 | 기대 동작 |
|---|---|
| 같은 실제 출생 순간을 양력·음력으로 각각 입력 | 정규화 이후 동일한 계산·해석 구조 |
| 음력 윤달 여부가 불명확해 양력 후보가 두 개 | 날짜 구분 확인 후 진행 |
| 출생 시간 모름, 달의 별자리 후보가 바뀜 | 달의 특징을 한 값으로 확정하지 않음 |
| 시간 모름, 하루 중 절입이 발생 | 년·월주 후보 중 변하는 항목의 해석 제한 |
| 자시·날짜 변경 경계 | 고정된 정책에 따른 결과와 경계 안내 |
| 대운 계산용 성별 기준 선택 안 함 | 순행·역행 확정 제외, 나머지 가능한 풀이 제공 |
| 동일 주제에서 두 체계가 다른 방향 | 차이와 활용 조건 설명, 임의 평균 점수 없음 |
| 밤에 접속했으나 개인 활용 방향이 외부 활동 | 분석 후 낮 풍경 표시 가능 |
| 개인 흐름이 겨울·밤·비 | 정비·보존·회복의 활용 설명, 불운 등급 없음 |
| 출생 도시를 확정하지 못함 | 자동으로 서울 등 다른 도시를 넣지 않음 |
| 하우스 계산 오류 | 해당 항목 제외·안내, 다른 체계로 자동 전환 없음 |
| 계산 서버 실패 | 초기 화면 유지, 실제 풀이로 보이는 샘플을 대신 출력하지 않음 |
| 글 생성 중 오류 | 검증된 결과만 표시, 재시도에서 간지·풍경이 바뀌지 않음 |
달력·시간대·절입·간지·행성 위치의 비교 검증과, 해석 규칙의 전문 검토는 별도 작업으로 진행한다. 예시 화면의 문장을 실제 계산 결과로 재사용하지 않는다.
10. 다음 구현 순서
- 입력 화면에 대운 계산용 성별 기준을 추가하는 안을 검토한다. 선택 안 함도 제공한다.
- 지원 국가·연도, 사주의 경계 처리 정책, 서양 점성술의 계산 설정과 제공 방식·라이선스를 확정한다.
- 기준 사례로 계산 결과를 비교해 달력·시간대·경계 처리를 먼저 검증한다.
- 해석 규칙에 조건·출처·시기·주제 ID를 붙인다. 규칙이 없는 계산 요소는 본문에서 임의 해석하지 않는다.
- 통합 결과와 풍경 규칙을 연결하고, 본문 생성이 그 결과를 따르는지 확인한다.
- 승인한 메인·입력·연속 풀이 디자인에 실제 결과를 연결한다.
이 단계의 산출물은 분석 구조와 표시 규칙이다. 계산 라이브러리, 완성된 해석 규칙집, 실제 AI 연결은 다음 구현 단계의 산출물이다.
참고 자료
- 한국천문연구원 음양력 변환 — 평달·윤달·모름과 날짜 변환 입력 확인.
- lunar-python의 대운 계산 구현 — 성별 입력과 연간 음양을 사용하는 구현 사례. 한국 기준 적합성은 별도 검증 대상.
- Swiss Ephemeris 공식 프로그래밍 문서 — 행성·하우스 계산 인터페이스와 라이선스 구조 확인.
- 한국천문연구원 월력요항 안내 — 공식 음력·절기 등 달력 기준 자료 확인.
- lunar-python 라이선스 — MIT 라이선스 표시 확인. 계산 정확성과 한국 기준 검증은 라이선스와 별개의 문제.
자료 확인일: 2026-10-12. 참고 자료의 달력·천체 계산 사실과 예지연이 제안하는 해석·표시 규칙을 구분한다.