← 返回部落格
紫微新加坡8 分鐘閱讀

AI 讀錯你的盤,是因為它在數豎線

AI 讀錯你的盤,是因為它在數豎線

昨天有個人在知乎上回了我一條評論,把我的話往下推了一層。

我原本說的是,AI 算命出問題,得先分清是排盤錯了還是解讀錯了。排盤是算術,十分鐘能查完。解讀是判斷,永遠查不完。

他說,不止。他說他自己不在任何臨界值上,出生時間平平無奇,直接把排好的盤丟給模型,讓它別自己排,結果它還是斷錯了。錯法很具體,印星落在哪一柱,它看錯了。落位一錯,後面整套推論跟著換方向。

我看完愣了一下。

因為他說的這個,不在我那兩層裡面。盤是對的,算術沒出錯。模型也沒有胡編,它認認真真在推。它只是把盤上的東西讀串了。

這是第三層,讀取。

三層攤開來看,性質差得挺遠。第一層是算術錯,輸入進去出來的四柱本身就不對,這個可以對著萬年曆核,是非分明。第三層是判斷錯,同一張對的盤,兩個人讀出兩個結論,這層永遠沒有裁判。中間這一層最麻煩,它長得像判斷錯,其實是機械錯,而且它不報錯。

模型給你的答案通順、自信、有理有據,只是它論述的那張盤,跟你手上那張不完全是同一張。

我以前對這件事的解釋是,模型沒有位置的概念。它拿到的是一串平鋪的字,甲在年幹還是甲在時幹,對它來說區別只在文本里隔了多少個字,不在盤上隔了幾格。

這個解釋是錯的。至少是不準的。

哈爾濱工業大學今年二月放出來一篇機制分析,專門拆語言模型怎麼在表格裡定位一個單元格。他們用啟用修補、線性探測、注意力消融那一套,把過程拆成三段。第一段叫語義繫結,把你的問題跟表頭對上。第二段叫座標定位,算出目標格子的行列。第三段才是把那個格子裡的值取出來。

所以位置這個概念,模型是有的。

關鍵在第二段。它的座標是數出來的

論文裡說得很直接,模型解析座標靠的是一套序數機制,機制的動作是數分隔符。也就是數豎線。表格裡那些 | 不是排版裝飾,它是模型建立座標系的釘子。他們把分隔符做了因果實驗,去掉之後這套計數機制就不激活了。

更有意思的是探測出來的形狀。列索引在啟用空間裡是鋸齒形,行索引是階梯形。它不是一次性看懂了整張表,它是一格一格數過去的,數完落在一個線性子空間裡,還能做向量加減。

所以模型讀你的四柱,做的事情跟你想的不太一樣。你以為它在看一張表。它在數豎線。

那讀錯就有了很物理的解釋。

數出來的東西會漂。一路數下去,越靠後的位置越容易差一格。四柱從年到時排四列,年柱在最前面,時柱在最後面。如果偏差真的隨著計數累積,那時柱應該比年柱更容易被讀錯。這條我得誠實標一下,是從論文機制推出來的,我自己還沒系統跑過對照實驗,只在少量樣本上見過時柱被讀串的情況,樣本太小說明不了什麼。

但另一條推論已經能驗了,而且很好驗。

既然座標靠分隔符撐起來,那你喂進去的排版就直接決定了讀取的正確率。同一組干支,你寫成一行流水字,前後就是空格隔開,模型手裡沒有釘子可數,座標系立不起來,它只能靠語義猜。你寫成一行一柱、每格都有豎線的表格,那套計數機制才有東西可數。

這不是玄學,這是給它一把尺子還是不給。

我是真的覺得這件事有點反常識。大家討論 AI 算命準不準,討論的都是模型懂不懂命理、語料裡有多少古籍、要不要微調一個專門的模型。很少有人往下想一層,說這活兒可能不卡在懂不懂,卡在盤長什麼樣。

順著這個再往回看古書,感覺挺不一樣的。

《淵海子平》裡有一段叫五行提綱,說凡看命排下八字,以日干為主,取年為根,為上祖財產,取月為苗,為父母,日干為己身,日支為妻妾。這段話在做什麼。它在給每一個位置分配語義。年那一格管祖上,月那一格管父母,日干那一格是你自己,日支那一格是配偶。同樣一個甲字,落在年上和落在日上,說的是完全不同的兩件事。

也就是說,八字從設計的第一天起,就是一張位置攜帶意義的二維表。

紫微那邊說得更狠。《紫微斗數全書》開篇的太微賦裡有一句,星有同躔,數有分定,須明其生克之要,必詳乎得垣失度之分。同躔是同宮,同一批星湊在一起,定出來的數各有分別。後半句那四個字,得垣失度,說的就是這顆星落對了位置還是落錯了位置。

古人把話說到這個程度了。位置本身就是資訊。

而現在的做法是,把這張二維的東西壓成一維的一串字,再交給一個靠數豎線找位置的系統。

紫微比八字還要吃虧一點。四柱好歹只有四列,壓平了也還是四組挨著。紫微是十二宮排成一個環,三方四正取的是本宮、對宮和兩個三合宮,這四個宮在盤面上是有幾何關係的。壓成文本之後,本宮和它的對宮之間可能隔了幾百個字,中間還塞著別的宮的星曜。你讓它去看三方四正,它得跨過這一段距離把關係重新拼出來。

所以那位答主說的印星看錯落位,在我看來不算模型笨。是我們把一張圖給拆了,然後要求它憑數數把圖還原回來。

聊到這兒,說點能今天就動手的。

第一個動作,改喂法。別把整張盤一段話糊過去。一柱一行,每行寫全這一柱叫什麼、天干是什麼、地支是什麼、十神是什麼,用豎線隔開。十神你自己算好寫上去,不要讓模型自己去數位置再算。這一步就把讀取層的風險壓掉大半。

第二個動作,做個複述測試。把盤給它之後,先別問結論。先讓它把每個十神在哪一柱複述一遍。複述就錯,你抓到的是讀取問題,換排版重來。複述全對,接下來斷錯了,那是判斷問題,跟排版沒關係,得換個方向治。這一步的價值是把兩種錯分開,不然你永遠不知道該改提示詞還是該換模型。

第三個動作,驗它是在算還是在背。十神不是貼在字上的固定標籤,它是拿日干去比出來的。所以你把同一組干支留著,只把日干換掉,重新喂一遍。十神應該跟著全變。如果它給你的十神跟上一次差不多,那它不是在算,它在複述語料裡見過的組合。

這三個動作加起來大概十分鐘,不需要懂命理,也不需要懂模型。

回到那位答主。他那句話的原話是,結果全變。

他說的是他的盤。但這句話也可以往回讀一層。一個格子讀串,結果全變。這套東西之所以經得起幾百年的抄傳,是因為每一格的位置都被定死了,誰來算都落在同一格。真正脆的地方從來不是解釋得準不準,是有沒有人偷偷把格子挪了一下。

信不信這套東西,是一回事。它讀的是不是你那張盤,是另一回事。後面這件事,你自己十分鐘能查。

Louis

常見問題

我把排好的盤發給它了,為什麼還會錯?

盤對了只保證算術那一層沒問題。模型接下來要做的是在這張盤上定位,比如印星在哪一柱、化忌落在哪個宮。定位這一步是它靠數分隔符重建出來的,跟盤本身對不對無關。所以排版糊在一段話裡,它就更容易數偏。

用表格喂真的有區別嗎?

有,而且有機制上的理由。哈工大那篇機制分析做過因果實驗,分隔符 token 是啟用模型內部那套座標計數機制的關鍵,去掉之後機制不啟動。所以一行一柱、帶豎線的表格,跟一段流水文字,對模型來說不是美觀差異。

那是不是乾脆不該讓 AI 碰命理?

我的看法是分工。曆法算術這一層交給確定性的程式,它每次都給同一個答案。整理、對照、把一堆結構翻譯成人話這一層,模型做得不錯。中間的讀取層是可以靠喂法改善的,上面那三個動作就是幹這個用的。至於最後那層判斷,誰做都沒有裁判,你自己得留一份懷疑。

⚠️ 『FateStar』根據中國傳統文化『紫微斗數』生成『命盤』進行分析推理, 內容僅供參考.

關於作者

Louis
Louis

FateStar 創辦人. 2020 年開始系統學習三合派紫微斗數, 負責產品方法、資料整理與內容審核. 個人經驗不作為科學預測證明.

了解更多 →