AIで占う中国の「八字」運勢占いを作ってみた — DeepSeekが示した“運命”とは

Dev.to / 2026/5/6

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsIdeas & Deep AnalysisTools & Practical Usage

要点

  • 著者は、八字(BaZi)を、生年月日時点を天干・地支へ対応づける“決定論的なアルゴリズム”だと説明し、漢代から記録されてきた60年周期に従う仕組みを述べています。
  • 著者はAIによる占いWebアプリ(SoulChart)を週末で開発し、Pythonの計算エンジン(太陰/太陽暦の変換)・FastAPIバックエンド・Next.jsフロントエンド・DeepSeek Chatによる解釈を組み合わせました。
  • 大変だったのは占星術の計算そのものではなく、AIの出力を“それっぽい一般的な星占い”ではなく、本当に意味のある解釈にすることでした。
  • さらに、入力(生年月日時刻)から「四柱」へ変換する流れを、簡略化したコード例で示しています。

3,000年ずっと動いているアルゴリズム

多くの人は「中国の占い(四柱推命のこと)」を、迷信みたいなナンセンスか、ひげの生えた謎の老人だと思っています。

でも実態は? BaZi(八字、文字通り「8つの文字」)は決定論的なアルゴリズムです。 生まれた年・月・日・時が、それぞれ特定の天干(天干)と地支(地支)に対応します。これはランダムではありません。漢王朝以来、60年周期として記録されてきたものです。

最初にこれを知ったとき、私はこう思いました。これは文字通り関数じゃないか。入力=生年月日(日時)。出力=性格/人生のチャート。どうして自動化できないんだ?

実は、できます。

テックスタック

私は週末でSoulChartを作りました:

Python(lunar_python)→ BaZi計算エンジン
FastAPI → バックエンドAPI
DeepSeek Chat → AIによる解釈
Next.js 16 → フロントエンド
PIL → シェアカード生成

大変だったのは占星術の計算(lunar_pythonが太陰/太陽暦の変換を担当するため)ではありません。難しかったのは、AIの解釈を「よくある一般的なおみくじ的なフワッとした内容」にせず、本当に意味のあるものにすることでした。

BaZiが実際にどう動くか(簡略版)

これが中核となるアルゴリズムです:

from lunar_python import Solar8Char, Solar

def calculate_bazi(year, month, day, hour):
    solar = Solar.fromYmdHms(year, month, day, hour)
    eight_char = Solar8Char(solar)

    return {
        "four_pillars": eight_char.getBaZi(),      # 年柱, 月柱, 日柱, 时柱
        "day_master": eight_char.getDayGan(),       # 日主(あなたの核となる要素)
        "zodiac": eight_char.getShengXiao(),        # 生肖
        "five_elements": eight_char.getWuXing(),    # 五行の統計
    }

日主(日柱の天干、あなたの核となる本質)は、あなたの中核そのものです。たとえば:

  • 甲/乙(木) — 成長志向、柔軟、創造的
  • 丙/丁(火) — 熱意があり、表現力が高く、鋭い
  • 戊/己(土) — 安定的で頼りになり、育む
  • 庚/辛(金) — 決断力があり、構造化され、正確
  • 壬/癸(水) — 環境適応力があり、深く、直感的

日主・四柱・五行の相互作用によって、独自に細かい性格プロファイルが生まれます。西洋の「星座の太陽星座」よりもずっと粒度が高いのです。

AIが入ってくるところ

lunar_pythonライブラリは生のデータをくれます。でも、生のデータだけでは誰の役にも立ちません。

そこでDeepSeekが光ります。一般的な「素敵な出会いがあるよ」みたいな読みではなく、私は実際のBaZiデータをプロンプトとして渡します:

「日主は 己(土)。辰年生まれ。四柱:[data]。五行:木2、火1、土3、金1、水1。」

AIはこれを“訓練されたBaZiマスター”のように読み取り、次を出力します:

  • 性格分析(友人が「怖いくらい当たってる」と言う程度に)
  • 恋愛・人間関係のダイナミクス(あなたと相性のいい要素)
  • キャリアの方向性(あなたの要素に合う業界)
  • 年間予報(今年の要素があなたの要素とどう相互作用するか)

招待メカニズム—ただのペイウォールではない理由

私はペイウォールが嫌いです。だから「払うか出ていけ」ではなく、SoulChartシェアして解放するモデルを使っています:

  1. 生年月日情報を入力 → 無料で四柱+短いAIプレビュー
  2. 友だち3人とシェア → 恋愛レポート全文を無料でアンロック
  3. またはすぐに$3.99〜$7.99で購入

考え方はこうです。BaZiの鑑定は、友だちと話しながらこそ最高です。あなたの木の要素は、誰かの火の要素とでは相互作用の仕方が違います。つまり、これは“ソーシャル体験”になるんです。

これを作って学んだこと

  1. 古い仕組みは過小評価されがち。 BaZiは何千年もかけて洗練されてきました。決定論的なアルゴリズムに対応づくという事実が、AI拡張にとって完璧です。

  2. DeepSeekはGPTよりも中国の文化的文脈をうまく扱える。 BaZiのような非西洋の題材では、特化したモデルが本当に違いを生みます。

  3. Z世代はこういうものが大好き。 占い×テクノロジーのクロスオーバーは、自分向けのデジタル体験を求める若い層に刺さります。

  4. 無料プレビュー+ソーシャル解放は、無料トライアルより転換率が高い。 人は最初から払うより、シェアするほうが気持ちよくできます。そしてシェアがユーザーを増やします。

自分で試してみてください(無料、登録不要)

無料プレビューでは、四柱チャート、日主の分析、そして干支(生肖)がすぐに表示されます。メールは不要です。

無料のBaZi鑑定を受け取る

友だち3人を招待すれば、恋愛レポート全文が自動でアンロックされます。あるいは$3.99で完全版を手に入れてください。

ぜひ聞きたいです:あなたの日主は何ですか? コメント欄に生まれた年+動物(干支)を入れてください。あなたの要素が性格について何を語っているかを教えます。