바이브코딩으로 사주 앱 만들기: 계산에서 막히는 곳과 순서
2026-09-29 · 이 글을 쓴 사람은 사주 계산 엔진(사주 데이터 키트)을 팔아요. 직접 AI 사주 서비스를 운영하며 부딪힌 순서대로 적었어요.
Claude Code나 Cursor로 사주 사이트를 만들면 화면은 금방 나와요. 오래 걸리는 건 만세력 계산이에요. AI한테 "만세력 짜 줘"라고 하면 코드는 나오지만, 경계에 걸린 출생에서 결과가 틀려요. 만드는 순서와 각 단계에서 막히는 곳을 정리했어요.
1. 입력 폼
- 양력·음력에 더해 음력 윤달을 따로 고르게 해요. 윤달 표시 없이 넣으면 한 달 가까이 다른 날로 계산돼요.
- 태어난 시각을 모르는 사람을 위한 "모름"을 둬요. 이때는 시주 없이 세 기둥으로 계산해요.
- 태어난 도시를 받아요. 도시 경도로 보정해야 시주가 맞아요.
2. 만세력 계산
- 해와 월은 음력 1월 1일이 아니라 절기(입춘 등)가 들어오는 시각으로 바뀌어요. 분·초 단위 절기 시각표가 필요해요.
- 한국 표준시는 1908년 이후 여러 번 바뀌었고, 서머타임을 한 해가 12번 있어요. 1988-07-15 10:30 서울생은 서머타임 1시간을 빼야 임진시가 나와요(안 빼면 계사시).
- 밤 11시~새벽 1시 출생은 자시를 보는 방식(자시 일변경·야자시·자정)에 따라 일주가 달라요. 방식을 고를 수 있게 해 두는 게 좋아요.
- 대운 시작 나이(대운수)는 절기까지의 날짜로 계산해요.
3. 해석 재료
네 기둥만 보여 주면 대부분 사용자는 읽지 못해요. 십성, 12운성, 신살, 오행 비율, 신강약, 대운 흐름 같은 값을 같이 계산해 두면 화면과 AI 풀이에 바로 쓸 수 있어요.
4. AI 풀이
- AI에게는 계산된 값만 넘기고, "표에 없는 간지·연도는 말하지 않는다"는 규칙을 시스템 프롬프트에 넣어요. AI가 간지를 틀리는 이유에 자세히 적었어요.
- 신강약·용신·신살은 학파마다 달라서, 단정하는 말투를 피하게 하는 것도 중요해요.
5. 배포
- 계산은 서버에서 하고, 계산 서버는 외부에 직접 열지 말고 내부에서만 불러요.
- 같은 입력은 항상 같은 결과가 나오니 캐시해도 돼요.
- 외부 사주 API를 쓸지, 계산 엔진을 내 서버에 둘지는 비교 글을 참고하세요.
시간을 줄이려면
2번(만세력 계산)이 가장 오래 걸리고 검증도 어려워요. 이 부분을 이미 만들어진 계산 엔진이나 API로 해결하고, 1·3·4·5번에 시간을 쓰는 게 빨라요.