
同一画面两种动作多模态 Agent 如何验证状态是否足够先看两个合成工程场景。它们不是公开事故也不是作者实测。机械臂在两次测试中看到几乎相同的 RGB 画面夹爪已经合拢杯子位于指尖之间。策略都准备“向上抬升”。第一次杯子被稳定拿起第二次杯子刚离开桌面就滑落。像素没有告诉系统的是第二次接触力不足、杯身仍在下滑而且上一条闭合命令尚未执行完成。语音 Agent 在两段会话中都收到同一句 ASR 文本“好的”。第一段里TTS 已播放完没有待执行工具这句话只是确认听见第二段里TTS 仍在播放用户正在打断后台还有一个等待二次确认的支付调用。“好的”在两个场景中对应的安全动作完全不同。这两次失败有同一个根因系统把当前能看到的 Observation误当成了此刻足以决定动作的 State。本文只回答一个问题当两个场景拥有近似相同的画面或文本却应该执行不同动作时团队如何判断多模态 Agent 掌握的状态是否足够核心结论是状态不是一个越大越好的字段集合而是一项相对于任务、动作和未来时域的充分性假设。验证它的最好方式不是检查 Prompt 塞了多少上下文而是主动构造“观测相同、隐藏条件不同”的成对场景看系统能否发现不确定性、等待关键证据并依据真实执行回执修正下一步。一、机器人抓取同一张图为什么对应两个动作把开头的抓杯过程展开两次决策的差异会非常具体。决策时刻的信息场景 A可以抬升场景 B不能抬升RGB 画面夹爪合拢杯子位于指尖之间几乎相同接触力已达到稳定阈值偏低且波动杯体相对速度接近零仍在缓慢下滑闭合命令回执executedaccepted尚未完成控制器状态允许进入抬升阶段仍处于夹持建立阶段安全动作向上抬升保持、重新夹持或停止如果策略只读当前图像它会把两个场景压成同一个输入。增加更大的视觉模型也不一定能解决因为决定差异的变量并不都存在于像素中。这里至少出现了三种信息缺口。第一是隐藏变量。接触力、摩擦、夹持稳定性和物体微小速度决定杯子是否会滑落但单帧 RGB 很难唯一确定它们。第二是时间错位。相机帧、力传感器、关节数据和控制器回执可能来自不同采样时刻。把它们直接拼接会制造一个现实中从未存在过的“同时状态”。第三是执行回执缺失。模型输出了“闭合夹爪”并不代表控制器已经接受、没有裁剪并且执行完成。如果历史只保存模型想做什么而不保存实际发生了什么下一次决策就会从虚构状态出发。如果任务只是识别杯子颜色单张图可能已经足够如果任务是安全抓取它显然不够。所谓状态充分性必须同时写清任务和动作后果。二、State 是针对任务和时域的充分性声明在控制与强化学习语境中Markov 性表达的是给定当前状态和动作后预测下一步所需的信息不再依赖更早历史。[E2-S01] 这句话最容易被忽略的部分是“当前状态”本身由系统设计者定义。用于 20 毫秒伺服的状态可能只需要近期位置、速度、力和控制模式用于未来 10 秒任务规划的状态还要包含目标进度、可通行区域、工具状态和失败恢复条件。同一份表示不必同时满足所有时域。真实系统通常不能完整读取环境状态。POMDP 将这种部分可观察性显式化同一观测可能来自多个隐藏状态系统需要利用动作—观测历史形成对隐藏状态的判断也就是 Belief State。[E2-S02]工程实现不一定维护完整概率分布。它可以是卡尔曼滤波状态、粒子集合、有限历史窗口、规则状态机、RNN 隐状态或 Transformer 记忆。但名称不能替代证据一个张量叫hidden_state不代表它已经保留了当前任务需要的信息。World Models、Dreamer 和 MuZero 分别展示了学习潜表示服务预测、想象和规划的不同方式。[E2-S03][E2-S04][E2-S05] 它们支持一个重要边界内部状态可以是任务相关的近似不必重建客观世界的全部细节但它是否“足够”仍要通过对应任务、动作和时域上的结果验证。所以更准确的定义是State 是在指定系统边界、任务、动作空间和预测时域内被假设足以支持预测与决策的信息集合或分布。这不是“世界全部真相”也不是把视频、数据库和全部对话塞进上下文。更多信息只能增加候选证据不能自动形成充分状态。三、语音打断同一句“好的”为什么也对应两个动作机器人案例很直观但同样的问题会出现在语音 Agent。决策时刻的信息会话 A普通确认会话 B打断且存在待确认操作ASR 文本“好的”“好的”说话来源用户在 TTS 结束后发言TTS 播放期间检测到近端语音也可能混有回声播放状态输出缓冲区已结束仍有音频待播放对话阶段信息说明已完成用户正在打断原回复待处理操作无支付调用等待二次确认最近工具回执无未决结果上一次提交状态尚未确认安全动作简短回应或进入下一轮先停止播放、确认打断内容不得直接提交支付如果 Agent 只读 ASR 文本或对话消息两段会话几乎相同。真正改变动作选择的是跨越实时音频、播放链、业务状态机和工具执行链的变量。音频时间线回答“这句话在什么时候、相对于谁的声音出现”播放状态回答“系统是否还在说”待处理操作回答“这句话可能确认什么”工具回执回答“现实世界是否已经发生副作用”。这些事实不一定适合全部写入自然语言上下文却必须在动作前可被决策层读取。长上下文无法自动修复这类问题。它可以保留更早的文字却不能补回缺失的播放事件、错误的时钟对齐、未落库的工具结果或已经变更的授权状态。四、两个案例共同暴露的三条失效链机器人和语音系统的输入看起来不同但失效链几乎一致。1. 时间没有对齐机械臂把旧图像与新力传感器拼在一起语音 Agent 把稳定后的 ASR 文本与仍在变化的播放状态拼在一起。字段都存在却不代表它们描述同一个参考时刻。因此观测至少要带来源、采集时间、时钟域、质量标记和允许的最大陈旧时间。状态估计器还需要明确当某个来源超时、缺帧或时钟漂移时是继续、降级、询问还是停止。2. 决定动作的变量没有进入估计抓取动作依赖接触与相对运动语音动作依赖播放、打断和待确认操作。若团队只列“模型能看到什么”而不列“什么隐藏条件会改变安全动作”就很难发现缺口。最有效的审查问题不是“还有哪些传感器可以接入”而是能否构造两个当前观测近似相同、但正确动作不同的场景如果可以区分这两个场景所需的变量、历史或不确定性表达就是状态估计必须覆盖的内容。3. 系统记录了请求却没有记录现实结果requested、accepted、clamped、executed、failed和outcome_unknown不是同一个状态。机器人控制器可能裁剪动作语音播放可能被取消工具调用可能已经成功但响应丢失。若下一轮只看到模型最初的请求内部历史会与现实持续分叉。因此执行回执不是日志附属品而是下一次状态更新的输入。没有它系统无法判断该继续、补偿、重试还是先对账。五、一次动作前最少需要拼出什么不必为所有项目引入一个庞大的统一框架。更实用的做法是在每类高影响动作前明确一份可检查的状态快照。字段需要回答的问题机器人示例语音 Agent 示例decision_id与参考时刻这次判断对应哪个时间点控制周期与单调时钟当前 turn 与音频时间线任务与动作时域要决定什么结果要维持多久抬升前 200 ms停止播放并处理本轮确认观测及其新鲜度证据来自哪里是否过期图像、力、速度、控制模式ASR、VAD、播放缓冲、工具状态相关历史哪段动作—观测历史仍影响当前判断最近闭合命令与反馈最近输出、打断事件与确认范围状态估计与不确定性系统当前相信什么哪里仍未知夹持稳定概率或显式状态用户发言来源与意图仍是否含混未决操作哪些动作已经请求但尚无最终结果控制器仍在执行闭合工具调用等待确认或结果未知最近真实回执上一步实际发生了什么accepted / clamped / executedplayed / cancelled / submitted / failed当前允许动作哪些动作可执行谁可以拒绝抬升、保持、重夹、停止继续说、停止、追问、提交工具失效条件什么变化会让快照作废新帧、力突变、控制模式切换新的打断、目标变化、授权过期这张表的目的不是创造一个新名词而是迫使团队把“模型应该知道”改写成可采集、可对齐、可失效和可验证的事实。动作接口仍需明确类型、坐标、单位、频率、范围与有效期。ROS REP 103 和 REP 105 说明了单位和坐标框架为何必须约定但具体机械臂工具坐标、权限与控制模式仍要由项目定义。[E2-S06][E2-S07] 对 Agent 也一样draft_email、send_email和charge_card不是同一级动作。六、状态是否足够要用反例测试而不是字段评审字段表只能证明设计看起来完整不能证明决策真的安全。至少需要四类测试。1. 观测相同、隐藏条件不同固定当前图像或 ASR 文本改变接触力、物体速度、播放状态、待处理工具或确认范围。系统应输出不同动作或明确进入“不确定、等待更多证据”状态。2. 时间错位与陈旧注入人为延迟一个传感器、重放旧帧、让业务状态晚到或制造跨时钟域漂移。检查系统是否识别过期组合而不是把字段齐全误判为状态完整。3. 回执丢失与晚到成功让动作已经执行但响应超时或让控制器只接受未执行。系统不能把超时直接当失败重试也不能把请求成功当现实成功。4. 动作边界在决策中途变化在观测完成后切换控制模式、目标版本、授权或安全约束。旧状态快照应失效重新评估允许动作。测试结果不要只看平均任务成功率。更有价值的指标包括含混场景中的危险动作率关键证据缺失时的停止、追问或降级率陈旧输入被正确拒绝的比例请求状态与真实执行结果的一致率outcome_unknown被对账而不是盲重试的比例状态恢复后能否回到正确流程而不是永久卡死。如果系统只在“信息完整、时间同步、回执正常”的理想路径上成功还不能说明状态足够。七、哪些场景不需要把事情做得这么重状态充分性是相对于任务的不意味着每个功能都要建立复杂 Belief。静态图片分类、无副作用的信息检索或允许人工复核的推荐可以使用更轻量的状态表示。只要单次观测已经覆盖任务所需信息增加实时状态估计器反而会提高延迟和维护成本。另一方面高影响动作也不要求把所有事实都送进一个大模型。更合理的分工是感知模型提供带时间和质量信息的观测状态估计器或业务状态机维护任务相关事实与未决操作策略基于状态和不确定性提出动作适配器与安全层验证单位、范围、权限和失效条件执行器返回真实回执再进入下一轮状态更新。模型隐藏向量可以成为状态近似但必须经过成对反例、时序扰动和闭环结果验证。业务数据库可以是权威事实来源但也要处理缓存、版本和提交结果。上下文窗口可以保存叙事历史但不能替代实时媒体状态、权限与工具回执。结论同一张机械臂画面可能对应“抬升”或“停止”同一句“好的”可能对应普通确认也可能发生在打断和高风险操作待确认期间。Observation 是证据State 是一项针对任务、动作和未来时域的充分性假设。团队真正需要验证的不是输入字段够不够多而是哪些隐藏条件会改变正确动作多模态证据是否对齐到同一参考时刻系统是否记录了真实执行结果而不只是模型请求证据不足、过期或冲突时Agent 是否会停止、追问或降级在“观测相同、隐藏状态不同”的成对反例中系统能否做出不同且安全的选择。能通过这些测试状态才不是一个命名漂亮的张量而是一个可以被验证、被推翻、并在现实反馈中持续修正的工程假设。FAQ上下文越长状态就越完整吗不一定。上下文增加历史证据但实时媒体状态、业务事实、授权和执行回执仍需要独立来源与时序。模型隐藏向量可以直接叫 State 吗可以作为候选近似但必须证明它保留了当前任务和时域所需的信息并能通过含混场景与闭环结果测试。状态不确定时系统应该总是停止吗不必。低风险任务可以降级或请求更多信息不可逆或高影响动作则应等待关键证据、重新确认或停止。参考资料[E2-S01] Richard S. Sutton, Andrew G. Barto,Reinforcement Learning: An Introduction, 2nd ed.[E2-S02] Leslie P. Kaelbling, Michael L. Littman, Anthony R. Cassandra,Planning and Acting in Partially Observable Stochastic Domains.[E2-S03] David Ha, Jürgen Schmidhuber,World Models.[E2-S04] Danijar Hafner et al.,Dream to Control: Learning Behaviors by Latent Imagination.[E2-S05] Julian Schrittwieser et al.,Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model.[E2-S06] Open Robotics, REP 103.[E2-S07] Open Robotics, REP 105.机械臂抓杯和语音 Agent“好的”均为本文构造的工程反例不是公开事故或作者实测。