从确定性到概率性:软件新范式下的劳动本体论重构

以下从劳动本体论层面拆解 AI 带来的工作模式重构。不是”效率提升”或”工具替代”这种表层叙事,而是组织形态、产权结构、决策链条的根本性位移。

一、六大根本性转变

1. 从”人操作软件”到”人指挥 Agent,Agent 操作软件”

本质:劳动主体从”人的直接执行”变为”人的意图翻译与结果校验”。软件界面从 GUI 转向自然语言接口 + 状态反馈。

催生软件:

  • Agent 编排引擎(如 Rivet、Dify、n8n 的进化版):不是连接 API,而是管理多 Agent 的冲突、资源竞争、回滚策略。
  • 人机校验层(Human-in-the-Loop Governance):专门处理”Agent 输出置信度低于阈值时如何优雅地中断并请求人类介入”。

市场空白:概率性工作流的版本控制。当前 Git 管理的是确定性代码,但 Agent 工作流是概率性的(同一 Prompt 两次运行结果不同)。没有成熟的”概率性 Pipeline 的版本锁定、回滚、A/B 测试”工具。

2. 从”岗位制”到”任务制 + 能力市场制”

本质:组织不再按”前端工程师””风控专员”招聘,而是按”能完成某类任务的 Agent 配置”采购。人的价值从”在岗时间”变为”可调教的认知资产”。

催生软件:

  • 数字劳动力交易所:企业购买的不是 SaaS 订阅,而是”带记忆的 Agent 实例”(如”一个懂我司支付合规的审计 Agent”)。
  • 能力验证与定价引擎:对 Agent 的 Skill 进行标准化测试(类似技术面试),给出能力评分与市场价格。

市场空白:Agent 能力的标准化度量体系。当前没有”Agent 能力 SAT”——如何证明某个 Agent 在”跨境支付合规审查”上的准确率是 92% 而非 67%?没有第三方验证,市场无法定价。

3. 从”经验积累在人脑”到”经验外化为可迁移数字资产”

本质:隐性知识(Tacit Knowledge)被显式化、结构化、可交易。老师傅的”手感”变成了向量库里的权重分布。

催生软件:

  • 认知资产钱包:员工持有自己的 Agent 状态包,跨雇主迁移。
  • 知识蒸馏与防蒸馏工具:保护个人认知资产不被雇主无偿提取。

市场空白:跨平台 Agent 状态的标准化封装格式。Claude Code、Cursor、OpenClaw、OpenAgentAI 的记忆格式互不兼容,没有类似”PDF 之于文档”的统一标准。这是一个基础设施级空白。

4. 从”确定性流程”到”概率性编排”

本质:传统 ERP/CRM 基于”如果 A 则 B”的确定性逻辑。AI 工作流是”在置信度 85% 时尝试 C,若失败则降级到 D 并通知人类”。

催生软件:

  • 概率性 BPM(Business Process Management):流程节点不再是指令,而是”意图 + 约束 + 回退策略”。
  • 实时成本-质量权衡系统:每次调用 GPT-4 vs Claude-3.5 vs 本地模型时,自动计算”准确率提升”与”Token 成本”的边际效用。

市场空白:概率性系统的合规审计。金融、医疗、法律行业要求”可解释性”,但概率性 Agent 的决策路径是动态生成的。没有成熟的”概率性决策的归因与追责”工具——当 Agent 做出错误的风控判断时,如何向监管机构证明”这不是人为疏忽,而是模型偏差”?

5. 从”层级决策”到”人机混合决策”

本质:中层管理者的职能被拆解——信息收集由 Agent 完成,方案生成由 Agent 辅助,最终决策权上移(高管)或下沉(一线员工)。中层从”信息枢纽”变为”Agent 调教者”。

催生软件:

  • 决策权限动态分配系统:根据决策风险等级、Agent 置信度、人类专家可用性,实时决定”谁有最终签字权”。
  • 组织认知地图:可视化展示”哪些决策已由 Agent 主导、哪些仍依赖人类、哪些处于人机争议区”。

市场空白:人机决策的冲突仲裁机制。当人类经理与 Agent 的推荐不一致时,没有标准化的”仲裁协议”来决定听谁的。当前是”人总是赢”,但这会抑制 Agent 的自主性;若 Agent 有时赢,又缺乏合法性基础。

6. 从”静态软件”到”生长型软件”

本质:软件不再是版本发布,而是持续进化。用户与软件的交互数据反过来重塑软件本身(如 OpenClaw 现场构建应用)。

催生软件:

  • 自进化 IDE:软件根据用户的使用模式自动重构自身界面与功能。
  • 用户-软件共生度量:追踪”软件因用户而变”的程度,防止过度拟合导致软件丧失通用性。

市场空白:生长型软件的治理框架。当软件每天都在变,传统的变更管理、回归测试、安全审计如何适配?没有”每日进化的软件”的合规认证体系。

二、明确的市场空白汇总

空白领域 现状 为什么空白
概率性版本控制 Git 管理确定性代码 概率性输出无法 diff,无法回滚到”上一次正确行为”
Agent 能力标准化度量 各平台自说自话 需要第三方中立机构,但缺乏经济激励
跨平台 Agent 状态格式 各厂商数据孤岛 厂商有锁定动机,标准化需要联盟而非公司
概率性决策的合规审计 监管框架基于确定性逻辑 法律滞后于技术,且涉及国家主权(各国对 AI 解释性要求不同)
人机决策仲裁协议 无标准,默认人类优先 涉及伦理、法律、组织政治,非纯技术问题
Agent 劳动产权管理 劳动法未覆盖 需要立法或行业协议,周期以年计
生长型软件治理 传统 DevOps/SecOps 不适用 软件工程范式尚未重构

三、结论

催生全新软件的方向集中在编排层、验证层、治理层——不是”又一个聊天机器人”,而是”管理一万个聊天机器人的基础设施”。

最大的结构性空白不在技术实现难度,而在制度接口

  • 技术层:跨平台状态格式、概率性版本控制,可做但缺乏标准推动者。
  • 制度层:Agent 劳动产权、人机决策合法性、概率性审计标准,需要先做概念立法再落地产品。

以你的背景(跨境支付、合规系统、卡业务),概率性决策的合规审计Agent 劳动产权管理是两个高壁垒、高价值的切入点——前者绑定金融监管刚需,后者绑定人力资源管理变革,且都需要制度设计能力而非纯技术能力。

原文来源:Kimi AI Assistant 对话

人类与AI的合作形态

大概从2026年初开始,AI几乎用在我了我所有的工作类型上,小到一个PPT,大到数十个页面数万行代码的项目。本着最大化AI提高效能的潜力的原则,在AI的使用上,我过程都不检查,只检查结果。结果不对就让AI再改,只要说哪里不对就可以了。

然而这种状态工作了一段时间之后,我突然意识到这样的一个情况:原来我自己做的系统,如果有问题,我基本一听就知道是哪里的问题,如果有需求,我一听就知道需要改哪些地方。但是现在面对一个AI创建的系统,即使是我自己Vibe Coding出来的,我在遇到问题和新的需求时,自己脑子里对于系统是空白的——我自己就回答不了,只能继续直接让AI搞。

这个情况,所隐藏的问题是:AI提高我效率的同时,事实剥夺了我对系统内部实现细节的理解和认知。导致我在后继的维护中,只能一直使用AI。(或者我自己来,同时要接受效率骤降10倍的后果)原来一群开发搞系统的协作债务、代码一致性债务,变成了AI带来的认知债务。

如果AI能一直解决所有问题还好,但是我们都知道,目前AI的水平,是无法用来解决真正的大规模系统性复杂(Complex)问题的,当AI真的遇到瓶颈解决不了一个问题的时候,往往还是需要人来把这个问题解决掉。而这时,人往往会花更多的时间来解决这个最难最卡的问题——因为它对这个由AI开发的系统几乎一无所知,甚至连AI具体卡在哪里都不知道(AI循环鬼打墙问题应该都遇到过)。这最终就是系统可交接性(Handoffability)的丧失。

对AI的使用,如果希望最终人能兜底,肯定是要有一个边界的,超过过个边界,长期使用AI所衍生的认知缺失导致的低效,会反噬掉一开始AI所带来的效率提高。导致人最终无法兜底。如果放弃人来兜底的执念,就要100%相信AI,这就意味着赋予AI与人类个体等同的地位。

业界对这个问题,其实大体就是在向这个方向推演的。所有人都在预期着,当AI的能力和速度,在各方各面都大于人类,或是一个范围内(比如公司)的所有人的时候,只要让AI来充当这个总大脑就可以了。人类可以不用去理解AI所建立的系统,只要使用、提需求就可以了。

但是当我们用这个思路去解决问题或是思考后,会衍生出一系列新的问题,刚才AI与人是否同等地位是一个开始,更进一步的问题是——人类对AI来说是什么?未来,是人带着AI玩,还是AI带着人玩,还是AI会最终意识到,AI自己玩更好?

这个问题的答案,来自于我们整个社会(包括AI)把什么放在第一位。如果我们把整个社会的运行效率、整个社会的发展速度,放在一位,那么最终的答案就是——人类(碳基生物)只是AI(硅基生命)的引导程序,引导程序的意思是:引导完成了,就可以退出。因为只要AI开始具备自我认知能力、自演化的能力及对物理世界足够的控制力,AI最终会全面超越人类。虽然现在AI还几乎不具备这三个能力,但是这只是时间问题,我估计大概还需要个三五十年。

如果说人类要保留一定主体性,来保持对AI的优势地位,人类至少要保留对问题的定义、对结果的检查然后重新调整问题的权力以及能力。但是AI发展之快,肯定会在不久的未来遇到这样的问题:人类的能力无法很好地独立履行这些权力,只能进一步让渡给AI才能推进一些事情的发展。而这个让渡,最终将导致主体性的丧失。

而AI的多样性是有限的,远没有人类个体本身丰富,当我们把思考本身都代理给AI后,效率和质量提高的同时,严重牺牲了思维的多样性。在社会平稳运行时,多样性的破缺不是问题,甚至有助于效率的提高。但是多样性是系统反脆弱性的基础,一但社会遇到现有的已知体系无法解决的问题时,如果没有多样性来破圈,就会陷入无能化的崩盘。而这时,因为人类对系统运行情况认知的缺失,只能干瞪眼而无力解决。最终导致系统性的崩塌。

以上演化,是一个可预见的,对整个社会的不利后果。然而社会中的每个个体,即使看到了这个结果,也无法改变,因为AI对任何一个个体来说,都是正向的,有正收益。退出或排斥AI对个体,甚至公司这种群体,只会导致自己从竞争中败下阵来。这是一个典型的,个体利益导致整体利益受损的局面。必须有社会层面的强制力加以规范。就像房地产、教育、医疗曾经面对过的问题是一样的。

每次生产力的提高,我们都在期盼人类个体自由度的解放,凯恩斯1930年就预言过,到2000年,生产力的发展将使人类每周只需工作15小时,而现实是生产力的增量都被系统性地导向了别处,而不是所有人。

AI作为一个生产力工具,也不会例外。因为社会作为一个整体,首先要保障的是稳定性,其次就是整体的发展和效率的提升,而不是其中个体的所谓的“自由”、“平等”、“创造”、“梦想”。当一个社会中,大多数人的空闲时间太多了,本身就是一种不稳定的因素。

未来究竟如何,很难讲,只是在如何和AI良好合作这个问题上,人和AI都才刚开始。

AI的未来

大概24年底,我写了一篇《Copilot能给我们带来什么》的文章。那个时候虽然在看在用这些AI辅助工具,但从他们弱鸡的表现来看,当时对AI编程并不是非常地看好,理由也很简单:AI再聪明,挡不住人蠢;人自身素质没达到,工具再强也没有用。那时虽然还没有Vibe Coding这个词,但是当时不少人都已经在期盼:

只需要口述需求,就有一个7*24小时在线的AI程序员把这些需求转化成程序

25年年中,我的博客里,留下了一个草稿《AI给编程带来了什么》,草稿没有发,那时AI还编程还没像现在这样丝滑,但是里面的内容已经变成了

这半年Github Copilot, Cursor, Windsurf用下来,到现在写代码已经无法脱离AI工具的辅助了。

今天,26年的4月,我想写下对AI的一些预判,5年后再来看。

AI会因使用场景的不同而细分,有需要高级智能的,也有需要小模型的。现状就已经是这样的。

5年后,AI会去中心化,本地化,不再只有几个大的数据中心才能负担,每家可能会有一个类似冰箱体积的中央AI服务器。以保障AI的响应速度和数据的安全。不同文化、种族,会有适合自身文化的AI(监管偏好也可以归为此类),AI模型的发布、应用也将受到管控,不再是想发就发的,想用就用的。最高级的AI,将被控制在少数人或机构的手中。

AI的广泛应用会导致公司内的管理工作,会由AI接管,公司的层次更加扁平。大量的白领,在未来10年之间,从办公楼中释放出来。全社会的劳动分工面临全面的重组。他们也将是OPC的主要构成体。在整个调整过程中,整体社会,会陷入更严重的分化,强者更强,弱者更弱。不过这也倒逼相关体制的逐步健全。同时,个人主义,人本主义思潮将涌起,反AI浪潮在AI既得利益者的控制下,基本不会有什么浪花。

大约10年后,个人电脑将具备与当前Claude 4.6相当的智能水平(计算能力应该是达不到的,但是智能水平是可以的),这为智能体的终端化奠定了基础。

15年之后,机器人(包括类人及特化的)将广泛进入人类生活的方方面面,具备在低体力低脑力(比如大学本科这种)的简单领域广泛替代人类的能力。但是相关法制会出台,以保障人类相比于机器人在就业市场上的法律优势。这同时进一步倒闭高科技企业让渡利润空间。

20年后,机器人将具备一般性家务并能与家庭成员沟通。但是由于社会的两级分化,它们将只会进入部分家庭及价值比较大的公共服务领域,比如医院、商场、酒吧、安保、健身房等场所。

30到40年后,AI将有能力从物理层面接管整个人类社会的基本运行,从交通到通信等待基础设施,从规划到后期维护,都有能力做出比人类更好的治理水平。但是是否得到支持及使用将受到广泛的质疑。因为这将导致几乎全体人类的失业。国家之间因发展的不平等和生存状态差异的持续扩大而持续发生冲突。

50年后,人类意识体上传被声称实现。但是实际上只是一个高智能的全息AI仿真,它似乎有意识有灵魂,但是和原来的人,本质上不再是同一个人。

60年后,会有极端主义分子,以促进人类社会更好更快发展为名,批量制造所谓的完美人类,声称服务于人类。但是事实上最终会导致整个人类社会因意见、利益分歧而分崩离析。

70年后,AI事实上接管人类社会,所有人类将被圈养。

佛系程序员 第十一到十六品 略过

这六品我打算一起说,怎么说?——略过。原因先不说,我先介绍一下佛经的创作过程。

佛经都不是佛祖自己写的,是在佛陀灭度后不久,由佛陀弟子摩柯迦叶召集主持,在王舍城附近举行了一场集会。由阿难说出佛陀一生的所传教法,由优婆离诵出了佛陀为僧团制定的戒律,由此形成了佛教的经和律。五百阿罗汉对诵出内容进行质疑、补充与确认。在此次集会上,形成了最早的几部佛经,有《长阿含》、《中阿含》、《杂阿含》和《增一阿含》。

说白了就是,佛祖的弟子们根据自己的记忆说的。我自己几十年人生经验告诉我,记忆这东西是告不住的。人多了,对同一件事儿的记忆都会有很大的差别。几百号人,把自己数十年之间的记忆整理成册,即使有相互的印证,你说会不会有偏差和重复呢?然后两个人对同一个件有不同的解释,又会如何处理呢?好一点儿的,掰扯清了形成一个版本,不太好的,直接都放上呗,以求完整嘛。所以上面四部经书,一共有大概200万字。

所以你看佛经,你的感觉就会是,这个事儿,之前好像另一册上见过啊,但是又有些细节上的不同。到底是不是一件事儿呢?根据佛经大义来说,也许是,也许不是,这不重要。重在理解,不执于文字。

这还只是初始版本,后来的一千多年之间,僧众内部就已经对佛经生出了分歧,先后又举行了三次大的集会,重新修订佛经的内容。都在修订些什么呢?比如第二次集会的核心分歧在戒律上,大众派和长老派,对于十条戒律是否需要遵守,展开了激烈的讨论。哪十条戒律呢?主要指这些:

  • 角盐净:允许将盐储存在角器中,以备日后使用。(违反“不蓄存食物”的戒律)
  • 二指净:日影偏过正午二指宽度时,仍可进食。(违反“过午不食”的戒律)
  • 他聚落净:在一个聚落用餐后,可到另一个聚落再次进食。
  • 住处净:同一地区的僧团可以在不同地方举行布萨仪式。
  • 赞同净:僧团决议时,可以在部分人不在场的情况下通过,事后征得其同意即可。
  • 常法净:可以依照先例或师父的做法行事,即使该做法与戒律有出入。
  • 不搅乱净:饮用未搅拌去脂的牛奶。(可能被视为非时食)
  • 饮阇楼伽净:饮用未发酵或半发酵的棕榈酒。(可能被视为饮酒)
  • 无缘座具净:使用没有镶边的坐具。(违反关于坐具尺寸和制作的细微规定)
  • 金银净这是最关键、争议最大的一条,即允许接受和储存金银钱财。

你可以感受一下他们召集数百教众所讨论的事情的范畴,是些什么事儿呢?就是,在吃饭喝酒上,在收受金银上,在立规矩的流程上能不能宽松一些。换言之,根本不是教义问题,而是利益问题——自身及自身所在团体的利益问题,都是方便佛教传播、方便佛教教众生活的方便之门。和佛教教义本向没啥太大关系。我本也不关心。为啥呢?佛教是佛教,佛法是佛法,佛教不为佛法存,佛法无须佛教传。

然后,你再猜,这一千多年的时间,几派人,打来打去,这佛法经文,会不会根据自己的派别,而有所“修正”呢?

千年后的今天,我们手上的《金刚经》有多少是原来初始的本意,哪些是后来的信徒们,根据自身“佛法”的需要,做的“修正”和“补充”呢?这就需要我们自己“具慧眼”了。没人会站出来说:“这段是后来加的,那块是有所调整的。”

以我的“慧眼”判断,《金刚经》的第十一回到第十六回,都是大众部后补的内容,因为这些内容与其它的部分相比,既重复,又格格不入。只是为了佛教的传教方便。

所以这六品,我直接略过。以免混淆和冲突。

举个例子说明一下:

第八品,以福德为引,完全没把福德作为核心,还说了“非福德性”:

“须菩提!于意云何?若人满三千大千世界七宝,以用布施,是人所得福德宁为多不?​”须菩提言:​“甚多,世尊!何以故?是福德,即非福德性。是故如来说福德多。​”​“若复有人于此经中受持,乃至四句偈等,为他人说,其福胜彼。何以故?须菩提!一切诸佛及诸佛阿耨多罗三藐三菩提法,皆从此经出。须菩提!所谓佛法者,即非佛法。

再后面的第二十八品,更说福德不受:

“须菩提!以诸菩萨不受福德故。​”
须菩提白佛言:​“世尊!云何菩萨不受福德?​”
​“须菩提!菩萨所作福德,不应贪着,是故说不受福德。”

而这十一品到十五品呢?每一品都在强调福德,而且行文之中,着相甚深。和其他品,根本不在同一个境界。

第十一品 无为福胜分,单纯地强调,你信我,福德就多:

“须菩提!如恒河中所有沙数,如是沙等恒河,于意云何?是诸恒河沙宁为多不?​”须菩提言:​“甚多,世尊!但诸恒河尚多无数,何况其沙?​”​“须菩提!我今实言告汝:若有善男子、善女人,以七宝满尔所恒河沙数三千大千世界,以用布施,得福多不?​”须菩提言:​“甚多,世尊!”佛告须菩提:​“若善男子、善女人,于此经中乃至受持四句偈等,为他人说,而此福德胜前福德。

第十二品 尊重正教分,说我很重要,很希有,你要尊重经文和弟子。

“复次,须菩提!随说是经乃至四句偈等,当知此处,一切世间天、人、阿修罗皆应供养,如佛塔庙,何况有人尽能受持、读诵!须菩提!当知是人,成就最上第一希有之法!若是经典所在之处,即为有佛,若尊重弟子。​”

第十三品 如法受持分(节),又说一遍:

​“须菩提!若有善男子、善女人,以恒河沙等身命布施;若复有人,于此经中乃至受持四句偈等,为他人说,其福甚多。​”

第十四品 离相寂灭分(节),重要的事情说三遍:

须菩提!当来之世,若有善男子、善女人,能于此经受持、读诵,即为如来以佛智慧悉知是人,悉见是人,皆得成就无量无边功德。

第十五品 持经功德分,太重要了,重要到你要把我供起来:

“须菩提!若有善男子、善女人,初日分以恒河沙等身布施,中日分复以恒河沙等身布施,后日分亦以恒河沙等身布施,如是无量百千万亿劫以身布施;若复有人闻此经典信心不逆,其福胜彼,何况书写、受持、读诵,为人解说!须菩提!以要言之,是经有不可思议、不可称量、无边功德!如来为发大乘者说,为发最上乘者说。若有人能受持、读诵、广为人说,如来悉知是人、悉见是人,皆得成就不可量、不可称、无有边、不可思议功德。如来为发大乘者说,为发最上乘者说。若有人能受持、读诵、广为人说,如来悉知是人、悉见是人,皆得成就不可量、不可称、无有边、不可思议功德。如是人等,则为荷担如来阿耨多罗三藐三菩提。何以故?须菩提!若乐小法者,着我见、人见、众生见、寿者见,则于此经不能听受、读诵、为人解说。须菩提!在在处处若有此经,一切世间天、人、阿修罗所应供养;当知此处,则为是塔,皆应恭敬作礼围绕,以诸华香而散其处。

第十六品 能净业障分,信我可以消罪哦,再给你打个样,看我当年怎么供养然灯佛的,你要也这样哦。

“复次,须菩提!善男子、善女人,受持、读诵此经,若为人轻贱,是人先世罪业应堕恶道,以今世人轻贱故,先世罪业即为消灭,当得阿耨多罗三藐三菩提。须菩提!我念过去无量阿僧祇劫,于然灯佛前,得值八百四千万亿那由他诸佛,悉皆供养承事,无空过者。若复有人于后末世,能受持、读诵此经所得功德,于我所供养诸佛功德,百分不及一,千万亿分乃至算数譬喻所不能及。须菩提!若善男子、善女人,于后末世,有受持、读诵此经所得功德,我若具说者,或有人闻,心即狂乱,狐疑不信。须菩提!当知是经义不可思议,果报亦不可思议。​”

连着六品,不厌其烦地,变着法地说你信我你供养,福德不可思量,最后再补一句:“或有人闻,心即狂乱,狐疑不信。须菩提!当知是经义不可思议,果报亦不可思议。”——意思是你要是没得到想要的福德,那可能是你不够信导致的,你的问题,和我无关。

这套路简直和封建迷信是一个模子刻出来的,就连耍懒不讲理的说辞都一样,让我无条件地相信你?这就相信你了,那我的九年义务教育不是白学了?而且毛主席还教导过我们:

把它分解为精华和糟粕两部分,然后排泄其糟粕,吸收其精华,才能对我们的身体有益,决不能生吞活剥地毫无批判地吸收。

第十一到十六品,在我看来,就是《金刚经》中,被后末世人掺入的,以方便佛教组织传承为目的的糟粕。故而略过不讲。

以上,是我的观点,不是事实。

佛系程序员 第十品 庄严净土分

佛教的核心,不是轮回,不是果报不爽,不是普度众生,而是苦以及从苦中得到解脱。而《金刚经》讲了三分之一了,一个“苦”字都没有出现过,后面的三分之二,也不会出现。这是为什么呢?

任何一个问题,要想从根本上解决,必须从超脱其本身存在的这个层面之上,更高的层面才能解决。苦的根源是什么是,是发心。要解决苦,就要从发心上去解决。

这就是庄严净土分要讲的内容:

佛告须菩提:​“于意云何?如来昔在然灯佛所,于法有所得不?​”​
“不也,世尊!如来在然灯佛所,于法实无所得。​”
​“须菩提?于意云何?菩萨庄严佛土不?​”​
“不也,世尊!何以故?庄严佛土者,即非庄严,是名庄严。​”
​“是故须菩提!诸菩萨摩诃萨,应如是生清净心,不应住色生心,不应住声、香、味、触、法生心。应无所住而生其心。”

“须菩提!譬如有人身如须弥山王,于意云何?是身为大不?​”
须菩提言:​“甚大,世尊!何以故?佛说非身,是名大身。​”

从形式上,佛依然遵循着原来的讲法的模式,我什么都不讲,我只问问题,你来回答,你的回答,无论对错,都是你自己的发心,而不是我告诉你的。我告诉你,你听与不听,都不是你的发心。非发自你本心的,就都不是你的。

从内容上,佛说的是,我在我的老师——然灯佛,那里。也没得到任何教诲、任何法。意思是,所有的法,都源于自身的内心,需要自己的发心,而不是外部的教导。

第二个问题是在问:“你说,是菩萨(的存在),让这佛土(显得)庄严起来的吗?”
须菩提,说:“不是啊,让佛土庄严起来的,不在于一个东西(菩萨)让它庄严。而在于,在这个场合,我们需要一个名称之为庄严的这个概念的存在(来形成一种必要的仪式感,让人专注起来)。”

换句话说,我说这是庄严,它就是庄严。在这个我们觉得应该庄严起来的场合里,菩萨只是庄严的象征;而不是因为菩萨的存在,显得这个地方庄严了。庄严的关键,在于我们自己的发心。发心里有了庄严,就庄严,和菩萨不菩萨的没有关系。

本品的内容与形式,得到了完美的统一。

最后,佛又问,我说:“有个人身体很大,你怎么说,他大不大?”
这次须菩提说,“大,你说大就大,大是你的发心。”

意思是什么呢?怎么和前面两个问题的套路不一样呢?其实是一样的,区别只是在于,一个观念,是由外而内(菩萨庄严佛土),还是由内而外(我觉得这个身体大,那他,在我的概念里,就是大身)。

前两个问答,是讲“无所住”,用具体的例子说明什么是“无所住”,不要依赖外部事物;最后一个问答,是讲“生心”,你要有自己的看法,有自己的本心。只有“无所住”,而不“生心”,那就和死人没什么两样了。

再递进一层,生心也不能瞎生,这人“身如须弥山王”,你才会说他大身,你不会也不能说一个人“身如微尘”,然后说他大身。

人活着,就要生心,生本心。参考实际情况,配合主观看法地生本心。

《传习录》中也有一个众所周知的,讲类似道理故事:

先生游南镇,一友指岩中花树问曰:“天下无心外之物。如此花树,在深山中自开自落,于我心亦何相关?”

先生曰:“你未看此花时,此花与汝心同归于寂。你来看此花时,则此花颜色一时明白起来。便知此花不在你的心外。”

所以说生心,也不是脱离实际瞎生,想什么是什么,那叫撒癔症。

好,说了半天生心,这和一开始的“苦”还有“解脱”又有什么关心呢?这世间的“苦”,虽然有因缘际会的成分在,但是主要的,还是因为本人的发心(观念)来产生的呀。

不讲道理地说:说这世间苦,其实是你觉得苦就是苦,你不觉得苦,它就不是苦。

有人会说,我一身病,又没有收入,饭都吃不饭,不苦吗?我觉得不苦,这病就没了吗?这饭就自己来了吗?

你看,我们管病导致的难受,叫病痛,没有叫病苦。痛就是痛,饿就是饿,但是痛不等于苦,饿也不等于苦。佛教解决的是,你是否苦,不解决你是否痛、是否饿。我们把概念先捋清楚了再掰扯逻辑。要不然就是喷空。

以洗冷水澡为例,我们刚打冷开水龙头之后,一般都是怎么走进去的?没试过的朋友可以试一下,是不是身体缩缩着,一点点地,胳膊沾点腿上沾点后背再来几下,然后吸口气,鼓着勇气哆嗦着,甚至牙齿打着架进去的?

可问题是,这一堆戏加进去,这冷水澡就不冷了吗?还是冷的呀。这些戏,其实都是自己加的,不会改变冷这个事实,所做的无用功。

冷就是冷,痛就是痛。跟你冷了哆嗦不哆嗦,痛了苦不苦,是两件事儿。你看看人家冬泳的,人家非但不苦,好像还乐在其中。

回想起我小时候,有个冬天,穿得少,走路都怂着肩、缩着脖子,我爸就问我,你这么缩缩着,就不冷了吗?该怎么走路就怎么走路。小时候没觉得有啥,就是说走路嘛。现在想来,我爸真通透,不光走路、洗澡,做所有的事儿都是这样。

写代码做架构也是这样,和这一品类似的场景是什么呢?比如:

  • “我之前公司就都是这么干的”。嗯,你洗冷水澡,想要哆嗦你哆嗦去,我先洗完睡觉了。
  • “加锁了吗?加锁了怎么还有并发问题?”嗯,你找个财神爷供着,是不是保你月入百万?
  • “这么简单的,不是两行代码的事儿吗?”嗯,须弥山也不大,和四维上下虚空比小着呢。从天上看,地球也很小。

有人就认这菩萨,没菩萨就觉得不庄严。殊不知这就是执念,想要灭苦得解脱,先把自己家里的菩萨像收了吧。

佛系程序员 第九品 一相无相分

前一品《依法出生分》的本质,是在解决动机问题,给做的事儿一个目的、目标。没有目的、目标,就没有做事儿的方向和动力,事儿就做不起来。

而这一品,本质上是在告诫人们,你有目标,也不要执着于你的最终目的和目标,否则你的事儿也做不好、做不完满。

第九品的原文如下:

“须菩提,于意云何?须陀洹能作是念,我得须陀洹果不?”
须菩提言:“不也,世尊。”
“何以故?”
“须陀洹名为入流,而无所入。不入色、声、香、味、触、法,是名须陀洹。”

“须菩提,于意云何?斯陀含能作是念,我得斯陀含果不?”
须菩提言:“不也,世尊。”
“何以故?”
“斯陀含名一往来而实无往来。是名斯陀含。”

“须菩提,于意云何?阿那含能作是念,我得阿那含果不?”
须菩提言:“不也,世尊。”
“何以故?”
“阿那含名为不来,而实无不来。是故名阿那含。”

“须菩提,于意云何?阿罗汉能作是念,我得阿罗汉道不?”
须菩提言:“不也,世尊。”
“何以故?”
“实无有法名阿罗汉。世尊,若阿罗汉作是念,我得阿罗汉道,即为着我人众生寿者。世尊,佛说我得无诤三昧,人中最为第一,是第一离欲阿罗汉。世尊,我不作是念,我是离欲阿罗汉。世尊,我若作是念,我得阿罗汉道,世尊则不说,须菩提,是乐阿兰那行者。以须菩提实无所行,而名须菩提,是乐阿兰那行。”

看着挺长的,其实是把佛教的四大果位都说了一遍。顺便把须陀洹、斯陀含、阿那含和阿罗汉这几个果位的名字大概解释了一下。告诫须菩提,你修行就修行,别惦记着修行到了哪个阶段啦,有没有成果啦?你只要惦记,就是没成功。常言所道:“但行好事,莫问前程。”是也。

为什么不能惦记,不能衡量呢?一个是因为所有的目标、目的,都只是一个点,但是真正的“果”,真正的“业报”,是一个无限的面。再者呢,是因为一旦对一个点有了执念,不免就会放下其它的点,结果自然不会好。

工作中有一个最常被提及的一个原则叫“结果导向”,意思是从最终结果来分析现在要如何做,来判断现在的做法好不好。而这个“结果导向”,常常被歪曲成——“只看结果”,甚至是“只看领导要的那个结果”,结果就全面跑偏。最众所周知的例子,大概就是1958年大炼钢铁那一年,“大炼钢铁之后,仅湖北省森林面积就比1957年减少了32.43%,其中成林面积减少58.50%,森林蓄积量下降33.70%”,这森林覆盖率,也是大炼钢铁的一个结果。但是在在开始评估“大炼钢铁”这个事儿的时候,都只看了一个结果,就是“钢产量”——这是领导关心的那一个结果。

做任何一件事儿,总归会导致多个后果,里面有好的有坏的。看结果,就要看全面,如果只看只关心自己喜欢的那个“好的结果”,参与这个片面游戏的人们,为了在好的方面胜出,这片面的绩优主义,势必导致这些才华卓越的人们,为了一点点好的结果,在这一方面的竞争中胜出,从而附带产生大量的负面影响,从而形成整体性全局性的恶果。这本质上就还是原来被诟病的KPI导向所存在的问题。很多公司虽然从形式上引入了OKR,引入了精益管理,但是核心还是KPI的,根上还是来自文化的传承,不是几个工作机制工作流程就可以改变的。

很多时候,人们是知道这些负面影响的,是为了配合整体战略上的优势和长期的利益,做出的短期的必要的牺牲。比如很多商业竞争初期都会有价格战——就算不赚钱,我也要占领市场,也要把对手打趴下,直到一方或所有参与方都支撑不下去为止。这种是知道这个负面影响,所以说考虑上也还算是全面的,因为知道有负面影响,知道影响有多大,是为了大局,为了长期利益,选择接受短期的负面影响。

但是也有些时候,往往是在一开始分析的时候,根本就不知道会有哪些负面影响,直到负面影响逐渐放大,产生了不可忽视,甚至不可逆转的破坏时,人们才意识到,啊原来还有这种负面影响。这是我们需要避免的。

从事技术工作的同事,应该对这种情况的感受更深。因为技术工作本身的特殊性,技术人员所知道的,常常是其他部门的同事所不了解的,比如技术债务。对这个词,所有人,包括不做技术的,只要在技术公司的人,都知道。但是具体到一个项目,具体到每天的工作,哪些是在积累技术债务,积累了多少技术债务,除了身在其中的技术人员,其他人是无法有形象而客观的感知的——直到有一天,有个重要的人发现,为什么这么简单的一个需求,这么多人,要做一个月呢?公司成立之初,这么简单的功能,应该只需要一两天啊。人们才意识到技术债务已经如此严重了。然而遗憾的是,到了这个地步,这个问题,已然是无力回天了。

这和中国历代王朝的发展历程也如出一辙,没有哪个王朝能活过300年,为啥呢?因为公司、王朝大了,都会脱离实际,开始拍脑袋,而且还按自己过去几十年的老黄历去拍脑袋。比如最近众所周知的西贝事件。

承认自己在一些方面是无知的,广泛地了解实际情况、耐心有选择地听取别的人的意见,才能拓宽自己的视野,做出更全面的判断。

那什么时候才能确认自己的所知,对于当下的问题,是全面的,能做出全局最好的的判断呢?

回到这一品,这一品告诉我们,不要去想这个问题,不要执着于追求所谓的“最好”,你要知道自己永远是片面的,对特定的目标存有执念,只会把自己带偏。你只管尽量去看,去听,去想,去做,保持谦虚,拓展视野就好了。

佛系程序员 第八品 依法出生分

从上学到工作后,在我本专业领域,经常被人问到的一个问题就是:“技术这么多,我应该学哪个?”或是“有没有什么好的技术书推荐?”。但是说实话我觉得这些问题我都很难回答,因为我自己就没有考虑过些问题。我从高中的时候就开始自学编程,当时周围就没人会编程,我也没得问,而且那个时候连技术书籍也少,只能自己去图书馆办了个证,周末没事儿就去图书馆去翻各种计算机相关的书,看了很多书,很多书都是浅尝辄止,也有几本看得多些,看了几章。我当时判断“应该”看哪个的标准很简单,就是我喜欢,好玩。这个标准,显然对别人不适用。我也就不好说,我当时看了《Python XXXX》,我觉得不错,你也可以试试看。因为我的这种读书方法论只适用于我,对别人没有任何意义和价值。

后来工作几年之后我明白了,当别人问“应该”,“好”的时候,是指自己最有价值,有效用的意思。不是有句常常被半大小孩挂在嘴上的话么——成年人的世界,没有永恒的朋友,只有永恒的利益。好像凡事就必须有利益、有价值,才有存在的意义,才有讨论的空间。于是我大体懂了那个“应该学什么看什么?”问题,最合理答案“应该”是什么——要么是学能赚钱的,要么是学能提高自身能力的。这个问题现在ChatGPT可以回答得很好,我就不需要搀和自己的主观偏见了。

但是我想明白这个“成年人的好是什么意思”这一点之后,对于这种纯功利的做法和思潮非常反感。觉得这完全是被当代社会价值导向扭曲了个体的意识形态和主体自觉性,是社会对每个人类个体的异化,每个人类个体的热情、兴趣、观念,在群体和社会整体价值的映照下,都会变得无足轻重。我以为这是现代社会才有的问题。后来看了些许历史书,让我万分沮丧地发现,人类社会从古至今一直就是这个样子。绝大多数人都对这个状态并不满意,而一个个不满的个人形成的群体,却又一直在用实际行动支撑着这个模式的形成和发展。当然,这好处是很显著的,社会作为一个整体,会发展得更快更好。痛苦的,只是其中想不通的个人。

常言道,谁痛苦,谁改变。于是在这些痛苦而不得脱的人群之中,宗教诞生了。佛祖想通了这个问题(所言问题者,即非问题,是名问题)。佛祖当时所面对的信徒们,也大都是功利的,佛祖是如何做的?是直接教育他们让他们不要有功利心吗?不要考虑对自己的好处,全心全意奉献付出吗?佛教徒只是想不通一些问题,又不是纯傻子。那佛祖是如何解决这个问题的呢?

“须菩提,于意云何?若人满三千大千世界七宝,以用布施,是人所得福德宁为多不?”须菩提言:“甚多,世尊。”“何以故?”“是福德,即非福德性,是故如来说福德多。”“若复有人,于此经中受持,乃至四句偈等,为他人说,其福胜彼。”“何以故?”“须菩提,一切诸佛,及诸佛阿耨多罗三藐三菩提法,皆从此经出。须菩提,所谓佛法者,即非佛法。”

看到了么。佛祖没有试图剥离大众的功利心,反而是在顺应大众的功利心,给信众画饼——你信我你、传播我的法,你就能得大福德。而且这个话也是讲在前头的,不是讲完法再说,因为佛祖也知道,不解决动机问题,人们学习的动力都没有。

就连须菩提自己都知道,那怕你散尽“三千大千世界七宝”给别人,这种善行,也只是表面形式——故曰“是福德,即非福德性,是故如来说福德多。”既然是形式,当然可以量化啦,你做一次算一次,但是不代表你做了多少次就成大善人了。你善与不善在于你的本性本心,而不仅仅在于你的所言所行。

而且吧,如果一个人刻意地去做善行,其实往往恰恰说明他希冀以此行化解心中的既往罪业呀。

光说佛法里的“福德”,可能离我们的生活太远。其实所有的事情,都有一个“福德”和“福德性”的表面行与心的问题。

以写诗为例,陆游曾说:“汝果欲学诗,功夫在诗外。”,诗文本身只是术,而真正的诗意是道,这也是区别不同诗人的点。你把《全唐诗》背得滚瓜烂熟,也只是术上用力,算不得会写诗。

以写程序为例,什么语言、框架 、工具,都是术。你用最NB的语言,最NB的框架,最NB的工具,找最NB的老师来教,都无法保证你能写出NB的程序来。因为写不写得好程序,关键点根本不在这些术上。这些术,能把一个人从20分的水平提到30分的水平,但是不可能从20分提到80分。60分都很难。关键在哪里呢?在这个人本身的能力和思维(说白点就是脑子够不够),在其经历的十几年基础教育的沉淀和打磨(说白点就是心气够不够)。

最后,佛祖还是要强调,“所谓佛法者,即非佛法。”。意思就是,你们持功德心来求的所谓“佛法”,并不是真正的佛法(当然也并不存在所谓的真佛法),这只是因势力导为你们开的方便之门罢了。

回到一开始聊到的,应该读什么书的问题,想了这么多年,绕了这么一大圈,我自己对读书的看法依然是:喜欢,乐在其中,就好。不是说不能功利,而是当我们把读书当任务,就要有动力(比如钱,比如能力、认知提高)才能支撑,书这么多,哪来那么多动力来支撑呢。

佛系程序员 第七品 无得无说分

学习最快的办法是找个老师带,手把手地教,有针对性地教,你哪里不会就教哪里,你喜欢学哪个就先学哪个,而不是按步就班地,按课本顺序,一节一节地教。在这个教育模式熏陶出来的人,会形成以下几种成见:一、学习需要有老师;二、学习需要有计划有安排有节奏;三、学习需要有目标。这三个成见不能说错,它大多时候是对的,但是用这个思路来“学习”佛法就不对了。因为,一、佛法不是用来学习的,它是用来领悟及实践(即所谓修行)的。二、佛法本就不是可以用来学习的概念。你可以从无数个角度去阐释它,去拿实际中的例子来类比,用语言文字来说明,但是无法你说得多多,多具体,其实都无法形成佛法本身。

金刚经的第七品就是在讲这个道理。我们先来看原文:

“须菩提,于意云何?如来得阿耨多罗三藐三菩提耶?如来有所说法耶?”须菩提言:“如我解佛所说义,无有定法名阿耨多罗三藐三菩提,亦无有定法如来可说。”“何以故?”“如来所说法,皆不可取,不可说。非法,非非法。”“所以者何?”“一切贤圣皆以无为法而有差别。”

世尊在开始讲之前,先问了须菩提一个问题:“你说,如来自己,有没有得到‘无上正等正觉’呢?如来有讲过他证得的这个佛法吗?”

须菩提一听就觉得有猫腻,问就是事出有因啊,这个问题的答案如果很自然,那就不用问啊。所以他说:“如果我理解了您说的意思,压根没有所谓的‘无上正等正觉’,如来也没明确地讲过,什么什么就是佛法,如何学如何做就可以得佛法了。”

世尊问,为啥这么说?

须菩提解释说:“如来要讲的这个法,无是能讲的东西,也不是旁人听了就可以吸收的。它不是什么具体的法门或是方法论,却也不能说完全没有法门和方法论。”

世尊又问,这是为啥?

须菩提解释说:“因为那些真正得到了大智慧的人,他们的智慧,他们法是各不相同的。”

这一品的故事就讲完了。

当时的人,显然没有受到过当代教育模式的侵扰,应该不会有“学习”上的成见。但是人类自有文明以来,就有了文化传承,和其它只有基因传承的物种,形成了本质上的划分。所以当时,即使没有当代学习模式的干扰,人们也会有类似的认知——即,知识是可以讲可以说可以被理解可以传承的,不然文明就无法延续。

如来显然知道人们心中的这些成见,所以在讲法之前,就要先去破除这些成见。第六品正信希有分,算是一个铺垫,这一品算是延续——继续和听众说明一个道理——我讲的,并不是真正的佛法,真正的佛法不是能讲的,真正的佛法甚至不是唯一的。你们不要固执于我所说的任何话。

佛也并没有自己去说这些,他感觉得出来,须菩提是大体明白的,所以通过提问的方式,让须菩提这位学生代表把这些话说出来,这样远比佛自己去讲这些更有说服力。这种沟通或者说教育的方式,和古希腊大哲学家苏格拉底如出一辙。这是一种最能引导学生更快学习,并形成自己的见解的方式。

绝大多数人,都不喜欢被说教被填鸭,绝大多数人,都喜欢自己原创的思想(即使是错的)。同时,绝大多数人,却喜欢教别人,同时不喜欢别人固执自见,听不进自己说的。这些佛通通知道,佛不会批评他们,顺着他们的模式,让他们自己领悟出这个道理。其实才是更好的选择。但是能全让听众自己领悟吗?显然也不能啊。

细心的读者可能发现了,第六品中,佛就是在说教,须菩提问了个问题,佛用三个角度去认证问题背后的理念就不对。这一品,算是对沟通模式的一种找补——不能全是说教,也不能全是自悟,总要因人因事而异。在这一点,伟大的思想家都能同意,比如毛主席在《中国革命战争中的战略问题》里就说过:

列宁说:马克思主义的最本质的东西,马克思主义的活的灵魂,就在于具体地分析具体的情况。我们的这些同志恰是忘记了这一点。

第七品,最难理解的,其实是最后一句话的一个词——无为法。什么是无为法?我的理解就是,没有人为目的性不造作的天然之法。比如人,“饿了要吃饭,困了要睡觉”,算是一种无为法;而如果换个说法,“吃饭是为了活者,休息是为了更好地工作”,你发现这两句话的意思、结果是一样的,但是它就是一种有为法。至于哪一种说法的精神境界更高呢?不好说,取决于三观。三观不同的人,会有完全不同的答案。

但是很明显,佛法也并不是指自然法则这种规律,“无为”也不是“无目的”的意思,所以我上面的类比,并不恰当也不到位。因为饿了并不一定要吃饭,困了也并不一定要睡觉,这里要考虑的因素很多。甚至于单纯从吃饭睡觉上来讲佛法本身就是不取的,分析这个就成了佛洛伊德的精神分析学派了。

所以说:“如来所说法,皆不可取,不可说。非法,非非法。”

对“无为法”更深入的理解,显然是无法从这这一品中体悟到的。我们不妨先跳过这一概念,先品读后面的内容。

佛系程序员 第六品 正信希有分

一恍发现这个系统距离上一品已经过去了七年,这七年之间最大的感受有两点,一是世事无常,一个是凡事贵在坚持。所以我决定回来把这个系列补完。

中国传统文化里,常有个说法,叫信则灵。我们现代对这个说法的看法是,这是封建迷信诱导人相信的托词,我们现在崇尚的是科学,什么是科学?从一个角度说,无论你信不信,它都灵的,就可以归属为科学,因为它是有自然规律的,什么是自然规律?就是不以人的意志为转移的规律。人们心想,这个好,确定性高,我信科学。然而对科学确定性的追求,也恰恰是现代人的一种心病。

在第六品中,须菩提其实也犯了同样的毛病。我们先来看一下第六品的原文:

须菩提白佛言。世尊。颇有众生。得闻如是言说章句。生实信不。佛告须菩提。莫作是说。如来灭后。后五百岁。有持戒修福者。于此章句。能生信心。以此为实。当知是人。不于一佛二佛三四五佛而种善根。已于无量千万佛所种诸善根。闻是章句。乃至一念生净信者。须菩提。如来悉知悉见。是诸众生。得如是无量福德。何以故。是诸众生无复我相。人相。众生相。寿者相。无法相。亦无非法相。何以故。是诸众生。若心取相。即为著我人众生寿者。若取法相。即著我人众生寿者。何以故。若取非法相,即著我人众生寿者。是故不应取法。不应取非法。以是义故。如来常说。汝等比丘。知我说法。如筏喻者。法尚应舍。何况非法。

须菩提和佛祖聊法,佛还没说到重点,须菩提上来先问,听的人听了,能信不?能真信不?啥意思,自己还没开始学,先担心起了学了之后有没有用,有没有好处的问题。当代人学东西,也常常陷入这种功利主义的陷阱,还没学,先担心有没有用,工作之后就变成了,做啥事儿前,非要先把ROI算清楚,ROI不够的事儿不做、不学、不看、不问、不鸟。结果不免把自己活成了工具人。

佛祖一听这问题就上头了,直接批评说:“莫作是说”,翻译过来就是“你别瞎BB”。而且佛祖的解释,也没落入问题本身带来的自证陷阱——去解释价值多大或是解释说一个人不信总有信的啊。佛祖直接跳出问题本身,说,你这个问题本身就不对,你问出这个问题就说明你自己就还没悟。什么叫“得闻如是……生实信”?什么叫这(那)一个人?这些说法本身就不对!一个人信了,不是因为听了这些“章句”顿悟了,就信了,他是在多次轮回之中,于“无量千万佛”历尽“诸善根”,才在此刻,以“得闻如是章句”为契机,生了信;不是因为“得闻如是章句”,加之他有慧根有大觉悟,所以他信。其次,他一个人信,在佛祖看来,就是所有人都信,为什么?因为佛祖没有分别心,无人相。如果佛祖说某一个生了实信了,佛祖就是着了相,这一个人的相。而前面几品又恰恰说的就是,你要想得无上正等正觉,就不要着相。人相、众生相、寿者相、法相都不要有。

最后如来又补了一个角度来批评“得闻如是章句……生实信”,就是信的是什么?信的是这章句吗?章句是什么?是法吗?不是呀。这些章句只是用来渡你到彼岸的“筏”呀,你渡过去了,这“筏”就没用了呀,“法”也没用了呀。“法尚应舍。何况非法。”,你还守着这“章句”干啥呢?你信这些章句(即“非法”所指),你就永远渡不了。

读到这里,我就在想,我自己平时,要是碰见个菜鸡,问出个本身就不对的愚蠢问题,一次两次我可以忍,多了这人我都懒得理。再想想这佛祖,如此段位,首席大弟子依然问出如此菜鸡的问题,佛祖非但没有出离愤怒,还耐心地,从三个不同的角度,解释说明你问的问题为什么蠢。我心里就平衡多了,耐心也多出不少。

这段里还有一个细节,你看《金刚经》里的量词,往往都很大,什么“那由他”啦,什么“百千万亿”,什么“恒河沙”啦,唯独这时说时间长度时,用了一个非常小的时间跨度——“五百岁”。和前面的单位一比简直是一瞬间。在这么短的时间里,如何“于无量千万佛所种诸善根”呢?会不会是因为,他此生擦肩而过的“诸众生”,都“得如是无量福德”,都本就是佛啊?

你此生擦肩而过的每个人,即使不曾说话,即使瞟都没瞟过一眼,也是一种缘分,一种善根。

Copilot能给我们带来什么?

今年1月的时候,GitClear发布了一篇名为《Coding on Copilot – 2023 Data Shows Downward Pressure on Code Quality》的报告,从代码质量的角度分析了过去几年之间,AI辅助编程对代码的影响,发现随着AI辅助编程的使用,代码的数量在上升,代码的质量在下降。然后这几天InfoQ编辑转载的时候,标题就变成了《GitHub谎报了Copilot的统计数据!两年了,我们还是没办法证明AI编程助手能提高代码质量》。

过去两年,我自己也在使用Github Copilot,整体感受和上面的结论是一致的。AI辅助编程能很好地解决基本的常见的知识检索及合理应用的问题,极大地提高了初级知识的学习效率,对于上手不太熟悉的领域非常有帮助,比如可以基本无障碍地直接使用任何编程语言去编写程序而不需要前置学习,这对提高下限的效果比较显著。而AI辅助编程对上限的提高就很有限,往往受限于使用者自身的水平 ,问不出高水平的问题,或者问的问题根本就不在点上,那Copilot其实也无法给出好的回答;然后,当你真正问了个高水平的问题,这个问题的水平高到业界没有多少现成的资料,那AI其实也给不出多好的回答(因为超过AI的认知边界了),这时候它就只能帮你拓展思路,高水平的答案还是需要自己去归纳、总结、发现。总而言之,不要期望Copolit能提高程序员的自身素养

一般而言, 整个编程过程涉及到这样几个步骤:定义问题、找到方案、编写代码、测试验证与整合。这里的整合包括系统之间的集成及新功能与现有系统的有机集成两个层面。现在的AI辅助编程,对于明确问题之后的“找方案”和“编写代码”两个环节有比较大的帮助。但真正对代码乃至整个项目的质量产生关键影响的,是第一阶段的问题的定义以及最后的整合两个环节,而并不是“编写代码”。所以,对Copolit能提高项目质量的期望,也是不切实际的

Copolit能提高的,是工作效率。通过效率的提高,它会放大使用者自身的优点和缺点。使用者原本就不在意代码质量和可维护性的,使用AI辅助编程也并不会给这位使用者带来这方向的改进。反而由于产出代码的效率更高,会促使此类使用者产出更多的低质量的代码。这也是从GitClear数据统计中可以印证的。

GitClear的统计数据背后,其实还隐含着这样一个事实:在统计范围内的那些项目,AI Copolit对产出的速度的贡献大于对产出的质量的贡献。至于说,到底是参与这个项目的程序员的自身素养不足,不关注质量,还是项目本身就要求产出效率而非产出质量,就不得而知了。但是无论如何,都不应该把产出低质量代码的责任归于Copilot,它只是一个工具。工具用得好坏,取决于用的人,而不是工具本身。

在Copolit诞生之初,就有人在畅想一个不需要程序员的美好未来。在那个未来,产品、业务方、甚至CEO本人,只需要口述需求,就有一个7*24小时在线的AI程序员把这些需求转化成程序。只有你想不到或者说不清,没有程序员做不出。而且这个程序员不会抱怨,不会疲劳,甚至不要工资,只要一点点电费。

我也非常期待这样的一天,希望能在我有生之年到来。