第七章 AI系统建构悖论
引子:一个不可能的任务
所有的IT系统,底层都是静态的。
所有的问题,本质都是动态的。
用静态系统解决动态问题——这是一个不可能的任务。但整个IT行业,包括今天的AI行业,都在试图完成这个不可能的任务。这有点像用一张地图导航一条会改道的河——地图是印刷出来的,不会变,但河每天都在流。
这不是技术不够好的问题,而是IT的本质——代码必须确定,否则无法执行。一行代码写在文件里,它是固定的;一个数据结构定义好,它是固定的;一个API规格发布出去,它是固定的。即使是今天最先进的AI大模型,训练完成的那一刻,它的权重也是固定的。你和大模型对话时感觉到的"智能"和"灵活",本质上是训练阶段固化的统计模式在推理阶段的条件分支——看起来动态,实际上是预编程的静态。像一台自动售货机——你投币、按钮、出货,流程很流畅,但每一步都是预设的,它不会因为你口渴就自己发明一种新饮料。
但问题不一样。每个问题有自己的情境,需要独特的因果推理路径。同一个"员工离职率高"的问题,在不同公司、不同部门、不同时期的因果结构完全不同。你不能写一段固定代码来解决所有"员工离职率高"的问题——因为每个问题的L不同。
静态系统怎么支撑动态问题?这个根本矛盾不解决,AI就永远停留在"看起来智能但解决不了真问题"的阶段。
这一章拆解这个悖论,并给出DLR的答案。
第一节:所有IT系统都是静态的
代码的本质是确定性
一个不太舒服的事实:你用的所有"智能系统",底层都是确定性代码。
什么是确定性代码?就是给定输入,输出确定。一个if-else分支,条件满足就走这条路,条件不满足就走那条路。一个for循环,执行N次就停。一个状态机,在预定义的状态之间转移。无论逻辑多复杂,本质上都是"条件满足就执行A,条件不满足就执行B"的组合。
这是IT的本质——代码必须确定,否则无法执行。如果一段代码的执行结果不确定——同样的输入有时输出A有时输出B——那不叫"智能",那叫bug。
你以为的"动态"是什么?是你看到的界面在变、数据在流、响应在换。但这些变化的背后是固定的代码逻辑:用户点击按钮(事件)→ 触发处理函数(固定逻辑)→ 查询数据库(固定查询)→ 返回结果(固定格式)。每一步都是确定的。你看到的"动态"是数据在变,代码一直是静态的。就像一台钢琴——按键时声音千变万化,但琴弦的数量和排列是固定的,能弹什么曲子取决于弹琴的人,不取决于钢琴本身。
大模型也是静态的
AI大模型改变了什么?改变了"固定逻辑"的表达方式。
传统软件的逻辑是人写的——程序员手动编码每个if-else。大模型的逻辑是训练出来的——神经网络从数据中学习统计模式,固化成权重。但训练完成后,权重就固定了。你和大模型对话时,它的每一层神经网络的激活值都是权重的函数——给定同样的输入(加上同样的随机种子),输出是确定的。
大模型的"灵活"来自高维度的统计模式匹配。它见过海量文本,能在统计意义上找到"最可能的下一个词"。这种"最可能"的匹配能力极强,强到让你觉得它在"理解"——但本质上它是在一个巨大的、固定的概率分布中采样。它不是在"思考",是在"检索"——从训练阶段固化的统计模式中检索最匹配的回答。一个人背了整座图书馆的书,你问他任何问题他都能引用一段,但他不一定理解那段话在说什么。
这不是贬低大模型。大模型的统计匹配能力确实惊人,在很多任务上已经超过人类。但"统计匹配能力强"和"能做因果推理"是两回事。大模型在因果之梯的第一层——关联层。它能告诉你"A和B经常一起出现",但告诉你不了"如果我改变了A,B会怎样变化"——因为后者需要L(因果机制),而L是统计模式提供不了的。
"智能系统"的动态幻觉
市场上充斥着"智能系统"。智能客服、智能HR、智能决策、智能分析。这些系统真的"智能"吗?
拆开看:智能客服是"关键词匹配→预设回答"的升级版,用NLP替代了关键词,用大模型替代了预设回答,但本质还是"输入→匹配→输出"的确定性流程。智能HR是"规则引擎+数据看板"的升级版,用ML替代了简单规则,但本质还是"数据→分析→报告"的确定性流程。智能决策是"模型+优化算法"的升级版,用深度学习替代了线性规划,但本质还是"输入条件→计算最优解→输出建议"的确定性流程。一句话:换了发动机,还是在同一条轨道上跑。
这些系统比传统软件强——它们能处理更复杂的输入,能生成更自然的输出,能从数据中学习模式。但它们有一个共同的局限:它们处理的是"已定义的问题",不是"新问题"。
已定义的问题有预设的解决路径——代码已经写好了处理逻辑。新问题没有预设路径——需要因果推理来动态生成解决路径。当前的所有"智能系统",本质上都是"已定义问题的高效处理器",不是"新问题的解决者"。一个很会做选择题的学生,遇到开放题就傻了——不是他不聪明,是他的训练集里没有这种题型。
第二节:但问题是动态的
问题的本质
问题的本质是什么?是期望与现状的差距。但这个差距不是静态的——它是动态的,因为导致差距的因果结构是动态的。
一个"销售业绩下滑"的问题。去年下滑的原因可能是市场需求变化(L1);今年同样的下滑,原因可能是竞争对手降价(L2);明年再同样的下滑,原因可能是销售团队激励失效(L3)。同样的R(业绩下滑),不同的L(因果机制),需要不同的D(解决方案)。就像同一个"发烧"症状,可能是感冒、可能是感染、可能是中暑——你需要的是诊断,不是退烧药自动售货机。
如果你用静态系统处理这个动态问题,你会预设几种"业绩下滑的常见原因",然后让系统匹配。但如果实际原因不在预设列表里呢?系统要么强行匹配最接近的预设原因(给出错误诊断),要么报错退出(承认处理不了)。静态系统只能处理预设范围内的问题,超出范围就是盲区——就像一个只会做选择题的学生,遇到开放题只能猜。
DLR六步法是动态的
DLR六步法——问题定义→问题分析→确定根因→方案设计→方案实施→评估——看起来像线性流程,但它不是。
六步法是动态生成、解决完释放的推理路径。每一步的执行取决于上一步的结果。问题分析怎么分析?取决于问题定义确定了什么R。确定根因怎么确定?取决于问题分析发现了什么行为差距。方案设计怎么设计?取决于根因是什么。每一步都是"根据当前信息动态决定下一步做什么"——这是推理,而非流程。流程是铁轨——铺好了就只能沿着走;推理是走路——根据地形决定方向。
更关键的是:问题域可以被新问题触发创建。当系统遇到一个现有问题域无法覆盖的新问题时,正确的做法是创建新的问题域——构建新的因果模型来处理新问题。这需要因果建模能力——从零开始构建D-L-R结构。这超出了任何静态系统的能力——静态系统只能在预设的问题域中匹配,不能创建新问题域。
暂时稳定的动态
但问题解决也不总是动态的。很多时候它是"暂时稳定的动态"——在一段时间内,因果结构相对稳定,可以像静态一样处理。
一个成熟的组织,其核心业务流程的因果结构在短期内是稳定的。"优化销售流程能提升转化率"这个L,在市场环境、竞争格局、团队能力不变的情况下,是成立的。你可以把这个L固化成工作流,在稳定期内高效执行。
但"暂时稳定"不等于"静态"。稳定期随时可能被打破——市场变了、竞争者来了、团队换了——L就失效了。稳定时像静态,但本质上随时可能变。静态系统处理不了这种"从稳定到不稳定"的转变——它不知道L什么时候失效,因为它不监控L的成立条件。一个不检查路况的导航仪,在道路畅通时很好用,但前方修路了它还让你往前开。
第三节:静态怎么支撑动态?——因果模型层
在静态和动态之间插入中间层
DLR系统对这个悖论的答案是:在静态基础设施和动态问题之间插入一个"因果模型层"。
三层架构:
底层:静态基础设施。 数据库、API、计算引擎、存储——这些是确定性的,是IT系统的传统领地。底层管的是"存储和检索"——存什么数据,怎么查,怎么算。底层是静态的,也应该是静态的——确定性是它的优势。
中间层:因果模型层。 这是DLR的核心创新。因果模型不以硬编码的形式存在系统里——它是数据,而非代码。因果模型以D-L-R结构存储在数据库中,可以被读取、修改、创建。中间层是半静态半动态的——结构是稳定的(D-L-R的格式不变),内容是可进化的(具体的L可以被修正、替换、新建)。就像字典——排版格式是固定的,但每一版的内容都在更新。
顶层:动态问题解决。 每当一个问题到来,系统从中间层读取相关的问题域因果模型,动态生成解决路径。步骤不是预设的——它是从因果模型衍生出来的。问题解决完,路径释放——不占用系统资源。下一个问题来了,再动态生成新路径。
因果模型是数据,不是代码
这是理解因果模型层的关键:因果模型是数据,不是代码。
传统系统的"业务逻辑"是代码——硬编码在程序里的if-else。改业务逻辑要改代码、重新部署。因果模型是数据——存储在数据库里的D-L-R结构。改因果模型不需要改代码——只需要更新数据库里的数据。
这个区别为什么重要?因为代码是静态的(修改成本高),数据是可变的(修改成本低)。把因果逻辑从代码层提升到数据层,就把"修改因果逻辑"从"软件工程问题"变成了"数据更新问题"。前者需要开发团队排期,后者只需要业务人员操作。一个要找装修队拆墙,一个只需换个窗帘——差距很大。
因果模型作为数据的另一个好处:它可以积累。每次问题解决后,L被验证或修正,因果模型被更新。下次遇到类似问题,系统读取的是更新后的因果模型——比上次更精确。系统在"学习"——不是通过重新训练模型(成本高),而是通过更新因果模型数据(成本低)。一种很经济的进化方式。
问题悬挂:诚实地承认有限
但因果模型层有根本局限:全新问题需要创建新因果模型,这超出了任何静态系统的能力。
当系统遇到一个现有因果模型无法覆盖的问题时,正确做法是什么?是"问题悬挂"——把这个问题挂起来,标记为"需要人类处理",等因果建模者来构建新的因果模型。
问题悬挂机制是DLR系统的诚实设计——它承认系统有限,不假装全能。这看起来是缺陷,实际上是优势:一个承认自己不知道的系统,比一个假装知道但给出错误答案的系统安全得多。一个诚实说"我不懂这个"的医生,比一个什么病都敢治的庸医值得信任。
系统本身不会变动态,但它给人提供了动态推理的脚手架。脚手架是静态的(结构稳定),但人在脚手架上做的工作是动态的(因果推理、模型创新)。系统提供结构和效率,人提供创造力和判断力。
第四节:当前AI系统的根本缺陷
跳过了因果模型层
当前大多数AI系统的架构问题出在哪里?它们试图用静态基础设施直接支撑动态问题——跳过了因果模型层。
没有因果模型层的AI系统是什么样的?它有大量数据(底层),有强大的计算能力(底层),有复杂的模型(底层)。但没有中间层——没有因果模型来组织数据、生成解决路径、验证因果假设。
结果是什么?
有功能没因果逻辑。系统能做很多事——分析数据、生成报告、回答问题、推荐方案。但每个功能背后没有因果逻辑——它不知道"为什么推荐这个方案""这个方案为什么有效""在什么条件下这个方案会失效"。它有D(推荐动作),有R(预期成果),但没有L(因果机制)。
有数据没因果模型。系统存了海量数据——用户行为、业务指标、市场动态。但数据是D和R的原始观察,因果模型是L的组织框架。没有因果模型,数据只是一堆数字——你看到了"培训投入增加了20%,绩效提升了15%",但你不知道"是培训导致了绩效提升,还是两者只是恰巧同时变化"。没有L,数据不能告诉你因果——就像你有了一仓库的指纹,但没有犯罪理论,指纹只是指纹。
有流程没L。系统有标准化的业务流程——步骤1、步骤2、步骤3。但流程是冻结的L——它假设L成立,不验证L是否还成立。当L失效时,流程继续执行——在错误的L下高效地做错误的事。
为什么AI"看起来智能但解决不了真问题"
这就是当前AI系统"看起来智能但解决不了真问题"的原因。
它能匹配模式(智能),但不能推理因果(不解决问题)。它能生成回答(智能),但不能验证L(不解决问题)。它能推荐方案(智能),但不能告诉你方案为什么有效(不解决问题)。
一个AI系统告诉你"建议优化销售流程来提升转化率"——这是模式匹配的结果(大量数据显示销售流程优化和转化率提升相关)。但"为什么优化流程能提升转化率"——L——它不知道。它不知道是因为它从来没有L这个维度——它的架构里没有因果模型层。
这不是"AI还不够先进"的问题,而是AI的架构方向错了。 你在没有图纸的情况下堆砖头,堆得再高也不是房子——因为缺的不是砖头(数据和算力),是图纸(因果模型)。
大模型的本质局限
大模型是当前AI的核心技术。它的本质局限在于:大模型是统计归纳引擎,而非因果推理引擎。它从海量数据中归纳统计模式——"A和B经常一起出现"——这是因果之梯第一层(关联)。但它不做因果推理——"改变A会导致B怎样变化"——这是因果之梯第二层(干预),需要L。
更大的模型会自动获得因果能力吗?不会。
因果能力不是"更多的统计模式"的自然产物。它需要不同的架构——需要显式的因果模型表示(而非隐式的统计模式),需要干预推理能力(而非关联检测),需要反事实推理能力(而非模式匹配)。这些是架构层面的变化,不是规模层面的变化。让一台更大的冰箱拥有微波炉的功能,靠的不是把冰箱做得更大——需要的是不同的器件。
当前AI行业的方向错误:追求更大的模型和更多的数据,而非因果模型层。这就像用更大的砖头盖房子而不打地基——楼能盖多高取决于地基,不取决于砖头大小。万亿次参数的模型如果没有因果模型层,依然只能做模式匹配,不能做问题解决——只是模式匹配的规模更大了。一头更大的大象依然不会飞,问题不在体型,在翅膀。
第五节:人是动态性的来源
系统的动态性最终来自人
回到核心问题:静态系统怎么支撑动态问题?
答案不是"让系统变动态"——系统变不了动态,代码必须确定。答案是:系统的动态性最终来自人的因果推理。
IT系统是脚手架——提供结构、效率、规模。因果模型是可进化的数据——存储L、积累L、更新L。人的L推理是真正的动态力——创建新因果模型、修正失效的L、面对新问题构建新L。
三层分工:
系统管静态。存储(因果模型数据存在数据库里)、检索(快速找到相关的问题域因果模型)、规模验证(用大数据检验L是否成立)。这些是系统擅长的——确定性、高效率、大规模。
因果模型管半动态。结构稳定(D-L-R格式不变),内容可进化(L可以被修正、替换、新建)。因果模型是人和系统之间的接口——人读写因果模型,系统存储和检索因果模型。
人管动态。L推理(为什么D导致R)、价值判断(这个R值得追求吗)、模型创新(面对新问题构建新L)。这些是系统做不了的——需要因果推理,而非统计匹配。
这不是妥协,是本质分工
有人说:"这是因为AI还不够好,等AI够好了就不需要人了。"
这是误解。人和系统的分工是本质分工,而非"AI还不够好所以需要人补"的临时妥协。
系统管静态——这是系统的本质优势。确定性、高效率、大规模——人做不到一秒处理百万数据,系统可以。人在静态工作上没有优势,而且永远不会有——人脑的架构不适合大规模确定性计算。让人脑做大数据处理,就像让自行车拉货——不是不够努力,是工具类型不对。
人管动态——这是人的本质优势。因果推理、价值判断、模型创新——系统做不到这些,而且架构上做不到——统计归纳引擎不能做因果推理,就像望远镜不能听声音。不是功能不够强,是工具类型不对。更大的望远镜依然听不到声音。
人机协同的架构基础:人在因果模型层操作,系统在基础设施层支撑——这是分层协作。 人创建和修正因果模型,系统存储和验证因果模型。人提供L,系统提供D和R的规模处理。两者通过因果模型层——DLR——对接。
结语:功能集合体 vs 问题解决引擎
当前的大多数AI系统——包括那些被宣传为"智能决策""智能分析""智能管理"的系统——本质上都是功能集合体。它们给你按钮:点这个按钮生成报告,点那个按钮分析数据,点另一个按钮推荐方案。功能很多,按钮很多,但按钮之间没有因果逻辑——你不知道该按哪个按钮,不知道按了之后会发生什么,不知道结果为什么是这样。像一个装满工具的工具箱——锤子、扳手、螺丝刀都有,但它不会告诉你该用哪一把修你的车。
问题解决引擎不一样。它不给你按钮,给你因果路径。你告诉它问题(R的差距),它从因果模型中生成解决路径(D→L→R的链条),告诉你"做这个D,因为L会导致R",并标注"L是假设,需要验证"。你不是在按按钮,是在沿着因果路径行走。
从功能集合体到问题解决引擎,中间差的就是因果模型层。这一层不是技术问题——数据库、API、计算引擎都已经就绪。差的是因果模型——L的显性化、结构化、可进化。而这正是DLR做的事。
代码必须确定,否则无法执行——这是IT的本质。问题必须动态,否则不是真问题——这是问题的本质。用确定的代码处理动态的问题,中间需要一座桥——因果模型层。DLR是那座桥的设计图纸。更大的模型不会自动获得因果能力——因果能力需要不同的架构。谁先建好这一层,谁就拥有真正的问题解决引擎。