二十二

无法可得分

金刚般若波罗蜜经 · 第二十二品 / 三十二品

原文

须菩提白佛言:"世尊!佛得阿耨多罗三藐三菩提。为无所得耶?"

佛言:"如是,如是。须菩提!我于阿耨多罗三藐三菩提乃至无有少法可得,是名阿耨多罗三藐三菩提。"

白话

须菩提对佛说:"世尊!佛证得无上正等正觉,其实是无所得吗?"

佛说:"正是这样,正是这样。须菩提!我对于无上正等正觉,乃至没有一丝一毫的法可以得到,这才叫作无上正等正觉。"

这一品在说什么

  1. 须菩提主动发问,把前面各品反复暗示的结论挑明:佛所证的无上正等正觉,是不是根本"无所得"?
  2. 佛罕见地连说两个"如是",全盘印可——这是全经中佛对弟子判断最干脆的一次肯定。
  3. 佛随即把结论推到极限:不是"所得很少",而是"乃至无有少法可得"——连最微小的一点法也不存在、不可得。
  4. 最后用全经标志性的"是名"句式收尾:正因为无一法可得,才配称为"阿耨多罗三藐三菩提"。无所得不是正觉的缺陷,而是正觉的定义。

深度解读

这一品只有两句对话,却是《金刚经》后半部论证的收束点之一。

先解释名词。"阿耨多罗三藐三菩提"是梵文 anuttarā samyaksaṃbodhi 的音译:anuttarā 意为"无上"(没有更高的),samyak 意为"正、遍",saṃbodhi 意为"觉悟",合起来即"无上正等正觉"——佛所证得的、圆满无缺的觉悟,是全部佛教修行的终点。而"无所得"对应梵文的 na upalabhyate(不可得、不可把捉),是般若系经典的核心术语:不是"找了没找到",而是"那里根本不存在一个可以被抓取的对象"。

本品要回答的问题,全经其实早已铺垫。第 7 品佛已说"无有定法名阿耨多罗三藐三菩提";第 17 品佛又自述在燃灯佛处"实无有法得阿耨多罗三藐三菩提"。到了第 22 品,轮到须菩提把这条线索收拢成一个总结性的判断句抛回给佛:您证得正觉,是否本来就无所得?佛的回答不留任何余地——"乃至无有少法可得"。梵本此处用的是 aṇur api tatra dharmo na saṃvidyate nopalabhyate:aṇu 本义是"极微",物质可分割到的最小单位,鸠摩罗什译作"少法",隋代笈多直译作"微小彼中法"。也就是说,佛用了一个物理量级上最小的单位来做全称否定:在正觉之中,连一个"极微"那么小的法也找不到、得不到。孔兹(Edward Conze)的英译是 "not even the least dharma is there found or got at",忠实保留了这个量级修辞。

为什么"无所得"反而是正觉的定义?历代注家的解释高度一致。六祖惠能《金刚经口诀》说得最短:"所得心尽,即是菩提"——把"想要得到什么"的那个心耗尽了,剩下的就是菩提。宋代《金刚经集注》里,颜丙的对仗最清楚:"有法可得,是名法缚;无法可得,方名解脱"——只要还有一个东西可以抓在手里,抓取本身就是绑缚;李文会补充:"若有少法可得,亦是著相"——哪怕只剩一点点"我得到了"的感觉,也还是执著于相。王日休则从性体上说:"性中无有少法可得,无有所得,则荡然空空,不可以形相求,不可以言说求也。"换句话说,正觉不是一个可以从外部取回的物件,它是心把一切抓取都放下之后自然呈现的状态;若它是可得之物,就必然是有条件、有生灭的,恰恰不配称"无上"。

近代注家把这一品放进全经结构里看。江味农《金刚经讲义》依校勘判定全经分前后两周:前周破粗执,教人"离相";后周破细执,教人"离念"。第 22 品正处后周深处——此时要破的已不是对身外之相的执著,而是对"证悟"这件事本身最细的一念执取:连"我证得了菩提"这个念头也要放掉。南怀瑾《金刚经说什么》为本品作的偈颂是:"多年行脚觅归途,入室知为道路愚。检点旧时新衣钵,了无一物可提扶。"他的白话解释是禅宗式的:"本来无一物,没有一个境界可得的,这就是无法可得"——修行者最后发现,连一路依赖的方法本身也是要放下的拐杖。

需要如实说明的一处分歧:本品与第 7 品、第 17 品文义高度重叠,梵本与诸汉译在此处的分章、详略也不尽相同(罗什译最简,笈多译保留了"极微"的字面)。传统判教倾向于把重复解释为"破执逐层加细"(江味农的前周后周说是代表),而现代文献学者更倾向于视之为经文层累编纂的痕迹。两种读法并不互斥:无论文本如何形成,第 22 品在现行结构中承担的功能是明确的——把"无所得"从阶段性的论点升格为对正觉的最终定义,并直接引出第 23 品"是法平等,无有高下"。

理工男视角

ENGINEER'S NOTES

本品的逻辑可以用一个程序设计里的区分来搭脚手架:返回值与副作用的区分——证悟不是一个可返回的值。

"得"这个动词预设了一套接口:存在一个调用方(我),调用某个函数(修行),函数返回一个对象(菩提),调用方把它绑定到变量上(我得到了菩提)。须菩提的问题相当于在问:attain() 的返回类型是什么?佛的回答是:这个函数的返回类型是 void。它不返回任何对象——"乃至无有少法可得",连一个字节都不返回。它的全部作用是副作用:清空调用方持有的所有错误引用。

更准确的类比是数组的"有序性"。你对一个乱序数组执行排序,完成后数组"获得"了有序性——但你无法在数组里指出哪个元素是"有序",它不占下标、不占内存,不是数组中的一项,而是整个排列的全局属性。菩提同理:它不是心中新增的一个内容项,而是一切颠倒执取被移除后,心整体呈现的性质。正因为它不是"其中一项",所以"无有少法可得";也正因为如此,它才能"无上"——任何作为对象存在的东西都可以被比较、被超越,唯独不作为对象存在的全局属性没有更高一级。这就是"是名"句式的逻辑:不可得,恰恰是它成立的方式。

类比在哪里失效?失效在调用方。在程序的图景里,排序完成后,那个观察"数组已有序"的程序员还站在系统外面;副作用清空了数据,却没有清空操作者。而本品的锋刃恰恰指向这里:六祖说"所得心尽,即是菩提"——要清空的不只是"所得之物",还包括"能得之心"。佛学称之为"能所双泯":能抓取的主体和被抓取的客体一起消解。工程语言里没有对应物,因为任何工程描述都默认保留一个在系统外做验收的观察者。类比失效的这一点,正是《金刚经》超出一切对象化思维的地方——它不是宣布返回值为空,而是连"等着接收返回值的那个人"也一并解构了。

写给高级程序员

FOR SENIOR ENGINEERS

工程师的职业直觉里,「完成一件事」默认等于「交付了什么」:一个 feature、一个产物、一条可以写进周报的新纪录。第 22 品攻击的正是这个默认值。须菩提问:佛证得无上正等正觉,是不是其实无所得?佛给出全经最干脆的印可,并且把结论推到量级的下限:乃至无有少法可得——连一个最小单位的「交付物」也不存在。

把这句话移植到工程语义里,最贴切的载体是删除式重构。设想一个背了二十年技术债的系统:到处是缓存着过期数据的字段、悬空的引用、为绕过旧 bug 而写的补偿逻辑。修复它的那个终极 PR,理想形态是什么?diff 里 insertions 为 0,deletions 为几万行。合并之后,系统「获得」了正确性吗?没有任何一行代码是新获得的。正确性从来不是可以 add 进来的东西——历史上被一次次 add 进来的,只有错误。本品所说的修行,就是这个只删不增的长期重构;所谓证得,就是 diff 终于收敛为纯负。第 17 品「实无有法得阿耨多罗三藐三菩提」,用版本控制的语言说:那个提交里没有新增。

第二层更关键,也是本品比前几品多走的一步。重构完成后,你会本能地想写入一个标记:refactor_complete = true,或者一条「已达成」的记录。本品的回答是:这一行写入本身就是新的技术债。「若有少法可得,亦是著相」——任何用来记载「我得到了」的状态,都是往刚清空的系统里新增的一条执取;落盘的那一刻,「无所得」就被破坏了。所以正觉在存储模型上只能是一个派生属性:不物化、不占字段、没有自己的存储位,仅仅是「执取集合为空」这一事实的别名。这正是「是名」句式的存储语义:它不能作为一条数据存在,只能作为空集的名字成立。「无上」也由此成立——任何被物化存储的成就都可以被更大的成就覆盖,唯独「无一物可被覆盖」的状态没有上一级。

from dataclasses import dataclass, field


@dataclass
class Mind:
    """一个只允许删除的系统:修行的每次提交都是负 diff。"""

    graspings: set[str] = field(
        default_factory=lambda: {"我相", "法相", "所得心"}
    )

    def release(self, grasping: str) -> None:
        self.graspings.discard(grasping)  # 唯一合法的写操作是删除

    @property
    def anuttara(self) -> bool:
        # 正觉不落盘:没有自己的字段,只是"执取为空"的别名。
        # "乃至无有少法可得,是名阿耨多罗三藐三菩提"
        return not self.graspings


def test_recording_attainment_destroys_it() -> None:
    mind = Mind()
    for g in sorted(mind.graspings):
        mind.release(g)
    assert mind.anuttara

    mind.graspings.add("我已证得")  # 想把成果作为一条记录存下来
    assert not mind.anuttara  # "若有少法可得,亦是著相":写入即破坏

这个映射在两处失效。其一,代码里的「空」只是集合元素个数为零,那个空集合仍被一个持续存在的 Mind 对象持有着;而般若的「无所得」不是容器清空了,而是「容器与元素」这套模式本身不成立。其二,release 是一串有为操作,凡能被操作序列到达的状态都是有条件、可退转的,而本品恰恰否认「通过 practice 到达菩提」这个调用关系本身——菩提不是重构的产出,把它当作任何流程的终态,就又把它变回了一个可得之物。

关键概念

概念 梵文/巴利文 解释
阿耨多罗三藐三菩提 anuttarā samyaksaṃbodhi 无上正等正觉;anuttarā(无上)+ samyak(正、遍)+ saṃbodhi(觉悟),佛所证的圆满觉悟
无所得 na upalabhyate / anupalambha 不可把捉;并非"没找到",而是根本不存在一个可被抓取的对象,般若系经典的核心立场
少法 aṇur api dharmaḥ 梵文 aṇu 意为"极微"(物质最小单位),"乃至无有少法可得"即连极微量的法也不可得
是名 全经标志性句式"(无)A,是名 A":正因不执取其为实有对象,才如实成立其名

金句

我于阿耨多罗三藐三菩提乃至无有少法可得,是名阿耨多罗三藐三菩提。

参考资料