
豪享算命的排盤與運勢全部用規則計算,不交給 AI 生成,因為命理結果要能重現、能驗證。同樣的生辰在同一個期間,永遠得到同樣的結果;我再拿外部來源與物理事實當標準答案,每次改程式都要全部對上。AI 只協助寫解讀文字的初稿,每一段都經過人工審稿、標上出處。
這篇記錄豪享算命從 2026 年 6 月開工到 9 月 26 日上線的判斷與踩坑。範圍包括規則計算怎麼設計、排盤引擎怎麼驗證、生辰個資怎麼保護,以及線上求籤怎麼做到不隨機。網站有哪些功能,寫在豪享算命能算什麼。
為什麼排盤用規則計算,不交給 AI?
命理有固定的規則,答案應該只有一個。紫微斗數怎麼安星、八字怎麼排四柱、行星在哪個位置,都由規則與天文計算決定。
交給 AI 生成,同一份生辰問兩次,可能得到兩張不同的命盤,算錯了也很難發現。所以我把 AI 的工作限縮在解讀文字:盤面由程式算,AI 只協助寫初稿,人工審過、標上出處,才放進知識庫。
出處會一路標到頁面上。以星座運勢為例,幸運色標出 Lilly 的《占星學入門》,幸運數字標出 Cheiro 的《數字之書》。
一次計算分成四段:
- 輸入:生辰與要看的期間,另外存一份輸入快照。
- 算盤面:用純函數計算,同樣的輸入只會得到同樣的盤面。
- 查知識庫:盤面上的星曜、格局與行星位置,對到知識庫裡的判語。
- 組成解讀:把判語組成頁面上的文字,結論放最前面。
豪享算命的計算流程:改程式時,標準答案測試全部對上才能上版
豪享算命的功能怎麼一步步長出來?
豪享算命從紫微斗數開始。2026 年 6 月 21 日開工那天,我做完紫微排盤、API 與第一版解讀,前端的紫微頁也在同一天接上。
接下來三天,我補上紫微流年、上百條判語與格局,再做出星座本命盤、12 星座運勢與個人運勢。
7 月 5 日,我依使用情境把頁面分成三種。第一種是不用建檔就能看的 12 星座今日運勢,第二種是常看的個人運勢,第三種是完整排盤的紫微斗數與星座本命盤。之後這個專案停了兩個多月;這套分法到 9 月 28 日又整併過一次。
9 月 26 日正式上線,上線前把個資統一加密、修正上升點,也把內容改成結論先行。接下來兩天補上求籤、農民曆、擇日與八字,訪客也能求籤。
豪享算命的功能演進(2026 年 6 月到 10 月)
豪享算命和其他產品共用同一套架構,寫在個人網站怎麼架。開發時怎麼和 AI 分工、上線前怎麼審查,寫在一人開發怎麼用 AI 團隊。
同樣生辰怎麼保證同樣結果?
「同樣的輸入,永遠得到同樣的結果」,工程上叫決定論(deterministic)。豪享算命靠五條規則守住它:
- 不用亂數:需要「挑一個」的地方,例如求籤,或同一段文案的幾種寫法,都用固定的規則推出來。
- 固定順序:排序與挑選都有固定的順序,同分時誰排前面也有規則。
- 版本號:引擎與規則各有版本號,計算方式改了就升版。
- 輸入快照:每次計算的輸入另外存一份,之後可以重算,和舊結果比對。
- 標準答案測試:拿外部來源與已知事實當標準答案,每次改程式都要全部對上。
日期也一律以台灣時間為準,「今天」從哪一刻開始算是固定的。結果固定,使用者月初看完本月運勢,月中再打開還是同一份;我這邊也能重算任何一次的結果,回頭查問題。
同分時誰排前面,也要寫死
- 情境:12 星座運勢那句「吉」或「凶」的文案,由當天影響最大的一顆主導行星決定。
- 問題:同一天、同一個星座,文案偶爾會不一樣。大多數時候結果都對,只有少數幾次會變。
- 判斷:結果會變,代表有一個地方的順序不固定。查下去是兩顆行星同分時,挑哪一顆當主導行星沒有規則,每次執行都可能換一顆。
- 做法:同分時改用固定的順序決定先後,再補一個測試:同一組輸入重複跑幾百次,結果都要一樣。
- 結果與學到的:這種錯跑一次測試抓不到,要重複跑幾百次才會出現。凡是排序,都要先想好同分時誰先。
排盤引擎怎麼驗證算得對?
排盤引擎算錯,畫面不會報錯,只會安靜地給出一張錯的盤。所以我不只測程式能不能跑,還要拿外部的標準答案逐一對照。
星曆是我用純 Go 自己寫的,農曆與節氣用現成的曆法套件。不論是自己寫的還是套件,都要和下表的標準答案對上才算數。
豪享算命排盤引擎的標準答案
| 要驗證的部分 | 對照的標準答案 |
|---|---|
| 紫微斗數命盤 | 開源紫微斗數套件 iztro 排出的命盤 |
| 行星位置 | 開源天文計算函式庫 Astronomy Engine |
| 二十四節氣 | 中央氣象署公布的節氣時刻 |
| 上升點 | 物理事實:日出時,太陽約在上升點 |
| 古籍裡的數值 | 原書,不用網路轉錄的版本 |
上升點算成下降點,測試卻一直綠燈
- 情境:星座本命盤要算上升點,也就是出生那一刻,東方地平線上的黃道位置。這部分 6 月 22 日就做好了,測試一直通過。
- 問題:舊測試只檢查上升點的角度在 0 到 360 度之間、和天頂不同、宮位彼此一致。這些條件,算成下降點也全部通過,所以錯了大約三個月都沒發現。下降點在西方地平線那一端,和正確答案剛好差 180 度。
- 判斷:測試檢查的是「像不像答案」,不是「是不是答案」。要抓到這種錯,標準答案得從外面來。
- 做法:9 月 26 日改用天文事實當標準答案:日出時太陽約在上升點,日落時約在下降點,正午約在天頂。新測試一跑,就抓到上升點算成了下降點。修好後引擎升到 2.0.0,舊版排出的盤標成過時。
- 結果與學到的:範圍檢查只抓得到離譜的錯,抓不到方向反了。天文計算最好的標準答案,是任何人都能驗證的物理事實。
網路轉錄的古籍數字抄錯了
- 情境:星座運勢的幾處規則,參考 Lilly 的《占星學入門》。我一開始照網路上的轉錄版本建資料。
- 問題:對照原書後發現,行星強弱表裡有一個扣分值,網路轉錄版本抄錯了。照錯的數值算,行星的強弱也跟著錯。
- 判斷:資料每多轉一手,就多一次抄錯的機會。知識庫的出處要回到原書,不能停在二手資料。
- 做法:數值改回原書的版本,知識庫的規則也標上出處。
- 結果與學到的:網路上流傳的版本,不一定是原書的內容。規則就是資料,資料的出處要和程式一樣嚴格管理。
生辰個資怎麼保護?
我的原則有兩條:能認出人、或能推出生辰的欄位,存進資料庫前先加密;能不收的資料就不收,所以不收出生地。
排出來的盤面,也能反推生辰
- 情境:個人運勢要填生日與時辰,才能排紫微斗數、八字與星座本命盤。
- 問題:一開始我只加密生日欄位。後來發現,排出來的盤面也能反推生辰,例如八字的四柱,就是把出生的年、月、日、時換成干支。
- 判斷:只加密生日,等於把同一份資訊換個樣子留在外面。要保護的是「能推出生辰的資訊」,不是某一個欄位。
- 做法:上線前統一改成:能認出人、或能推出生辰的欄位,存進資料庫前全部先加密。最後連出生地也不收;星座本命盤的上升點與宮位,固定用台灣本島中心附近的座標計算,舊紀錄也保留當時排盤用的座標。
- 結果與學到的:個資的範圍要用「能推出什麼」來判斷,不能只看欄位名稱。最安全的資料,是一開始就不收的資料。
不知道時辰就不猜
- 情境:很多人不知道自己的出生時辰,或只知道大概的時間。
- 問題:系統如果自己套一個預設時辰,排出來的盤看起來完整,整張卻可能是錯的。子時還有一個坑:子時跨兩天,晚上 11 點到 12 點和凌晨 0 點到 1 點,日期不一樣。
- 判斷:寧可少給一點結果,也不給一張看起來很確定的錯盤。這一點是上線前的審查補上的。
- 做法:時辰列出 13 個選項讓使用者挑。子時分成早子時與晚子時:早子時是凌晨 0 點到 1 點,晚子時是晚上 11 點到 12 點,晚子時的日柱算到隔天。不知道時辰時,紫微斗數列出 13 個時辰各自的命宮主星,讓使用者對照挑選;八字先把時柱空著,其他部分照樣排,大運改用中午估算,並標示為近似;星座本命盤只排不含上升點與宮位的日盤。
- 結果與學到的:「不知道」也是一種輸入,要有自己的處理方式。系統替使用者猜,猜錯了使用者也不會發現。
線上求籤怎麼做到不隨機?
求籤在 9 月 27 日加入,隔天開放訪客使用。我想做的是照廟裡的流程一步一步來,不是按一下就給一支籤。
- 情境:線上求籤最簡單的做法,是按一下按鈕,從籤筒裡隨機抽一支。
- 問題:隨機抽少了廟裡求籤的步驟,結果也沒辦法重現與測試,和「不用亂數」的原則衝突。
- 判斷:要做就照真實的流程做,每一步的結果也要能重現。
- 做法:我研究龍山寺的求籤流程,拆成五個步驟。擲筊的機率設計成和實際擲筊相近,科展實際擲筊的數據拿來當佐證。每一步的結果都由固定規則推出來,不呼叫亂數;登入後,同一天向同一位神明求籤,會得到同一段過程與同一支籤,不同神明可以各求一次。
- 結果與學到的:求籤也能像排盤一樣重現與測試。流程本身就是體驗的一部分,少了擲筊請示,就不像在求籤。
五個步驟如下,實際操作畫面寫在線上求籤怎麼求:
- 稟告:在心裡向神明說名字、生日、住哪裡與想問的事。
- 擲筊請示:問神明今天可不可以求籤,擲出聖筊才往下;笑筊要重新稟告。
- 搖籤:搖出一支籤。
- 擲筊確認:再擲筊問神明是不是這一支,聖筊才算數;擲出笑筊或陰筊,就把籤放回籤筒重抽,不用重新稟告。
- 看籤詩:除了籤詩,也附上白話解籤,以及針對所問事情的說明。
擲筊請示:擲出聖筊後才能開始搖籤(2026 年 10 月擷取)
上線前為什麼又改版一次?
因為內容讀起來像流水帳。9 月 26 日上線前,我先改了最影響閱讀的部分。
- 情境:9 月底準備上線,我把整個網站從頭讀了一遍。
- 問題:功能都在,內容卻很難讀。每一頁把結果一條條往下列,讀起來像流水帳。
- 判斷:打開運勢頁的人,最想知道的是「今天好不好」,不是計算過程。內容要照讀者想知道的順序排,不是照程式算出來的順序。
- 做法:改成結論先行:總分與一句重點放最前面,接著是宜忌與愛情、事業、財運,星象依據放最後。視覺也換成星夜搭配金色的主題。
- 結果與學到的:算得對只是第一步,讀得懂才算做完。寫程式的人最熟悉計算的順序,也最容易忘了讀者的順序。
改版後的星座頁:總分與一句重點在最上面,接著是宜忌與三項分數(2026 年 10 月擷取)
上線前的總審查,除了補上時辰的處理,也抓到公開頁可能被拖慢的設計;加上並發上限與快取之後才上線。
做豪享算命,我學到什麼?
回頭看,這幾個坑大多是「看起來對、實際上錯」。測試綠燈、盤面完整、資料有出處,都不代表結果是對的。
- 結果要能重現:不用亂數、固定順序,再加上版本號與輸入快照,任何一次結果都能重算。
- 標準答案從外面來:測試要對照外部來源與物理事實,只檢查範圍不夠。
- 個資看能推出什麼:能推出生辰的資訊都要保護,能不收的就不收。
- 不知道就不猜:寧可少給結果,也不給看起來確定的錯盤。
- 照讀者的順序寫:結論先行,計算依據放最後。
如果你也在做規則計算的工具,例如評分、計價或規則判定,這套做法一樣用得上。
常見問題
Q1:豪享算命更新程式後,舊的命盤會變嗎?
不會自動改掉。引擎與規則各有版本號,計算方式改了就升版。上升點修正那次,引擎升到 2.0.0,舊版排出的盤標成過時;打開舊紀錄時,頁面會提示這張盤存得比較早、內容可能不準,並附上「重新排一次」的連結。
Q2:豪享算命用什麼技術做的?
後端是 Go 1.25、Gin 與 GORM,資料存在 PostgreSQL,星曆用純 Go 自己寫。前端和豪享生活共用同一個 Next.js 16 專案。服務用 Docker 部署在 Railway,前面由 Cloudflare 擋著。
延伸閱讀
- 豪享算命能算什麼?免費星座運勢、線上求籤、農民曆與紫微八字:豪享算命有哪些功能,哪些要登入
- 一人開發怎麼用AI團隊?Claude Code分工與上版審查:上線前的總審查怎麼運作
- 個人網站怎麼架?Next.js、Go微服務、部署與發文流程:豪享算命所在的整體架構與部署方式
留言0