一句话定位
用 Harness + 类 OS 运行时 把「慢而强的 LLM Planner」接到「快而专的 NavGPT VLA」上:工具管空间上下文与路线修补,Motion Authority 管谁能动;完整系统在 R2R-CE 达 81.51 SR ,RxR-CE 首次逼近人类跟随者(90.43 vs 90.4 SR)。
关键词系统 :NavGPT-3 · Agent Harness · Motion Authority · RSI Harness
策略 :NavGPT VLA · Codec Allocation · 航点预测
范式对照 :双系统 VLN · Hierarchical VLN · HarnessVLN · Qwen-RobotNav
任务 / 指标:VLN · VLN-CE · R2R · ObjectNav · SR · SPL · nDTW · OSR · NE · Visual Grounding
1. 背景概念
| 术语 | 白话 |
|---|---|
| VLN | 听自然语言路线说明,边看相机边走到终点 |
| VLN-CE | 连续环境里走(不是只在离散拓扑图上跳节点) |
| Planner | 强推理 LLM:想路线、调工具、决定何时结束 |
| VLA 策略 | 看图+指令,高频出局部航点,像「司机」 |
| Harness | 模型外面的缰绳:看见什么、能调什么、状态怎么留 |
| Motion Authority | 方向盘归属:谁此刻可以发任务运动 |
| Codec Allocation | 视觉 token 预算按「画面变了多少」分配 |
技术线 :Agentic VLN(NavGPT / MapGPT)× 导航 VLA(Qwen-RobotNav、InternVLA-N1)× harness 工程;NavGPT-3 主张 接口与运行时 才是把前沿 LLM 接到物理控制的关键。
2. 论文在干什么
问题
- LLM 经长程 agentic RL 后「想得明白」,但决策周期是 3--19 s/次,世界不会停。
- 小 VLA「走得快」但长指令会漂,需要把执行证据交回 Planner 检查、回退、修补。
- 已有分层系统多是「规划 → 子目标 → 控制器」;缺少 异步线程 + 运动权限 + 可检查的委派回执。
生活类比:导航 App 想路线很慢,司机要实时躲人;需要调度台决定谁握方向盘、谁旁路可以急停,以及司机开完一段要把「沿途照片」交回重新规划。
设定
- 任务:R2R-CE / RxR-CE Val-Unseen;迁移 ObjectNav、具身问答;Go2 真机
- 输入:指令 + RGB(仿真四视图;真机前视)+ harness 状态/地图
- 输出:工具调用或 VLA 航点 → 连续运动;仅 Planner 可正式结束任务
贡献(作者侧)
- 完整导航 harness + OS-like runtime(线程、权限、打断)
- NavGPT VLA(~19.28M 混合数据 + codec 视觉分配)
- 基准 SOTA / 人类水平 RxR-CE;harness 与 Planner--VLA 交互消融
3. 核心创新点
-
系统级接两个异质模型,而不是再训一个「既慢又快」的单体
Planner 可全程自己走,也可委派 VLA;回执含关键帧、端点全景、观测地图、编号地点 → 可检查、可回退、可局部修。
-
OS-like Runtime:推理 / 执行 / 监控异步 + Motion Authority
审查可与执行重叠;安全监控可不经 LLM 确认就收回运动权(Go2:急停延迟大降)。
-
Harness 用 RSI 搜出来
开发期树搜索(Think→Critic→Experiment→Distill→Reflect),不改模型权重;在 100 条训练子集上用 SR 选接口。曲线:基础 66% → +VLA 76% → +空间工具 ~81% SR。
-
NavGPT VLA:codec 按场景变化分视觉 token + 通才混合数据
相对纯位置式分配;数据覆盖指令跟随 / 点目标 / 物体目标 / 跟踪 / 户外驾驶 + grounding。
4. 方法细节
4.1 Harness:上下文、工具、回执
Planner 在 harness 给出的上下文 C k C_k Ck 与许可工具集 T k \mathcal{T}_k Tk 下选动作:
a k ∼ π P l a n n e r ( ⋅ ∣ C k , T k ) a_k \sim \pi_{\mathrm{Planner}}(\cdot \mid C_k, \mathcal{T}_k) ak∼πPlanner(⋅∣Ck,Tk)
工具四组(Table 4):
| 组 | 代表工具 | 作用(白话) |
|---|---|---|
| Basic | observe_* / navigate_relative / terminate_episode |
看、挪一小步、正式结束 |
| VLA | navigate_by_instruction |
把指令(或剩余段)交给 VLA 跑一段;回关键帧与状态 |
| Map | observe_map |
已观测区域俯视图 + 访问顺序编号 |
| Backtrack | navigate_to_node / annotate_node |
回到编号地点、贴语义标签 |
VLA 停下只结束这一次委派 ;整集是否成功结束必须 Planner 调
terminate_episode。
4.2 Runtime:线程与运动权限
- 线程各有上下文、工具、权限;更新周期可以不同。
- 前景线程 f ℓ f_\ell fℓ 持有 Motion Authority;事件 e ℓ e_\ell eℓ(审查请求 / 安全打断)经优先级规则 σ \sigma σ 转移或收回权限。
- 典型模式:(A)执行中背景审查 → 打断 → 工具修补 → VLA 续跑;(B)安全监控立刻撤权,推理可继续,恢复需新状态授权。
4.3 NavGPT VLA
- 骨干:Qwen3-VL-Instruct + MLP;每步预测 8 航点 ( x , y , θ ) (x,y,\theta) (x,y,θ),只执行第一个。
- Codec Allocation:I/P 帧直觉 + 位置权重;预算紧张时把 token 挪到变化大的视图。
- 数据:约 19.28M effective records/epoch(动作回归 ~65.6%,NTP ~34.4%);含大量 grounding。
- 损失:导航样本航点 MSE + 非导航样本 next-token(二者单位权重)。
4.4 与相近工作对照
| 系统 | 像什么 | 和本文差在哪 |
|---|---|---|
| InternVLA-N1 / DualVLN | 慢计划 + 快执行,常共训/共享表征 | NavGPT-3 更强调 外置 harness + 运动权限 + 强通用 LLM |
| HarnessVLN | 零样本 MLLM + 证据闸门 + ST Graph | 本文 自带强训 VLA,并用执行回执做路线修订 |
| Qwen-RobotNav | 航点 VLA + agentic 接口 | 本文 codec 分配 + 完整 runtime/权限;完整系统数字更高 |
5. 整体框架(Mermaid)
#mermaid-svg-MOzoDm1pGh0Eok9H{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-MOzoDm1pGh0Eok9H .error-icon{fill:#552222;}#mermaid-svg-MOzoDm1pGh0Eok9H .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-MOzoDm1pGh0Eok9H .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-MOzoDm1pGh0Eok9H .marker{fill:#333333;stroke:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H .marker.cross{stroke:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-MOzoDm1pGh0Eok9H p{margin:0;}#mermaid-svg-MOzoDm1pGh0Eok9H .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster-label text{fill:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster-label span{color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster-label span p{background-color:transparent;}#mermaid-svg-MOzoDm1pGh0Eok9H .label text,#mermaid-svg-MOzoDm1pGh0Eok9H span{fill:#333;color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .node rect,#mermaid-svg-MOzoDm1pGh0Eok9H .node circle,#mermaid-svg-MOzoDm1pGh0Eok9H .node ellipse,#mermaid-svg-MOzoDm1pGh0Eok9H .node polygon,#mermaid-svg-MOzoDm1pGh0Eok9H .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .rough-node .label text,#mermaid-svg-MOzoDm1pGh0Eok9H .node .label text,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape .label,#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape .label{text-anchor:middle;}#mermaid-svg-MOzoDm1pGh0Eok9H .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .rough-node .label,#mermaid-svg-MOzoDm1pGh0Eok9H .node .label,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape .label,#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape .label{text-align:center;}#mermaid-svg-MOzoDm1pGh0Eok9H .node.clickable{cursor:pointer;}#mermaid-svg-MOzoDm1pGh0Eok9H .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H .arrowheadPath{fill:#333333;}#mermaid-svg-MOzoDm1pGh0Eok9H .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-MOzoDm1pGh0Eok9H .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-MOzoDm1pGh0Eok9H .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MOzoDm1pGh0Eok9H .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-MOzoDm1pGh0Eok9H .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MOzoDm1pGh0Eok9H .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster text{fill:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H .cluster span{color:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-MOzoDm1pGh0Eok9H .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-MOzoDm1pGh0Eok9H rect.text{fill:none;stroke-width:0;}#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape p,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-MOzoDm1pGh0Eok9H .icon-shape .label rect,#mermaid-svg-MOzoDm1pGh0Eok9H .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-MOzoDm1pGh0Eok9H .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-MOzoDm1pGh0Eok9H .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-MOzoDm1pGh0Eok9H :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 工具:观察/地图/回退/终止
委派 navigate_by_instruction
8 航点取第1
关键帧/地图/编号点
撤/授 Motion Authority
语言指令
Harness 上下文与工具
RGB 观测
LLM Planner
环境或真机
NavGPT VLA
Codec 视觉分配
安全监控
Runtime 调度
Monitor VLA Runtime Planner Monitor VLA Runtime Planner #mermaid-svg-CkRXSpjQiVmyh9fl{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-CkRXSpjQiVmyh9fl .error-icon{fill:#552222;}#mermaid-svg-CkRXSpjQiVmyh9fl .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-CkRXSpjQiVmyh9fl .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-CkRXSpjQiVmyh9fl .marker{fill:#333333;stroke:#333333;}#mermaid-svg-CkRXSpjQiVmyh9fl .marker.cross{stroke:#333333;}#mermaid-svg-CkRXSpjQiVmyh9fl svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-CkRXSpjQiVmyh9fl p{margin:0;}#mermaid-svg-CkRXSpjQiVmyh9fl .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-CkRXSpjQiVmyh9fl text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-CkRXSpjQiVmyh9fl .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl .sequenceNumber{fill:white;}#mermaid-svg-CkRXSpjQiVmyh9fl #sequencenumber{fill:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-CkRXSpjQiVmyh9fl .messageText{fill:#333;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-CkRXSpjQiVmyh9fl .labelText,#mermaid-svg-CkRXSpjQiVmyh9fl .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .loopText,#mermaid-svg-CkRXSpjQiVmyh9fl .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-CkRXSpjQiVmyh9fl .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-CkRXSpjQiVmyh9fl .noteText,#mermaid-svg-CkRXSpjQiVmyh9fl .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-CkRXSpjQiVmyh9fl .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-CkRXSpjQiVmyh9fl .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-CkRXSpjQiVmyh9fl .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-CkRXSpjQiVmyh9fl .actorPopupMenu{position:absolute;}#mermaid-svg-CkRXSpjQiVmyh9fl .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-CkRXSpjQiVmyh9fl .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-CkRXSpjQiVmyh9fl .actor-man circle,#mermaid-svg-CkRXSpjQiVmyh9fl line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-CkRXSpjQiVmyh9fl :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 审查可与执行重叠 委派指令执行 授予运动权限 高频航点循环 背景审查路线 危险 → 立刻撤权 停任务运动 回退/修补/再委派或 terminate
6. 实验与结论
主结果(Val-Unseen)
模型分工
GPT-6 Astra / Claude Opus 5 = 闭源 Planner (想路线、调工具),不是开源导航模型。
NavGPT VLA 4B/8B = 作者训的执行策略(承诺开源)。完整 SOTA 行 = 两者 + Harness。
| 系统 | R2R-CE SR | RxR-CE SR | RxR nDTW |
|---|---|---|---|
| NavGPT VLA 8B(仅策略) | 74.51 | 78.19 | 74.85 |
| NavGPT-3 + Opus 5 | 79.01 | 84.80 | 75.09 |
| NavGPT-3 + GPT-6 Astra | 81.51 | 90.43 | 78.47 |
| 人类跟随者(RxR 英文) | --- | 90.4 | 77.7 |
- 完整系统相对纯 VLA:R2R +7 SR;RxR 提升更大(长指令更吃「回看与修补」)。
- 反应时间:无 VLA 时约 3--19 s /LLM 决策;有 VLA 时约 0.5--1 s/步(表中 8B 均值 ~0.78 s)。
消融要点
- Map + Backtrack 大幅抬高纯 LLM 导航并降 token;工具质量定上限。
- VLA 是否抬 SR 取决于 Planner:Opus 受益明显;Astra alone 已很强时 VLA 主要换反应时间与成本结构。
- 检查频率:每 16 VLA 步检查一次可抬 SR,但 token 从 ~179k → ~2.3M/集------更适合事件触发审查。
- 数据 > 参数:混合数据从 1.7M→19.28M 的增益大于 4B→8B。
- Go2:推理与优先监控重叠,SR 73.3→83.3;p95 急停 1840→180 ms。
局限
- 强依赖前沿闭源 Planner scaffold(Codex / Claude Code);复现成本高。
- 仿真 runtime 简化 vs 真机完整抢占不一致。
- 频繁审查极贵;默认配置与「最准配置」有成本鸿沟。
要点总结
- 瓶颈常在 具身接口(harness + 权限),不只在更大 VLA
- Planner 保留任务终止权;VLA 停止 ≠ 任务完成
- Codec 分配 = 变化大的画面多分 token
- RxR-CE 人类水平靠「委派执行 + 可检查回执 + 回退修补」堆出来
开放问题
- 开源后 Planner 换成开源模型,SR 掉多少?
- Motion Authority 与现有 BT / 运控仲裁如何一一映射?
- Codec 分配在单目前视真机上的增益是否仍显著?