社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

具身智能的 ChatGPT 时刻!上海创智学院团队开源了

Datawhale • 2 月前 • 256 次点击  

 Datawhale干货 

作者:上海创智学院,邱锡鹏教授团队

大家期待的具身智能“ChatGPT 时刻”也许不会只来自一个突然变大的模型,而会来自模型、工具、运行时、证据和经验共同组成的可信闭环。

近日,上海创智学院邱锡鹏老师团队提出具身任务智能体(Embodied Task Agent,ETA)范式,并发布开源实现 OpenETA。

想象这样一个任务:让机器人把一个罐头 放进篮子里。

对人来说,这似乎只是“看一眼、伸手、抓住、放下”。但对机器人而言,每一步都可能出错:它看到的是不是当前画面?找到的是不是任务指定的那一罐?抓取位姿是否来自正确的相机和坐标系?夹爪闭合后,物体真的被抓起来了吗?如果网络超时,刚才的动作到底执行了没有?

真正困难的地方,不是让模型“说出一个动作”,而是让它知道动作之后世界究竟发生了什么。因此,未来的具身智能不应只是一个更大的模型,而应是一套由智能体模型、工具、运行时、环境回执和验证机制共同组成的系统。模型负责理解任务、提出指令,系统则负责执行、核对状态,并推动下一步决策。

 一、VLA、WAM 进展迅速,但只是具身智能闭环中的一步

过去几年,具身智能最重要的路线之一,是用大规模数据直接学习从观察到动作的映射:

观察(Observation) → 动作(Action)

输入可以是图像、深度、触觉、本体状态和语言指令,输出则是机械臂下一段动作或控制信号。

这条路线带来了令人印象深刻的进展。

  • 模仿学习:从人类演示中学习动作分布;

  • VLA:利用预训练视觉语言模型理解场景和指令,再预测机器人动作;

  • WAM:进一步预测未来观测,用世界模型帮助规划下一步动作。

它们的共同目标,是通过更多数据、更大模型和更长训练,逐步获得更通用的机器人能力。这些方法都在努力学习“看到什么,就做什么”,但对动作后的真实世界证据处理方式不同。

但真实环境并不会按照训练数据演进。

第一,机器人数据仍然不够多,也不够丰富。

互联网文本和图像可以支撑语言模型快速扩展,但机器人数据必须通过真实设备采集,成本高、速度慢、场景覆盖有限。居家环境中的物体、光照、摆放、相机位置和人的干预都在变化,真正的数据飞轮还没有形成。因此,模型在训练分布之外的表现,仍然很不稳定。换一个相机位置,换一个相似物体,甚至只是把目标物体转个角度,成功率都可能明显下降。

第二,模型能力和实时控制之间存在张力。

更大的模型通常更擅长理解复杂任务,但推理速度和部署成本也更高。较小的模型更容易满足实时性要求,却可能难以处理多物体关系、长程计划和异常恢复。

第三, 动作输出不等于任务闭环。

一个 VLA 模型可以预测“抓取—移动—放置”的动作序列,但它未必知道:抓取是否成功?物体是否在移动中掉落?放置位置是否满足任务要求?当工具调用返回 success=true 时,通常只能说明接口完成了调用,并不代表世界已经达到了任务目标。机器人需要把“调用成功”“动作完成”“环境认可任务成功”分开记录,否则一次看起来成功的视频,很难复现,也很难用于后续训练。

上述挑战并不意味着 VLA 或 WAM 没有价值。恰恰相反,它们会继续作为具身系统中的感知、预测和动作能力模块;但未来的具身智能不应被理解为单一模型,而应是由模型、工具、运行时、环境状态与验证机制共同组成的一套系统。

二、大家都在期待具身智能的 ChatGPT 时刻

很多人期待,机器人领域也能出现一个类似 ChatGPT 的时刻:

只要给模型足够多的机器人数据,再把模型做得足够大,它就能理解各种指令,在各种环境里灵活行动。

这个期待并非没有依据。ChatGPT 已经展示了一个重要事实:一个强大的模型,不一定要为每个任务单独写死流程;它可以理解目标、调用工具、读取结果,再决定下一步。

在数字世界里,这个闭环已经存在了。模型可以调用搜索、代码执行、数据库和外部服务;工具返回结果后,模型能够更新上下文、修正计划;如果证据不足,它也可以继续追问、重试,或者承认暂时无法完成。

最近,Anthropic尝试利用多种语言模型分别控制经典控制任务、四足机器人、人形机器人和机械臂,并比较直接控制关节、编写控制器、训练策略以及监督预训练策略等不同接口。结果显示,机器人表现不仅取决于模型本身,也取决于模型如何连接到机器人:直接驱动关节时大多失败,接入预训练策略或视觉工具后才出现有意义的导航与操作能力,但机械臂完整任务成功率仍只有 0–5.5%。这说明模型已经能够影响物理世界,而可靠闭环还需要环境回执、动作后验证和失败恢复。

换句话说,大家期待的“具身智能 ChatGPT 时刻”,其中最关键的部分——理解任务、调用工具、接收反馈、继续决策——其实已经在 ChatGPT 及其后的智能体系统里出现了。数字世界里的工具调用,失败往往可以重试;物理世界里的动作,却可能把物体撞倒、把目标夹坏,或者让后续状态彻底改变。模型不能只获得一个“函数返回值”,它必须知道环境的可信真值,并且在每次改变世界后重新观察。

所以,具身智能的关键问题正在从“模型能不能预测动作”,转向“如何让智能体拥有一个可信的物理世界操作系统?” 具身智能并不缺少“智能体”这一半,真正缺少的是可靠的物理世界接口。

三、具身智能的新范式ETA

具身任务智能体(Embodied Task Agent,ETA)的出发点很简单:将数字世界的“理解任务-调用工具-接收反馈-继续决策”这套智能体闭环迁移到物理世界,不要让模型直接控制整个世界,而是给它一组稳定、可验证、边界清晰的原子能力。

ETA不是另一个只负责预测下一步动作的模型,而是面向完整任务的任务级智能体:它理解自然语言目标,拆解步骤,选择 Tool、Skill 和 AtomAction,读取每次动作后的新观测与环境回执,并在失败时重试、回退、重规划或求助。VLA 和 WAM 可以作为 ETA 的感知、动作或未来状态预测模块,但不能替代 ETA 对完整任务、工作记忆和长程决策的管理。

在ETA范式中,模型每一轮只提出一个结构化指令,例如调用某个工具完成一次移动、抓取或释放。真正的执行由中间层(Interface)负责:它检查工具名称、参数、权限和前置证据,确认合法后才把指令交给仿真器或机器人后端。核心路径可以概括为:

当前观测 → 规划器提出一次工具调用 → 门控验证并执行 → 工具结果与可信环境证据 → 获取新观测 → 再规划

这里有一条必须遵守的运行时不变量:

一次只执行一个会改变世界的动作;动作之后,必须取得新观测(fresh observation),才能执行下一个依赖当前状态的动作。

这条规则看起来保守,却是物理闭环能够成立的基础。模型不能一次性提交一长串不可观测的动作;也不能在动作执行之后继续假设“世界仍然和刚才一样”。如果动作之后拿不到规范的新状态快照,系统就建立观测义务,必要时停止当前任务,而不是让模型用旧画面继续猜。

下图展示了 ETA 单回合中的执行边界:智能体提出指令,中间层验证结构、来源和前置条件,世界只执行一次状态变更并返回环境回执;新观测随后进入下一轮规划。

ETA 把系统拆成三个角色:

  1. 智能体(Agent):理解任务、维护工作记忆、提出下一步指令;

  2. 中间层(Interface):验证结构、权限、来源和前置证据,掌握执行门控

  3. 世界(World) :真正执行动作的世界,分为仿真和真实世界两类。仿真世界中保有状态、碰撞、奖励和终止条件等真值;真实世界中可以拿到机器本体状态真值,但碰撞、奖励、和终止条件依赖于人类输入或模型根据观察判断。

四、OpenETA:开源具身智能体框架

OpenETA 是一个面向具身任务的开源智能体框架。它并不试图再训练一个直接预测机器人动作的大模型,而是把基础模型、工具、技能、宿主运行时、仿真器或机器人以及评测机制组织成一个完整系统,让智能体围绕任务持续运行“观察—决策—行动—验证”闭环。

它关注的不是某一步动作看起来是否合理,而是一个任务能否被可信地完成:模型是否理解了目标,下一步指令是否允许执行,动作之后世界究竟发生了什么,失败后应该继续、重试、回退、重新规划还是向人求助。每一步的观测、指令、动作、环境回执和判断依据都会进入可回放的轨迹。

为此,OpenETA 把智能能力与执行权明确分开。智能体负责理解目标、维护工作记忆和提出结构化指令;中间层负责检查工具、参数、权限、安全门控和前置证据;仿真器或机器人真正改变世界,并返回状态、碰撞、奖励和终止条件等环境真值。可以概括为:智能体负责“想做什么”,宿主负责“能不能做”,环境负责“实际上发生了什么”。

作为开源框架,OpenETA 希望提供一套可替换、可比较、可复现的具身智能实验底座。研究者可以在同一运行协议下接入不同模型、工具、技能、环境后端和检查器,回放成功与失败轨迹,并把经过验证的经验沉淀为后续评测和学习的数据。项目地址:https://github.com/OpenMOSS/OpenETA

为了把这一闭环落实为可调用、可组合、可审计的系统,OpenETA 进一步区分了几个经常被混在一起的概念。

智能体层:

  • 工具(Tool):由宿主注册、具有稳定参数与返回契约的原子能力。OpenETA 不只按能力类别组织 Tool,还为每个 Tool 标注 read_only、planning、bookkeeping 或 world_mutating  等副作用等级;运行时据此判断调用能否批处理,以及动作后是否必须重新观察。

  • 技能(Skill):可编辑的文本指导,告诉模型通常应该如何思考和检查,但不会在背后偷偷执行一串动作;

  • 回应(Response):用于对话、向人求助或宣布任务完成;

  • 灵魂设定(Soul):跨任务、跨会话稳定的身份、行为边界和风险偏好。

中间层:

  • 稳定契约与副作用分类:规划器只提交 tool_call 或 response 两类结构化指令;Tool 的名称、参数、处理器和副作用由宿主持有。所有执行结果都会被归一化为统一的 ToolResult,其中分开记录输出、产物、状态变化、诊断信息和环境回执。

  • 执行门控与新观测义务:只读或规划调用可以在受限条件下批处理,world_mutating 动作则一次只执行一个。目标尚未确认、安全检查未通过或前置证据不足时,Interface 会直接阻断执行;动作成功或结果未知后,系统必须取得新观测才能继续依赖当前状态的决策。

  • 可信回执与后端隔离 :智能体只看到稳定的 Tool 语义,Interface 再通过 MCP 等适配层连接仿真器或真实机器人,低层控制细节不暴露给规划器。环境奖励、终止状态等真值只有在宿主签注的来源、执行 ID 和会话 ID 全部匹配时才会被接受。

世界层:

  • 原子动作(AtomAction):真正可能改变物理世界的执行原语。

这样的拆分,可以把“模型的知识”和“系统的执行权”分开。技能可以帮助模型知道抓取前要确认目标、放置后要验证关系;但真正的移动、夹爪闭合和释放,仍必须作为一个个可审计的原子动作出现在轨迹中。

五、一次抓放,其实是一条证据链

以“把 alphabet soup 放进篮子”为例,来看一下OpenETA是怎样工作的。

机器人首先要解决的,不是“怎么抓”,而是“任务说的究竟是哪一个物体”。在包含多个相似包装的场景里,把目标简单改写成“汤罐”,可能得到一个分割质量很高、实例身份却完全错误的蒙版。

OpenETA 会先从受控的物体记忆中检索目标参考图,再将参考外观与当前场景对齐,为视觉定位模块提供提示。候选蒙版只是排序依据,不直接等于“目标已确认”。在确认义务解除前,抓取估计和物理控制不会继续。

即使夹爪闭合,也不能直接宣布抓取成功。系统还要检查:目标是否随末端共同运动?原位置是否已经空出?当前观测是否与候选目标、相机参数和场景版本一致?

释放后,视觉上“看起来放进去了”也不是最终结论。任务成功必须落到可信环境的 reward、termination 或任务 checker 上。

所以,ETA 保存的不是一句“抓放成功”,而是一条完整证据链:

资产参考 → 场景定位 → 候选确认 → 抓取动作 → 动作回执 → 新观测 → 附着检查 → 携带与释放 → 环境奖励

六、无需训练可以跑通实验闭环,展示出极高潜能

一个具身系统最容易陷入的陷阱,是把“展示过一次”写成“已经解决”。因此,OpenETA 选择把成功和失败都放回可复现的实验记录中。

为了让结果可复现,我们按 suite 冻结停止预算:Spatial、Object 和 Goal 的单个 episode 最多运行 100 个规划轮次、400 次工具调用和 1800 秒;Long / LIBERO-10 最多运行 200 个规划轮次、400 次工具调用和 3600 秒。预算耗尽是系统在既定资源约束下的失败,不是从统计中排除该 episode 的理由;任务成功只接受 LIBERO 原生检查器返回的官方正奖励。

完整 OpenETA:固定 40×10 评测

我们在 LIBERO Spatial、Object、Goal 和 Long / LIBERO-10 四个 suite 上评测完整 OpenETA,每个 suite 包含 10 个任务,每个任务使用 10 个预注册 seed,共形成 40 个任务 × 10 个 seed = 400 个 episode 的完整笛卡尔积。测评所使用的模型为 gpt-5.6-luna,reasoning effort 为 medium。所有 episode 采用相同的冻结工具契约和只读策略,不加载评测期间产生的经验,不允许人工或 Agent assistance;只有可信环境回执中的 LIBERO 官方正奖励才计为成功。

完整矩阵中共有 56 / 400 个 episode 成功,40 个任务中有 18 个至少在一个 seed 上成功。Object 和 Goal 的点估计高于 Spatial,而 Long / LIBERO-10 仅成功 1 次,说明长时程子目标跟踪、动作后的感知复查、放置关系判断和剩余预算协调仍是主要瓶颈。全部 56 次成功都有官方 LIBERO 正奖励,实际人工或 Agent assistance 均为 0。

整轮评测耗时 19 小时 35 分钟,共记录 17,231 个规划轮次、17,141 次工具调用和约 2.282 亿 tokens。实际 trace 并发峰值为 10,provider 并发峰值为 2;没有 queue timeout,评测结束后也没有残留活动环境。这些资源数据进一步说明,提升长 episode 的推理、验证和仿真效率仍是后续重点。

为了直观展示闭环如何运行,技术报告中还给出了一条本地 LIBERO-10 成功轨迹:每次工具调用后,Agent 都基于更新后的场景重新决策,并只在收到可信官方奖励后确认完成。动态图与更多演示可在 https://openmoss.ai/OpenETA/查看。

OpenETA-for-codex:可以直接在codex中使用

OpenETA-Light 进一步将具身交互能力压缩为三个工具:observe、mark_point 和 move_to ,用来检验当宿主侧能力被最小化后,Agent 能否承担更多语义理解、空间推理和闭环恢复工作。评测覆盖四个标准 suite 的 40 个任务和 LIBERO-90 的 90 个任务,共 130 个任务;图像分辨率为 512 × 512,并使用实时多视角点云。每次尝试的 simulator horizon 为 5,000 steps,超时为 5,400 秒。

我们比较 GPT-5.6 Luna、Terra 和 Sol,三者均使用 medium reasoning effort,并共享同一启动提示词、工具 schema、返回格式、视觉反馈契约、任务目录和有序 seeds 0–4。这里报告的是任务级 Pass@k:如果某任务在前 k 个有序 seed 中至少有一次通过 LIBERO 原生检查器,该任务就计为已解决。

在完全一致的工具与视觉契约下,Sol 的任务覆盖率最高:Pass@1 已解决 92 个任务,Pass@5 达到 117 / 130 = 90.0%;Terra 从 58 个提升到 83 个,Luna 从 21 个提升到 62 个。随着 k 增大,三种 planner 的覆盖率均上升,说明单次运行会显著低估系统在有限重试预算内可解决的任务范围;同时,模型之间持续存在的差距表明,更强的推理能力能够转化为更高的具身闭环任务覆盖率。

从轨迹中还观察到,在需要精确定位抓取点的任务上,Sol 更少出现由标定误差引起的空抓,并且更常使用 move_to 的 preview 功能后再决定动作。这是行为层面的观察,尚不是对具体机制的独立因果检验。

当前系统仍然很慢、很贵,推理、验证和仿真调用的综合延迟明显 。但实验数据证明ETA范式具有完成各类仿真任务的能力;相信随着基础模型的发展,和后续我们计划训练的具身专属agentic基模的出现,ETA范式会变得更加高效和鲁棒。

七、OpenETA可以完成Sim2Real的无缝迁移

OpenETA 并不把具身智能绑定在某一个仿真器或某一种机械臂上。智能体接收标准化的观测,提出结构化的动作指令;运行时层再通过后端适配器,把获取观测、移动、抓取和释放等工具调用转换为仿真环境或真实机器人的控制指令。只要不同后端对同一种工具保持一致的功能语义,ETA 层的任务拆解、工作记忆、技能、失败恢复和验证流程就可以继续复用。

因此,OpenETA 从仿真迁移到现实世界的,并不是一条在仿真中记住的动作序列,而是一套任务级闭环。在仿真环境中验证过的目标描述、工具契约、宿主门禁、新观测义务、检查流程和轨迹记录,都可以带到真机系统中。迁移时主要替换的是底层执行后端,以及与具体设备相关的相机、坐标系、运动控制器和夹爪接口。

OpenETA 的价值在于,迁移过程中不必重新编写整套任务逻辑,也不必为每一种机器人从头训练一个端到端模型;需要更换的是设备适配层,而不是任务级智能体。

一套典型的迁移流程是:先在仿真中调通观察、动作和验证闭环,再接入真机后端完成坐标和传感器标定,随后以低速度、小范围动作验证工具语义,最后再运行完整任务。无论在仿真还是真机中,每一次改变世界的动作之后,系统都必须重新获取观测,并根据真实回执决定继续、重试、重新规划或停止。

OpenETA 已经搭建了连接真实物理世界的接口,可以较为方便地开展真机实验。下面展示的是使用 OpenETA 完成真实世界具身任务的测试。

八、OpenETA Future Work

目前,OpenETA 已经把多模态规划、原子工具、文本技能、会话级工作记忆、仿真与感知接口、并行评测和不可变轨迹(rollout)记录串成了一个可复现闭环,并在 LIBERO 中完成过官方 reward=1 的长程抓放任务。

但它远不是一个通用具身基础模型,当前仍然存在明显边界:

  • 多物体任务中的子目标进度和剩余时间管理还不充分;

  • 放置关系、释放时机和携带过程中的附着稳定性仍是主要瓶颈;

  • 双臂协同、动态接触、移动操作任务缺少优秀的tool可用;

  • 真机安全、控制频率、急停、传感器标定与负载限制,需要单独验证,不能由仿真结果直接推出;

  • OpenAI 和 Claude 的旗舰模型可以成为很好的Coding agent,但是好的Embodied Task Agent需要学会每一步执行后主动观察世界变化,并动态调整环境,这是目前模型所欠缺的特性。

    目前的边界正是OpenETA团队的未来工作方向

    • 优化agent系统,使其token利用率更高,工作流更稳定;

    • 期待整个robotic社区共同推进,设计出更好的感知和控制tools及硬件,将ETA范式扩展到双臂协同、动态接触、移动操作等更复杂任务上,初步具备落地生产生活场景的能力;

    • 把可信 rollout、数据导出、训练和回归评测连接起来,让智能体不仅完成任务,也能在工作过程中自我进化(self-improvement)

    • 利用自进化循环中产出的数据训练更强,更适配具身闭环控制的agentic model

    结语:具身智能的关键,不只是更大的模型

    具身智能当然需要更强的模型,但更大的模型本身不会自动带来可信的物理闭环。真正需要补上的,是一套能让模型回答以下问题的系统:

    • 我刚才看到了什么?

    • 我准备改变什么?

    • 谁允许我这样做?

    • 世界实际上发生了什么?

    • 这次经验在什么条件下仍然值得相信?

    当这些问题都能留下结构化答案时,我们才真正拥有了一个可以评测、可以改进、也有机会走向真实世界的具身任务智能体。

    今天的 OpenETA 主要通过调用观测、目标定位、抓取规划、运动控制、夹爪控制和环境检查等基础工具完成任务。未来,VLA 和 WAM 也可以成为 ETA 按需调用的高级能力工具:VLA 可以提供短程动作建议或可复用操作技能,WAM 可以预测未来状态、比较不同计划可能带来的结果。任务级智能体根据目标和当前证据决定何时调用这些模型,宿主运行时仍然负责执行门禁和动作后验证。这样,VLA、WAM 与通用智能体不再是相互替代的路线,而可以组成能力更强的具身智能系统。

    与此同时,每一次任务留下的成功与失败轨迹、环境回执、检查器结论和恢复过程,都不只是运行日志,而是后续迭代的经验资产。经过筛选和验证的经验可以进入数据导出、模型训练、回归评测与重新部署,形成“执行—验证—沉淀—学习—再部署”的能力飞轮。随着飞轮持续转动,系统的升级将不再只依赖一个突然变大 的基础模型,也来自真实任务中不断积累、可以验证和复用的经验。

    论文:https://arxiv.org/abs/2608.03924Github 仓库链接:https://github.com/OpenMOSS/OpenETA项目主页:https://openmoss.ai/OpenETA/
    图片
    一起“点赞”三连↓

    Python社区是高质量的Python/Django开发社区
    本文地址:http://www.python88.com/topic/199499