사주 룰 + AI 해석 하이브리드: 왜 룰 엔진만으로는 안 되는가

반응형

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에게 해석을 맡겼을 때 실제로 어떤 방식으로 실패하는지 — 할루시네이션이 사주 맥락에서 어떻게 나타나는지, 그리고 어떻게 방어했는지.

 

반응형