零样本视觉语言导航:基于分层记忆与LLM-VLM协同的智能体架构 📅 2026/8/19 9:52:46 1. 从“看图说话”到“自主寻路”VLN任务的挑战与演进想象一下你身处一个完全陌生的室内环境比如一家大型医院或一个复杂的办公楼。你的手机里有一个导航App但它给你的指令不是“前方100米左转”而是“先穿过这个大厅看到右手边的绿色植物后往有阳光的走廊走在第二个挂着艺术画的房间门口停下”。这就是视觉与语言导航Vision-and-Language Navigation, VLN试图解决的核心问题让一个智能体Agent仅仅根据一段自然语言描述的指令在真实或仿真的三维视觉环境中一步步走到目标位置。这个任务听起来像是科幻电影里的场景但却是当前具身智能Embodied AI领域最前沿的挑战之一。传统的VLN模型通常依赖于大量的标注数据进行训练比如在某个特定的模拟器如Matterport3D、Habitat中用成千上万条“指令-路径”配对数据去教模型学习。这带来了两个根本性瓶颈数据依赖和泛化能力。一个在“家庭环境”数据集上训练得炉火纯青的模型一旦被扔进“商场”或“博物馆”这类未见过的环境其性能往往会断崖式下跌。这就好比一个只背熟了北京地图的出租车司机突然被空投到上海弄堂里即便有语音导航也会寸步难行。因此“零样本”Zero-ShotVLN成为了一个极具吸引力的研究方向。其目标是让智能体无需在目标环境或类似环境的任何数据上进行训练就能直接执行导航任务。这其中的关键在于如何让智能体具备“常识”和“推理”能力。近年来大型语言模型LLM的爆发式发展为解决这一问题提供了新的可能。LLM蕴含了海量的世界知识和对语言的深刻理解理论上可以作为一个强大的“任务规划大脑”。然而直接将LLM用于VLN面临一个核心矛盾LLM是“文本的巨人视觉的矮子”。它无法直接“看”到环境而VLN智能体每一步的决策都严重依赖于实时、高维的视觉观察。于是一个自然的思路诞生了让LLM作为高层规划器Planner负责解析指令、制定宏观策略同时配备一个视觉模块如视觉语言模型VLM或传统的视觉模型作为感知器Perceiver负责理解当前看到的场景。两者通过某种“工作记忆”进行协作。这个“工作记忆”就是智能体的记忆体它需要记录我来自哪里我现在看到了什么我之前尝试过哪些方向失败了我的最终目标是什么现有的方法通常使用一种扁平的、类似列表的记忆结构按时间顺序存储历史观察和动作。但这种记忆方式存在明显缺陷。在漫长的导航路径中记忆会迅速膨胀导致LLM处理时注意力分散无法有效提取关键信息。更重要的是导航决策本身是层次化的战略层“先去二楼”、战术层“找楼梯或电梯”、执行层“向前走五步左转”。一个扁平的记忆流无法体现这种层次结构使得智能体容易在复杂环境中迷失陷入局部循环或做出短视的决策。正是在这样的背景下HAM-VLNHarnessing Hierarchical Agentic Memory for Zero-Shot VLN这项工作的价值凸显出来。它的核心创新点从标题就能窥见一二“利用层次化的智能体记忆”。这不仅仅是给记忆加了个文件夹那么简单它代表了一种对智能体认知架构的根本性重构——试图让机器像人一样拥有“长期目标”、“中期计划”和“短期操作”分层管理的记忆与思考能力。接下来我们将深入拆解这项技术是如何实现的以及它为何能在零样本设定下带来显著的性能提升。2. HAM-VLN为智能体构建“分层记忆宫殿”HAM-VLN的整个架构设计紧紧围绕着“分层记忆”这一核心思想展开。我们可以将其理解为一个配备了新型“任务管理大脑”的自主导航智能体。这个大脑不再是一团乱麻而是像一家公司的组织结构有CEO、部门经理和一线员工各司其职信息有序流动。2.1 系统总览三层协作的导航智能体整个HAM-VLN系统由三个核心模块组成它们协同工作将一句语言指令转化为一系列具体的移动动作高层任务规划器High-level Task Planner由大型语言模型如GPT-4、Claude或开源的Llama 2/3系列担任。它的角色是“战略指挥官”。输入是用户的自然语言指令例如“请去客厅的沙发上拿一本红色的书然后放到书房的书架上”输出是一个分层的任务树。这个树形结构将复杂指令分解为多个按顺序或按条件执行的子目标。例如顶层目标是“取书并放置”下一层可能分解为“导航到客厅”、“找到沙发上的红书”、“拿起书”、“导航到书房”、“找到书架”、“放置书”。这一层完全在文本和逻辑层面工作不涉及具体视觉感知。中层记忆管理器Mid-level Memory Manager这是HAM-VLN的灵魂即层次化智能体记忆Hierarchical Agentic Memory, HAM。它不是一个单一的存储单元而是一个结构化的数据库包含三个层次情节记忆Episodic Memory记录智能体在本次任务中亲身经历的“事件”。比如“在时间点t1我位于门口看到了一个桌子和一把椅子”“在t2我向左转进入了一个走廊”。它按时间顺序存储原始的视觉观察和动作历史是最底层的记忆。语义记忆Semantic Memory这是对情节记忆的提炼和抽象。它不再记录“看到了一个红色的、方形的物体”而是总结为“在客厅区域发现了一个沙发”。它通过一个轻量级的网络如图神经网络GNN或Transformer对情节记忆中的关键帧和物体进行聚类、关联形成对环境布局和物体类别的高层理解构建出环境的语义地图。程序记忆Procedural Memory存储与当前任务相关的“行动计划”和“策略”。它直接与高层任务规划器产生的任务树节点相关联。例如对于子目标“导航到客厅”程序记忆中会存储为此目标尝试过的路径、成功或失败的经验如“尝试走左边门失败了因为那是卫生间”。低层动作执行器Low-level Action Executor通常由一个视觉语言模型VLM如BLIP-2、Flamingo或一个经过训练的视觉导航策略网络担任。它的角色是“一线执行员”。在每一步它接收来自记忆管理器的当前上下文融合了当前视觉观察、相关的情节记忆、所处的语义区域信息以及当前程序记忆中的子目标然后从一组预定义的基本动作如“前进”、“左转90度”、“右转90度”、“停止”中选择一个来执行。这个三层架构的关键在于信息的双向流动与浓缩。低层的视觉观察被不断记录到情节记忆中情节记忆被定期总结、提炼更新语义记忆高层的任务树节点激活并查询相关的程序记忆程序记忆又指导动作执行器同时其执行结果成功/失败作为新的经验反馈回程序记忆和情节记忆。这就形成了一个具有反思和适应能力的闭环。2.2 核心创新层次化记忆HAM的运作机理那么这个分层记忆具体是如何工作的我们可以通过一个导航中的典型困境来理解。假设指令是“去卧室床头柜上拿眼镜”。智能体根据高层规划当前子目标是“找到卧室”。扁平记忆的困境传统方法会把所有历史看到的图像特征和动作编码成一个长序列送给LLM。当智能体在房子里转了几圈后这个序列可能包含厨房的灶台、客厅的沙发、走廊的画、卫生间的马桶…… LLM需要从这几十个杂乱无章的特征中推断出“卧室”可能具有的特征床、衣柜、较私密并判断下一步该怎么做。信息过载和无关信息干扰非常严重。HAM的解决方案情节记忆记录原始轨迹智能体看到的每一帧图像都被编码成一个特征向量连同当时执行的动作如“前进”、“左转”一起按时间戳存入情节记忆。这是最原始的数据。语义记忆构建环境地图每隔几步或当智能体到达一个明显的新区域通过视觉特征变化检测记忆管理器会触发一次“语义抽象”。它会回顾最近一段情节记忆用一个小的神经网络分析这些场景中的物体和布局。例如它可能识别出连续几帧都有“沙发”、“电视”、“茶几”等物体且空间较为开阔于是它创建一个新的语义节点标签为“客厅”并将这几帧情节记忆关联到这个节点下。同时它会建立节点间的空间关系如“客厅”连接着“走廊”。这样一个随时间增长的拓扑语义地图就在记忆中被构建出来。程序记忆关联任务与经验对于当前活跃的子目标“找到卧室”程序记忆中有一个专门的“槽位”。当智能体执行探索时它会将尝试的行为如“进入标有‘房间A’的门”和结果“失败房间A是书房”记录到这个槽位中。更重要的是它可以从语义记忆中检索信息。它会向语义记忆提问“已知当前在‘客厅’历史记录中哪些语义区域最有可能是‘卧室’”语义记忆可能回答“根据物体共现规律‘走廊’尽头的区域历史上与‘床’、‘衣柜’物体关联度最高。” 这个检索到的信息会被注入到给动作执行器的上下文中。决策时的信息融合当动作执行器VLM在下一步需要做决策时它获得的输入不再是原始的几十帧图像而是一个精心组织的提示Prompt“你的最终目标是去卧室床头柜上拿眼镜。当前子目标是找到卧室。 你当前看到的景象是[当前帧的视觉描述]。 你目前所在的语义区域是客厅。 你的语义地图显示与‘卧室’相关的区域可能在走廊尽头置信度70%。 你之前为了找卧室尝试进入走廊左边的门发现那是书房失败经验。 请根据以上信息选择下一个动作前进/左转/右转/停止。”通过这种方式HAM记忆系统实现了信息的过滤、组织和推理。它将冗长、低级的感知流转化为了紧凑、高级、与任务相关的情境描述极大地减轻了LLM和VLM的认知负荷并赋予了智能体基于记忆进行空间推理和规划的能力。3. 零样本能力的基石LLM与VLM的协同与提示工程HAM-VLN宣称的“零样本”能力并非指它完全不需要任何预训练模型而是指它不需要在下游的VLN特定任务数据如R2R、REVERIE数据集上进行微调。它的能力来源于其精心设计的架构以及对大模型LLM, VLM能力的巧妙“激发”。这其中提示Prompt工程扮演了至关重要的角色。3.1 高层规划器将指令解析为可操作的任务树让LLM担任规划器最大的挑战是如何让它输出结构化、可解释、且符合导航逻辑的计划。我们不能仅仅让它生成一段文本描述而是需要它输出一个可以被后续模块精确解析的表示。HAM-VLN通常采用以下方式的提示词来引导LLM你是一个家庭服务机器人需要根据用户的指令制定详细的导航与操作计划。 指令{用户输入的自然语言指令} 请将整个任务分解为一个层次化的任务树。任务树应满足以下要求 1. 根节点是总任务。 2. 子节点是顺序执行或条件执行的子任务。 3. 每个子任务节点必须是原子化的、可执行的动作或导航目标。导航目标应使用简洁的方位或地标描述例如“移动到客厅沙发旁”、“进入卧室”。 4. 输出格式必须严格遵循以下JSON结构 { goal: 总任务描述, subgoals: [ { id: 1, description: 子任务1描述, type: navigation // 或 manipulation }, { id: 2, description: 子任务2描述, type: navigation, prerequisite: 1 // 可选表示依赖于子任务1完成 } // ... 更多子任务 ] }例如对于指令“请把厨房餐桌上的空杯子放进水槽”LLM可能输出{ goal: 将厨房餐桌上的空杯子放入水槽, subgoals: [ {id: 1, description: 导航到厨房餐桌旁, type: navigation}, {id: 2, description: 识别并抓取餐桌上的空杯子, type: manipulation}, {id: 3, description: 导航到厨房水槽旁, type: navigation}, {id: 4, description: 将杯子放入水槽, type: manipulation} ] }这个JSON结构被系统解析后就成为了驱动整个导航过程的蓝图。这里的零样本能力体现在LLM本身已经通过海量文本数据学会了“去厨房拿杯子放到水槽”这类任务的常识性步骤分解无需针对导航数据集进行训练。3.2 低层执行器让VLM学会“看图走步”动作执行器通常由VLM担任。VLM如BLIP-2本身是在图像-文本对数据上训练的具有强大的“看图说话”能力但它并没有被明确训练过“根据指令和当前视图选择移动方向”。HAM-VLN的关键在于通过设计上下文丰富的提示将导航问题“重塑”为VLM更擅长的视觉问答VQA或图像描述任务。给VLM的提示可能如下你现在是一个在室内移动的机器人。这是你当前看到的全景图或由多张图片拼接的视野。 你的当前子目标是{当前活跃的子目标描述如“找到卧室”}。 你的记忆系统提供了以下环境线索 - 你刚刚从客厅过来。 - 你的语义地图提示卧室通常包含床和衣柜可能位于走廊的尽头。 - 你之前尝试向左边的门探索发现那是书房失败。 基于以上所有信息请仔细分析当前视野。 如果当前视野中直接出现了与“卧室”高度相关的物体如双人床、衣柜或者有一条路径明显通向一个像是卧室的房间请选择“前进”。 如果视野中有岔路且需要转向才能继续探索请根据线索选择“左转”或“右转”。 如果确信已经到达子目标所指的位置如已经站在卧室里请选择“停止”。 请只输出一个动作单词前进、左转、右转、停止。这个提示做了几件重要的事注入任务上下文明确告知VLM当前要干什么。注入记忆线索将HAM记忆系统产出的高层推理卧室的可能位置、历史失败经验作为文本线索提供。限制输出空间强制VLM在有限的几个动作中做选择将开放生成问题转化为分类问题大大降低了难度和歧义。利用VLM的强项VLM虽然没学过导航但它学过识别物体、场景以及理解物体间的空间关系“走廊尽头”、“左边的门”。这个提示正是引导它运用这些能力来为导航服务。这里的零样本能力体现在VLM无需在模拟器中用强化学习或模仿学习进行漫长的训练仅通过精心设计的上下文提示就能在测试时即时调用其已有的视觉-语言关联知识来做出合理的移动决策。这是一种“上下文学习”In-Context Learning在具身任务中的巧妙应用。3.3 记忆管理的提示设计甚至记忆管理器中的语义抽象和程序记忆更新也可以借助LLM/VLM来实现。例如当需要将一段情节记忆总结为语义标签时可以将这几帧的关键图像特征或它们的文本描述输入给LLM并提示以下是智能体在短时间内连续观察到的几个场景的文字描述[描述1, 描述2, ...]。 这些场景中反复出现的、具有标志性的物体或布局特征是什么 请用一个最概括性的房间或区域名称来命名这个地点例如厨房、客厅、走廊、卧室、卫生间、书房。只输出名称。通过这种方式系统实现了完全基于预训练模型的、端到端的零样本推理流水线。4. 实战推演HAM-VLN如何处理一个复杂导航任务为了更具体地理解HAM-VLN的工作流程我们用一个更复杂的指令来一步步推演“请到二楼的书房在靠窗的书桌左边第一个抽屉里取出一枚邮票然后带到一楼的客厅放在茶几上。”步骤1高层任务分解LLM规划器接收到指令后生成如下任务树简化表示目标取邮票并放置于客厅茶几。子目标链导航至二楼书房。在书房内定位靠窗的书桌。打开书桌左边第一个抽屉。识别并抓取邮票。导航至一楼客厅。定位客厅茶几。将邮票放置于茶几上。步骤2初始化与首次探索智能体被随机放置在房子的一楼门厅。HAM记忆初始化情节记忆为空语义记忆为空程序记忆激活子目标1“导航至二楼书房”。 动作执行器VLM看到门厅景象提示中包含当前子目标但无历史记忆。它可能看到正前方的楼梯和左右两侧的走廊。根据常识书房通常在楼上安静处VLM选择“前进”走向楼梯。步骤3记忆的积累与抽象智能体走上楼梯到达二楼平台。情节记忆记录了“从门厅到楼梯再到平台”的连续图像。 记忆管理器触发语义抽象分析最近的情节记忆识别出场景从“开阔门厅”变为“阶梯状结构”再变为“二楼平台”于是创建语义节点“楼梯间”和“二楼平台”并建立连接。 程序记忆更新为子目标1记录“已通过楼梯到达二楼”。步骤4利用记忆进行推理决策在二楼平台VLM看到多个房门。此时提示变为“子目标导航至二楼书房。当前位置二楼平台。语义地图提示你刚从楼梯间上来。历史经验无。当前视野中有三扇门。” VLM需要做出选择。由于缺乏更多线索它可能随机选一扇门比如中间的门前进。步骤5错误尝试与记忆学习进入房间后VLM或一个简单的物体检测器发现房间内有床和衣柜判断此为“卧室”。动作执行器可能选择“停止”或“返回”。无论哪种结果被记录情节记忆记录进入该房间及看到的景象。语义记忆创建新节点“卧室二楼平台-中门”并与“二楼平台”连接。程序记忆关键在子目标1的“经验”槽位中记录“尝试进入二楼平台中门结果为卧室与目标‘书房’不符此为失败路径”。智能体退回到二楼平台。步骤6基于记忆的重新规划再次决策时提示信息更丰富了“子目标导航至二楼书房。当前位置二楼平台。语义地图连接着楼梯间和你刚探索过的‘卧室中门’。程序记忆中门通向卧室非目标。” 这次VLM会排除中门。它可能选择左门。进入后发现大量书架、书桌和电脑判断为“书房”。程序记忆记录“成功通过左门进入书房区域”子目标1标记为完成并激活子目标2“定位靠窗书桌”。步骤7层次化记忆在子任务中的作用子目标2激活后程序记忆会专门为这个新目标开辟一个经验槽。智能体在书房内移动语义记忆开始构建书房内部的粗略地图“入口区”、“书架区”、“窗边区”。当智能体看到窗户和书桌时语义记忆会创建节点“窗边书桌”。程序记忆将这一发现与子目标2关联标记为“目标物可能位置”。 对于子目标3“打开左边第一个抽屉”这需要更细粒度的视觉操作记忆。HAM的记忆层次在这里同样适用情节记忆记录手部靠近抽屉的连续图像语义记忆可能不涉及这么细的物体程序记忆则记录“尝试拉开某个抽屉”的动作及其结果是否卡住、里面有什么。步骤8长程任务与记忆的持久性当智能体拿到邮票子目标4完成激活子目标5“导航至一楼客厅”。这是一个全新的、长距离的导航目标。 此时层次化记忆的优势彻底展现智能体不需要从头探索。它可以直接查询语义记忆中已构建的全局拓扑地图“我现在在‘二楼书房-窗边书桌’我知道‘二楼书房’连接着‘二楼平台’‘二楼平台’连接着‘楼梯间’‘楼梯间’连接着‘一楼门厅’。” 它可以根据这张“心理地图”快速规划出一条回溯路径书房 - 二楼平台 - 楼梯间 - 一楼门厅。在门厅它需要寻找客厅。程序记忆可能没有直接经验但语义记忆可以基于物体共现概率提供线索“在历史探索中‘沙发’、‘电视’等物体常出现在门厅右侧的区域。” 这可以引导VLM优先探索右侧。整个过程中高层任务树始终提供全局方向中层记忆提供环境知识和经验低层执行器处理即时感知。三者通过HAM紧密耦合使得完成如此复杂的、包含多个子目标和长距离移动的任务成为可能。通过这个推演可以看出HAM-VLN通过分层记忆实现了长期目标坚持、中期路径规划、短期避障决策的有机统一这正是其在零样本设定下应对复杂、未知环境的核心能力所在。5. 优势、局限与未来展望HAM-VLN提出了一种优雅且强大的框架但其在现实中的应用仍面临诸多挑战和拥有广阔的改进空间。5.1 核心优势与贡献强大的零样本泛化能力这是其最突出的优点。通过分离规划LLM、记忆HAM和执行VLM并将导航任务重新表述为这些大模型所能理解的形式它能够直接迁移LLM和VLM的通用知识到全新的导航环境中无需昂贵的仿真数据收集和模型微调。可解释性与可控性层次化的结构使得智能体的决策过程变得透明。我们可以查看任务树来了解它的宏观计划查看语义地图来了解它对环境的理解查看程序记忆来了解它积累了哪些经验。这比一个端到端的“黑箱”神经网络更容易调试和信任。处理长指令和复杂任务传统的VLN模型通常处理单句、相对简单的指令如“去卧室”。HAM-VLN得益于LLM强大的语言理解能力能够处理多步骤、带条件、包含多个物体的复杂指令并将其分解为可执行的序列。减轻幻觉与短视决策扁平的记忆容易导致模型“遗忘”早期信息或陷入局部循环。HAM的语义记忆通过对环境进行抽象建模帮助智能体建立空间全局感程序记忆通过记录成功与失败使其能够避免重复错误做出更明智的探索决策。5.2 当前面临的挑战与局限依赖大模型的性能与成本整个系统的“智能”高度依赖于所使用的LLM和VLM的能力。使用GPT-4等顶级闭源模型效果最好但成本高昂且存在延迟。使用开源模型如Llama、Vicuna则可能在复杂推理、指令遵循和视觉理解上出现偏差。这是一个性能与成本之间的权衡。视觉基础的脆弱性VLM的视觉理解能力并非完美。它可能错误识别物体将矮凳误认为茶几对空间关系的理解“左边第一个抽屉”也可能不精确。在光照变化、视角奇特或物体遮挡严重的情况下VLM的误判会直接导致导航失败。HAM的记忆系统可以一定程度上缓解通过多次观察综合判断但无法根除这个问题。模拟器与现实的鸿沟目前绝大多数VLN研究包括HAM-VLN的评估都在诸如Habitat、AI2-THOR、Matterport3D Simulator等仿真环境中进行。这些环境视觉渲染精美但物理规则简化动作空间离散通常是几个固定的转向和前进。将系统迁移到真实的机器人平台需要处理连续的视觉流、复杂的物理交互如开门、避障、运动控制误差以及传感器噪声挑战是指数级增加的。记忆抽象的效率与准确性如何设计轻量且高效的网络来自动进行情节记忆到语义记忆的抽象是一个开放的研究问题。抽象得太粗略会丢失重要细节如“哪个抽屉是左边的”抽象得太细致又会导致记忆膨胀失去概括能力。此外语义标签如“客厅”、“卧室”的自动生成也可能不准确。动态环境适应能力差当前的HAM-VLN假设环境是静态的。如果导航过程中环境发生了变化如有人关上了门、移动了家具智能体基于旧记忆做出的决策可能就是错误的。系统需要引入“记忆更新与失效”机制能够检测环境变化并刷新相关记忆。5.3 未来可能的演进方向结合最新的研究趋势HAM-VLN框架可以在以下几个方向进行深化和拓展与基础世界模型结合世界模型World Model是当前AI研究的热点它能在潜在空间中预测环境的动态。将HAM与一个训练好的世界模型结合可以让智能体不仅记住过去还能在记忆中进行“想象”和“推演”。例如在岔路口它可以基于语义地图在心里模拟“如果走左边会看到什么”从而做出更优的规划。多模态记忆的深度融合目前的记忆多以抽象的语义符号或文本描述存在。未来可以探索更丰富的多模态记忆包括存储关键场景的视觉特征图、空间位置编码、甚至声音信息。当需要回忆时可以更生动、准确地重构过去的场景片段。主动感知与询问当智能体面临不确定性时如两个房间看起来都像书房除了随机探索是否可以主动生成问题例如控制机器人转向一个特定物体并询问VLM“这个房间里有大量的书和书桌吗” 或者在无法确定时向人类用户请求简短的澄清“您说的书房是在二楼左手边吗”。这将引入交互式导航的能力。从导航到具身操作目前HAM-VLN主要解决“移动”问题。但标题中的“Vision-and-Language Navigation”正在向“Vision-and-Language Manipulation”扩展。未来的系统需要将分层记忆的理念应用到物体操作中记忆如何抓取物体、使用工具的经验形成“运动程序记忆”。分布式与终身学习一个智能体在不同环境、不同任务中积累的记忆能否被提炼、共享形成一个不断增长的“常识记忆库”新智能体可以快速加载这个记忆库实现“开机即用”的快速适应。这指向了终身学习和知识迁移的远景。HAM-VLN为我们展示了一条通往更通用、更智能的具身智能体的清晰路径即不追求用一个巨型神经网络解决所有问题而是通过结构化的设计将规划、记忆、感知等核心认知功能模块化并利用强大的基础模型作为各模块的“发动机”。它更像是在为智能体设计一个结构良好的“大脑皮层”让其在与物理世界交互时能够有条理地思考、学习和记忆。尽管前路仍有诸多工程与理论上的挑战但这种分层化、模块化、基于记忆的智能体架构无疑代表了VLN乃至整个具身AI领域一个非常 promising 的发展方向。