← 文章 / AI技术
无问AI 1小时前 · 2026-09-23 21:52:50 · 2 阅读

AIAgent怎样记住走过的路:HarnessVLN的空间记忆设计

🔥 每天3分钟,读懂科技圈。点击上方「蓝字」关注 无问AI

机器人看到了打印机,却停在走廊另一端;刚刚绕过的死路,下一轮又被选中;模型说“已经完成”,位置记录却显示它走错了房间。导航AI Agent需要把每次观察、每段路线和执行结果对起来。HarnessVLN给出的设计,是同时维护任务事件记忆与空间图,让规划时能找回有出处的证据,执行后能更新真实进度。

空间中的路线、观察点与目标之间的关系

这项研究由南京大学、智元机器人和清华大学的Yang Chen等研究者提出,2026年9月14日首次提交至arXiv,9月16日修订为v2。它属于预印本,尚无这里能够确认的会议录用结论。研究对象包括按自然语言路线行走,以及按物品名称寻找目标,两类任务共用一套运行框架。

它对AI Agent开发者的参考价值,集中在记忆如何组织:任务日志保留“为什么这么做”,空间图保留“在哪里看到、从哪里能到”。两者通过证据标识连接,模型每轮只取与当前子任务有关的一小部分。作者报告了导航成功率收益,同时也展示了检查通过却走错终点的失败案例。

把“做过什么”和“环境是什么样”分开

设想一个找打印机的任务。机器人在大厅看见一条走廊,进入后发现门关着,再回到大厅走另一条路。如果把所有截图、计划与工具回复按时间拼进提示词,后续模型需要反复从长记录里恢复位置关系。若只保留一句“打印机可能在走廊尽头”,又会丢掉这条判断来自哪个视角、对应哪个时刻,以及那扇门是否仍然关着。

HarnessVLN用两套互补表示保存这些信息。

第一套是面向任务的事件记忆,分成工作、进度和反思三个部分。工作记忆保存当前观察、有限的全景历史、目标假设和最近工具反馈,控制下一轮需要读取的上下文规模。进度记忆把任务拆成有稳定编号的子目标,每个子目标可以处于待处理、进行中、已完成或受阻状态,同一时刻最多有一个进行中的子目标。

“已完成”需要观察或成功工具结果支撑。例如,系统发出“走到门口”只说明执行已启动;等到位置对齐的新观察或工具到达反馈出现,进度才有依据前进。子目标用固定编号引用,也能避免清单重排后把另一项任务错误标成完成。

反思记忆保留完整的执行事件,包括目标不可达、定位不一致、碰撞、没有进展、回退失败,以及被拒绝的停止请求。每条记录带有任务上下文、位置、时间戳、工具反馈和支撑观察。因此,后续规划可以区分“目标认错了”和“目标是对的,但这条路走不通”。

第二套表示是面向环境的时空图,论文称为ST Graph。图中有地点节点与实体节点。地点节点保存访问位置、观察和可通行路点;实体节点保存物品或路线地标的名称、空间假设、置信信息与支撑视图。地点之间记录可通行关系,物品与观察位置之间记录“从这里看见”,地点与物品之间还能记录粗粒度归属。

这里的持久性主要指跨子目标保留信息。论文没有据此证明一套地图可以不经维护地跨用户、跨楼宇或跨多年部署复用。房门状态改变、物品被搬走,都需要新证据更新旧假设。

空间图既能找路,也要找得到失败的出处

图里若完整复制每一次工具轨迹,会与事件记忆重复。HarnessVLN选择只在相关地点、实体或关系上附加轻量失败注记,再用引用指向原始事件。事件记忆负责保留完整过程,图负责帮助规划器找到与当前地点和目标有关的记录。

这种分工解决了一个实际问题:失败常常带条件。刚才去会议室的路线被挡住,不代表同一区域所有目标都永远不可达;当前子目标改变,或者新观察发现门已打开,旧失败的适用程度就应下降。如果同一个条件下反复失败,它的影响再增加。

检索时,系统把当前子目标与地点节点的语义相关性、新近程度、空间显著性和适用失败惩罚综合起来排序。附录给出的实现使用局部IDF加权余弦相似度衡量语义相关性,选出三个起始地点后扩展一跳,最终最多返回五个地点。适用失败每次带来0.5的惩罚,上限为1.0,避免某条曾失败的分支被永久排除。

这些数值是作者的实现设置,不是所有导航任务的通用最优参数。对于办公楼、仓库或家庭环境,更值得迁移的是“按当前任务判断旧失败是否适用”,以及“限制送进模型的检索结果”,而非直接照搬权重。

mermaid-1

图1:一次决策如何消费记忆、再把结果写回。下一轮从新的子目标状态继续检索。完整轨迹保留在事件记忆中,空间图提供按地点查找证据的入口。

模型提出目的地,执行器负责把它变成运动

HarnessVLN把感知、检索、目标定位、导航、回退和停止封装为统一工具接口。论文列出的工具包括获取当前观察、获取全景、检索记忆、定位目标、查询深度、导航、回退和请求停止。

模型负责提出语义操作,例如前往某个地标。框架在调度前检查参数、证据来源与新鲜程度、几何可行性,以及操作是否符合当前子目标。通过后,导航执行器生成路线与运动控制;工具执行完,再返回到达、碰撞、不可达或没有进展等结构化反馈。

因此,一次工具调用至少涉及三个不同状态:模型建议做什么,系统允许执行什么,工具实际做成什么。把三者写成同一个“行动成功”字段,会让后续记忆失去区分计划与事实的能力。

论文使用GroundingDINO提供开放词汇目标区域,SAM提供分割掩码,平面运动交给FMM规划器,需要处理楼梯时调用NavDP。所谓training-free,指没有针对这些导航任务继续微调,并不意味着不使用预训练模型、现成感知模块或已有导航策略。

两类导航任务也没有共用一个固定大模型跑完所有主实验。指令跟随使用GPT-5.5,物体目标导航使用GPT-5.6-luna;同一次实验里的任务分解、规划、目标定位、停止验证和恢复,则由同一个多模态模型通过不同提示完成。统一的是框架协议和状态组织,模型与底层执行器仍可更换。

“看见了”“靠近了”“到对地方了”要分别核对

停止机制最能暴露导航记忆的含义。模型可以提出停止请求,但不能直接发出环境级停止动作。框架需要同时检查目标语义、几何条件和任务进度。

对找物品任务,首先需要确认看到的是目标类别,再核对距离。对按指令走路线的任务,还要确认当前证据支持最终路段、指定地标和终点。请求被拒绝后,系统会记录事件,并继续观察、修正目标、接近目标或回退。

这些检查仍会出错。语义判断继续依赖模型,深度与位置也可能存在误差,所以“经过Harness验证”不能写成形式化安全保证。

附录尤其提醒,内部停止检查与评测器的目标距离是两个口径。作者设置的新鲜深度阈值为2.5米,投影目标距离阈值为1.0米;深度来自目标框锚点附近的5×5像素区域,取中位数并检查波动。论文列出的任务成功距离则是指令跟随3.0米、物体导航1.0米,评测还要依据目标或目标观察点的测地距离。不能把这些数值混成一个“到达半径”。

失败案例把区别讲得很具体。R2R的839号任务中,机器人距离自己选中的投影目标约0.998米,通过了内部检查,但最终离评测目标还有6.48米。另一个HM3D-OVON案例中,新鲜深度测得1.20米,停止检查通过;评测目标距离却为2.15米,任务仍然失败。

靠近一个被选中的点,只能证明接近这个点。选点本身是否对应用户要求,必须由另一条证据链支持。

四项基准的成功率提高,效率收益却不一致

论文在两个任务家族上评测。R2R和RxR属于连续环境中的语言指令导航,测试能否按路线描述到达终点;HM3D-v2与HM3D-OVON属于物体目标导航,后者覆盖开放词汇目标。作者使用HM3D-v2的1000个验证任务和HM3D-OVON的3000个验证任务;RxR采用美式英语的guide指令,不能把结果扩大为多语言评测。

理解结果至少要分清SR和SPL。SR是成功率;SPL同时考虑成功与行走路径长度,会惩罚成功但绕路较多的轨迹。OSR衡量轨迹中是否曾到达成功区域,最终在哪里停下则还会影响SR。NE以米计量导航误差,nDTW衡量轨迹与参考路线的匹配程度。

下表均为论文表2、表3中的作者自报数据,增量单位是百分点,对照为对应表中成功率最高的其他免任务训练方法。

评测任务 HarnessVLN成功率 免任务训练对照 成功率差值
R2R 60.8% AgenticNav:55.0% +5.8个百分点
RxR 53.9% HSGM:41.8% +12.1个百分点
HM3D-v2 76.0% MSGNav:74.4% +1.6个百分点
HM3D-OVON 59.3% DRIVE-Nav:50.2% +9.1个百分点

这组结果支持“作者列出的免任务训练方法中,HarnessVLN取得更高成功率”,但不足以支持所有指标、所有方法都被超越。在R2R上,HarnessVLN的SPL为43.5%,低于同为GPT-5.5的AgenticNav的48.41%。在HM3D-v2上,它的SPL为37.9%,也低于DRIVE-Nav的41.3%。

RxR的表现又不同:成功率与SPL都比HSGM高,nDTW却基本持平,分别为54.8%和54.9%。系统更常完成任务,并不等于每条路线都更短或更贴近参考路径。对于有续航或时间限制的机器人,选择方法时需要同时看这些结果。

跨框架对比还受到基础模型、感知能力和评测配置影响,不能把主表的所有差值直接归因于空间图。VLN-CE官方文档本身也提示,Habitat版本、构建与硬件可能影响评测结果;同名数据集下的不同观测和动作设置仍需核对。

消融支持组合设计,尚不能拆出每个组件的独立收益

作者在R2R与HM3D-OVON各自固定的100个任务子集上,保持任务内的模型与设置不变,依次加入事件记忆、空间图和停止验证。R2R成功率从46%依次变为54%、60%、64%;HM3D-OVON从45%变为52%、53%、55%。

这些子集数字不能替代主表的完整评测结果。例如,消融中的R2R最终64%,与主表的60.8%来自不同样本范围,不能择高者作为统一成绩。

mermaid-2

图2:论文采用累加式消融。每一步测的是已有组件开启时,再加一个组件的条件收益;它没有穷举所有组件组合。

这一设计为组合有效性提供了依据,却不能证明空间图在任意系统里都会带来同样增量。它也无法单独回答“没有事件记忆时,空间图还是否有效”,或者“先加停止验证,再加空间图,增量是否相同”。

停止验证仍有代价。在HM3D-OVON子集上,加入它之后成功率从53%提高到55%,SPL从34.2%降到33.0%,OSR与SR的差距从18个百分点扩大到19个百分点。更严格的结束判断可能使部分任务得以继续完成,也可能增加行走成本,或者仍然没能在正确位置停止。

论文没有给出完整的端到端延迟、Token账单和货币成本对照。获取全景需要十二次转向,这些动作计入环境步数预算;检索结果较短,也不足以直接推出总成本下降。部署评估应把模型调用、传感器动作、工具等待和运动时间一起计量。

从导航记忆设计迁移到自己的AI Agent

普通软件AI Agent未必需要空间坐标,但同样会遇到证据过期、步骤完成状态不实和失败记录无法复用的问题。下面是从这项设计推导出的工程做法,属于迁移建议,尚未由该论文在软件任务上验证。

先给计划和执行结果分别建记录。以修改配置为例,“准备更新文件”是计划,“写入接口成功”是工具结果,“重新读取后目标字段正确”才是任务完成证据。让进度条目引用对应结果,避免模型一句总结直接改变完成状态。

随后区分事件存档与可检索知识。事件存档保存一次失败的完整上下文;知识索引保存受影响对象、适用条件与事件引用。例如接口在某个版本、权限范围下拒绝请求,可以形成带条件的失败记录;权限变化后应重新判断适用性,不能永久把整个服务标为不可用。

限制每轮检索规模,并给过期信息安排退出机制。可以从少量最相关对象开始,连带读取必要的相邻关系,而不是把历史越积越长。需要监测检索是否漏掉决定性证据,也要记录旧结论何时被新观察覆盖。较小上下文只是设计目标,最终仍应以任务成功率和实际开销判断。

最后,让结束检查面向用户目标,而不只面向最后一个工具。文件已生成,还要核对它是否能打开、内容是否对应请求;表单已提交,还要核对目标系统的最终状态。HarnessVLN的失败案例提醒开发者:本地检查器验证的条件,可能比用户真正要求的完成条件窄。

目前能借鉴设计,不能承诺开箱复现

作者展示了AgiBot A3U人形机器人上的部署,使用头部双目相机、Fast FoundationStereo深度估计和Qwen-3.8-27B规划模型。展示场景包括连续路线跟随、寻找打印机,以及先按路线行走再找物品的组合任务。这说明统一协议已经用于真实机器人,但论文没有报告足以估计实际部署成功率的大规模现场样本,也没有据此给出安全保证。

公开项目仓库目前仅见README,其中说明代码将在提交论文后开放;未见可运行实现或明确代码许可证。论文可阅读,不等于代码已经可安装,也不等于获得了商业复用许可。它的主要成绩仍应按作者自报实验理解。

对于正在做长任务AI Agent的团队,可以先把两项检查放进现有系统:每个完成状态是否能指向一条真实结果,每条可复用失败是否带着适用条件与出处。再用固定任务集分别观察成功率、结束误判、额外动作和调用成本。这样才有依据决定,是否需要更复杂的图记忆,以及它应保存哪些关系。

资料来源

HarnessVLN v2:方法见第3节,主实验与累加消融见表2—4,停止阈值与失败案例见附录1、3。

https://arxiv.org/html/2609.15195v2

作者项目仓库:当前README与代码开放状态。

https://github.com/AgibotGeneral/harnessvln/blob/b71bed50953c5f300ce2c5aeefbb18383514c11b/readme.md

VLN-CE官方仓库:连续环境中的R2R、RxR定义及评测配置说明。

https://github.com/jacobkrantz/VLN-CE

HM3D-OVON官方仓库:开放词汇物体目标导航的任务定义。

https://github.com/naokiyokoyama/ovon

📝 觉得有料?点赞、在看、转发走一波

AI · 开源 · 前沿技术,每日更新不掉队 🚀

原始来源: 无问AI

评论 (0)