重新理解知行合一

知行合一,是陽明心學(xué)的核心觀點(diǎn)。后世二手注釋,或多謬誤,或多解釋不清而空洞虛浮。后學(xué)者只能跟著云里霧里,含混亂用。你看到知行合一,可能會(huì)把“知行”當(dāng)作兩件事,或先知再行,或言“知是理論,行是實(shí)踐”,或認(rèn)為行是為了驗(yàn)證知(即“主知主義”,以知為主,以致“知行二分”)。
不如從先哲原著語錄中尋找真言是為最善。
先生曰:“今人學(xué)問,只因知行分作兩件,故有一念發(fā)動(dòng),雖是不善,然卻未曾行,便不去禁止。我今說個(gè)知行合一,正要人曉得一念發(fā)動(dòng)處便即是行了。發(fā)動(dòng)處有不善,就將這不善的念克倒了,須要徹根徹底,不使那一念不善潛伏在胸中。此是我立言宗旨。”
《傳習(xí)錄?黃直錄?五》
“一念發(fā)動(dòng)處即是行了”,若有心為善,你就已經(jīng)是在行善了。“我欲仁,斯仁至矣”。反之,你若有了惡念,雖身未行動(dòng),沒有真去干這件惡事,但也是行了。
你學(xué)了編程的知識,雖然還沒有參與真實(shí)的項(xiàng)目實(shí)戰(zhàn),但你學(xué)著寫程序的過程,就是行了,你已經(jīng)在編程了。你會(huì)不會(huì)、精不精通,這又是另一回事。能不能參與項(xiàng)目實(shí)戰(zhàn),這體現(xiàn)的是你是真知還是假知,或者是真行還是假行。
或者,你說自己只是看了書,書上講的都懂了,但從沒跟著寫一行代碼,覺得自己是“只知而未行,只有理論沒有實(shí)踐”。這也是假知而非真知(亦是假行)。一直不“行”,編程這種東西往后跟你也沒啥關(guān)系了。
“知而不行,只是未知”。從這個(gè)意義上講,只有真知真行才是知行合一。
王陽明認(rèn)為,知行本是一件事情,知即是行,行即是知,知中有行,行中有知。“行之明覺精察處即是知,知之真切篤實(shí)處即是行”。
又曰,“知是行的主意,行是知的功夫。知是行之始,行是知之成”。知是行的開始,行是知的結(jié)果。這看起來似乎又把“知”和“行”分為了兩個(gè)概念,但其實(shí)是一種方法論或認(rèn)知策略上的考量,便于初學(xué)者理解或躬行。王陽明建議,你若理解了知行本是一個(gè)東西,你說成兩個(gè)也無妨,其實(shí)是一體的。知和行,它們時(shí)而各有先后,時(shí)而互為因果。只是因后世學(xué)者偏頗誤導(dǎo),將之分作兩件事用功,所以才有了“合一”的說法。
所以,“知行合一”不如稱之為“知行一體”更為恰當(dāng)。
知行分作兩件事的后果是什么?
這容易導(dǎo)致人們認(rèn)為必須先去窮盡事物的知識理論,再去實(shí)踐,否則就會(huì)覺得實(shí)踐毫無根據(jù)或心虛而不踏實(shí);或者有一部分人只會(huì)懸空去想,不事躬行,只能紙上談兵;又或者有一部分人就懵懵懂懂,盲目蠻干,全無章法,妄行妄為。
問:知至然后可以言誠意。今天理、人欲知之未盡,如何用得克己功夫?
先生曰:人若真實(shí)切己用功不已,則于此心天理之精微日見一日,私欲之細(xì)微亦日見一日。若不用克己功夫,終日只是說話而已,天理終不自見,私欲亦終不自見。如人走路一般,走得一段,方認(rèn)得一段,走到歧路處,有疑便問,問了又走,方漸能到得欲到之處。今人于已知之天理不肯存,已知之人欲不肯去,且只管愁不能盡知,只管閑講,何益之有?且待克得自己無私可克,方愁不能盡知,亦未遲在。
《傳習(xí)錄?陸澄錄?四十八》
知行合一倡導(dǎo)的做法是:走一段路才能真正認(rèn)識一段路(的艱辛與否),走到岔路口了,“有疑便問,問了又走”。缺知識了補(bǔ)知識,需要停下來想想、就停下來想想,想好了再繼續(xù)走。
用到軟件開發(fā)里面,就是敏捷迭代的思想。軟件中的瀑布開發(fā)模式是知行分離的典型:開發(fā)一個(gè)軟件項(xiàng)目或產(chǎn)品,先花2~3個(gè)月想需求、形成需求分析文檔,然后交給UI做圖、程序員寫代碼,再測試、部署上線。指望幾個(gè)人集中一段時(shí)間先想需求、窮盡需求之理而無誤、無需悔改,怎么可能。
敏捷迭代,做輕量的預(yù)先設(shè)計(jì)與思考,在開發(fā)的過程中窮盡需求的真實(shí)細(xì)節(jié),在迭代中理解和學(xué)習(xí)項(xiàng)目或產(chǎn)品存在的真正意義和價(jià)值。一個(gè)迭代一個(gè)迭代來,有了問題馬上調(diào)頭或修改,設(shè)計(jì)、開發(fā)、測試、部署、驗(yàn)證快速閉環(huán)。(注:迭代指軟件開發(fā)的一個(gè)時(shí)間周期及相應(yīng)要交付功能的集合,時(shí)間一般1~4周不等)
所以,敏捷開發(fā)(如Scrum、Lean、XP等)思想到底是起源于美國人偷師日本的精益生產(chǎn),還是日本人從陽明心學(xué)中得到了什么啟示?這是個(gè)值得研究的問題。
