二 上古通天术:有科学成分的历学和神秘主义的星占学

(一)司历之祝的产生及其职能

其实,当初作为部落或部落联盟君后的觋巫,在他们与天神地祇的关系中,除了制定礼仪,以祭品祭祀诸神求其降福于人类外,还有一个功能,那就是卜问天意,以便更好地服务子民。而出于祭天与问天的需要,祝官便产生了分化:司祀之祝和司历之祝。照梁启超的说法,司历之祝又分为历象家(即天文学)、历数家(即阴阳家)和占验家(方术之言)。(7)总之,他们以求“知天”为本业,促进先祖的智力一步步地进化。或有人说这与觋巫的功能有矛盾,其实不然。中国大陆研究古代天人关系的学者无不重视恩斯特·卡西尔的《人论》,他已清楚地论证了巫术包含着人类争取相对独立的自觉。(8)祭天不是为了天,而是让天护佑自身。要想从天那里得到更多的好处而减少灾难,仅仅用各种礼品喂饱上天的肚皮还是不够的,还必须搞清楚天神怎样活动和想些什么,于是历象家、历数家和占验家就产生了。《尚书·尧典》是春秋人整理出来的一篇有价值的历史资料,它谈到了司历之祝及其功能问题,曰:

乃命羲和,钦若昊天,历象日月星辰,敬授民时。分命羲仲,宅嵎夷(东海滨),曰旸谷(日出之地)。寅宾出日,平秩东作。日中(春分之日),星鸟(指南方朱雀七宿),以殷仲春。厥民析,鸟兽孳尾。申命羲叔,宅南交(交址)。平秩南为,敬致。日永,星火(火星,东方青龙七宿之一),以正仲夏。厥民因,鸟兽希革。分命和仲,宅西,曰昧谷(日落之地)。寅饯纳日,平秩西成。宵中,星虚(北方玄武七宿之一),以殷仲秋。厥民夷,鸟兽毛毨。申命和叔,宅朔方,曰幽都。平在朔易。日短,星昴(西方白虎宿星之一),以正仲冬。厥民隩,鸟兽鹬毛。帝曰:“咨!汝羲暨和。期三百有六旬有六日,以闰月定四时,成岁。允厘百工,庶绩咸熙。”

依孔颖达《尚书正义》注,羲氏、和氏实为重、黎之后,为“世掌天地四时之官”。尧帝为了烝民的生计与安乐,就命令他们观察天象的变化,推算日月星辰的运行规则,制定出历法,准确地把时令明示于民。令羲仲居东方日出之地,以观日出时日夜等分之日,朱雀七宿在黄昏时正好在正南方出现,此为春分;此时,人们开始田间作业,鸟兽开始生育繁殖。又令羲叔居交址,观察太阳在南方停留最长的那一天,作为东方青龙七宿之一的火星在南方出现,这一天定为夏至;此时,人居高处,鸟兽毛羽脱落。再令和仲居日落之处,观察昼夜相等之日,那一天北方玄武七宿中的虚星黄昏时在正南方现身,此日就是秋分;此时,人居平地,鸟兽换装。再令和叔居北方的幽都,观察白昼最短的那一天,西方白虎七宿中的昴星黄昏时在正南方出现,这一天就是冬至;这时,人居于室,鸟兽毛羽变得柔软。确定了四时后,尧便对羲氏与和氏说:一周年为一岁,共366天,要用闰月的办法确定春夏秋冬四季。据此来规定百官的职守,百业就可以兴旺了。

这是一种“以观察鸟、火、虚、昴四颗恒星昏见南中天的日子,分别确定春分(仲春)、夏至(仲夏)、秋分(仲秋)、冬至(仲冬)”的方法,陈美东对这段话的解释是:“这把观象与授时的关系,及其对于社会生产、生活的重要性做了极其明确的论述。”(9)这说明,我们今天所说的天文学,在尧帝令羲和两氏“观象授时”起,就是星占学和历学的统一,其用固然是要指导农渔狩猎,这是王事应有之义,而根本说来,是为预测和解释“代行天工”的王事吉凶寻找根据。

先说历学。《史记·历书》曰:“夏正以正月,殷正以十二月,周正以十一月。盖三王之正若循环,穷则反本。天下有道,则不失纪序;无道,则正朔不行于诸侯。”成书年代不晚于春秋战国之际的《夏小正》按十二个月的顺序分别记述了当月星象、气象、物候,以及农务、政务和宗教事务等。(10)至于是否是夏代的遗作,不能肯定,但可以肯定的是,夏朝已用天干纪日。殷代进一步用干支纪日、数字记月法。有大小月和闰月:大月30日,小月29日,闰月称为十三。很早就有立木为表测量日影的做法,而有确凿根据的是:周代已经使用土圭测定日影的长度,这种用“科学仪器”的观测方法较之观象授时,有了巨大的历史进步。然而,如《史记·历书》所说:“幽、厉之后,周室微,陪臣执政,史不记时,君不告朔,故畴人子弟分散,或在诸夏,或在夷狄,是以其祥废而不统。周襄王二十六年闰三月,而《春秋》非之。”司马迁所说的“《春秋》非之”的话载于今本《左传·文公元年》:“于是闰三月,非礼也。先王之正时也,履端于始,举正于中,归余于终。履端于始,序则不愆。举正于中,民则不惑。归余于终,事则不悖。”意思是:依照先王精准的时令,每年应以冬至作为开始,测定春分、秋分、夏至、冬至的月份作为四季的中月,把剩余的日子归在一年的末尾,这样就不会错乱;而以正朔的月份作为标准,百姓就不会迷惑。因而,应该把剩余的月份归总在一年的终了置闰月,现在把闰月置在年头,乱时辰,乱民心,亦乱政务。这是公元前626年的事。《春秋》非之,所“非”是否正确另当别论,然而当时政治人物非常重视“时间的精确”及其对政治的影响,则是不争的事实。由于周王朝中央权力的衰落,天子不再告朔于诸侯,但也有好的一面,即促进诸侯国自己选立历官,进行天文观测工作。《左传·僖公五年》载:“五年春,王正月辛亥朔,日南至。公既视朔,遂登观台以望。”这段资料是说:僖公五年(前655),在周王朝历法正月初一为冬至。鲁僖公在太阳正南方的那一刻,就登上观测日影的“观台”眺望云物,祈祷有个好年景。鲁君如此,各国君主都不敢怠慢。《晋书·天文志》根据古代遗留的资料记载道:“其诸侯之史,则鲁有梓慎,晋有卜偃,郑有裨灶,宋有子韦,齐有甘德,楚有唐昧,赵有尹皋,魏有石申夫,皆掌著天文,各论图验。”所以,春秋战国之际学术的繁荣,当然包括了天文学的兴盛,那时有世称“六古历”(黄帝历、颛顼历、夏历、殷历、周历、鲁历)的流行。这些历书均为四分历,即确定一个回归年为365又1/4天,一个朔望月的长度为29又499/940日,和19年置7闰的历法。陈美东评价道:“依该历法,约经历310(年),朔望月才差1日,约经130(年),节气才有1日差。所以,四分历在当时是相当精到的历法。”(11)大概由于抽象思维能力的增长,抽象的天道观念逐步树立起来,且越来越有所发展。

然而,天道的运行有常有变,在天体的“视运动”中,太阳、月亮,乃至五星周而复始地围绕地球转,其常数是不变的。由上可知:古四分历时期主管地天四时变动的官员已经达到了很高的科学水平。但是,具体的天象却瞬息万变。就气象变化来说,那一时代,今天难以预料明天的事,也有在现在看来十分正常而在当时看来是非常怪异的事,在偶然间就会发生:星宿亮度的变化,日食、月食、彗星的出现,地动山摇,电闪雷鸣,旱涝灾害的不可预测性等等,它们不仅神秘难解,且与国家社稷以及人的生死吉凶命运息息相关。这无疑引起了所谓圣人的注意。他们观察到:虽然这些现象是突然发生的,但往往也是有预兆的,所谓“天垂象,见吉凶”。由此,在二十八宿(12)、十二星次(13)、七曜等天文知识的基础上,产生了星占学。江晓原说:“古代的种种星占学说及星占活动,极而言之,本质上就是一种通天巫术。这种旨在沟通上天与人世的巫术,对于古代专制王权的确立及保持,是头等重要大事。”(14)而从学理上来分析,如果说历学的发展主要是依靠观测仪器和计算方法的改进来测量肉眼可以看得见的天体运行“数度”的话,星占学则设定:天地人鬼在一个统一的气场之中,依靠神秘的阴阳之气的交感,将个人、社稷的命运与天文、气象的变化契合在一起。这正如卢央在《中国古代星占学》的前言中说:“古代的星占学也形成了一种基本观念,即是整个宇宙存在着一种统一的力量或法则,这种力量或法则充斥宇宙各处,支配着宇宙间的一切。即从观测者的角度来看,无论天上、地下和人间,都受这同一的力量或法则支配。从而强调了中国古代哲学上的天人合一学说。强调天上、地下和人间的一切,在深层本质上有着‘相应’或‘一致’的基础。这就形成一种在中国古代带有普遍性的认识,即天界有什么变异,必然预示或通告地上或人间会有什么样的变异;反过来,地上或人间出现了什么变异,也会在天象上有所反映。这种天地人关系学说,将天地人三者视为一个统一的整体。”(15)

制历与星占有不同的性质和功能,当然要设不同的官职。《周礼·春官·宗伯》将司历官与主管星占的官职作了区分:“冯相氏:掌十有二岁、十有二月、十有二辰、十日、二十有八星位,辨其叙事,以会天位。冬夏致日,春秋致月,以辨四时之叙”。而“保章氏:掌天星,以志星辰日月之变动,以观天下之迁,辨其吉凶。”但事实上,两者往往是混同的。上述各诸侯国的天文之官,既是历师,也是星占师。如晋国的卜偃,《左传·僖公五年》载:

八月甲午,晋侯围上阳。问于卜偃曰:“吾其济乎”?对曰:“克之。”公曰:“何时?”对曰:“童谣云:‘丙(子)之晨,龙尾伏辰,均服振振,取虢之旂。鹑之贲贲,天策焞焞,火中成军,虢公其奔。’其九月、十月之交乎。丙子旦,日在尾,月在策,鹑火中,必是时也。”

这是晋国攻打虢国时发生的一件事。在包围了虢国的上阳后,晋献公(前676~前651在位)问卜偃是否能够获得胜利。卜偃的回答涉及三个星座:龙尾星即尾星,是二十八宿中位于赤道最南的星宿,“龙尾伏辰”,是指当日月会于大辰之时,龙尾也就伏而不见了;天策星,即傅说星,相传商朝高宗的宰相傅说死后化作此星;鹑火星,状如柳,又称柳宿,为南方第三宿,居朱雀之嘴,嘴为进食之用,故柳宿多吉。据此,卜偃回答献公能够胜利,且能预料到取得胜利的大概时间。他引用了一首童谣说:“丙子清辰,尾星失身;威武晋师,败退虢军。鹑火似鸟,天策失耀;火下显威,虢公夭逃。”接着,卜偃做了星象分析:胜利的这一天,会在九月末、十月!这是因为:丙子日的早晨,太阳在尾星之上,月亮在天策星之上,鹑火星在日月之间,所以,必在此时。

(二)星占学的主要功能是对统治者进行道德劝诫

《国语》和《左传》中留下了不少星占事例。(16)例如《左传·襄公九年》曰:

晋侯问于士弱曰:“吾闻之,宋灾,于是乎知有天道。何故?”对曰:“古之火正,或食于心,或食于咮,以出内火。是故咮为鹑火,心为大火。陶唐氏之火正阏伯居商丘,祀大火,而火纪时焉。相土因之,故商主大火。商人阅其祸败之衅,必始于火,是以日知其有天道也。”公曰:“可必乎?”对曰:“在道。国乱无象,不可知也。”

这段话大意是:在公元前564年宋国发生了一场大火,他们就预料到将大祸临头,于是就研究如何化凶为吉的办法。晋悼公(前572~前558在位)向大夫士弱发问:“宋国难道真的能从火灾中看到天道么?”士弱就从星占学的角度回答了悼公的问题:“古代的火正,在祭祀火星的时候,不是用大火星心宿(即天蝎座α星)陪祭,就是用鹑火星柳宿(长蛇座)陪祭,这是因为火星运行在这两个星宿中间。陶唐氏的火正阏伯当时住在商丘,祭祀大火星,而用火星来确定时节。商汤的十一世祖相土沿袭这种祭祀方法,以大火星为祭祀的主星。宋人是商人的后裔,所以就把火灾作为观察祸乱失败的预兆。”晋悼公对此有所怀疑。士弱进一步说道:“那就看主事的君王是否是有道之君了。君无道、国家乱,上天就不给预兆了,这就不能预知了。”

从《国语》《左传》等资料中,我们还看不出那时的占星学已经形成了后代星占学所总结出来的占法体系,但有一个特点十分鲜明,即通过对星象变化的解释,对统治者进行道德的劝诫。《昭公十一年》载:

景王问于苌弘曰:“今兹诸侯,何实吉?何实凶?”对曰:“蔡凶。此蔡侯般弑其君之岁也,岁在豕韦,弗过此矣。楚将有之,然壅也。岁及大梁,蔡复,楚凶,天之道也。”

周景王(前544~520在位)向方术士苌弘发问:今年哪个诸侯国吉祥,哪个诸侯国凶险?这年是公元前531年。在十二年前,蔡景侯为太子般娶妇于楚,但景侯视妇之美,与其通焉,太子弑景侯而自立,是为灵侯。(17)这件弑君之事至今年正好是“一周天”,苌弘记起它肯定很自然,所以回答说:蔡国凶,“此蔡侯般弑其君之岁也”。况且,今年有岁星在蔡国上空室宿(玄武七宿的第六宿)的位置活动,楚国将会借故侵占蔡国。但是,楚国的行为是积累邪恶。当岁星到达十二星次的大梁星时,蔡国复国,楚国就有灾害了。“此乃上天的常道啊!”这是从星宿与国家方位对应以及君德善恶的角度一起考究凶吉的案例。再如,《左传·昭公七年》载:

夏四月甲辰朔,日有食之。晋侯问于士文伯曰:“谁将当日食?”对曰:“鲁、卫恶之,卫大鲁小。”公曰:“何故?”对曰:“去卫地,如鲁地。于是有灾,鲁实受之。其大咎,其卫君乎?鲁将上卿。”公曰:“《诗》所谓‘彼日而食,于何不臧’者,何也?”对曰:“不善政之谓也。国无政,不用善,则自取谪于日月之灾,故政不可不慎也。务三而已,一曰择人,二曰因民,三曰从时。”

同样发生了日食,为什么卫国受祸大,鲁国受祸小?晋平公(前557~前532在位)不解,士文伯回答说:“如果发生日食时,日头已经离开卫国而进入鲁国的分野,鲁国就该承受;但这次大灾难注定要落在卫君的头上,鲁国只要由上卿来承当就够了。”《诗·小雅·十月之交》(18)有一句诗:“彼日而食,于何不臧。”平公又问诗意为何,士文伯回答道:“这是指不善于处理政务。国政不善,不用贤人,那就是自找日月的灾祸,所以政事不可不慎。致力于三条就行了:选贤,依靠百姓,遵守时令。”这是再明白不过的劝诫国君改过迁善。

不过,说到底,星占学虽然有精深的天文学知识作基础,但将天象与人事附会,毕竟有很大的随意性和主观目的性。《左传》记载的“曹伯之竖侯孺货筮史”,就释放出星占师们为了私利对天象作随意解释的信息。事情发生在僖公二十八年(前632),先前,重耳在冒死逃难投靠卫、曹时,受到两国的冷遇。特别是曹国,在重耳洗澡时,竟然对他偷窥非礼。现在他登上君位,于僖公二十七年出兵教训了卫国而灭曹国。曹共公当然不想做亡国之君,于是就耍了下边记载的一个小小把戏:

晋侯有疾,曹伯之竖侯孺货筮史,使曰:“以曹为解。齐桓公为会而封异姓,今君为会而灭同姓。曹叔振铎,文之昭也。先君唐叔,武之穆也。且合诸侯而灭兄弟,非礼也。与卫偕命,而不与偕复,非信也。同罪异罚,非刑也。礼以行义,信以守礼,刑以正邪,舍此三者,君将若之何?”公说,复曹伯,遂会诸侯于许。

这段资料是说:在晋文公(前636~前628在位)生重病的时候,曹共公的侍从侯孺贿赂晋文公的筮史,让他把得病的原因说成是由于灭了曹国。筮史振振有词地对晋文公说:齐桓公因伐异姓而主盟。卫国、曹国和我们晋国,都是文王的后裔,“合诸侯而灭兄弟,非礼也”,等等。结果,晋文公听了筮史的“忽悠”之言,恢复了曹共公的君位。正因为有卜师随意以占欺主之事的发生,所以当时有科学精神的政治家,如郑国的子产,坚决主张将天道与人事分开,提出了“天道远,人道迩”,星家之言不可信的思想。《左传·昭公元年》载:

晋侯有疾,郑伯使公孙侨如晋聘,且问疾。叔向问焉,曰:“寡君之疾病,卜人曰:‘实沈、台骀为祟。’史莫之知,敢问此何神也?”子产曰:“昔高辛氏有二子,伯曰阏伯,季曰实沈,居于旷林,不相能也。日寻干戈,以相征讨。后帝不臧,迁阏伯于商丘,主辰。商人是因,故辰为商星。迁实沈于大夏,主参。唐人是因,以服事夏、商。其季世曰唐叔虞。当武王邑姜方震大叔,梦帝谓己:‘余命而子曰虞,将与之唐,属诸参,其蕃育其子孙。’及生,有文在其手曰:‘虞’,遂以命之。及成王灭唐而封大叔焉,故参为晋星。由是观之,则实沈,参神也。昔金天氏有裔子曰昧,为玄冥师,生允格、台骀。台骀能业其官,宣汾、洮,障大泽,以处大原。帝用嘉之,封诸汾川。沈、姒、蓐、黄,实守其祀。今晋主汾而灭之矣。由是观之,则台骀,汾神也。抑此二者,不及君身。山川之神,则水旱疠疫之灾,于是乎禜之。日月星辰之神,则雪霜风雨之不时,于是乎禜之。若君身,则亦出入饮食哀乐之事也,山川星辰之神,又何为焉?侨闻之,君子有四时:朝以听政,昼以访问,夕以修令,夜以安身。于是乎节宣其气,勿使有所壅闭湫底,以露其体。兹心不爽,而昏乱百度。今无乃壹之,则生疾矣。侨又闻之,内官不及同姓,其生不殖,美先尽矣,则相生疾,君子是以恶之。故《志》曰:‘买妾不知其姓,则卜之。’违此二者,古之所慎也。男女辨姓,礼之大司也。今君内实有四姬焉,其无乃是也乎?若由是二者,弗可为也已。四姬有省犹可,无则必生疾矣。”叔向曰:“善哉!肸未之闻也。此皆然矣。”

在公元前538年,晋平公(前557~前532)重病缠身,卜人说是主管参星的神实沈和主管汾河的神台骀作怪。此乃星占学家言。郑子产精通星象学,他能深入到这一“学说”的核心,解开事实的真相。以星象家言,实沈是高辛氏的小儿子,因与其兄不和被帝尧迁往大夏,并用参星来定时节,所以他就成了主管参星的神;台骀是上古金天氏少昊的后代,因治水有功,被颛顼封为汾水的水神了。如果遇到雪霜风雨不合时令,可以祭祀日月星辰的神灵以消除灾害;如果遇到水旱瘟疫这些灾祸,可以祭祀山川的神灵争取消除灾害。至于晋君的疾病,是由于劳逸、饮食、哀乐不适度造成的,与山川、星辰的神灵没有任何关系。说真的,看晋平公的气色,是性生活过度所致,特别是与同姓美色相关。去掉四个姬姓女子,病可能会好起来。现在听听子产的话,我们还可以指责他不是彻底的无神论者,但那是两千五百年前,他能判断君主的病因在于生活的荒淫无度,从而戳穿星占学说的漏洞,反映出子产的科学理性已经达到很高的水平了。