从ChatGPT到现在的智能体AI这个跨越说明了一个关键转变。ChatGPT本质上是个聊天机器人,生成文本回应;而AI智能体能够自主完成复杂任务——销售、旅行规划、航班预订、找装修师傅、点外卖,这些都在它的能力范围内。
目前我们解决用户任务时,主要是让大语言模型(LLM)做任务分解,这也是和生成式AI重叠的地方。但问题就出在这里:
今天的智能体AI系统被LLM的推理能力限制住了——这个问题在苹果的两篇论文1、2里讨论得很深入。
核心问题来自智能体AI系统的非确定性特征。看看下面这个电商场景:
执行计划里有两个非确定性操作:"检查信用"和"配送模式"。配送模式意味着用户既可以自提也可以送货上门,所以配送这个任务可能根本不会执行。这种非确定性带来一个问题:
我们需要一个多步推理模型来理解底层智能体组件之间的因果关系。
这里涉及一个经典问题:相关性不等于因果关系。不管LLM规模多大,它们本质上只能抓住训练数据中特征之间的统计相关性,然后做预测。因果关系虽然暗示相关性,但这种影响可能微弱到可以忽略。
当前LLM缺少的正是因果关系理解。
接下来我们看看如何通过因果关系和内省来解决智能体工作流中的非确定性问题,前者用于LLM训练阶段,后者用于推理阶段。
因果推理的作用机制
因果关系研究的是事物"为什么"发生。它能够规范性地解释为什么某些行动比其他行动效果更好,从而影响未来结果。正如亚里士多德说的:"如果你证明了原因,你就立即证明了结果;反之,没有任何事物可以在没有其原因的情况下存在。"
人类天生具有因果思维。我们依靠因果关系做决策、制定计划、解释行为、适应变化,基本上所有决策都是基于对后果的考量。
Gartner在2024年AI技术成熟度曲线中把因果AI放在"创新触发"阶段,分析师的评价是:
因果AI识别并利用因果关系,超越基于相关性的预测模型,让AI系统能够更有效地给出行动建议并更自主地执行。当我们需要更稳健的预测能力,以及更精准地确定影响特定结果的最佳行动时,因果AI就显得至关重要。
因果AI能够影响智能体AI生命周期的多个环节,特别是推理、可观察性和可解释性这几个方面。
LLM推理能力的现实困境
苹果最近的研究(论文1)深入分析了LLM的推理局限性。研究发现,当面对以下情况时,最先进的LLM准确率会显著下降:同一问题的不同表述版本、包含多个条件的复杂问题、以及看起来相关但实际无关的干扰信息。
这些限制导致准确率下降高达65%,主要是因为模型难以分辨相关信息和处理复杂问题。
另一篇论文2进一步揭示,前沿的大型推理模型(LRM)在问题复杂度超过某个阈值时会出现准确率完全崩溃。更反直觉的是,这些模型表现出奇怪的扩展限制:推理努力程度会随问题复杂度增加到某个点,然后即使token预算充足也会下降。就算提供明确的人类输入(实际解决方案描述或算法),在这个阶段也无济于事。
这些发现暴露了依赖LLM解决问题的风险。LLM看起来无法进行真正的逻辑推理,只是在模仿训练数据中观察到的推理步骤。
要让AI真正具备推理和问题解决能力,它必须在算法层面理解因果关系。
换句话说,需要理解事物发生的动态机制,这样才能探索各种"假设"情况。这类似于人脑的新皮层功能,负责高阶推理,比如决策、规划和感知。
为了达到这个目标,我们建议在LLM/LRM的训练和微调过程中加入因果AI作为核心组件,同时结合知识图谱。
LLM推理——在LLM/LRM训练中提供WHAT、HOW和WHY成分
因果AI能够提供几个关键的推理组件:根本原因分析(检测和排序导致结果的因果驱动因素),假设场景和反事实分析(确定替代行动相对于当前状态的后果),可解释性(解释为什么某些行动比其他行动更优),混杂因子识别(找出无关、误导或隐藏的影响因素),以及路径分析(理解相互关联的行动和达成结果的行动序列)。
实现方式是将传统神经网络架构与因果推理技术结合,在神经网络内部推断因果路径。这意味着在训练数据集中建模因果关系,理解特征间的关系、相互影响方式以及对预测的作用。
举个例子,下面的图5展示了一个用于评估贷款申请信用风险的推断因果模型。红色箭头表示特征与信用度呈负相关,绿色箭头表示正面的因果驱动因素,箭头粗细代表因果关系的强度。
更多案例:
github.com/yjndsrt/cn/issues/916
github.com/yjndsrt/cn/issues/915
github.com/yjndsrt/cn/issues/914
github.com/yjndsrt/cn/issues/913
github.com/yjndsrt/cn/issues/912
github.com/yjndsrt/cn/issues/911
github.com/yjndsrt/cn/issues/910
github.com/yjndsrt/cn/issues/909
github.com/yjndsrt/cn/issues/908
github.com/yjndsrt/cn/issues/907
github.com/yjndsrt/cn/issues/906
github.com/yjndsrt/cn/issues/905
github.com/yjndsrt/cn/issues/904
github.com/yjndsrt/cn/issues/903
github.com/yjndsrt/cn/issues/902
github.com/yjndsrt/cn/issues/901
github.com/yjndsrt/cn/issues/900
github.com/yjndsrt/cn/issues/899
github.com/yjndsrt/cn/issues/898
github.com/yjndsrt/cn/issues/897
github.com/yjndsrt/cn/issues/896
github.com/yjndsrt/cn/issues/895
github.com/yjndsrt/cn/issues/894
github.com/yjndsrt/cn/issues/893
github.com/yjndsrt/cn/issues/892
github.com/yjndsrt/cn/issues/891
github.com/yjndsrt/cn/issues/890
github.com/yjndsrt/cn/issues/889
github.com/yjndsrt/cn/issues/888
github.com/yjndsrt/cn/issues/887
github.com/yjndsrt/cn/issues/886
github.com/yjndsrt/cn/issues/885
github.com/yjndsrt/cn/issues/884
github.com/yjndsrt/cn/issues/883
github.com/yjndsrt/cn/issues/882
github.com/yjndsrt/cn/issues/881
github.com/yjndsrt/cn/issues/880
github.com/yjndsrt/cn/issues/879
github.com/yjndsrt/cn/issues/878
github.com/yjndsrt/cn/issues/877
github.com/yjndsrt/cn/issues/876
github.com/yjndsrt/cn/issues/875
github.com/yjndsrt/cn/issues/874
github.com/yjndsrt/cn/issues/873
github.com/yjndsrt/cn/issues/872
github.com/yjndsrt/cn/issues/871
github.com/yjndsrt/cn/issues/870
github.com/yjndsrt/cn/issues/869
github.com/yjndsrt/cn/issues/868
github.com/yjndsrt/cn/issues/867