AI에만 맡기면 안 되는 이유 — 하이브리드 아키텍처의 핵심
같은 질문, 다른 답
"1990년 5월 15일 오전 6시에 태어난 남성의 사주를 풀어줘."
프로젝트 초기에 이 질문을 AI에게 세 번 던졌다. 세 번 모두 그럴듯한 해석이 돌아왔다. 문제는 세 번의 답에서 일주(日柱)가 두 가지로 갈렸다는 것이다. 한 번은 갑진(甲辰), 두 번은 을사(乙巳). 사주의 출발점인 일주가 다르면 그 위에 쌓이는 모든 해석이 무너진다. 이 실험 하나로 "사주 계산을 AI에 직접 맡기면 안 된다"는 결론이 나왔다.
AI 블랙박스의 위험성
왜 이런 일이 생기는 걸까. 사주 기둥을 세우는 과정은 단순한 날짜 변환이 아니다.
연주(年柱)는 양력 1월 1일이 아니라 입춘(立春) 기준으로 바뀐다. 2024년 입춘은 2월 4일 17시 27분이다. 2024년 2월 3일에 태어난 사람은 양력으로는 2024년이지만, 사주에서는 아직 2023년(계묘년)이다. 이 절기 경계를 분 단위로 정확히 판정해야 한다.
월주(月柱)도 마찬가지다. 양력 월이 아니라 절기를 기준으로 월이 바뀐다. 소한(小寒)부터 입춘 전까지가 축월(丑月), 입춘부터 경칩 전까지가 인월(寅月). 24절기 중 12개의 "절(節)"이 월의 경계를 결정한다. 이 경계 역시 시간 단위로 정확해야 한다.
시주(時柱)에서는 진태양시(眞太陽時) 보정이라는 함정이 있다. 한국 표준시는 동경 135도 기준이지만, 서울의 실제 경도는 약 127도다. 이 차이를 보정하지 않으면 시주가 달라질 수 있다. 특히 자시(子時)와 축시(丑時)의 경계, 묘시(卯時)와 진시(辰時)의 경계처럼 시간대 전환점에 태어난 사람은 보정 여부에 따라 시주 자체가 바뀐다.
AI에게 "1990년 5월 15일 오전 6시 태어난 사람의 사주"를 물었을 때, AI 내부에서 이 절기 경계 판정과 진태양시 보정을 정확히 수행했는지 확인할 방법이 없다. 이것이 블랙박스의 핵심 문제다. 결과가 맞는지 틀리는지를 결과만 보고는 판단할 수 없다.
해석 근거의 불투명함
계산의 부정확성보다 더 심각한 문제가 있었다. 해석의 근거가 보이지 않는다는 것이다.
AI가 "편재(偏財)가 강하므로 사업 적성이 있습니다"라고 말했다고 하자. 사주를 아는 사람이라면 당연히 이런 질문을 한다. 편재가 어느 기둥에 있는가? 몇 개인가? 일간과의 관계에서 편재가 용신인가 기신인가? 지장간에 숨어 있는 편재까지 포함한 것인가?
AI에게 직접 사주를 풀게 하면, 이런 중간 과정을 보여줄 수가 없다. "왜 그런 결론이 나왔는지"를 사용자가 검증할 수 없다면, 그것은 사주 풀이가 아니라 점이다. 사주명리의 가치는 체계적인 분석 과정에 있는데, 그 과정이 통째로 감춰지는 것이다.
전문 사주 앱들은 명식표(命式表)를 반드시 보여준다. 네 기둥의 천간과 지지, 각 위치의 십신, 지장간, 오행 비율. 이 데이터 자체가 사용자에게 가치를 제공한다. AI에게만 맡기면 이 "분석 과정의 시각화"가 원천적으로 불가능하다.
하이브리드라는 해답
이 두 문제를 동시에 해결하는 방법이 하이브리드 아키텍처다.
룰 엔진이 담당하는 영역은 명확하다. 양력-음력 변환, 절기 기반 월주 판정, 진태양시 보정, 일주 계산, 시주 계산. 그리고 네 기둥이 세워진 후의 분석도 룰 엔진의 몫이다. 천간과 지지의 오행 판별, 일간 기준 십신 관계 계산, 지장간 추출, 합충형파해 검출, 12운성 배치, 오행 비율 산출, 용신 판단.
이 모든 과정은 명확한 규칙이 존재한다. 갑(甲)의 오행은 반드시 목(木)이다. 일간이 갑(甲)이고 상대가 무(戊)이면 그 십신은 반드시 편재다. 여기에 AI의 판단이 끼어들 여지가 없고, 끼어들어서도 안 된다.
AI가 담당하는 영역도 명확하다. 룰 엔진이 출력한 구조화된 분석 결과를 받아서, 사람이 읽을 수 있는 자연어로 종합 해석하는 것이다. "오행 비율이 木 35%, 火 10%, 土 20%, 金 25%, 水 10%이고, 용신이 火인 이 사주의 성격적 특성을 설명해주세요." 이런 식의 요청이다.
이 분리가 만들어내는 효과는 세 가지다.
첫째, 정확성이 보장된다. 룰 엔진의 계산 결과는 결정적(deterministic)이다. 같은 입력에 항상 같은 출력이 나온다. 만세력 사이트와 교차 검증이 가능하고, 단위 테스트로 자동 검증할 수 있다.
둘째, 투명성이 확보된다. 사용자에게 명식표, 오행 차트, 십신 관계를 시각적으로 보여줄 수 있다. AI 해석이 어떤 데이터에 기반하는지 사용자가 직접 확인할 수 있다.
셋째, 해석의 자연스러움이 유지된다. 룰 기반으로만 해석을 만들면 "편재 2개, 정재 1개, 재물운 보통"같은 건조한 나열이 된다. AI는 이 데이터를 맥락 있는 서사로 바꿔준다.
경계를 긋는 기술
하이브리드 아키텍처의 핵심은 결국 "AI에게 무엇을 시키고 무엇을 시키지 않는가"의 경계를 긋는 것이다.
이 경계를 긋는 기준은 단순하다. "정답이 하나인가, 여러 개인가." 갑(甲)의 오행이 목(木)이라는 것은 정답이 하나다. 룰 엔진이 한다. "이 사주의 성격적 강점은 무엇인가"는 정답이 여러 개다. AI가 한다.
조금 더 구체적으로 말하면, 계산(calculation)은 코드로, 판단(judgment)은 AI로. 분류(classification)는 코드로, 서사(narrative)는 AI로. 이 원칙은 사주 프로젝트를 넘어서 AI 협업 전반에 적용할 수 있다.
실무에서 이 경계가 가장 미묘했던 부분은 용신(用神) 판단이었다. 용신은 사주에서 가장 필요한 오행을 판정하는 것인데, 학파마다 판단법이 다르다. 억부법(抑扶法)은 일간의 강약을 기준으로, 조후법(調候法)은 계절과 온도를 기준으로 판단한다. 이 판단을 룰 엔진에 넣을 것인가, AI에 맡길 것인가.
결론은 룰 엔진에 넣는 것이었다. 용신 판단에는 "이 조건이면 이 오행"이라는 규칙이 있고, 그 규칙은 코드로 표현할 수 있다. 다만 학파별 차이를 반영하기 위해 "기본값은 억부법, 설정에서 조후법 선택 가능"이라는 유연한 구조를 채택했다. AI에게는 "판단된 용신이 무엇이고, 그것이 이 사주에서 어떤 의미를 갖는지 해석하라"고만 요청한다.
이 실험이 알려준 것
프로젝트 초기의 그 간단한 실험 — AI에게 사주를 직접 풀어달라고 한 것 — 은 전체 아키텍처를 결정지은 실험이었다. 만약 그 실험을 하지 않고 "AI가 알아서 해주겠지"라는 가정으로 시작했다면, 프로젝트는 중반에 무너졌을 것이다.
AI는 놀라울 정도로 많은 것을 할 수 있다. 하지만 "AI가 할 수 있는 것"과 "AI에게 맡겨야 하는 것"은 다른 문제다. 사주 계산을 AI가 할 수 있냐고 물으면, 대부분의 경우 할 수 있다. 그러나 그 결과를 신뢰할 수 있느냐, 검증할 수 있느냐, 사용자에게 과정을 보여줄 수 있느냐고 물으면 답이 달라진다.
하이브리드 아키텍처는 AI의 강점과 코드의 강점을 각각 살리는 구조다. 이것은 타협이 아니라, 두 가지를 모두 극대화하는 전략이다.
다음 편 예고
하이브리드의 한쪽인 "룰 엔진"은 정해진 규칙대로 계산하면 된다. 다른 한쪽인 "AI 해석"은 어떻게 품질을 끌어올릴까. 다음 편에서는 프롬프트 엔지니어링의 핵심, 그리고 해석 품질을 극적으로 바꾼 궁통보감(窮通寶鑑) 데이터의 마법을 다룬다.
댓글
댓글 쓰기