2026.02.17 - [개발] - 사주 앱 개발 4편 - 룰 엔진 + AI 해석 하이브리드 설계
사주 룰 + AI 해석 하이브리드 설계과정에 대한 좀 상세한 분석이다
처음에는 코드로 다 해결할 수 있다고 생각했다.
사주 계산 자체는 알고리즘이다. 생년월일시가 들어오면 천간과 지지를 뽑고, 절기를 기준으로 월주를 정하고, 진태양시로 보정하면 네 기둥이 나온다. 오행 비율 계산, 십신 배치, 합충형파해 검출까지 전부 규칙이 명확하다. 명리학 책 한 권만 제대로 파면 룰 엔진으로 구현 가능하다.
문제는 그 다음이었다.
조합이 폭발하는 순간
네 기둥이 완성됐다. 이제 해석 텍스트를 붙여야 한다.
일간(日干)만 해도 10개다. 甲乙丙丁戊己庚辛壬癸. 여기에 월지(月支) 12개를 곱하면 120가지 기본 조합이 나온다. 여기까지는 관리 가능하다. 궁통보감이 이 120가지를 이미 정리해놨으니까.
문제는 여기서부터다.
같은 甲木 일간이라도 시주에 무엇이 오느냐에 따라 해석이 달라진다. 시주에 편관이 있는 경우, 편인이 있는 경우, 식신이 있는 경우가 각각 다르다. 용신이 무엇인지에 따라 또 달라진다. 대운이 어디에 있는지에 따라 또 달라진다.
실제로 경우의 수를 계산해봤다.
일간 10 × 월지 12 × 시지 12 × 주요 십신 조합 × 용신 변수 × 합충 여부
이론상 수만 가지를 넘는다. 그리고 명리학의 핵심은 이 변수들이 독립적으로 작동하지 않는다는 것이다. 서로 영향을 주고받는다. 편재가 두 개라도 합이 되어 묶이면 힘이 약해진다. 관성이 강해도 인성이 없으면 관성을 써먹지 못한다.
if-else로 이걸 다 커버하려고 시도했다가, 분기가 수십 개를 넘어가는 순간 코드가 스스로 모순을 만들기 시작했다.
직접 실험한 결과
룰 엔진 포기 전에 한 번 다른 방향을 시도했다. Claude에게 생년월일시를 직접 넘기고 "이 사람의 사주를 풀어줘"라고 요청한 것이다.
결과는 읽을 만했다. 처음엔 이걸로 가도 되겠다 싶었다.
그런데 같은 생년월일을 여러 번 넣어봤더니 일주가 다르게 나오는 경우가 있었다. 절기 경계선 근처 날짜였다. 2월 4일 입춘 시각 전후로 태어난 사람의 월주를 AI가 다르게 판정한 것이다. 룰 엔진으로는 절기 데이터를 분 단위로 계산하면 해결되는 문제인데, AI 내부에서 이 계산이 어떻게 돌아가는지 확인할 방법이 없다.
더 심각한 문제가 있었다. "편재가 강하므로 사업 적성이 있습니다"라는 해석이 나왔을 때, 실제로 사주에 편재가 몇 개인지, 용신과의 관계는 어떤지를 검증할 수가 없었다. AI가 그럴듯하게 생성한 것인지, 실제 분석 결과인지 구분이 안 됐다.
사주 해석에서 신뢰는 "왜 그런 결론이 나왔는가"를 보여줄 수 있을 때 생긴다. 근거가 블랙박스면 아무리 결과가 그럴듯해도 서비스로 쓸 수 없다.
룰 엔진이 실제로 잘하는 것
실험을 거치고 나서 정리한 룰 엔진의 역할이다.
룰 엔진이 해야 하는 것:
- 사주 네 기둥 계산 (절기 기반, 진태양시 보정)
- 천간과 지지의 오행 분류
- 십신 관계 배치 (일간 기준 상대적 관계)
- 오행 비율 계산
- 합충형파해 검출 (위치 기반, 규칙이 명확)
- 12운성 배치
- 용신 판단 (억부법, 조후법 — 규칙 기반 판단 가능)
이것들은 정답이 있다. 명리학 이론에서 규칙이 정해져 있고, 같은 입력에는 항상 같은 출력이 나와야 한다. 재현성이 생명이다.
룰 엔진이 못 하는 것:
- 위 데이터를 사람이 읽을 수 있는 문장으로 바꾸는 것
- 여러 요소가 복합적으로 작용하는 맥락을 언어로 표현하는 것
- "이 사람에게 지금 이 시기는 어떤 의미인가"를 풀어내는 것
이 선을 명확히 그은 것이 하이브리드 설계의 출발점이었다.
왜 룰 엔진 없이 AI만 쓰면 안 되는가 — 정리
| 계산 정확성 | 검증 불가 | 룰 엔진이 보장 |
| 재현성 | 같은 입력, 다른 출력 가능 | 계산 결과는 항상 동일 |
| 해석 근거 | 블랙박스 | 구조화된 데이터 기반 |
| 할루시네이션 | 그럴듯한 오류 가능 | AI가 이미 검증된 데이터만 해석 |
| 비용 | 전체 계산 + 해석을 AI가 | 해석 부분만 AI 호출 |
룰 엔진이 없으면 AI는 "계산하는 척"을 하게 된다. 계산이 맞는지 틀린지 확인할 방법도 없고, 틀려도 자신있게 말한다. 룰 엔진이 있으면 AI는 "이미 계산된 데이터를 해석"한다. 역할이 명확해지고, 각자 잘하는 것만 한다.
복잡한 도메인에서 AI를 쓸 때 가장 먼저 물어야 할 질문이 이것이다.
"이 중에서 정답이 있는 부분은 어디고, 해석이 필요한 부분은 어디인가."
정답이 있는 부분은 코드로 처리한다. 해석이 필요한 부분만 AI에게 넘긴다.
다음 편에서는 반대 방향을 다룬다. AI에게 해석을 맡겼을 때 실제로 어떤 방식으로 실패하는지 — 할루시네이션이 사주 맥락에서 어떻게 나타나는지, 그리고 어떻게 방어했는지.
'개발 > AI' 카테고리의 다른 글
| 사주 룰 + AI 해석 하이브리드: 어디서 나눌 것인가 — 경계 설계 (0) | 2026.03.04 |
|---|---|
| 사주 룰 + AI 해석 하이브리드: AI 단독 해석이 실패하는 지점 (0) | 2026.03.04 |
| "당신은 전문 사주 역술인입니다" — 이 프롬프트가 왜 작동 안 하는가 (1) | 2026.03.02 |
| AI가 만든 사주 앱은 왜 다 보라색인가 — 도메인 없이 바이브 코딩하면 생기는 일 (0) | 2026.03.02 |
| 사주 AI 서비스 월 0원 (무료) 인프라 구축, 함정카드 발동 (0) | 2026.03.01 |
