指南星的排盤準不準?四套命盤的驗證來源、案例數與限制
排盤是計算,對就是對、錯就是錯,所以它應該能被檢驗。這一頁整理指南星四套命盤各自拿什麼對照、對照了多少案例、容差是多少,以及哪些地方還沒驗證。其中寫成固定測試的部分,每次推送程式碼前都會重跑;另外幾項大規模交叉比對是一次性執行,下面會逐一註明。這裡驗證的是排盤,不是解讀內容的準確度。目前的演算法版本:八字 2026101001、紫微斗數 2026102101、西洋占星 2026090701、生命靈數 2026101001。
八字:節氣、四柱與大運
節氣決定年柱與月柱,所以先驗節氣。指南星用的節氣時刻,和香港天文台公布的 2026 年 24 個節氣逐分鐘一致,這是固定測試;另外和 Swiss Ephemeris 比對 1950 到 2100 年的 1,812 個節,2040 年以前的差距中位數約 0.55 秒、最大約 4 秒,這組天文比對另外執行,不在每次推送的測試裡。
四柱與大運對照獨立實作 lunar_python:39,104 組四柱一致,其中 3,104 組刻意落在 1901 到 2099 年每個節的前後 90 秒內;4,000 組大運序列一致,這兩項是 2026 年 10 月的一次性交叉比對。固定測試則有 1,440 個命宮案例與獨立參考一致,以及 8 組完整出生資料,從排盤服務一路檢查到報告存檔,四柱、節氣、起運與大運全部固定成標準答案。
- 節氣:香港天文台 2026 年 24 節氣(固定測試)、Swiss Ephemeris 1,812 個節(另外執行)
- 四柱與大運:39,104 組四柱、4,000 組大運對照 lunar_python(一次性)
- 固定測試:1,440 個命宮案例、8 組端到端標準命例
西洋占星:兩組星曆對照
128 個出生案例對照 Swiss Ephemeris 2.10.03 內建的 Moshier 星曆,涵蓋 1950 到 2100 年,行星黃經容差 1 角分,上升點與宮頭容差 5 角秒。148 個案例對照 NASA JPL Horizons 的 DE441 星曆,太陽與月亮容差 3 角秒,其他行星 20 角秒,原始回應保存在我們的證據檔中。整宮制與等宮制另有 148 個宮頭案例,對照 Swiss Ephemeris,容差 5 角秒。
1970 年以前出生的案例,時區依國際時區資料庫的歷史紀錄換算;冰島兩個 1950 年代與 1960 年代的案例,曾因時區資料合併而算錯,已重新產生並記錄在案。
- Swiss Ephemeris:128 個案例,行星 1 角分、宮頭 5 角秒
- NASA JPL Horizons:148 個案例,日月 3 角秒、其他行星 20 角秒
- 整宮制、等宮制:148 個宮頭案例,5 角秒
生命靈數:三處實作逐日比對
生命靈數的計算出現在三個地方:網頁、報告與排盤服務。1900 到 2025 年的 46,021 個日期,三處算出的九宮格完全一致;9,648 個曆法邊界案例確認不存在的日期不會產生數字,這兩項是一次性比對。個人年在元旦換年的邊界則有固定測試,例如出生日 2001 年 11 月 4 日,2026 年 12 月 31 日的個人年是 7,2027 年 1 月 1 日變成 8。
紫微斗數:沒有外部對照,驗證的是中間沒有被改動
紫微斗數目前沒有外部對照。我們找不到另一套和 iztro 2.4.4 採用相同規則的獨立實作,而為了湊出第二票去改寫 iztro,比只有一票更糟。所以這一層驗證的是:iztro 的結果從排盤服務一路到你看到的命盤與報告,中間沒有被改動或混淆。測試涵蓋晚子時、閏月 15 日分界、正月初一換年、三種時區與 80 歲以上的大限,外部對照補齊後會更新這一頁。
我們沒有宣稱的事
排盤正確,只代表交給解讀的那張盤是對的;解讀內容準不準,不在這一頁的驗證範圍。
節氣時刻保留到毫秒,是為了比對結果穩定,不代表天文精度到毫秒;2040 年以後,不同天文模型的節氣時刻差距會擴大到一分鐘以上。八字日柱的換日規則,目前沒有獨立對照來源可以直接檢驗。這些驗證在開發環境與推送前的測試中執行,部署後的線上抽查不在這裡的宣稱範圍。
- 不驗證:解讀內容的準確度
- 已知限制:2040 年後的節氣模型差距、日柱換日沒有獨立對照、紫微沒有外部對照
- 範圍:開發環境與推送前測試,不含部署後線上抽查
常見問題
有。寫成固定測試的部分每次推送程式碼前都會重跑,大規模交叉比對則是一次性執行。八字的節氣對照香港天文台與 Swiss Ephemeris,四柱與大運對照獨立實作 lunar_python;西洋占星對照 Swiss Ephemeris 與 NASA JPL Horizons;生命靈數在三處實作逐日比對。紫微斗數目前沒有外部對照。
因為找不到另一套和 iztro 採用相同規則的獨立實作。為了湊出對照去改寫 iztro,只會製造一個看起來一致、其實同源的假證據。我們改為驗證 iztro 的結果到你看到的命盤之間沒有被改動,並把邊界情況寫成固定測試。
可以。八字可以查你出生那一年的立春與節氣時刻、算出生地的真太陽時,再和指南星的四柱比對;西洋占星可以拿 NASA JPL Horizons 或其他星曆查出生時刻的行星位置。方法頁列出了每一條規則,遇到結果不同時,先確認兩邊用的是同一條規則。