九宸道人 龙虎山正一派道士 · 堪舆与易学执业者 预约
← 返回文稿列表
5 分钟读完

道士为什么写代码?因为排盘本来就是一套算法

白天写程序,傍晚出门看宅子。这两件事要的是同一种严谨:先把看不见的结构弄清楚,再动手。

  • 自述

语言: English

「道长你还写代码?」这句话我一年要听上几十回。

问的时候语气里常带着一点为难。好像我同时干了两份互相拆台的活:白天在 IDE 里跟编译器较劲,傍晚换身衣服出门看宅子,中间总得有一边是装的。

没有哪边是装的。

先把来路交代清楚

我在悉尼科技大学(UTS)读的计算机,后来在新南威尔士大学(UNSW)念了会计硕士。会计那两年学的东西,现在主要用来给自己报税。

2016 年起在悉尼执业,做四类活:分析命理、占卜决疑、择日择吉、看宅理风水。

道门这边,我是龙虎山正一派山字辈的受箓道士。另外练拳,山西形意拳车派,尚字辈。

这几行摆在一起,像一份印错了的简历。

排盘就是算法,这句话不是比喻

排一个八字,输入是出生的年月日时和地点,输出是四柱、五行旺衰、大运流年。中间每一步都有硬规则:真太阳时要不要修、节气交接以哪一刻为界、大运从几岁起、顺排还是逆排。这些没有商量余地。同一组生辰给两个学过的人排,排出来不一样,那就是有人节气交界那一步算错了,不是流派不同。这就是确定性函数,同样的输入出同样的结果,中间不藏东西。

我自用的排盘工具是自己写的。写的时候最花时间的不是排盘那部分,是节气。二十四节气要算太阳黄经,交节时刻精确到分,还得处理时区和夏令时。澳洲这块尤其烦人,新南威尔士有夏令时,昆士兰没有,西澳又是另一回事。客户报来的出生时间到底是不是当时钟表上的时间,你得开口问。

真正的分歧发生在下一层:盘排好了,怎么断。

这一层到底算不算算法,我到今天也说不清楚。有人讲断辞也是规则,只是规则多、条件互相覆盖、优先级不明;也有人讲到这里就是眼力,写不成条文。我倾向前一种,但我拿不出证据,也确实没能力把自己断盘的过程完整写成代码,写到一半就卡在那些「这个字要看在什么位置上」的判断里。这是我心里最没底的一块。

承重墙那件事

新人程序员最常犯的错,是在一个已经定好架构的系统里硬塞一个功能。需求看着简单,最短路径也明摆着,于是绕过原来的分层直接改。当时能跑,三个月后那块代码没人敢碰。

调宅遇到的是同一个错误,换了一种材料。客户想开一道门,或者想把厨房挪到另一侧,图纸上画着很顺,到现场量一量,要动的那面是承重墙。

共同点在于:动手之前,你得先看见那层看不见的结构。房子的结构是承重、排水、通风、日照。系统那边是数据往哪流、谁依赖谁、状态搁在哪,后面这个还更难看见,因为它连图纸都没有。这两样都不写在表面上,都得你自己在脑子里先建起来。

三维宫观是怎么做出来的

2021 年我创立道元宇宙。其中一件事是把宫观做成三维的,开在浏览器里,就是 dao.today/temple。另外两件是 AI 讲经,和澳大利亚道学院(taoacademy.com.au)。

技术上的麻烦是意料之中的。神像要精细,殿宇要有体量,可网页得在手机上点开就能转。远处的星辰少画几笔,近处的尊像该细的地方一笔不能省,中间从哪里切、切几档,来回调了很多遍。斗栱那一层最要命。宋《营造法式》里大木作的构件尺寸都不是随手定的,材分八等,一切以「份」为倍数,我干脆写成了参数化生成,改一次材等,整座殿跟着变。爽是爽,代价是有一次材等改错,整座殿一起歪了。

考据比这些都磨人。

神像的名讳不能杜撰。一尊像要摆进殿里,你得知道它是谁、位次在哪一侧、执什么法器、朝哪个方向。这些东西从网上抄来,彼此对不上是常态;各地宫观的实地照片也不一样,因为本来就有地方差别。凡是查不到可靠依据的,我宁可把位置空着,也不凭想象补一尊上去。

经文同理。AI 讲经这块只用有明确底本的经典,来路不明的所谓「经文」一概不收。网上流传的段落里,有不少是近人编的,字句仿得挺像。这条我卡得很死,因为一旦松了口,站里其他内容的可信度会跟着一起垮。

顺带一提,字体这事我事先完全没想到会花时间。道门里的生僻字不少,很多网页字体根本没有这些字,一渲染就是一排豆腐块。

AI 不占卜,这条不改

道元宇宙里 AI 能做的事有一堆:解释术语、查典故、把一段经文讲到听得懂、帮人把想问的事问清楚。它不给人算命,不起卦,不断吉凶。

最实在的理由是第一条:语言模型会顺着人说话。你问它「我这段感情还有没有希望」,它读得出你想听什么。占测这门手艺最忌讳的就是这个。问事的人心里多半已经有了答案,术者的责任是把这一套规矩推出来的结论讲清楚,包括他不爱听的那部分。

还有一件事更难受:同一个盘同一个问题,问两遍回来的话不一样。这在工程上叫输出不确定,是要打日志排查的毛病,放到断事上就是瞎说。

最后一条其实最简单,断错了谁担。我担,模型担不了。何况在澳大利亚,替人预言生死祸福、承诺超自然效果,本身就压着消费者法的线。凡是涉及疾病、法律、投资的事,我一律请人去找医生、律师、会计师。

一天是怎么过的

有人觉得这两个身份之间需要一套说法把它们缝起来。我想过,缝不出来,也不太想缝。

现在一天大概是这样过的:上午写代码,下午回邮件(iching@dao.today),傍晚出门看一套房,回来接着写代码。看房的时候脑子里跑的东西,跟改代码时跑的是同一种:这个结构现在长成什么样,动哪里会塌。

至于形意拳跟这两样有没有关系,练拳的人爱说桩功跟心性相通,我不敢往上凑。站桩就是站桩,腿酸得很。

常见追问

你会用 AI 替人占卜吗?
不会,这条不打算改。AI 在我这里做的是解释术语、查典故、把经文讲得听得懂、帮人把问题问清楚这几类事。占卜不给它做,主要因为语言模型会顺着人说话,而问事的人心里往往已经有了想听的答案;再加上同一个问题问两遍,模型给的话不一样,这在断事上就是瞎说。
会写程序,对你实际接的活有什么用?
最直接的是排盘和择日的工具都是自己写的,节气交接、真太阳时、时区和夏令时这些容易出错的地方,我能自己控制,也能自己查错。看宅的报告是结构化的,改过哪几版、当时怎么判的,都留着。手艺本身没有变,只是少了很多手抄出错的机会。
道元宇宙的三维宫观是什么?要下载吗?
是一座开在浏览器里的三维宫观,地址 dao.today/temple,点开就能转,不用装 App,手机也能看。里面有殿宇、神像和可以上香祈福的地方。神像的名讳、位次和法器都按查得到的依据来摆,查不到可靠依据的,位置宁可空着。