熵增发生不需要任何外力,它自己就会发生。这是我在一个老项目上消耗了整整一周之后最真实的感受:代码仓库打开来,模块与模块之间的调用关系像一团没有梳理的耳机线,文档描述的和线上实际跑的早就是两个版本,想改一个看似很小的功能,牵出来的依赖链却长得让人头皮发麻。更麻烦的是,没有人故意把项目搞乱,每个改动在当时看都是合理的,但半年不系统治理,它就这么自然而然地烂掉了。所以当我第一次看到“融智学之三智双融共赢和略是以‘熵减之智’驾驭‘熵增之势’”这个命题时,没有觉得它玄,反而觉得它把技术管理里最核心的那点事说透了。
这句话拆开看并不复杂:熵增之势是背景,熵减之智是手段,三智是三个可调用的资源,双融是两道必须打通的接口,共赢和略则是系统运行时必须满足的约束。这篇文章我不打算做学术考证,而是想分享一套把它落到软件系统设计、团队治理和个人工作方法中的经验。适合正在被复杂系统折磨的工程师、技术管理者和对组织演化感兴趣的从业者阅读。
1. 一个项目如何悄无声息地腐烂:熵增才是默认选项
1.1 腐烂不需要理由,只需要不加干预
你几乎可以给每个经历过失控的项目写一份病历:上线三个月内速度最快,所有代码都还在早期开发者脑子里,改一个东西直接跳过去改就行。从第六个月开始,新需求变得没那么好加了,因为每次改动都牵出一堆隐性的历史包袱。于是有些人选择在外层继续叠if分支,有些人靠问人来确认某个参数到底能不能动。
我亲眼见过一个最典型的场景:某个公共服务因为一次紧急故障,被允许绕过统一的权限校验模块,直接在内层接口加了一个白名单。当时确实是为了救人,但此后没有任何机制让它回归正常架构。半年后,这个白名单膨胀成了数百个账号的集合,没有注释、没有负责人、没有过期时间。系统从“知道谁在用”变成“根本不知道谁在用”,每次安全审计都像在拆地雷。
这就是软件系统里的熵增:它可以完全不由任何人的恶意推动,纯粹因为缺乏持续的外部干预而自然恶化。无序度的增长不需要维护者,而有序度的维持需要有人持续做功。任何人如果没有深刻认识到这一点,就会指望靠一次大重构解决所有问题,然后在重构完成后的第三个星期,眼看着系统重新开始腐烂。
1.2 熵到底是什么:从微观状态到信息不确定性
物理学里熵的常见理解是“混乱程度”,但它最初的严格定义其实是对系统可能微观状态数量的度量。一个系统可以处于很多种等价的微观排列方式中,可排列的方式越多,熵就越大。一个桌面上所有文件都按规则叠好,它只有少数几种合规摆放方式,熵低;如果文件被随意扔在桌上,排列方式几乎无穷多,熵就高了。
香农把这个概念搬到信息论里,用熵去描述不确定性。一个系统越难被预测,信息熵就越高。比如一个接口的返回值类型完全稳定,调用方不需要做任何猜测,这是低熵状态;如果某个接口今天返回对象、明天返回数组、后天直接抛异常,调用方必须为每种可能性写防御逻辑,这就是高熵状态。而这恰恰是软件腐化的本质:各种可能的隐藏状态越来越多,任何一种状态都不再占据明显的主导位置,整个系统的可预测性崩塌了。
明白了这一点,你就会发现,代码里的“坏味道”不只是审美问题。每增加一个绕过设计的快捷分支,系统可能的控制流路径就成倍膨胀;每增加一份没有所有者的文档,知识来源就开始分裂成多个版本。混乱在数学意义上是一个组合爆炸问题,它确实会不断自我繁殖。
1.3 地球并不是封闭系统:系统性减熵为什么是可能的
热力学第二定律说的是孤立系统的熵不会自动减少,但地球不是一个孤立系统,它不断接收来自太阳的能量输入,再向宇宙空间排放低品质的热量。正因为有持续的负熵流输入,地球表面才能演化出生命、智能和秩序。换句话说,在开放系统中,局部熵减是完全合法的,只要你有外部能量持续供给。
这条物理规则放在工程和组织的语境中同样成立。一个团队要保持代码整洁,需要管理者投入评审精力;一套文档要保持可用,需要有人定期去更新和删除;一个长期有效的知识体系,需要有人持续地把隐性经验翻译成显性规则。所有这些熵减动作都不是免费的,它们消耗的是人的注意力、时间和组织的管理带宽。问题从来不在于“要不要支出”,而在于“支出在哪里最划算”,这也引出了后面对三智和双融的讨论。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 给“三智”装上可操作的抓手:人的判断、机器的模式识别、群体的互相纠偏
2.1 我如何把“三智”拆成可调用的资源
“三智”在不同语境下可能有很多种解读,在工程实践里,我更愿意把它具体化为三种真实可调用的降熵资源:人类的经验与价值判断、机器智能的模式识别与自动化执行、群体协作中的涌现判断。
| 智的类型 | 最擅长做的降熵动作 | 在复杂系统中的位置 | 典型失效模式 |
|---|---|---|---|
| 人的经验与价值判断 | 在模糊目标中定义“什么叫做好”,识别意外的模式,做价值取舍 | 系统方向的校准者 | 面对海量信息时精力不足、判断疲劳 |
| 机器智能与算法 | 在高维数据中找到相关性,对系统状态做预测和调度,以毫秒级速度执行重复判断 | 实时感知与自动决策的放大者 | 目标函数有偏时会系统性放大错误 |
| 群体协作的涌现智慧 | 把不同角色的碎片事实合并为共识,通过互检来消除个体偏差 | 大型系统的纠偏与稳定层 | 缺少透明规则时变成从众或内耗 |
这三类“智”有一个共同特点:它们只有在持续做功时才有价值。人的经验不更新就会过期,模型不迭代就会因为数据漂移而失效,群体的共识不维护就会退化成部门政治的产物。三者都不是可以一次性买断的资产,而是需要持续投入的流程。
2.2 为什么任何单一智慧都对抗不了熵增
只用人的智慧去治理复杂系统,很快就会遇到人的带宽瓶颈。一个团队的核心专家就算每天都扑在评审上,也不可能看完所有代码、文档和数据的全貌。于是大量本该被发现的错误潜藏在系统深处,像没人巡逻的仓库一样自然堆灰。
只用机器智能也不行。模型再强,它优化的也只是人类定义的某个目标函数。如果目标函数只看“按时上线”,它就会悄悄鼓励团队走捷径,制造技术债;如果只看“响应时间”,它就会让系统对异常流量过度保守,死掉大量本应正常处理的请求。机器是高效的执行器,但不是天然的方向校准器。
群体协作本身也并非天然智慧。会议多了会变成信息噪音,文档多了会变成无人维护的数字垃圾。群体只有在被正确的机制组织起来时,才能涌现出比个体更可靠的判断——这一点,我是在一次次复盘会中才真正体会到的。
2.3 一场由“三智”驱动的复盘会长什么样
大多数团队的复盘会,本质上只有一智在运作,那就是大家公认的那个资深专家在输出。其他人旁听,偶尔提问,最后形成一个看似有共识、实则没有行动承诺的会议纪要。这不是熵减,这是把混乱从代码区搬到了会议区。
我后来把复盘会改成三智协同的结构:会前两天,先用机器对工单系统、部署日志和指标监控做一轮自动聚类,找出异常事件的分布趋势,把“哪类问题在哪个阶段集中爆发”这件事交给算法来回答。会议上人的任务变了,不再是从零开始猜问题,而是结合业务上下文判断机器给出来的聚类结果是否有实际意义,哪些是伪相关、哪些才是值得投人力的关键痛点。最后群体再一起修正根因分析,形成三条以内的行动规则,并指定明确的验证责任人。
这样的复盘会,本质上是在做降熵。机器负责从高维数据中缩小搜索空间,人负责在缩小的空间里做价值判断,群体负责用不同视角交叉验证单个判断者的盲区。三种智慧都在自己最合适的位置上出力,才不会出现某个人拍脑袋、其他人被动执行的局面。
3. 双融的第一道关键工序:让人和机器在信息接口上报对齐
3.1 人机融合为什么往往死于接口不匹配
很多AI落地项目失败,算法本身其实没有太大问题,真正混乱发生在人和机器交接信息的边界上。人给机器提需求,用的是含糊的自然语言,只说“帮我看看最近系统的稳定性”,却不提供时间范围、指标口径和可接受的误报率。机器输出结果,则倾向于给一个看起来很确定、实际上没有附带置信度的结论,或者给出一堆概率数字却不说依据是什么。于是人只能在这两端之间尴尬地摇摆:要么把机器产生的结果当成权威,盲目照做;要么因为一次离谱输出,把整个系统打上“不靠谱”标签弃用。
这两种态度对系统都是有害的。盲目信任等于把决策权交给了可能出幻觉的工具,完全拒绝则意味着放弃一种已经能高效帮人缩小信息搜索范围的能力。双方都在猜对方想要什么,这种互相揣测本身就是巨大的熵源。
3.2 给“人机接口”定一份协议
想让人机协同真正降熵,最好把两者之间的接口当成一个需要认真设计的模块来对待。我目前实践下来,有三条约定帮助很大。
机器在向人输出结论时,必须同时给出置信程度、参考依据和适用边界。例如一个代码评审助手不能只写“这里有bug”,而应生成“疑似存在空指针风险,位置在文件X第Y行,因为分支Z没有判空,历史上这类型缺陷曾造成线上故障,建议增加兜底逻辑”。带证据链的输出,让人能快速做二次判断,而不是被迫要么盲信、要么全拒。
人在向机器下达任务时,也要强制自己写明目标和约束。不能只说“帮我排一下迭代计划”,而要说“在研发人力不超过X人天、上线日期不晚于Y的前提下,尽量降低发布风险,且优先级P0的需求必须排入本迭代”。目标清楚了,机器才不会在自由发挥的过程中创造出新的不确定性。
任何由机器生成的改动意见,最终都必须有一个明确的人类负责人签字。这个签字的动作价值不在于形式,而在于它强制形成闭环。一旦出了问题不会出现“系统让我这么改的”这种责任悬空状态。责任悬空是高熵组织的典型特征,而责任到人是最简单的降熵手段。
3.3 机器应该出示证据链,而不是只给结论
早期我让AI帮团队做线上问题分类时,系统给出的分类结果命中率其实不低,但大家就是不敢用。直到我让人把AI分类背后的原始证据一块儿显示出来,比如“这条日志里出现了某服务的超时堆栈,且上下文中有上游调用的重试标记,所以判定为上游依赖故障”,团队的信任才开始建立起来。
这个改动背后的道理是人机协同里的基本信任机制:人不会因为机器有很高的准确率就天然信任它,却会因为机器愿意暴露自己的推理过程而选择信任它。 把证据链展示出来,相当于邀请人类做最后一道质检,这样即便机器的结论错了,人也能够及早发现并纠正。相反,如果机器总给一个斩钉截铁的结论,任何人都只能在服从和抗命之间二选一,这种结构是脆弱的,摩擦成本非常高。
所以双融的第一道工序,不是让算法变得更强,而是把人和机器之间交换信息的格式定清楚,让每一句输出都有据可查,让每一个结论都由人兜底。
4. 双融的第二道关键工序:把个人经验变成组织的低熵资产
4.1 隐性经验不转译,组织就只能重复踩坑
如果说人机接口是第一道融合工序,那么人的隐性经验与显性文档之间的双向转译,就是第二道更隐蔽、也更不容易做好的工序。很多组织有一个共同的痛:资深的运维或研发一看监控曲线,就能凭直觉说出“这个波动大概率是上游某个服务的毛刺,不是核心链路的问题”。这种经验非常宝贵,但它藏在人的脑子里,没有转译成任何可以被检查和继承的东西。
一旦这个资深员工休假或者离职,组织的熵就会瞬间飙升。大家只能重新从头开始摸索,用一次次误告警和无效排查来为这份流失的经验交学费。这个代价如果折算成时间,往往高得吓人。
4.2 知识资产跟代码一样,不重构就腐烂
还有另一面的问题:文档并不总是低熵资产。一堆过期的、重复的、互相矛盾的文档,反而会大大增加系统的混乱程度。新员工入职后去翻知识库,如果看到三个版本的操作手册各自不同,那这份文档给系统增加的熵比它减少的还要多。
想要打破这种局面,得把文档当作代码一样管理,给它们设置所有者、更新周期和删除机制。一份没有负责人、也没有明确适用范围的文档,应该被系统标记为待清理对象,而不是永远默默地躺在那里。定期删掉过时文档,往往比写新文档更能降低一个组织的混乱度。
删除文档这件事在直觉上让人觉得可惜,但它其实是维持知识系统低熵的必要动作。就像衣柜里如果什么旧衣服都不舍得扔,想找一件真正常穿的衣服就越来越难。知识系统需要定期释放库存,才能让真正有效的信息浮出水面。
4.3 用“卡片+挂钩”做一个双向编码机制
为了促成隐性经验和显性知识的双向转译,我在团队里推行过一个很轻量的做法:任何人在排查完一个疑难问题之后,必须用三句话写一张卡片。第一句是问题出现的场景,第二句是判断问题的关键特征,第三句是最终采用的处理办法。每张卡片都作为这个问题的案例记录,也被用来训练团队的自动分类模型。
这个动作看起来极其简单,但它同时做了两件非常重要的事。一方面,它把老员工脑子里的隐性经验变成显性知识,强制完成了一次向组织资产的编码;另一方面,当新人遇到类似情况时,可以直接检索到这张卡片,再结合当时的上下文做修正,而不是完全从零开始。这个机制运行半年之后,团队平均问题定位时间明显缩短,最大的功臣不是某个人变强了,而是组织把个人经验真正沉淀了下来。
5. 共赢和略的工程化:把裁判规则设计成所有人都愿意遵守的负反馈
5.1 共赢不是平均分配,而是让各方的最坏情况可接受
当资源有限、目标互相冲突的时候,最偷懒的策略是平均分配:每个团队拿到相同的预算、相同的时间、相同的支持力度。但平均分配在真实系统里通常是最坏的解法。不同的业务模块风险不同、增长的边际效用不同、对延迟的容忍度也不同,一刀切只会让所有人都觉得没被满足。
共赢和略要求的是另一套设计逻辑:先识别所有参与方的底线约束——不管发生什么,这个底线不能被击穿;然后在底线之上,才允许资源流向边际收益最高的地方。这样虽然没有人拿到“完全理想”的份额,但每个人都能得到一个可接受的结果,而系统整体的总收益又能被最大化。
5.2 用一个算力分配的例子看懂底线约束
假设三个团队在同一个GPU平台上提需求。A团队要训练模型,每天需要至少8小时的算力,理想是12小时;B团队的持续集成任务每天至少需要6小时,理想是10小时;C团队正在跑一个48小时的大规模离线任务,一旦中断就得从头再来。
这时候如果平均分配,每队拿到三分之一,C的任务显然无法按时完成,A和B也谈不上最优。共赢策略要先划掉C的48小时连续占用,因为它不可中断,然后看A和B各自在最低需求之上还能获得多少弹性空间。剩余资源再按照边际贡献去补:优先给A多一个小时的算力,如果能让它的模型收敛时间提前两天,那就比补给B用来跑额外测试更有价值。
这种设计的核心不是“谁强谁有理”,而是让所有人都看见:规则在优先保障最脆弱的那一方,同时没有浪费任何可用的资源。当分配逻辑足够透明时,哪怕某个团队本轮拿到的资源偏少,它也知道自己是得到了规则保障的,而不是被系统遗忘的。
5.3 信息透明是把囚徒困境变成合作博弈的前提
很多组织内部之所以充满内耗,是因为每个团队都只能看到自己的局部信息,不知道别人的真实约束,于是只能进行最保守的博弈。大家都把需求描述到最急、把资源申请到最大,最后形成了巨大的信息噪音和资源浪费。这种状态就是典型的囚徒困境:每方都按对自己最有利的方式行动,结果所有人的处境都变差。
破解囚徒困境最有效的工具不是靠道德倡导,而是引入一个可信的数据共享层。所有人都能看到真实的资源水位和负载趋势,都知道每一份资源给了谁、为什么给。当“为什么这么分”可以被公开解释的时候,团队之间的猜疑链就被打断了,合作的阻力也会小很多。共赢和略在工程上要实现的东西,其实就是这种让个体理性与集体理性重合的反馈机制。
6. 熵审计清单:怎么判断自己是在做熵减,还是在瞎忙
6.1 用四个维度给系统做一次熵审计
很多人以为自己很忙就是在降熵,但其实大量日常工作恰恰在制造新的混乱。我把熵审计设计成了四个维度,每季度至少做一次,可以用来判断一个系统真的在变有序,还是只是表面热闹。
第一个维度是边界质量。检查系统的模块之间是否有清晰的契约和接口,改动一个内部实现会不会引发大面积的连锁响应。如果连团队里的人都说不清某个模块的边界在哪,那么边界熵已经很高了。
第二个维度是反馈速率。当一个错误发生时,从现象暴露到责任识别和机制修正,需要多长时间。反馈越快,系统的自我纠错能力越强,熵就越容易被控制;如果一个问题出现之后要层层上报、反复开会才能定位到责任方,那这个反馈回路本身就在制造熵。
第三个维度是知识的可继承性。假设团队里的核心成员突然离开,剩下的成员能在多长时间内接手他负责的系统并保持正常运转?这个时间越短,说明系统的知识沉淀做得越好。
第四个维度是冗余与弹性。系统是否保留了足够的缓冲区来应对突发的流量或者意外的需求变更。完全没有冗余的系统看似高效,实际上非常脆弱,一旦波动到来就会陷入混乱。
6.2 给每个维度设计一组自检问题
边界质量上重点问三个问题:是否存在没有明确负责人的模块?是否存在只有少数人能改的老代码?接口文档和真实行为是否一致?如果答案里有两个“是”,边界质量大概已经亮红灯了。
反馈速率上重点问:一次线上问题从被发现到形成修复方案需要多久?修完之后会更新监控、文档和知识库,还是修完就算完了?只看修复、不回写知识库的团队,大概率会反复踩同一个坑。
知识可继承性上重点问:核心系统有第二个人能讲清楚吗?有没有一套不依赖个人的演练机制?如果一个关键服务只有它的原作者能讲明白,那就是一个随时可能引爆的熵增点。
冗余与弹性方面重点问:关键路径上有没有预留容量?有没有定期做故障演练?团队的时间排期是不是永远100%占满、没有任何缓冲?如果永远满负荷,那么任何一次意外都会演变成连锁混乱。
6.3 负熵预算:每个迭代都要留出“还债”时间
比起事后的季度审计,我更推荐把熵减动作当成一种预算,固定出现在每个迭代里。我们在实践中规定,每个迭代拿出大约20%的人力时间,专门用来做与业务需求无关的整理类工作:重构难看的调用关系、删掉过期的文档、补上缺失的监控、修正不合理的告警规则。这些工作在单次迭代看不会直接贡献任何业务指标,但它会让后面所有迭代的执行速度都保持在健康水位。
很多管理者在压力大的时候第一个砍掉的就是这类看起来不产生价值的“整理时间”。这个决策通常会在第四个迭代之后反噬,团队会发现自己的交付速度越拖越慢,bug回归率越来越高。我盯过团队一段时间的实际数据,连续三个迭代只加功能不做结构化调整之后,第四个迭代的完成率往往会明显下滑。负熵预算应该被当作前置投资对待,而不是可以随时延后的负债。
7. 驾驭熵增远比消灭熵增更现实:保留噪声与冗余
如果这段运行下来有什么心得,最重要的是一条反直觉的判断:不要把熵增当成必须彻底消灭的敌人,因为完全消灭熵增的系统意味着极端有序,而极端有序的系统是僵硬的、脆弱的、没有适应能力的。一个系统的健康状态,不是零混乱,而是混乱度被控制在一个可以通过反馈机制快速修复的范围内。
数据训练里会遇到过拟合:模型在训练集上几乎完美,一到真实场景就失灵,原因就是它对训练数据的每个微小噪声都记得太死了。组织系统也一样,如果一个团队的流程严格到每一步都不可变通,它遇到环境变化时往往会直接崩溃。保留适当的冗余、允许少量可控的临时无序,才会让系统具备响应异常的弹性。
我最终形成的习惯是:用熵审计去识别那些有害的无序度,比如过期的文档、失控的技术债、模糊的责任边界;同时刻意保留那些看上去有点乱、实际上是系统弹性来源的部分,比如跨团队的非正式沟通、关键时刻的临时决策通道、允许个人自主支配的部分时间。治理复杂系统的艺术,从来不是把一切打磨得绝对干净,而是保持足够多的秩序来降低成本,又留下足够多的噪声来感知变化。
再回到开头那个让我头疼了好几天的老项目,我们后来用的办法就是这套思路:不去做惊天动地的整体推翻,而是先定信息接口,再补知识卡片,给每个模块找到了负责人,并在每次变更时强制更新文档。四周之后,项目不再那么让人绝望了,不是因为它完美了,而是因为它的混乱开始变得有规律可循,可以被看见、被测量、被修正。那大概就是“以熵减之智驾驭熵增之势”真正的意思——你没办法让大海停止起浪,但你可以学会识别浪的周期,让自己始终浮在水面上。
