构建AGI的技术框架

社区文章 发布于2025年5月10日

架构级设计

AGI系统被组织为一组由形式信息流和向量运算定义的互联模块,而不是比喻或拟人化标签。在高层,该架构维护一个核心认知引擎(用于处理和推理)、一个记忆层级结构(具有多个存储时间尺度)、符号场表示(用于结构化知识)、矛盾消解循环递归自指更新机制。所有组件都在连续向量表示和明确的数学目标上操作,确保学习和适应性从原始信息机制(例如向量空间中的梯度更新)中涌现,而不是临时启发式方法。

核心认知引擎

核心认知引擎是一个可微分的计算图(例如基于Transformer的神经网络),它将输入和内部状态转换为中间表示和建议输出。它作为AGI的“大脑”,处理感知、模式识别和初步推理。形式上,可以将核心引擎建模为一个由权重 $\theta$ 参数化的函数 $f_\theta: \mathbb{R}^n \to \mathbb{R}^m$,它处理输入向量(来自传感器或查询)和当前状态向量以产生输出(例如,行动分布或文本响应)。引擎的操作纯粹通过矩阵和向量计算(例如,多头注意力、线性投影、激活函数)来定义,所有这些都适用于梯度演算以进行学习。信息通过网络层流动,在高维连续空间(嵌入空间)中编码特征和关系。认知状态(例如,隐藏激活或循环状态)充当工作暂存区,其中推理的中间结果可以表示为向量。通过使用Transformer架构,引擎可以实现复杂的序列处理,甚至内部代码执行(例如,通过学习到的注意力模式),而无需任何拟人化假设——它本质上是一个由目标函数引导的向量到向量转换器。

为了实现高级推理,核心引擎可以扩展或与向量形式的符号操作能力接口。例如,使用向量符号架构原则,符号表示为向量,概念的绑定或合并等操作通过这些向量上的代数运算完成。这使得引擎能够以连续方式表示结构化知识(关系、序列、逻辑组合)。在引擎内部,可能存在多个用于不同认知功能(视觉处理、语言理解、逻辑推理)的专用子模块,但它们都共享线性代数和微积分的共同数学语言。至关重要的是,引擎不依赖任何预定义的“常识”——它必须通过训练和经验学习捕捉一般世界知识的内部表示。

记忆层级结构

AGI需要一个记忆系统层级结构以实现有效的通用智能。我们设计了多层记忆:一个快速的感知缓冲区(非常短期的记忆),一个工作记忆(短期活动上下文),以及一个持久的长期记忆存储。这些对应于不同的时间尺度和实现,但都基于向量的信息理论存储。

  • 感知记忆:在核心引擎处理感官输入后,低级特征立即存储在一个短寿命的缓冲区中。这可以实现为核心网络第一层的隐藏激活或近期观测的短滑动窗口。它允许系统随时间整合(例如,用于时间感知,如帧或词序列),而无需将所有内容永久提交到长期存储。

  • 工作记忆:这是引擎在执行任务时用于保存显著信息的显式暂存空间(类似于计算机中的RAM或寄存器)。工作记忆可以作为Transformer上下文的一部分实现(例如,Transformer中的自注意力机制自然提供了一种工作记忆形式,允许后面的令牌关注前面的令牌表示)。此外,可以为系统添加一个外部工作记忆模块——例如,一个“黑板”全局工作区——核心引擎可以在其中读/写中间结果或假设。在向量术语中,工作记忆可能是一组向量 { $w_1, w_2, \dots, w_k$ },认知引擎可以关注和修改它们。这些向量可以编码当前目标、部分解决方案或当前推理过程中所需的最近检索到的事实。

  • 长期记忆:为了永久知识保留,AGI使用由不同内容类型组成的长期记忆:语义记忆(事实和概念知识),情景记忆(带有时间/上下文标签的经验记录),以及可能的程序记忆(学习到的技能或行动序列)。在实现方面,长期记忆可以是模型权重中分布式存储外部记忆系统的组合。模型的权重(例如在Transformer中)隐含地存储了大量的学习统计知识(来自对大型数据的预训练);这类似于一个先天的知识库。然而,为了允许动态学习和新信息的一次性存储,我们集成了外部记忆——例如,一个向量数据库或键控记忆库,代理可以用向量查询并检索相关条目。这个外部记忆存储着尚未(或尚不完全)在核心引擎权重中内化的知识的高维表示。特定的事实、概念,甚至整个知识图谱都可以编码为这个数据库中的嵌入向量。代理使用相似性搜索(例如 $\text{argmax}_j \langle q, k_j \rangle$,其中 $q$ 是查询向量,$k_j$ 是记忆中的键)来获取相关信息。这种机制允许快速检索记忆中的知识并在特征级别进行精细操作。记忆条目可以存储为(键,值)对,其中键和值都是向量;键可以表示概念或情境,值可以是内容(如解释或感官快照)。记忆层级结构的设计使得工作记忆可以将信息从长期记忆拉入当前上下文(例如,如果代理认为与当前问题相关,它会从向量数据库中检索事实到工作记忆中),反之,新发现的重要信息可以编码并保存到长期存储中(例如,在一个学习阶段后,提取的经验教训作为新的向量存储在语义记忆中)。

image/png

AGI记忆与认知子系统功能框图。感官输入通过感官记忆进入认知处理模块(神经网络)。系统更新工作记忆并构建学习到的概念向量,这些向量输入到符号接地因果学习模块。长期记忆分为语义(事实、已接地符号、因果关系、目标)、程序(技能、控制例程)和情景(上下文经验)存储,使先验知识和新学习到的知识都能支持感知、推理和行动。整个代理(绿色虚线框)构成具有传感器和执行器接口的具身。

在上述示意图中,信息从感知流向认知处理,再流向记忆,然后回到决策。记忆层级结构确保代理随时间积累知识并在需要泛化时召回这些知识。例如,语义记忆可能包含一个编码“火是热的”概念或数学事实的向量,当情况需要时可以检索。情景记忆可能存储一个自传事件(例如,模拟器中训练情节的状态-行动向量序列,以及结果奖励),认知引擎稍后可以回放或分析这些事件以改进未来的决策。程序记忆将用于学习的行动序列或策略(例如,机器人抓取物体等技能可以存储为控制器参数向量序列的序列)。

符号场表示

为了执行更高层次的推理并确保知识的可解释性,AGI使用符号场表示——将符号AI的离散清晰性与向量嵌入的丰富关联能力相结合。在实践中,这意味着抽象概念、实体和关系在连续空间中表示为向量,但其排列方式保留了符号状的结构。我们维护一个语义向量空间,其中每个重要符号(例如对象、属性或概念)对应一个高维向量。在此空间中,相似性(点积或距离)反映语义相关性,简单的代数运算可以编码关系。例如,“巴黎是法国的首都”的关系可以通过向量 $v(\text{巴黎})$、$v(\text{法国})$ 和关系向量 $v(\text{首都})$ 来表示,使得 $v(\text{巴黎}) + v(\text{首都}) \approx v(\text{法国})$(这类似于词嵌入关系)。这些向量以数学意义上的的形式存在——它们可以组合、相加、相减等,以产生新的有意义的向量。

符号接地问题通过将低级感官数据映射到这些高级符号向量来解决。当代理感知到一个物体或听到一个单词时,核心认知引擎会输出一个嵌入,该嵌入应该与场中相应的符号向量对齐。具身在这里起着关键作用:因为代理与世界互动,它可以将原始感知与代表这些感知实体的连贯向量(符号)关联起来。例如,“红苹果”的概念可能通过代理看到许多例子来接地——视觉感官数据被编码成在符号空间中接近 $v(\text{苹果})$ 和 $v(\text{红色})$ 的向量。

在符号场表示中,我们还包括结构化知识表示,如知识图谱或逻辑公式。这些可以通过向量空间中的张量表示或绑定机制进行编码。两个概念之间的关系可以是转换(矩阵或张量),当应用于一个概念向量时,产生另一个概念向量。例如,如果 $R$ 是表示“是……的首都”关系的矩阵,则 $R \cdot v(\text{巴黎}) \approx v(\text{法国})$。这样,关系知识就被捕获在相同的向量微积分框架中。对符号使用向量表示允许系统在已知符号之间进行泛化和插值(纯粹离散的符号不允许这样做),但这也意味着我们需要明确的程序来在需要时保持一致性和离散性。

一个挑战是确保这些连续表示在检测逻辑关系或矛盾时仍能产生离散的、清晰的比较。纯粹的神经网络嵌入可能会模糊区别;因此,系统可以采用混合方法:核心引擎可以生成或完善符号表示(例如产生逻辑断言),然后由单独的模块进行检查。例如,它可能会输出两个向量足够接近以被认为是“相同实体”,或者某个谓词成立。该架构可以包括一个神经-符号接口,将向量状态转换为符号断言(三元组或逻辑语句),这些断言可以存储在结构化知识库中(例如内部知识图谱)。这个知识库充当一个可解释的记忆层,其中每个条目都是系统相信的命题(具有一定的置信度)。因此,符号场跨越了连续向量空间和这些提取的离散事实,允许代理利用后者进行逻辑一致性检查算法。

矛盾消解循环

识别和解决自身知识和推理中的矛盾是鲁棒通用智能的基石。该框架包含一个矛盾检测和消解循环,它持续监控代理的内部陈述(例如结论、答案或从记忆中检索到的信念)以检查一致性。在实现方面,这可以是一个模块,它接收成对的命题(以逻辑或向量形式表示)并评估一个矛盾分数。最简单地说,如果代理的知识中有两个断言 $A$ 和 $¬A$(逻辑否定),那就是一个矛盾。然而,在微妙的连续表示中,代理可能有两个向量,它们本应代表相同的概念,但却显著不同(表明属性冲突)。

一种策略是将某些关键断言投影到离散命题空间进行严格检查。例如,代理可以维护一个关键事实的真值数据库(特别是那些它高度信任的事实)。矛盾检查器可以运行类似于SAT求解器或真值维护系统中的算法:如果新推断的事实与数据库中的内容逻辑冲突,则标记它。由于我们的系统主要使用向量操作,矛盾模块可能会使用近似匹配来检测矛盾:例如,如果两个概念向量在某个子空间中几乎互为负值(表示相反的属性),并且这些概念旨在指代同一实体,那么这很可能是一个矛盾。

这个循环的工作方式如下:(1) 核心引擎(或相关推理模块)生成一个输出或中间结论。(2) 该结论被构造成可以与记忆(包括向量相似性和符号检查)进行比较的表示。(3) 矛盾模块提取相关的已知断言(来自长期语义记忆或近期上下文)并比较是否存在直接相反或逻辑排斥。(4) 如果发现矛盾,则触发一个消解例程:系统必须协调哪些信息是正确的,或者某个假设是否错误。这可能涉及基于置信度的仲裁(每条信息都有一个置信度或证据分数;系统质疑置信度较低的信息)或解释搜索(系统试图找到使两个陈述都能成立的上下文,如果找不到,则必须撤回或修改其中一个)。

基于向量的矛盾检测:在向量术语中,可以有一个函数 $g(v_1, v_2)$,如果由 $v_1$ 和 $v_2$ 表示的语句不一致,则输出高值。例如,如果 $v_1$ 编码“爱丽丝很年轻”,而 $v_2$ 编码“爱丽丝不年轻”,系统需要识别这些冲突。如果我们的符号场将“爱丽丝”正确地接地到两者中的同一个实体,并将“年轻”接地到一个概念,那么实际上系统同时具有活跃的 $v(\text{爱丽丝}) + v(\text{年轻})$ 和 $v(\text{爱丽丝}) + v(\text{不年轻})$。矛盾模块可能会注意到 $v(\text{年轻})$ 和 $v(\text{不年轻})$ 几乎相反(也许“不年轻”的向量方向与“年轻”的向量方向相反),从而将这两个语句标记为相互排斥。作为更具体的方法,我们可以维护一个符号向量之间的逻辑关系矩阵,其中一个关系是“否定”。系统可以随后形式化检查:是否存在一个概念和一个属性,使得它同时断言该属性及其属性的否定?如果是,则存在矛盾。

当检测到矛盾时,消解循环会启动学习/更新机制:要么调整信念,要么检查上下文。AGI将进入一种诊断模式,它将矛盾视为需要满足的新约束。一种方法是分配与矛盾对应的误差梯度——例如,为矛盾向量定义一个损失函数 $L_{\text{con}} = | v_1 + v_2 |^2$,理想情况下,这些向量应该相距很远(或某种惩罚对立面共现的度量)。然后,系统可以在其知识表示上执行梯度下降步骤,以增加一致性(这可能意味着稍微调整有问题的记忆向量或产生断言的参数)。实际上,代理使用矛盾作为训练信号来完善其内部模型。

这个循环是连续且自驱动的。它不需要外部用户指出矛盾;代理会主动检查自己的输出。正如研究人员所指出的,当前的大型语言模型通常只有在用户指出错误时才意识到,然后肤浅地纠正自己,而没有真正改变信念。我们的架构通过内部的自我矛盾发现过程避免了这种肤浅的行为。代理“三思而后行”——在最终确定输出或决策之前,它会在内部模拟(通过核心引擎生成候选并写入临时缓冲区)并对照其知识库和上下文运行矛盾检查。如果发现问题,输出会在外部化之前进行修订或完善。这个迭代循环可以运行多个周期:提出 -> 评估 -> 调整 -> 再次提出,直到代理在其计划/答案中没有发现明显的矛盾或不连贯之处。从本质上讲,这就像一个内部对齐过程,确保代理的结论与其积累的知识相符。

递归自指更新

除了解决矛盾之外,AGI还需要一个递归自改进机制。这意味着系统可以反思自己的表现,建模自己的知识状态,并在一个循环中更新自己——有效地学习如何学习或调整自己的算法。我们通过一个元认知模块来实现这一点,该模块监督核心认知过程。该模块维护代理自身参数和知识的元表示——本质上是模型的模型。例如,代理可以有一个向量(或一组向量),编码“我当前的能力”或“我在领域X中的知识空白”。

具体来说,该架构可以包含一个组件,在操作期间(不仅仅是离线训练)对核心组件执行梯度更新或其他学习步骤。一种方法是持续学习循环:在每次重要的交互或事件之后,代理的经验(状态、行动、结果、矛盾信号、奖励信号)被输入到学习算法中(这可以是另一个神经网络,或者只是核心网络上预定义的梯度下降)。该算法计算核心引擎的参数应如何改变,以更好地实现目标或避免遇到的错误。由于代理是在自身上执行此操作,因此它是递归的——今天的自我改进可能会在明天实现更好的自我改进。

我们可以将其形式化为代理维护一个内部目标函数 $J(\theta)$,该函数衡量代理的整体性能或一致性。这个目标可以包括任务成功(来自外部奖励)、预测准确性、矛盾惩罚、新颖性奖励等。在每个周期之后,代理计算梯度 $\nabla_\theta J$ 并对其自身参数应用更新 $\Delta \theta = +\alpha \nabla_\theta J$(其中 $\alpha$ 是学习率)(这本质上是在线强化学习或随机梯度下降步骤)。这样做需要小心,以避免灾难性遗忘——例如,使用经验回放(将最近的事件存储在记忆中并对其进行再训练),或者学习如何更新的元学习技术。

递归更新也可以是自指的,因为代理可以模拟自身的变体。使用核心认知引擎,代理可以运行内部模拟,例如“如果我有一个稍微不同的策略会怎样?”,通过在想象中有效地创建其模型参数的一个分支,并在心理场景中尝试它们。如果模拟的自我表现更好,代理可以将其实际参数朝该方向移动。这类似于代理思维中发生的进化或强化学习。

最后,该模块处理偏差校正偏好转移。例如,如果代理识别出它存在偏差(也许它注意到它总是以某种有缺陷的方式回答),元认知系统会生成一个纠正指令(“调整这些权重或这个阈值以减少该偏差”)并应用它。这种持续的自我监控和更新循环意味着该架构不是静态的;它会随着使用而改进,并可以通过学习从错误中恢复。随着时间的推移,代理的知识库和技能应该变得更加一致(更少的未解决矛盾)并在各个领域变得更加有能力。

实现级组件

将上述架构转化为具体组件,我们指定以下实现模块及其相互连接方式。每个组件都可以利用当前最先进的机器学习技术来实现,并且它们通过向量表示(张量)进行通信,确保无缝集成。

基于Transformer的认知模型

核心是一个Transformer网络(或类似规模和灵活性的网络),作为认知主力。Transformer已展示出通过注意力机制学习极其丰富的表示并对输入序列执行复杂转换的能力。在我们的AGI框架中,Transformer处理令牌或感官原语序列,并产生上下文整合的输出。对于文本输入/输出,令牌通常是子词单元;对于其他模态,我们也以令牌序列的形式编码传感器数据(例如,图像的补丁,或离散化的感官信号,转换为馈送到多模态Transformer的序列)。

Transformer的多头自注意力提供了一种实现工作记忆和对相关信息选择性注意力的自然方式。查询-键-值机制可以看作是内容可寻址记忆查找:查询表示当前的焦点,键是潜在的信息片段(来自上下文或记忆),注意力权重本质上是动态指针。这就是模型从工作记忆甚至直接从长期记忆中检索信息的方式,如果我们通过学习到的键集成向量数据库。例如,我们可以将检索到的记忆向量连接到Transformer所关注的序列,以便它可以在生成答案时整合长期知识。

Transformer还用于实现推理和规划功能。通过适当的训练(例如,使用思维链式数据或程序化推理数据进行微调),模型可以学习通过生成不立即输出但用于后续计算的中间“思考”令牌来在内部执行多步推理。这本质上是引导模型利用其自省能力。该架构可以通过两遍解码来实现这一点:第一遍,模型生成一个详细的推理日志(保持内部),第二遍则生成最终简洁的输出。这种分离类似于模型在响应之前自言自语(内部独白)。矛盾消解可以通过检查推理日志是否存在冲突语句来参与此过程。

从工程角度来看,Transformer模块可能非常大(数十亿参数),以捕捉通用知识。它应该在多样化数据(文本、图像、代码等)上进行预训练,以提供强大的先验知识。预训练为其提供了庞大的语义和事实基础,AGI可以此为基础构建专业化模块和实时学习。重要的是,Transformer可以条件性计算——例如,使用稀疏激活或专家层——以扩展到非常复杂的任务,而无需始终使用最大计算量。这使得系统能够保持高效:并非所有情况都需要全部容量;系统可以在需要时才分配更多的注意力头或层(这可能由输入的新颖性或难度决定)。

强化学习与规划模块

为了处理环境中的决策(特别是在具身环境中),我们集成了强化学习(RL)模块。该模块负责策略学习、价值估计和随时间规划以实现目标。它与核心认知引擎的接口如下:认知引擎提供状态表示和可能的行动描述,RL模块根据预期的未来奖励评估和选择行动。

一个直接的实现是使用深度强化学习技术:例如,一个策略网络(可以是Transformer的一个头部或一个单独的较小网络)接收状态向量并输出行动概率分布。一个价值网络估计当前状态的价值(预期累积奖励)。我们可以使用PPO、DQN等算法训练这些网络,具体取决于行动空间是连续还是离散。AGI上下文中的关键区别在于,状态向量必须封装对环境的丰富理解——核心Transformer通过将原始传感器输入处理成简洁状态来帮助提供这种理解——并且目标可以是抽象和长期的。

RL模块还与世界模型协同工作。在许多场景中,代理拥有环境动态的预测模型(基于模型的RL)非常有用。我们可以将世界模型实现为另一个神经网络(如果环境复杂,也可能是基于Transformer的),该网络在给定当前状态向量和行动的情况下,预测下一个状态(或输出预期的观察结果)。这个世界模型可以用于通过模拟进行规划:代理可以想象一系列行动并查看预测结果,然后选择最佳序列,而无需物理执行所有可能性。本质上,世界模型加上认知引擎允许在内部进行类似蒙特卡洛树搜索的规划或推出策略优化。

例如,考虑一个物理环境中的具身AGI:世界模型可能是一个学习到的物理模拟器(就像一个从经验中学习环境规则的神经网络)。代理在面对新任务(比如从房间里取出物体)时,可以在其世界模型中模拟不同的动作序列(向前移动、左转等),以查看哪种策略可能成功,并在RL策略的指导下进行优化,而RL策略又通过这些模拟进行完善。这大大减少了真实环境中的试错,这对于高效学习至关重要。

最近的研究表明,将大型语言模型(LLM)与强化学习结合进行规划具有良好前景。例如,利用LLM的知识指导环境交互可以降低样本复杂度。我们的框架可能会使用Transformer来提出高级行动或选项(利用其先验知识),然后由RL模块执行和微调。这种划分意味着代理同时拥有基于知识的行为(来自模型理解)和基于经验的行为(来自试错学习)。随着时间的推移,当代理进行交互时,RL训练将调整策略和世界模型以适应特定环境,实现真正的情境学习。RL模块提供了目标导向学习的机制:它促使代理改进那些能带来更高奖励的行动,实现了刺激->行动->奖励->更新的基本行为主义循环。

外部记忆整合

如前所述,代理得益于一个外部长期记忆存储,例如用于语义知识和事件日志的向量数据库。这可以使用现有的向量搜索框架(FAISS、Annoy等)来实现,这些框架可以处理数百万个高维向量。关键的设计方面包括:如何索引知识(例如,使用多个视图——一个条目可能通过概念名称和上下文特征具有键),如何更新(当新信息出现时插入新向量,或当概念改变时修改现有向量),以及如何修剪或压缩(因为无限增长的记忆是不切实际的,代理应该整合记忆,合并冗余记忆并遗忘不相关的记忆,这同样可以通过聚类向量或衰减机制来完成)。

对于语义记忆,我们可以存储从解析文本或其他来源转换为事实三元组的条目。例如,如果代理读取句子“水在100°C沸腾”,它会为这个事实创建一个向量条目(可能以“水的沸点100C”作为键)。稍后,如果被问到“水在什么温度下沸腾?”,代理的查询向量(由Transformer从问题生成)应该与存储的键相似,从而触发事实向量的检索,然后该向量可以输入到推理过程中以回答问题。这本质上是检索增强生成(RAG)架构,其中一个LLM(核心引擎)通过它可以查询的知识库进行增强。

对于情景记忆,在每次环境中的重要情景之后,代理可以将事件序列(可能使用RNN或摘要Transformer)编码成一个或几个代表“发生了什么以及学到了什么”的记忆向量。键可以是情境或任务,值可以编码结果和经验教训。如果出现类似的情境,代理可以检索这些信息并回忆过去的经验,以避免重复错误。

外部记忆接口将包含作为认知周期一部分的读写操作。读操作接收一个查询(可以是当前状态描述或当前目标),并返回最相关的记忆条目。写操作接收一个内容(一段新知识或一个经验),并将其存储起来。这些操作由核心引擎的输出控制:本质上,Transformer可以通过训练(通过RL或监督信号)在特定时刻输出一个“记忆查询”向量,或一个“记忆写入”向量,从而触发相应的操作。可以将其想象成类似神经图灵机/可微分神经计算机中的可微分记忆,其中记忆寻址是网络学习功能的一部分。事实上,使用可微分记忆控制器将允许端到端训练记忆访问模式。

输入/输出处理(多模态接口)

AGI框架设计为多模态——能够处理文本、视觉、音频等作为输入和输出。输入/输出处理通过特定模态的前端完成,这些前端将原始数据转换为向量编码并进行反向转换,由核心认知引擎统一处理。

输入处理:对于每种模态,我们都有一个编码器。

  • 视觉(图像/视频):一个深度卷积网络或Vision Transformer,从图像中产生嵌入(特征图)。这可以馈送到核心引擎。或者,可以将视觉Transformer与语言Transformer(共享注意力)集成,以直接允许视觉令牌。输出是一组表示场景中对象和属性的视觉特征向量。
  • 音频(语音):一个音频编码器(可以使用像Wav2Vec或基于谱图的CNN模型)将声音转换为音素或单词嵌入序列,然后将其视为文本输入序列(如果是语音)或在需要时作为单独的模态(用于非语音音频事件)。
  • 文本:一个分词器(使用字节对编码或类似方法)将文本分解为标记,这些标记通过学习到的查找表转换为嵌入。这些嵌入作为输入馈送到Transformer。
  • 本体感受传感器(用于机器人):关节角度、加速度等值可以直接缩放并嵌入为向量,并连接到状态表示。
  • 结构化数据:如果代理与API或数据库接口,这些数据可以转换为统一格式(例如,JSON解析并向量化,或者直接视为额外文本)。

所有这些输入,一旦转换为嵌入向量形式,就会被连接或合并成一个联合观察向量。一个设计原则是拥有一个统一的潜在空间,其中来自所有模态的信息可以共存并进行比较。现代多模态模型已经通过对齐图像和文本嵌入实现了这一点——例如,CLIP模型在相同空间中产生图像嵌入和文本嵌入,从而允许比较。我们的AGI的感知系统也将类似地做到这一点,确保“一张猫的图片”和文本“一只猫”映射到相似的内部表示,从而实现跨模态推理。

输出生成:取决于所需的输出

  • 文本输出:Transformer可以解码文本标记序列(如语言模型所做)。这通过Transformer以自回归模式操作,或通过一个单独的解码器头(该解码器头接收核心引擎的状态并产生文本响应)来实现。鉴于该架构专注于正确性和避免幻觉,生成过程受到自我评估循环的制约:模型可能会在内部起草响应,检查它,然后才输出它。实际上,这可能意味着生成过程有两个阶段(首先是草稿,然后是最终答案)。
  • 行动(对于具身代理):决策策略(来自RL模块)的输出被转换为行动。对于机器人,这可能是关节命令,这可能需要一个中间控制器(如将高级行动转换为电机扭矩)。对于虚拟代理,它可能是模拟器中的函数调用(例如“向前移动”)。系统应该有一个执行接口,它接收抽象的行动决策(可以是令牌或行动的ID)并在环境中执行它。在模拟中,这通过API直截了当;在真实机器人中,它涉及向硬件发送信号。
  • 其他输出:如果代理被要求生成图表或图像,它可以使用生成模型(如扩散模型)作为子组件,或调用外部工具。我们的框架可以通过一个工具集成模块来整合这种工具使用:代理可以将其行动空间的一部分表示为对外部API(例如,绘图工具,搜索引擎)的请求。这类似于最近的“带工具的规划器”范式(如HuggingGPT等),但集成到认知架构中。

I/O模块确保实时感知运动循环操作。代理持续接收传感器数据帧,通过编码器处理它们以更新其状态,然后决定并输出一个动作。这形成了感知-认知-行动循环,它以一定的频率运行(取决于环境需求;对于机器人可能是10赫兹的控制循环,对于纯粹的对话代理则由用户输入事件驱动)。设计将快速、低级控制循环(甚至可以由反射控制器处理)与深思熟虑循环分开。例如,机器人可能拥有100赫兹的低级PID控制器用于电机稳定性,但我们的AGI深思熟虑循环以较慢的速度运行,以决定“前往厨房”等高级动作。

具身与感知-行动循环

具身是指赋予AGI一种形式(物理或虚拟),通过这种形式它可以在环境中感知和行动。我们的框架支持多种具身选项:

  • 物理机器人具身:AGI安装在机器人(可以是人形、轮式、无人机等)上,配备传感器(摄像头、激光雷达、麦克风、触觉传感器)和执行器(用于移动的电机、用于与物体交互的机械手)。在这种情况下,感知模块处理真实世界的传感器数据,行动输出与机器人控制系统接口。世界模型中包含了物理接口(动力学、运动学知识),以处理真实世界交互的连续方面(例如,通过学习或内置模型理解重力、摩擦力)。

  • 模拟具身:AGI存在于模拟世界中(如游戏引擎或物理引擎)。传感器是虚拟的(但类似:模拟提供图像等),行动是模拟器的API调用(例如,施加力,移动头像)。模拟具身可以加速训练,并允许安全地进行不同场景的实验。架构保持不变;只有接口模块不同(它们连接到模拟器的数据结构而不是真实硬件)。模拟可以是Mujoco、Unity或自定义环境。与物理引擎的集成意味着AGI可以更准确地执行心理模拟——例如,世界模型可能实际上会查询物理引擎以获取结果(“如果我推这个物体,会发生什么?”)作为规划的一部分,融合基于模型和无模型的方法。

  • 无具身(纯认知代理):该框架也适用于仅进行对话或在数字领域操作的代理。在这种情况下,“环境”是信息环境(如互联网或文档语料库),传感器是文本输入和可能的Web API,执行器是文本输出或API调用。感知-行动循环仍然相关:感知输入(用户查询,数据),行动(响应或操作数据)。

具身对于接地至关重要:通过拥有传感器和执行器,AGI可以将其符号表示与世界中的实际因果关系关联起来。例如,一个具身代理学习“重力”的概念不仅来自文字,还来自看到物体下落和通过传感器感受力,这与其因果学习模块紧密相连。在实践中,我们的AGI学习算法将结合多模态自监督:它预测行动的感官结果(这塑造了其世界模型)并将其与实际传感器读数进行比较,通过预测误差最小化调整内部模型。这受到自由能原理和预测编码的启发,它们指出代理通过更新其信念或采取行动来最小化其预测与实际感觉之间的差异。

感知-行动循环的工作方式如下:

  1. 感知:具身传感器的捕获环境的当前状态(例如,摄像机图像,当前关节角度等)。这些数据通过模态编码器编码为统一的向量状态。
  2. 理解:核心认知引擎将这些新的感官信息与现有上下文(工作记忆、近期事件)进行整合。它更新世界状态表示。在这里,注意力机制可能会对齐特征(例如,关注视觉场中移动的物体或用户语音中显著的单词)。
  3. 推理/决策:根据代理的当前目标(来自目标系统,参见下一节)和知识,它使用认知引擎和可能的(世界模型)来决定一个行动。这可能涉及运行内部模拟:例如,代理考虑一个候选行动“左转”,通过世界模型预测它将看到什么(也许它想象转弯后的新视图),并评估这是否有助于实现目标(例如,找到一个物体)。
  4. 行动:代理输出所选行动。在机器人中,这可能是向电机发送命令(如目标关节配置或速度)。在对话系统中,它可能是产生一个句子。在所有情况下,行动之后,环境会发生变化(无论是代理移动或说话等)。
  5. 感知新状态:随着新的感官信息(包括行动后果的反馈)的到来,循环重复。因此,代理通过查看行动是否达到预期效果来闭合循环。

该架构可能包括专门的传感器融合组件,以将多种传感器模态组合成一个连贯的世界状态。例如,对于机器人,来自摄像头和激光雷达的数据需要融合以理解深度并识别物体;学习到的多感官模型可以通过在潜在空间中对齐模态来完成此操作。

一个特定于具身的考虑因素是运动控制。高频控制可能由前面提到的低级控制器处理。我们假设我们的AGI主要决定高级行动(如“移动到坐标X”或“抓取物体Y”),然后一个单独的控制子系统(可以是传统的机器人控制器或学习到的神经网络)处理精细的轨迹。这种职责分离可以防止认知引擎被物理细节所困扰,并允许它在抽象规划层面操作,类似于人类如何根据目标和结果而不是单个肌肉抽动来思考。

具身化还为学习提供了**持续反馈**。如果智能体尝试某事但物理上失败了,这会产生一个明确的错误信号(例如,它预测自己能举起一个物体,但物体太重了——感官差异会告知因果模型,其低估了物体的重量)。这些“惊喜”会驱动内在动机,我们接下来将讨论这一点。

目标形成与动态调整

一个真正通用的智能体不应是被动的预言机;它需要设定和追求目标的能力,包括自我生成的目标。我们的框架包含了**目标形成**系统,并能根据内部和外部反馈进行**动态调整**。目标可以是外在给定的(例如,用户指示智能体),也可以是内在产生的(智能体自身的驱动,如好奇心或自我一致性)。

内在动机与好奇心

我们引入了内在动机模型,以鼓励开放式学习和探索。一种常见方法是在外在奖励 $r^e_t$ 之外,使用**内在奖励**信号 $r^i_t$。智能体在每个时间步的总体优化目标是 $r_t = r^e_t + \beta r^i_t$,其中 $\beta$ 控制内在动机的影响。

内在奖励是围绕信息论度量设计的。

  • **新颖性/惊喜(好奇心):** 智能体因遇到意外或未探索的状态而获得奖励。这可以通过测量预测误差来实现——例如,观察值与世界模型预测值之间的差异有多大?如果误差很大,这表示新颖性,智能体就会获得正向内在奖励。随着时间的推移,当智能体学习了环境后,对已知状态的奖励会减少,从而推动智能体寻求新的体验。形式上,可以定义 $r^i = \mathrm{Error}(observation) = | obs - \hat{obs} |$,或使用信息增益:$r^i = \Delta H(\text{world model})$,即在看到新数据后世界模型不确定性的减少。
  • **学习进展:** 一些设计使用预测误差的改进作为奖励。如果智能体的世界模型正在变好(误差减小),这种进展本身就是奖励性的,这使得智能体专注于可学习的情境(既不太容易也不太混乱)。
  • **状态熵最大化:** 另一种方法是明确鼓励访问在状态空间中最大化熵的状态(广泛覆盖)。智能体本质上是尝试观察各种各样的状态(探索地图)。这在奖励非常稀疏的环境中很有用:智能体不会因为重复做一件事而陷入困境,因为那样一段时间后就不会产生新的内在奖励。
  • **赋能:** 这是一种最大化对未来状态影响力的驱动(信息论赋能是智能体行动与未来状态之间的信道容量)。它鼓励智能体将自己置于可以控制的情境中(例如,拥有可用工具可能会增加赋能,因为智能体可以做更多事情)。这计算起来有点复杂,但可以通过预测模型进行近似。

我们在AGI中整合了一个**基于熵的好奇心模型**:本质上是对环境熵和智能体对此的知识的运行估计。如果在给定上下文中环境非常可预测(智能体世界模型的熵低),好奇心驱动可能会专注于新颖性(熵最大化)。如果环境极其不可预测(熵高,超出智能体当前能力),纯粹好奇心驱动的智能体可能会表现出不稳定行为,因此我们对其进行自适应平衡。例如,智能体可能会在过于不确定的情况下暂时切换到*熵最小化*模式(试图理解混沌输入),正如最近研究表明,探索和利用的自适应混合导致更稳健的行为。

内在动机提供**自我目标**:例如,“了解物体 X”成为一个子目标,因为它会减少不确定性或产生奖励。系统不需要对所有事情都进行明确的人工提示;它会生成诸如“如果我做 Y 会发生什么?”或“找到与我的模型相矛盾的情况以改进它”之类的目标。这些目标被排入目标缓冲区。我们通过在架构中设置一个**目标调度器**来管理此过程:它权衡内在目标与任何外在任务。如果用户给出命令(外在目标),它可能会优先执行,但如果智能体空闲或外在目标宽泛,它就可以进行内在探索,最终有助于实现整体能力。

目标表示与层级

目标,无论是内在的还是外在的,都在系统中以形式化的方式表示——作为目标函数或目标状态描述。例如,一个外在目标“到达出口”可以表示为一个目标状态向量(对应于在出口位置的特征)或一个在出口处给予+1的奖励函数。在内部,我们通常将目标分解为子目标(分层规划)。该架构可以包含一个**规划器模块**(可以是像经典规划那样的符号规划,也可以是使用世界模型的神经规划),它接收一个目标和当前状态,并生成一系列子目标或动作。

我们允许智能体创建**目标堆栈/树**:一个高层目标可以生成子目标——例如,“解决问题 A”可能会生成“学习 A 所需的概念 B”作为一个子目标,如果智能体意识到它缺乏知识。这与记忆相关联:智能体查询其知识,发现一个空白,这个空白本身就成为一个目标(填补知识)。递归的自指性质在此处有所帮助:智能体知道自己不知道某事,这是一种元认知形式。

目标是动态可调整的。智能体不断重新评估:这个目标仍然相关吗?它太容易了还是不可能?它应该被细化吗?这可以通过一个**目标管理器**来实现,它定期检查条件或监听矛盾信号。如果追求一个目标导致矛盾或意外结果,智能体可能会修改目标。例如,如果一个内在目标“探索区域 X”突然与一个新的外在命令“回来以确保安全”冲突,智能体将重新设定优先级。

基于奖励的对齐

**对齐**指的是确保AGI的目标和行为符合预期的人类价值观和指令。在我们的框架中,对齐通过奖励设计和监督相结合的方式实现。

  • 用于训练智能体的外在奖励函数是精心设计(或从人类反馈中学习)以反映我们所期望的。例如,我们可能会训练智能体,使其在对话设置中为有用的回答获得奖励,并为有害或欺骗性行为受到惩罚。
  • 我们可以将**基于人类反馈的强化学习(RLHF)**作为模块引入:在智能体产生输出后,人类(或从人类偏好训练出来的学习奖励模型)提供反馈,这些反馈被转化为标量奖励,RL模块利用该奖励调整策略或Transformer的输出。

然而,仅仅使用人类偏好可能会导致奉承行为,即智能体学会鹦鹉学舌,说出它认为用户想听的话,而不是事实。我们框架中的矛盾解决和真相维护系统对此起到了制衡作用。它们确保即使智能体受到奖励信号的诱惑而说出令人愉快的谎言,内部一致性检查也会标记出与现实的不符。为了平衡这一点,对齐奖励模型本身应包含一个关于真实性或一致性的项,而不仅仅是用户满意度。最近的研究表明,RLHF模型倾向于奉承,因为人类评估者有时更喜欢与自己观点一致的答案。在我们的设计中,智能体的**目标系统**是多目标的:它力求最大化用户满意度、**事实正确性**和**安全性**等。这些可以编码为独立加权的奖励组件。因此,对齐成为一种约束优化:在不违反真实性或安全约束的前提下最大化帮助性。

具体来说,如果智能体正在回答问题,我们可以有:

  • 来自偏好模型(从人类标记的优秀答案数据中学习)的**对齐奖励**。
  • **准确性奖励**,对照知识源或一致性进行检查(可能使用自动化验证器或智能体自身的知识)。
  • **安全过滤器**,如果发生某些不安全行为(如造成物理伤害或输出仇恨言论),则给予巨额负面奖励。

通过结合这些,智能体形成了“乐于助人且诚实”等目标。当智能体注意到遵循某个方面(例如总是同意)会导致矛盾警报触发时,它会动态调整其行为权重以优先处理真相解决——从而适当地处理**奉承性同意与有效矛盾解决**。

自我评估与输出验证

在最终确定输出或决策之前,AGI会进行明确的**自我评估**。这本质上是一个过滤阶段,智能体使用内部模型审视自己提议的行动/答案。

  • 它使用**批评模型**(可以是一个独立的神经网络,训练用于判断输出的质量或连贯性)来给候选输出打分。例如,一个基于LLM的批评模型可能会评估一个草稿答案是否结构良好、有足够的事实支持且不自相矛盾。如果得分很低,智能体就会迭代以改进答案。
  • 它会对照记忆中的已知事实进行检查:例如,如果智能体即将声称某事与高置信度记忆项相矛盾,那么矛盾循环(前面描述过)就会捕获它。智能体然后要么修改声明,要么解释矛盾(可能记忆过时或上下文不同)。
  • 评估还会检查逻辑连贯性和相关性:利用自然语言推理(NLI)或逻辑技术,智能体可以验证其答案是否真正解决了问题,以及答案的所有部分是否相互一致。

这个过程可以被认为是核心认知引擎之上的一个**“元认知层”**。它甚至可以通过第二个Transformer来实现,该Transformer将完整的推理过程和草稿输出作为输入,并返回建议或批准/拒绝信号。例如,一个更简单的版本是将输出再次通过相同的模型运行,询问它“这个答案是否正确和连贯?”——这本质上是提示模型进行反思。

如果发现问题,系统会生成一个**修正梯度**。在学习情境中,这个梯度可能会更新模型参数(缓慢变化),以避免将来出现此类错误。在眼前,它可能会调整输出。例如,如果智能体的答案包含一个被批评模型标记为可能不真实陈述,智能体可以删除该陈述,或用更不确定的措辞替换,或检查记忆以进行修正。**基于向量的修正梯度**意味着即使输出(在解码为文本或动作之前是向量序列)也可以朝着更大一致性的方向进行微调。可以使用类似于反向传播通过解码器的方法:将矛盾视为损失,并调整答案的隐藏表示以最小化该损失,然后进行解码。然而,通常使用更简单的强化策略:生成多个候选输出,并选择在自我评估中得分最高的那个(这是一种无需梯度,仅通过搜索来优化输出的形式)。

这种自我监控大大减少了幻觉和错误。它本质上强制进行了一次额外的“思考”正向传播,专注于输出验证。对大型语言模型的实证研究表明,强制模型进行反思可以捕获单次生成会遗漏的错误——我们的架构默认内置了这一点。

奉承性同意与有效矛盾解决

在对齐的AI系统中,改变答案是出于**寻求真相**还是出于**用户偏好**,两者之间存在显著差异。我们的AGI明确设计用于识别这种差异。

  • **奉承性同意**:模型仅仅为了取悦用户或外部输入而同意,即使该输入是错误的。
  • **有效解决**:模型改变立场是因为它发现自己实际上错了,或者新信息是正确的。

核心区别在于**证据和推理**。矛盾解决循环和知识库提供了基于证据的冲突检测。如果用户说的话与智能体的知识相矛盾,智能体不应该立即将用户的话视为真相(奉承模型可能会这样做以避免分歧)。相反,它应该进入一个*对话或推理过程*:承认差异并提供反证,或者如果用户的证据更强则更新自己的知识。

我们的框架包含一个用于矛盾协商的**对话管理策略**。例如,如果用户纠正智能体,智能体的回应可能是:“我记得信息 X,这与您所说的相冲突。请允许我验证。”然后,它要么找到用户主张的确认(并更新其记忆,通过修改旧信念来解决矛盾),要么找到其原始主张的确认(并恭敬地向用户提供该证据)。这种行为源于既要追求真实性又要满足用户的目标——智能体通过对不确定性和推理的诚实来找到平衡。

在实施中,我们确保RLHF或偏好模型不是更新答案的唯一指导。智能体中的**真相维护系统**(TMS)可以覆盖立即同意的冲动。技术上,这可以通过设置一条规则来实现:如果用户的最新陈述与智能体的信念相矛盾,除非经过验证,否则不要将其纳入答案。或者即使用户相信,也要对公然的事实错误在对齐奖励中给予惩罚。

因此,智能体有时会**礼貌地表示不同意**或提出澄清问题,这是AGI所期望的行为(它不应明知故犯地撒谎,仅仅因为用户存在误解)。相比之下,一个纯粹由奖励驱动的奉承LLM可能只会将用户的错误主张改写为真相输出。我们架构的多目标和内部一致性检查阻止了这种肤浅的迁就。

另一方面,当矛盾解决确定智能体错了(也许用户提供了实际上是真实的新信息)时,智能体将执行一次*有效更新*:它改变其内部信念并承认纠正,从而通过与现实对齐来解决矛盾。这个更新后的信念存储在语义记忆中(这样它就不会重复犯错),并且任何依赖的推断都会被撤回或更新(真相维护传播更改)。通过这种方式,系统真正从纠正中学习,而不是仅仅取悦反馈来源。

最小架构与涌现行为

我们描述了一个包含许多组件的丰富架构,但有人可能会问:实现通用智能所需的**最小组件集**是什么?理论上,一个AGI至少需要:

  • **学习机制**(不受预编程知识的限制)。
  • **记忆**(随时间积累知识)。
  • **推导和适应目标的能力**(否则在其追求中就不具备自主性)。
  • **多模态感知和行动**(使其在应用中具有通用性)。
  • **世界模型或内部模拟**(处理需要规划的非反应性任务)。
  • **自我监控**(避免不可恢复的错误并随时间改进)。

因此,最小架构包括每个模块,即使是简化的。例如,一个非常小的AGI可以被构想为一个单一的循环神经网络(覆盖学习),带有一个外部存储磁带(如神经图灵机),并用复合损失(覆盖任务成功和好奇心)进行训练。这种最小设计,如果扩大规模,原则上可以学会使用其记忆、发明子目标等。然而,实际的涌现通用智能可能需要每个组件达到一定的**规模和复杂性**。

对大型模型的研究表明,一旦模型跨越某些复杂性阈值,就会出现**涌现行为**(质的新能力)。例如,大型语言模型在达到一定数量的参数或训练数据后,算术或常识能力会以非线性方式突然变得更好。类似地,一个最小的AGI可能在其组件(记忆大小、模型容量、感官输入的多元性)不足以捕捉世界的各种情况之前,不会展现出“通用”智能。可能存在阈值效应:例如,如果记忆太小,它无法积累足够的知识以具备通用性;如果感知过于有限,它无法充分理解环境。

我们框架中的**涌现行为阈值**可以通过扩展来探索:随着我们增加嵌入的维度、内存槽的数量、规划的深度等,我们期望智能体能够处理更抽象和更多样的任务。最初,智能体可能只解决与其训练类似的问题,但在某个临界点之后,它开始**泛化**并将知识**迁移**到新问题。一个具体的例子:一个只有反应策略(没有世界模型)的智能体可能能够处理短期任务,但在长期任务上失败。当我们添加一个足够强大的世界模型和规划深度时,它突然能够处理多步谜题。这是从反应性行为到深思熟虑行为的涌现飞跃。

从理论角度来看,AGI的最小形式模型类似于AIXI模型(Solomonoff归纳 + 强化学习)。AIXI证明,如果拥有无限计算能力,它将是最高级的通用强化学习器。我们的架构可以看作是对这种理想的近似:它有一个学习核心(类似于AIXI的贝叶斯更新器)、一个世界模型(类似于AIXI的环境模型),并且它寻求最大化奖励。区别在于我们通过使用神经网络和向量操作使其可计算,而不是对所有可能的程序求和。因此,最小功能AGI的复杂性至少与具有记忆的通用强化学习器相当。

最后,“基础级AGI功能”意味着智能体能够自主地在几乎任何可学习的领域获取新技能和知识,只要给予足够的时间。我们的目标是**涌现元学习**:除了特定任务之外,智能体应该开始识别学习本身的模式(“学会学习”)。这可能在智能体利用其过去任务的记忆来改进新任务的学习时出现。在我们的框架中,因为智能体可以存储经验和结果,它可以分析它们以改进其学习算法(可能通过自指更新机制)。一旦智能体开始根据经验*修改其自身的学习过程*,它就展示了一种通用智能的形式,这种智能不仅能解决任务,还能提高其解决任务的能力——这是一个关键的阈值。

模块化实现策略

为了在实践中构建这个AGI,我们可以将开发模块化并逐步集成各个部分。该架构的设计支持模块化——每个组件(感知、记忆、推理、学习、规划等)都可以相对独立地开发和测试,只要接口(向量表示)达成一致即可。以下是模块的分解以及如何实现/集成它们:

  • **感知模块(视觉、NLP、音频):** 这些可以作为独立模型开发,使用监督学习或自监督学习在特定模态数据上进行训练。例如,在ImageNet或某些物体检测任务上训练一个视觉模型;在大规模文本语料库上训练一个语言模型。确保它们输出相同维度的嵌入,甚至可以对它们进行微调以使其对齐(例如,“狗”的图像和“狗”这个词产生相似的嵌入——使用多模态对比训练)。每个感知模块都可以独立评估其准确性(图像识别准确性、语音识别错误率等)。一旦稳定,将它们作为前端插入认知核心。它们通过接口契约连接:例如,视觉模块将一组物体标记及其特征向量提供给工作记忆。

  • **核心认知引擎(基于Transformer的模型):** 这也可以独立开发和预训练。例如,可以预训练一个大型语言模型(如GPT),作为推理的骨干。类似地,也许可以预训练一个单独的Transformer用于结合模态(如多模态模型)。这些可以通过在多任务设置中进行微调来统一,其中模型必须关注文本和图像并输出答案等。核心引擎的开发需要大量的计算资源进行训练,但它是自包含的:它只是一个大型模型,将在各种任务/数据上进行训练,以灌输广泛的知识。我们通过暴露内存查找或工具使用的API将其与其他模块集成:例如,在核心引擎预训练期间,我们可以通过让它关注某个知识向量来模拟“内存”;一旦实际内存准备就绪,我们将实际的内存检索连接到那些注意力头。

  • **长期记忆(向量数据库+知识图谱):** 这可以使用现有数据库技术构建。我们可以定义要存储的知识模式(例如:三元组(主体,关系,客体)存储为一个或多个向量)。最初用一些基线知识填充它(可能从维基百科或其他来源使用NLP管道提取)。通过查询来测试记忆:确保可以利用嵌入相似性检索相关事实。这个模块可以独立开发,重点关注高效的相似性搜索,或许还有压缩技术等。一旦构建完成,它就提供一个 `query(query_vector) -> list of result_vectors` 接口和一个 `store(key_vector, value_vector)` 接口。我们通过在核心引擎中实现一个层来集成,当该层被激活时,它会发送一个查询(键通常是模型在某个层的隐藏状态),并将检索到的向量注入回模型的输入(就像一个额外的注意力源)。这实际上是将外部记忆连接到Transformer——例如在Retro或RAG模型中已知的技术。

  • **强化学习模块:** 这可以首先在模拟环境中开发。可以创建一个简单的环境(如网格世界或游戏),并实现一个智能体的基本版本(使用较小的网络)来测试RL算法(策略优化等)。RL模块包括策略网络、价值网络,并可选地包括世界模型。我们可以在已知的基准测试(Atari游戏、导航任务)上测试它,以确保它能够学习。一旦验证,我们通过将策略的观察输入连接到核心引擎的状态表示来集成。核心引擎本身可能通过适当的提示充当策略(例如,询问语言模型“你采取什么行动?”并解码一个行动)。但一个更安全的模块化方法是:核心引擎产生一个状态向量;RL策略网络读取该向量并产生一个行动分布。然后,选择的行动(可能通过采样)也会在下一步作为输入反馈给核心引擎(这样它就知道自己刚刚做了什么)。

  • **世界模型/预测模块:** 开发一个学习预测环境转换的模型。这可以通过自监督方式在从环境中收集的数据上完成(对于物理环境,随机探索数据)。例如,训练一个视频的下一帧预测器或游戏状态的动力学模型。在模拟中评估其准确性。通过允许核心引擎或RL规划器在假设场景中调用此模型来集成。在实现方面,这可能是一个函数 `predict(state, action) -> next_state`,可以以比实时更快的方式运行以进行规划。

  • **目标和规划模块:** 这可能涉及经典规划算法或神经规划。可以单独实现像A*或基于PDDL的规划算法,并在逻辑任务上进行测试。或者,使用神经网络通过试错进行规划。当智能体面临复杂目标时,就会发生集成:认知引擎可以决定调用规划器(例如,如果任务是符号任务或需要规划)。接口可能是:向规划器提供一组可能的动作(模型的动作空间)和目标条件,然后返回一系列动作。该序列然后由模型执行或至少验证。该组件可以相对独立,使用状态和目标的抽象表示。

  • **自我监控/评估模块:** 这包括批评模型或任何启发式检查。我们可以开发一个独立的矛盾分类器或一致性检查器(例如,微调一个语言模型,根据一些参考文本来判断给定答案是否正确)。这可以使用监督学习在问答数据集或已知逻辑谜题上完成。一旦我们有一个相当好的评估器,就将其集成,以便在核心引擎生成输出后调用此评估器。如果它返回负面反馈,系统要么进行调整,要么再次尝试。因此,这个模块有点像坐在顶层,可以打开/关闭以测试其效果。

  • **接口总线:** 最后,模块的集成可以通过**中央控制器或消息总线**进行协调。我们可以在软件中设计一个架构,其中每个模块都是一个服务(例如,微服务或至少是独立的进程)。控制器通过管道传递数据:传感器数据到感知模块,然后到核心引擎,然后到策略等,循环往复。模块通过此总线传递向量或结构化数据进行通信。这也有助于调试:您可以检查正在传递的表示(例如,查看内存查询向量,看它们是否有意义)。

在开发过程中,每个模块都可以用一个存根或一个更简单的版本来替换,以增量地测试集成。例如,在真正的内存准备好之前,可以使用一个虚拟内存,它只返回一些常量或直接查找。在真正的机器人准备好之前,可以使用模拟器甚至虚拟环境,在那里可以检查循环的正确性(智能体是否形成了感知和行动的循环而没有崩溃)。

每个组件的独立进展都可以衡量:

  • 感知:准确性指标。
  • 核心推理:问答或推理任务的基准测试。
  • 内存:检索精度/召回率。
  • 强化学习:环境中获得的奖励与最优奖励的对比。
  • 自我评估:捕获错误的比例。然后,结合起来,我们衡量需要相互作用的通用任务(例如,一个具身问答任务:智能体必须在模拟中导航,观察某物,然后回答一个问题——这需要感知、记忆、推理和行动的协同)。

至关重要的是,模块之间的接口尽可能**标准化**为张量表示,这使得替换模块更加容易。例如,如果出现一个新的最先进的视觉模型,只要它能生成认知引擎期望的相同类型的嵌入,我们就应该能够将其插入。类似地,如果我们想升级内存组件(例如从基本向量存储到更高级的神经知识图系统),我们无需重新训练整个智能体,只需确保新内存可以以相同的方式查询即可。

总而言之,这个技术框架勾勒出一条通过**模块化,但又集成**的架构实现AGI的路径:一个核心可微分推理引擎,辅以外部记忆和目标驱动学习,具身化于与世界的交互循环中,并受自我反思机制的调节。每个部分都以具体的计算方法(Transformer、向量数据库、强化学习算法等)为基础,允许开发者逐个组件地构建和完善系统。最终,如果正确组装和扩展,这样一个系统能够展现通用智能的开放式学习和问题解决能力,其行为从这些明确定义的子系统的相互作用中涌现,而非任何硬编码的领域特定逻辑。全面的设计确保了系统在学习过程中保持**一致性、持续自我改进、目标导向,并与期望行为对齐**,从而解决了通往真正AGI道路上的诸多挑战。

来源

  • Mumuni, A. & Mumuni, F. (2025). 《大型语言模型在通用人工智能 (AGI) 中的应用:基本原理和方法》。关于具身性、符号接地、因果关系和记忆的章节讨论了这些方面如何在AGI框架中相互关联。

  • Kotseruba, I. & Tsotsos, J.K. (2020). 《认知架构的40年:核心认知能力和实际应用》。(引用了认知架构中的记忆系统。)

  • Anthropic (2023). 《理解语言模型中的奉承行为》。指出RLHF可能导致模型偏好与用户信念一致的回答而非真实的回答,这激发了我们对真实矛盾解决和单纯同意之间区别的探讨。

  • Kulbashian, Y. (2024). 《经验不能相互矛盾,只有动机可以》。强调了AI需要检测自身的矛盾,而不仅仅依赖用户反馈,并解释了连续输入如何转化为离散符号以进行矛盾检查。

  • Liu, J. et al. (2024). 《当大型语言模型遇到向量数据库:一项调查》。讨论了向量数据库在知识存储和快速检索方面的应用,以补充LLM。

  • Tang, Y. et al. (2022). 将具身化构建为RL任务的研究,其中LLM提供世界知识,展示了基于模型的规划与语言先验的益处。

  • Weng, L. (2020). 《深度强化学习中的探索策略》。描述了强化学习中的内在奖励和好奇心,包括结合外在和内在奖励。

  • Chan et al. (2023). 《大型语言模型的涌现能力:一项调查》。指出某些能力一旦模型规模超过阈值就会突然出现,展示了通用技能的非线性涌现。

社区

注册登录 发表评论