1. 项目概述:当AI在《我的世界》里学会“记住”与“成长”
如果你玩过《我的世界》(Minecraft),一定体验过那种“开局一把镐,世界全靠造”的探索感。但你是否想过,如果控制史蒂夫的不是你,而是一个人工智能(AI)呢?更进一步的挑战是,这个AI不能像传统程序那样被预先写好所有规则,它需要像人类一样,在无限、动态、充满未知的游戏世界里,通过亲身经历去学习、去记忆、去成长。这正是“具身智能体”(Embodied Agent)研究的核心魅力所在。今天要聊的PEAM,全称“Parametric Embodied Agent Memory”,直译过来是“参数化的具身智能体记忆”,就是为解决这个核心难题而生的一项前沿技术。
简单来说,PEAM试图回答一个关键问题:一个在虚拟世界中“具身”的AI,如何高效、持续地将海量的、琐碎的交互经验,转化为自身可长期使用、并能指导未来行动的“记忆”?这个记忆不是简单的日志记录,而是一种经过提炼、能够泛化、并直接影响AI决策模型参数的内在知识。项目选择《我的世界》作为试验场,是因为这个沙盒游戏近乎完美地模拟了一个开放、复杂、需要长期规划和技能组合的真实世界环境。AI在这里需要学会采集资源、合成工具、建造庇护所、应对昼夜交替和怪物袭击等一系列任务,这要求它必须具备从经验中持续学习的能力。
从网络热词中频繁出现的“LoRA”、“continual learning”(持续学习)可以看出,PEAM的技术核心与当前大模型高效微调的前沿方向紧密相连。它并非从零开始训练一个超级大脑,而是探讨如何让一个已有的基础AI模型(比如一个已经能理解游戏基本规则的多模态模型),通过一种轻量、高效、可持续的方式,将每一次砍树、挖矿、打怪的经历,都内化为自身能力的一部分。这个过程,论文标题中提到的“Contrastive Internalization of Experience”(经验的对比内化)是精髓所在。它意味着AI不是被动地存储数据,而是主动地对比不同经验之间的异同,提炼出普适的模式和关键的区别,从而形成结构化的记忆。接下来,我们就深入拆解PEAM是如何设计并实现这一目标的。
2. 核心设计思路:从“经历”到“参数化记忆”的转化之路
要让一个AI在《我的世界》里拥有真正有用的记忆,我们不能只是给它加一个外部硬盘来存储游戏录像。传统做法可能会维护一个庞大的“经验回放缓冲区”,或者用知识图谱手动标注事件关系,但这些方法要么效率低下、难以泛化,要么需要大量人工干预,无法实现自主的持续学习。PEAM的设计思路跳出了这个框架,它追求的是将经验直接编码到AI模型本身的参数中,实现记忆的“参数化”。
2.1 为何选择“参数化记忆”?
这背后的逻辑非常深刻。我们人类的学习,本质上也是改变大脑神经连接的强度(可以粗略类比为模型的参数)。当你第一次被苦力怕炸死,这个“惨痛”的经历会强化你“看到苦力怕要远离或快速攻击”的神经回路。下次再遇到类似场景,这个被强化过的回路会被优先激活,指导你的行动。PEAM的目标就是模拟这个过程:让AI在《我的世界》中的每一次成功或失败,都能以某种形式“微调”其神经网络中特定的参数,从而改变其未来的行为倾向。
参数化记忆有几个压倒性优势:
- 高效检索与泛化:记忆被融合在模型的计算逻辑里,当遇到新情境时,模型的前向传播过程本身就自动完成了相关记忆的“检索”与“应用”,无需额外的查询匹配步骤。这种记忆是模式化的,能泛化到未见过的类似场景。
- 避免灾难性遗忘:这是持续学习的老大难问题。如果每学一点新东西就把整个模型重新训练一遍,不仅计算代价巨大,而且新知识会覆盖旧知识。PEAM需要一种机制,既能增量式地写入新记忆,又能最大程度地保护旧记忆不被破坏。
- 与决策模型无缝集成:记忆的最终目的是为了更好的决策(如下一步该去哪里、该合成什么)。参数化的记忆本身就是决策模型的一部分,两者一体,消除了模块间信息传递的损耗和延迟。
2.2 关键技术支柱:LoRA与对比学习
为了实现上述目标,PEAM巧妙地结合了两项关键技术:LoRA和对比学习。
LoRA(Low-Rank Adaptation,低秩适应)是近年来大模型微调领域的明星技术。它的核心思想是,在预训练好的大型模型旁边,添加一些额外的、非常小的“适配器”模块(通常是低秩矩阵),而不是去动原始模型那动辄数百亿的庞大参数。在微调时,只训练这些新增的小参数,原始大参数被冻结。这样做的妙处在于:
- 极低的计算和存储成本:需要训练和存储的参数可能只有原模型的千分之一甚至万分之一。
- 模块化与可组合性:不同的任务或经验可以训练不同的LoRA适配器,使用时可以像插拔模块一样灵活加载。
- 减轻灾难性遗忘:由于基础模型参数被冻结,其承载的通用知识得到了保护。新知识被封装在独立的LoRA模块中,理论上可以无限叠加而不互相干扰。
在PEAM的语境下,每一次重要的游戏经历(比如“成功在夜晚前用木头和木板合成工作台并造出木剑”),都可以被训练成一个独立的、微型的LoRA模块。这个模块就代表了关于“初期生存准备”的一段参数化记忆。
对比学习(Contrastive Learning)则负责解决“如何训练LoRA”这个关键问题。AI在游戏中会产生海量的状态-动作序列(例如:看到树木 -> 选择砍伐 -> 获得木头)。如果简单地把这些序列扔进去训练,模型很难抓住哪些是关键的、具有区分性的经验。对比学习的精髓在于“比较”。PEAM会构造正样本对和负样本对:
- 正样本对:可能来自同一任务目标下的不同成功轨迹片段(比如两次成功合成木剑的过程,虽然具体操作顺序略有不同,但核心模式一致)。
- 负样本对:一个是成功轨迹片段,另一个是导致失败的轨迹片段(比如成功合成木剑 vs. 因为贪心挖矿导致天黑被怪物杀死)。
模型(具体是其中的编码器)的目标是学习一种表示,使得正样本在表示空间中尽可能接近,而负样本尽可能远离。通过这种方式,AI被强制去关注那些导致成功与失败的关键决策点差异,从而内化(Internalize)出有价值的经验模式。这些被提炼出的模式,才是值得被写入LoRA记忆模块的“精华”。
2.3 PEAM的整体工作流程
结合以上两点,我们可以勾勒出PEAM智能体在《我的世界》中运行的一个典型周期:
- 交互与收集:智能体基于当前策略(可能是基础模型+已加载的记忆模块)在环境中探索、行动,产生大量的原始经验数据(观测、动作、奖励)。
- 经验片段化与对比:系统将这些连续的经验流切割成有意义的片段(例如,完成一个子目标的过程)。利用对比学习框架,对这些片段进行编码和对比,筛选出信息量高、区分度强的关键经验片段。
- 记忆模块训练:针对筛选出的关键经验,训练一个新的、轻量级的LoRA适配器。这个适配器捕获了处理此类情境的“技能”或“知识”。
- 记忆库管理与检索:新训练好的LoRA模块被存入一个“记忆库”。当智能体再次遇到类似的环境状态或任务目标时,可以通过快速的相似度匹配,从记忆库中检索并加载最相关的几个LoRA模块,动态地增强其基础模型的能力。
- 策略演进与持续学习:随着智能体不断探索,它的记忆库会越来越丰富。它解决问题的能力不再仅仅依赖于初始的预训练知识,而是建立在不断积累的、参数化的亲身经历之上,实现了真正的持续学习。
3. 核心细节解析:对比内化与LoRA记忆模块的实操要点
理解了宏观框架,我们深入到PEAM的两个核心引擎内部,看看它们是如何具体运作的,以及在实际操作中需要注意哪些关键点。
3.1 “对比内化”的工程实现:不止于理论
论文中“Contrastive Internalization”这个词听起来很学术,落地时主要解决两个问题:对比什么?以及如何内化?
对比什么?—— 构建有意义的经验表示原始的游戏观测(像素画面、物品栏状态、生命值等)是高维且冗余的。直接对比这些原始数据效率低下。因此,PEAM会使用一个编码器(通常是一个Transformer或CNN网络)将一段经验片段(例如包含10个时间步的观测-动作序列)映射为一个固定长度的向量,称为“经验嵌入”。这个编码器本身也是需要训练的。
构建正负样本对是技术活:
- 正样本对:通常来自同一“课程”或同一任务目标下不同回合的成功轨迹。例如,两次不同的“获取食物”任务,虽然一次是杀猪,一次是钓鱼,但它们的“解决饥饿”高层意图是相似的。更精细的做法是利用任务描述或自动提取的高层目标标签进行关联。
- 负样本对:选择与正样本目标迥异或结果相反的片段。例如,“成功建造避难所” vs. “因建造不当被怪物攻破”。关键在于,负样本要能提供有区分度的信息,而不是随便选一个不相关的片段。
实操心得:样本对的质量直接决定记忆的“纯度”。在实践中,初期可以依赖一些启发式规则(如根据最终奖励正负)来构建样本对。更高级的做法是引入一个小的预测模型,自动评估经验片段的信息量或新颖性,优先选择那些能最大程度减少模型不确定性的片段进行对比学习。
如何内化?—— 从对比损失到参数更新标准的对比损失函数(如InfoNCE)会鼓励模型拉近正样本对的嵌入距离,拉远负样本对的嵌入距离。在PEAM中,这个损失函数服务的对象有两个:
- 经验编码器:通过优化对比损失,编码器学会提取经验片段中最具判别性的特征,形成高质量的经验表示。
- 策略/价值网络的LoRA适配器:这是内化的核心。对比学习产生的梯度,不仅更新编码器,也会更新当前正在训练的那个LoRA记忆模块。这意味着,LoRA模块的参数更新方向,是朝着能够更好地区分“有益经验”和“有害经验”的方向进行的。换句话说,LoRA模块学会了“如果遇到像正样本那样的情境,我应该强化什么样的内部激活模式;如果遇到像负样本那样的情境,我应该抑制什么样的模式”。这就是“内化”的过程——将经验的本质刻入参数。
3.2 LoRA记忆模块的设计与训练陷阱
在PEAM中,LoRA模块并非简单套用原始定义,需要针对具身智能体的特性进行定制。
模块结构设计: 通常,LoRA被注入到Transformer模型的自注意力(Attention)模块的查询(Q)、键(K)、值(V)投影矩阵旁。在《我的世界》这类需要处理多模态(图像、文本指令、数值状态)和长序列决策的模型中,需要谨慎选择注入位置。
- 早期视觉编码器:如果基础模型包含CNN来处理游戏画面,在CNN的后期卷积层旁添加LoRA可能有助于让记忆影响“看到什么”。
- 多模态融合层:在连接视觉特征和文本指令特征的融合层添加LoRA,可以让记忆影响“如何理解任务”。
- 策略网络的核心Transformer层:这是最主要的位置,直接影响决策生成。通常选择中间几层进行注入,以平衡记忆的容量和避免干扰底层通用特征。
训练中的关键参数与技巧:
- 秩(Rank)的选择:LoRA矩阵的秩(r)决定了适配器的容量。秩太小,记忆表达能力不足;秩太大,计算成本增加且可能过拟合单次经验。对于《我的世界》中的子任务记忆,通常从一个较小的秩(如4, 8)开始尝试。这是一个需要根据任务复杂度调整的超参数。
- 缩放因子(Scaling Factor):训练好的LoRA权重在注入时,通常会乘以一个缩放因子alpha(alpha/r)。这个因子控制着记忆模块对基础模型影响的强度。在PEAM中,不同的记忆可能有不同的重要性,因此可能需要为每个LoRA模块设置自适应的缩放因子,或在检索后动态调整。
- 训练数据量与课程学习:一个LoRA模块通常由一批相关的经验片段训练而成,而不是单次经验。这需要在线或近线的数据缓冲和聚类。更高级的策略是采用“课程学习”,先让智能体学习简单的记忆(如“砍树”),再逐步组合成复杂的记忆(如“砍树->合成木板->建造木屋”)。
避坑指南:最大的陷阱是“记忆冲突”或“记忆淹没”。如果多个LoRA模块被同时激活,且它们对同一内部神经通路有相反的调整倾向,可能导致决策混乱。缓解方法包括:a) 在记忆检索时引入稀疏性,每次只加载最相关的1-3个模块;b) 对LoRA的权重更新方向做正则化,避免单个记忆过于“霸道”;c) 设计更精细的记忆融合机制,如加权平均或门控网络。
4. 在《我的世界》环境中的实操部署与迭代
理论再完美,也需要在具体的环境中验证。将PEAM框架部署到《我的世界》并使其真正运转起来,涉及一整套工程实践。这里我们抛开论文中可能使用的特定仿真环境(如Malmo、Minetest),以一个更通用的开源AI训练平台思路来拆解实操步骤。
4.1 环境搭建与智能体基础模型选择
第一步:建立《我的世界》AI训练环境
- 服务器与客户端:你需要一个可无头(Headless)运行、并能通过API进行控制的《我的世界》服务端。对于研究,
Minecraft Java Edition配合Spigot/Paper服务端,并安装Gym-Minecraft或自定义的插件来暴露控制接口(如发送指令、获取观测)是一个常见选择。更直接的方法是使用专门为AI研究设计的Minetest引擎或Malmo平台,它们原生提供了丰富的Python API。 - 观测空间定义:确定你的智能体“看”到什么。可以是:
- 像素:第一人称视角的RGB图像。处理成本高,但信息丰富。
- 语义地图:将世界转换为一个网格,每个格子标注其方块类型(草、石头、树等)。更结构化,易于处理。
- 物品栏/状态向量:生命值、饥饿度、物品列表等数值和符号信息。
- 混合观测:结合以上多种,这是最接近PEAM多模态设定的方式。
- 动作空间定义:定义智能体可以执行的操作。通常是离散动作空间,如:前进、后退、左转、右转、跳跃、攻击、使用物品、合成菜单选择等。需要将其映射到游戏的具体操作指令。
第二步:选择或构建基础策略模型PEAM需要一个强大的“基础大脑”。这个基础模型应该已经具备一定的游戏常识。有两种主流路径:
- 路径A:使用预训练的视觉-语言-动作模型:例如,基于某个大型多模态模型(如
CLIP+GPT架构)进行微调,使其能理解文本指令(“收集木头”)并输出基础动作。这类模型提供了强大的先验知识。 - 路径B:从头训练一个强化学习策略网络:使用PPO、IMPALA等强化学习算法,在《我的世界》的简化任务上训练一个CNN或Transformer策略网络。这个网络作为“空白大脑”,PEAM的记忆将在此基础上积累。
对于PEAM研究,路径A更贴合“在已有知识上持续学习”的设定。你可以选择一个开源的、在类似环境训练过的模型作为起点。
4.2 PEAM系统组件的工程实现
假设我们基于PyTorch框架,以下是一个高度简化的核心组件实现思路:
1. 经验缓冲区与片段采样器
class ExperienceBuffer: def __init__(self, capacity): self.buffer = deque(maxlen=capacity) # 存储 (obs, action, reward, next_obs, done, task_embedding) def segment_experience(self, trajectory, segment_length=20): """将一条轨迹切割成固定长度的片段,并计算每个片段的粗略嵌入(如平均观测特征)""" segments = [] for i in range(0, len(trajectory), segment_length): seg = trajectory[i:i+segment_length] seg_embedding = self._compute_segment_embedding(seg) # 使用一个轻量编码器 segments.append((seg, seg_embedding)) return segments2. 对比学习记忆训练器这是核心中的核心。
class ContrastiveMemoryTrainer: def __init__(self, base_model, lora_config, encoder): self.base_model = base_model # 冻结参数的基础模型 self.lora_modules = nn.ModuleDict() # 存储所有训练好的LoRA记忆 self.encoder = encoder # 经验片段编码器 self.contrastive_loss = NTXentLoss(temperature=0.1) # 对比损失函数 def train_new_memory(self, positive_segments, negative_segments): """ positive_segments: 列表,包含多个正样本经验片段数据 negative_segments: 列表,包含对应的负样本片段数据 """ # 1. 创建新的LoRA适配器 new_lora = inject_lora(self.base_model, **lora_config) new_lora.train() # 2. 将LoRA适配器临时合并到基础模型中进行前向传播 model_with_lora = merge_lora(self.base_model, new_lora) # 3. 计算对比损失 pos_embeddings = [] neg_embeddings = [] for pos_seg, neg_seg in zip(positive_segments, negative_segments): # 使用“模型+新LoRA”处理片段,获取策略层面的表示,而非原始观测 pos_repr = self._get_policy_representation(model_with_lora, pos_seg) neg_repr = self._get_policy_representation(model_with_lora, neg_seg) pos_embeddings.append(pos_repr) neg_embeddings.append(neg_repr) # 4. 计算损失并反向传播(只更新新Loora和编码器的参数) loss = self.contrastive_loss(pos_embeddings, neg_embeddings) loss.backward() optimizer.step() # optimizer只包含new_lora和self.encoder的参数 # 5. 保存训练好的LoRA权重,并分配一个唯一ID(如基于内容哈希) memory_id = self._generate_id(positive_segments) torch.save(new_lora.state_dict(), f"./memories/{memory_id}.pt") self.lora_modules[memory_id] = new_lora.config # 存储配置信息,便于后续加载 return memory_id3. 记忆检索与动态加载模块
class MemoryRetriever: def __init__(self, memory_database_path): self.memory_db = self._load_memory_database(memory_database_path) # 加载所有记忆的元数据(ID, 描述嵌入等) def retrieve(self, current_state, task_goal_embedding, top_k=2): """ 根据当前状态和任务目标,检索最相关的k个记忆。 """ # 计算当前情境的查询嵌入(可结合状态嵌入和任务目标嵌入) query_embedding = self._encode_query(current_state, task_goal_embedding) # 计算与记忆中所有情境嵌入的相似度(如余弦相似度) similarities = [] for mem_id, mem_embedding in self.memory_db.items(): sim = cosine_similarity(query_embedding, mem_embedding) similarities.append((mem_id, sim)) # 返回相似度最高的top_k个记忆ID similarities.sort(key=lambda x: x[1], reverse=True) return [mem_id for mem_id, _ in similarities[:top_k]] # 在智能体主循环中 retriever = MemoryRetriever("./memory_db/") relevant_memory_ids = retriever.retrieve(current_obs, goal_embedding) # 动态加载对应的LoRA权重到基础模型 active_loras = [] for mem_id in relevant_memory_ids: lora_weights = torch.load(f"./memories/{mem_id}.pt") lora_module = load_lora_weights(base_model, lora_weights) active_loras.append(lora_module) # 现在,base_model 的决策已经受到了这些“记忆”的影响4.3 训练流程与迭代周期
一个完整的训练迭代周期可以如下进行:
- 探索阶段:智能体使用“基础模型 + 当前加载的记忆”在环境中交互一定步数,收集原始经验轨迹。
- 经验后处理:将轨迹切割成片段,利用对比学习编码器计算片段嵌入,并根据任务完成情况、奖励信号等自动或半自动地标注正负样本对。
- 记忆训练:如果积累了足够多关于某个新模式的经验(例如,多次尝试并最终掌握了“用熔炉烧制食物”),则触发
ContrastiveMemoryTrainer训练一个新的LoRA记忆模块。 - 记忆入库:新记忆被分配ID,其描述性嵌入(由编码器产生)被存入记忆检索数据库。
- 策略评估与更新:定期评估智能体在一系列基准任务上的表现。也可以引入一个“记忆效用评估”机制,淘汰那些长期不被检索或对性能提升无帮助的记忆模块,防止记忆库膨胀。
- 回到步骤1,开始新的探索,但此时智能体已经拥有了更多记忆可供检索使用。
这个过程构成了一个完整的“感知-行动-反思-记忆”循环,驱动智能体在《我的世界》中不断进化。
5. 常见问题、调试技巧与未来展望
在实际实现PEAM或类似系统时,你会遇到一系列非常具体的问题。以下是一些常见挑战及解决思路的实录。
5.1 典型问题排查清单
| 问题现象 | 可能原因 | 排查与解决思路 |
|---|---|---|
| 智能体行为混乱,表现下降 | 1. 同时加载的记忆模块过多或存在冲突。 2. 记忆检索相似度计算不准,加载了不相关的记忆。 3. 单个LoRA模块训练过拟合,泛化能力差。 | 1. 限制同时加载的记忆数(如最多2个),并尝试不同的记忆融合方式(加权平均 vs. 门控)。 2. 检查查询嵌入和记忆嵌入的计算方式是否一致,尝试使用更强大的编码器或加入更多上下文信息(如近期历史)来计算查询。 3. 增加训练记忆时的正负样本多样性,引入Dropout等正则化,或适当降低LoRA的秩(r)。 |
| 记忆库爆炸式增长 | 每段稍有差异的经验都被训练成独立记忆,缺乏聚类和抽象。 | 1. 在训练新记忆前,先与记忆库中现有记忆进行相似度匹配。如果相似度高于阈值,则用新数据增量更新旧记忆,而不是创建新记忆。 2. 引入记忆聚类算法,定期将相似记忆合并成一个更具泛化性的“超级记忆”。 |
| 灾难性遗忘依然存在 | 虽然基础模型参数冻结,但频繁加载不同LoRA可能间接影响共享的激活模式。或者,基础模型本身能力不足。 | 1. 在基础模型训练阶段就采用更强的正则化,提高其鲁棒性。 2. 设计“记忆巩固”机制:定期用包含旧任务数据的混合批次,轻微微调所有LoRA模块,以强化旧记忆。 3. 考虑使用更先进的持续学习技术,如 EWC(弹性权重巩固)的思想,对LoRA模块中重要的参数施加保护。 |
| 对比学习训练不稳定 | 正负样本对构建质量差,导致对比损失没有明确的优化方向。 | 1. 可视化经验片段嵌入,看正负样本是否在空间中有效分离。如果没有,重新设计样本对构建策略。 2. 调整对比损失的温度参数(temperature),它控制着对困难负样本的关注程度。 3. 尝试使用“困难负样本挖掘”,主动寻找那些与正样本相似但结果不同的片段作为负样本。 |
| 训练速度慢 | 在线对比学习和LoRA训练涉及频繁的前向-反向传播。 | 1. 采用异步训练架构:智能体交互收集数据,另一个进程在后台进行记忆训练和记忆库管理。 2. 使用更大的批次(batch)进行对比学习,提高GPU利用率。 3. 并非每一步经验都用于训练记忆,可以设置触发条件(如完成子目标、获得高/低奖励时)。 |
5.2 调试与优化心得
- 从小处着手,建立基线:不要一开始就追求复杂的《我的世界》生存。从一个极度简化的微型环境开始,比如一个只有一种树、目标是砍倒它的平面世界。先验证PEAM的核心循环(收集经验 -> 对比学习 -> 训练LoRA -> 检索使用)能否跑通,并观察到智能体因为“记忆”而表现提升。
- 可视化是你的朋友:
- 记忆激活图:记录每个记忆模块在何种游戏状态下被检索和激活,这能帮你理解记忆是否被用在了正确的地方。
- 嵌入空间投影:使用t-SNE或PCA将经验片段嵌入和记忆嵌入投影到2D/3D空间,直观地看记忆是否形成了有意义的聚类(如“采矿记忆”、“战斗记忆”、“建造记忆”聚在不同区域)。
- 策略决策分析:在关键决策点,记录基础模型和加载记忆后模型的输出概率分布差异,看记忆是如何具体改变决策的。
- 设计可解释的记忆描述:给每个LoRA记忆模块生成一个简单的文本描述(例如,通过分析训练该记忆所用的经验片段,自动提取高频动作或状态关键词)。这不仅能帮助开发者调试,未来也可能用于实现基于自然语言的记忆检索(“我现在需要建房子的记忆”)。
- 平衡探索与利用:拥有记忆的智能体容易陷入“舒适区”,反复使用已知有效的策略。需要保留足够的随机探索(如ε-greedy策略),去发现新的、可能更优的经验,从而生成新的记忆。
5.3 未来可能的延伸方向
PEAM为我们打开了一扇门,展示了参数化记忆在具身智能中的潜力。沿着这个方向,还有很多值得探索的延伸:
- 层次化记忆结构:当前的记忆可能是扁平的。可以设计层次化的记忆,底层是“挥动斧头”这样的动作基元记忆,中层是“砍树”这样的技能记忆,高层是“建造木屋”这样的任务记忆。高层记忆可以动态调用底层记忆。
- 记忆的主动遗忘与整理:像人脑一样,不重要或矛盾的记忆应该被弱化或遗忘。可以引入基于“访问频率”、“效用价值”和“一致性”的记忆强度衰减与整合机制。
- 跨任务与跨环境记忆迁移:在《我的世界》中学到的“探索-收集-建造”记忆模式,能否迁移到另一个类似的沙盒游戏或甚至现实世界的机器人操作中?这涉及到记忆的抽象程度和表征学习。
- 与社会化记忆共享:多个智能体在各自的世界中探索,形成的记忆库可以通过共享来加速集体学习。这引向了多智能体协同和AI文化形成的有趣课题。
PEAM不仅仅是一个《我的世界》AI项目,它提供了一个通用的框架,让我们思考如何为AI构建一种更接近生物本质的学习与记忆方式。从游戏世界出发,这套关于如何将经验转化为内在能力的思想,或许正是通向更通用、更自主人工智能的一块重要基石。