사주 계산 방법: 규칙, 버전, 재현 가능한 검증 자료
OpenFate의 과거 시간대, 진태양시, 절기, 사주, 격국과 대운 계산을 공개 테스트, 실제 출력과 수정 기록으로 확인하세요.
개요
OpenFate는 명식을 먼저 계산하고 AI가 설명합니다. 공개 역법 엔진, 내려받을 수 있는 사례, 버전이 기록된 자료로 규칙과 지정 출력을 재현할 수 있습니다. 본 서비스에는 고정된 과거 시간대 처리, 초 단위 대운 시작 계산, 자체 격국·신살 정책도 있습니다. 이 페이지는 두 계층과 각 검증 범위를 구분합니다.
1. 기록된 출생 시각을 해석합니다
원래 달력, 날짜, 현지 시각, 출생지부터 확인합니다. 음력 입력은 윤달 선택을 유지해 변환합니다. 월주의 경계는 절기이며 음력 월 번호가 아닙니다. 일반 계산에는 출생 시간이 필요합니다. 모를 때는 시간 보정 기능에서 후보를 비교하고 임의의 시간을 확정 정보로 취급하지 않습니다.
새 명식에는 정식 시간대 344개와 별칭 253개를 담은 고정 IANA 2026d를 사용합니다. 별칭은 같은 시간대의 다른 이름이며 국가 수에 더하지 않습니다. 계산 기록에는 UTC 차이, 표준 시차, 서머타임 보정이 남습니다. 존재하지 않는 시각은 거부하고 중복 시각은 후보를 보존해 모호성이 해결될 때까지 확정하지 않습니다. 1970년 이전 자료는 불완전할 수 있어 IANA 일치가 모든 지역의 과거 관행을 보증하지는 않습니다.
2. 선택한 진태양시 규칙을 적용합니다
진태양시는 기본으로 켜져 있습니다. 현지 시각을 해석한 뒤 경도 보정과 균시차를 적용합니다. 해당 표준 자오선과 경도 1도 차이마다 4분을 보정하고, 균시차는 Meeus 방법으로 구합니다. 두 항목을 기록하며 설정을 끄면 선택한 현지 시각 기준으로 계산합니다.
보정으로 시진이나 날짜가 바뀔 수 있어 입력 시각과 계산 시각을 따로 저장합니다. 분 단위 시간대, 과거의 초 단위 시차, 음의 서머타임, 큰 경도 차이를 정수 시간대로 반올림하지 않습니다.
3. 명확한 날짜·절기 경계로 사주를 구합니다
기본 날짜 전환은 23시이며 0시 전환도 지원합니다. 선택은 명식에 저장합니다. 늦은 자시의 시간 천간은 일주와 별도로 확인하므로 규칙 이름만 바꾸는 것으로는 충분하지 않습니다.
연주는 입춘, 월주는 열두 절을 경계로 하며 본 서비스는 출생 순간과 절입 순간을 비교합니다. 역법은 고정 버전의 lunar-javascript를 사용합니다. 초까지 표시하는 것은 구현 정밀도를 뜻하며 독립적인 천문 정확성 주장은 별도의 기준 비교가 필요합니다.
사주를 정한 뒤 지장간, 십성, 납음과 지지 관계를 계산합니다. 합의 검출은 관계가 있다는 뜻이며 자동으로 합화 성립을 뜻하지 않습니다. 십성은 일간과 각 지장간으로 계산해 목록 순서가 달라 생기는 오류를 방지합니다.
4. 대운의 방향과 시작 시각을 계산합니다
방향은 명시한 성별과 연간 음양 규칙을 따릅니다. 해당 절입까지의 간격을 구한 뒤 버전이 정해진 삼일일년 환산법을 적용합니다. 새 명식은 DAYUN_SECOND_V2로 시작 시각과 근거를 보존하며 정수 나이만 보여 주지 않습니다.
다운로드 예시는 본 서비스 패치가 적용된 1.1.1 역법 계층과 원래 대운 계약을 사용하며 DAYUN_SECOND_V2 검증은 아닙니다. 저장된 리포트는 원래 시작 시각 버전을 유지하며 열 때 알고리즘이 바뀌지 않습니다.
5. 격국을 판별하고 신살을 전체 맥락에서 읽습니다
본 서비스는 월령 틀 12개와 성립 경로 19개를 기록합니다. 정격 식별, 성격, 파격은 서로 다른 질문입니다. 틀을 식별해도 성립한 것은 아니며 조건 부족만으로 파격이 되지 않습니다. 특수격은 별도로 확인하므로 타 서비스의 격국 수와 직접 환산할 수 없습니다.
원국·세운 범위에 등록된 신살은 44개입니다. 모두 출처 또는 채택 방침이 있으나 덕수 1개 규칙은 출처 쟁점으로 제공을 보류합니다. 고전 부합, 현대 관례, 학파 차이, 내부 정책을 구분하며 출처 처리가 끝났다는 것이 모든 학파의 합의를 뜻하지는 않습니다.
일간, 월령, 통근, 십성과 형충합해를 먼저 보고 신살을 보조 상징으로 사용합니다. 같은 신살이 반복된다는 이유만으로 가중치를 배로 늘리지 않습니다. 고전과 용어는 Wiki에서 설명하고 강약 수치와 판단 정책은 OpenFate 구현의 선택으로 명시합니다.
강약은 여덟 글자의 단순 개수가 아니라 월령, 뿌리, 지장간과 구조적 관계를 고려한 모델입니다. 용신 판단은 억부, 조후와 격국의 요구를 구분하고 충돌이나 경계 조건에서는 조건부 대안을 유지합니다. 후보 오행을 모두 똑같이 유리하다고 보지 않습니다. 세운은 대운의 맥락에서 읽습니다. 이는 명시한 해석 정책이며 인생 사건의 확률이 아닙니다.
6. 완성된 명식을 설명하고 리포트 버전을 보존합니다
AI는 계산된 명식과 구조화된 근거를 받아 리포트와 Orb 답변을 작성합니다. 글이 명식과 모순되면 확정 계산을 우선합니다. 소프트웨어는 구조와 근거 일관성을 검사하며 해석 품질은 별도로 평가합니다.
저장 리포트는 원래 근거와 버전으로 표시합니다. 새 계산은 새 규칙을 사용해도 기존 내용을 덮어쓰지 않습니다. 계산 재현성, 규칙 일치, 유용한 해석은 서로 다른 품질이며 어느 하나도 예측 정확성을 입증하지 않습니다.
실제로 무엇을 확인했나요?
검증 자료는 따로 기록합니다. 지정 공개 소스는 157개 테스트를 통과했습니다. 8개 사례 재실행에서 8개가 완전히 일치했고 알려진 기록 차이는 0개입니다. 본 서비스의 150개 시간대 검증은 독립 생성 IANA/TZif 기준과의 내부 비교이며 전체 자료는 비공개입니다. 해시는 파일을 식별할 뿐 독립 인증이 아닙니다. 서로 다른 검사 수를 명식 수로 더하지 않습니다.
- 본 서비스 의존 패키지(패치 적용)
- 1.1.1
- 공개 합성 역법 사례
- 8
- 본 서비스 검증 시간대
- 150
- 고정 UTC 시차 비교
- 30,600
- 전환 전후 시점 검사
- 22,953
- 존재하지 않는 현지 시각
- 3,869
- 중복된 현지 시각
- 3,782
- 십성 천간 관계 검사
- 100
- 지장간 단언 검사
- 910
- 등록 신살
- 44
- 제공 보류 신살 규칙
- 1
공개 사례의 실제 출력
본 서비스 패치를 적용한 1.1.1로 기대 출력을 확인한 합성 입력입니다. 사주는 연·월·일·시 순서입니다. JSON에는 설정과 기대 출력이 있고 별도 자료 목록이 원본의 불완전한 버전 정보를 보충합니다. 원본은 유지합니다. 실제 고객 기록이나 전문가가 판정한 예측 사례는 아닙니다.
상하이: 민간 시각 기준
연주 · 월주 · 일주 · 시주: 甲辰 · 辛未 · 庚辰 · 癸未
기록 시각 → 계산 시각: 2024-07-15 14:20:00 → 2024-07-15 14:20:00
카트만두: 분 단위 시차
연주 · 월주 · 일주 · 시주: 癸卯 · 甲子 · 甲子 · 庚午
기록 시각 → 계산 시각: 2024-01-01 12:00:00 → 2024-01-01 11:53:04
상하이: 과거 서머타임
연주 · 월주 · 일주 · 시주: 戊辰 · 己未 · 辛未 · 乙未
기록 시각 → 계산 시각: 1988-07-15 15:20:00 → 1988-07-15 13:59:42
늦은 자시: 23시 전환
연주 · 월주 · 일주 · 시주: 甲辰 · 庚午 · 辛亥 · 戊子
기록 시각 → 계산 시각: 2024-06-15 23:45:00 → 2024-06-15 23:12:20
늦은 자시: 0시 전환
연주 · 월주 · 일주 · 시주: 甲辰 · 庚午 · 庚戌 · 戊子
기록 시각 → 계산 시각: 2024-06-15 23:45:00 → 2024-06-15 23:12:20
음력 윤달 변환
연주 · 월주 · 일주 · 시주: 癸卯 · 乙卯 · 己卯 · 己巳
기록 시각 → 계산 시각: 2023-03-22 09:30:00 → 2023-03-22 09:30:00
입춘 직전
연주 · 월주 · 일주 · 시주: 癸卯 · 乙丑 · 戊戌 · 庚申
기록 시각 → 계산 시각: 2024-02-04 16:20:00 → 2024-02-04 16:20:00
입춘 직후
연주 · 월주 · 일주 · 시주: 甲辰 · 丙寅 · 戊戌 · 庚申
기록 시각 → 계산 시각: 2024-02-04 16:30:00 → 2024-02-04 16:30:00
공개 계산 재실행
Node.js와 Git이 설치된 임시 폴더에서 지정 커밋을 가져오고 생명주기 스크립트를 끈 채 잠긴 의존성을 설치한 다음 공개 테스트를 실행합니다. 자료 목록에는 다운로드 사례 8건도 있습니다. 공개 역법 엔진을 재실행하는 절차이며 본 서비스의 비공개 해석 엔진 전체를 포함하지 않습니다.
실측 결과: 공개 소스 리비전 694adfe은 157개 테스트를 통과했고 8개 사례 중 8개가 완전히 일치합니다. 상하이 역사적 서머타임 사례도 사주, 역법, 진태양시, 대운, metadata.dstOffset 기록이 동결 데이터와 일치합니다. 이는 공개 필드에 한정된 재현 가능한 결과이며 전체 엔진이나 예측 정확성을 증명하지 않습니다. 공개 npm 패키지 1.1.3에는 이 수정이 포함되며 앱 의존성은 별도 버전으로 관리됩니다.
git clone https://github.com/openfate-ai/bazi-engine.git
cd bazi-engine
git checkout 694adfe64b5f17602c3f4e7359ae97d7232a6426
npm ci --ignore-scripts
npm test
curl -fSLo bazi-validation-v1.json https://openfate.ai/bazi-validation-v1.json
curl -fSLo bazi-public-replay-v1.mjs https://openfate.ai/bazi-public-replay-v1.mjs.txt
node --import tsx bazi-public-replay-v1.mjs . bazi-validation-v1.json수정·버전·검토 정책
issue #1의 지장간 십성 뒤바뀜은 공개 소스 694adfe와 본 서비스 1.1.1 패치에서 수정했습니다. 본 서비스 패치판은 천간 관계 100개와 지장간 단언 910개를 통과했습니다. 수정하지 않은 npm 1.1.1에는 이전 구현이 남고 공개 npm 1.1.3에는 수정이 포함됩니다. 소스 수정, 서비스 패치, npm 배포판은 각각 기록합니다.
본 서비스의 새 계산은 IANA 2026d를 사용하며 2026c 기록은 기존 리포트용으로 보존합니다. 공개 true-solar-time 패키지는 별도 릴리스 이력이 있으므로 그 버전과 테스트 수를 본 서비스 고정 해석기의 기록으로 대신할 수 없습니다.
차이를 제보할 때 계산 버전, 달력, 시간대, 경도, 설정과 출력을 함께 보내 주세요. 개인 출생 정보는 고객지원에 비공개로 전달해 주세요. 확인한 수정은 버전별 회귀 사례에 추가하며 자료 확인 후에만 이 페이지의 날짜를 갱신합니다.
규칙, 선택된 합성 사례, 집계와 파일 해시를 공개합니다. 비공개 프롬프트, 전체 규칙표, 가중치와 전체 검토 사례는 보호합니다. 검토자 신원은 비공개일 수 있으며 독립적인 추천은 이를 뒷받침하는 검토가 완료된 경우에만 표시합니다.