You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
结论先行
截至 2026-08-17 的
main@21dbe464,UniLab 没有可用的通用 manager-based API,也没有已获实施授权的 manager roadmap。历史上先后出现过三轮相关工作:
ManagedTaskPlan / TaskCompiler / PolicyABI原型;NpEnv的轻量 term plan + 自动 Numba fusion。三轮都产出了有价值的设计和实验,但都没有成为当前主线能力。真正合入
main的是从大分支中减法保留的独立mjwarphost adapter;manager core、manager 专属训练 ABI、typed runtime 和后续 term-plan/Numba 路径均已删除、回滚或未合入。本帖只做两件事:把历史事实放到一个地方,并征集真实使用需求。它不批准 roadmap,不授权恢复旧代码,也不把
mjwarp、Numba 或 backend 重构重新绑进 manager API。历史时间线
NpEnv与 greenfield 两种方向mjwarpproduction 化和大量 evidence/gate 绑定main;#883 记录该分支一度达到 304 commits、285 files、约 10 万行新增的 scope 失控TermDefinition没有 callable、没有共享 term library,新增 reward 仍要修改 task kernel,因此不等同于 Isaac Lab / mjlab 语义下的 manager-based API;另有 CI、兼容性、证据比例和维护性 blockermjwarpadapter,随后进一步做减法:删除 G1 manager pilot、manager 训练 ABI、通用 manager core、keyed RNG 和 typed batch/mutation 残留mjwarphost adapter、PPO/SAC owner 和 offline record 合入main;manager 不在交付中main删除 Numba、相关执行路径、配置、benchmark 和 CI;完整因果链见 #932历史工作真正留下了什么结论
已经有证据支持的结论:
历史没有证明的结论:
mjwarp或新的 backend contract。当前主线基线
当前
main的事实是:NpEnv继续拥有 step/reset/autoreset/terminal observation 生命周期。joystick.py、rewards.py)。SimBackend仍是 env 可访问的物理边界。src/unilab/manager、TermDefinition、CompiledTaskPlan、managerPolicyABI或 Numba 执行面。现在需要决定什么
建议先在下面三种方向中判断需求,不先写新架构:
0. 暂不重启通用 manager(默认建议)
继续使用
NpEnv + task-owned update_state + Hydra reward config,优先补参考文档、复用 helper 和具体任务迁移。适合当前痛点主要是“不会配置/缺文档”,而不是多个 task 持续复制同一套 observation/reward/termination 逻辑的情况。永久维护成本最低,也不会新增公共 contract。
1. 只做窄的 task-authoring 层
只解决一个用户可见结果,例如“已注册 reward term 可由 owner YAML 选择、校验和记录”;保留
NpEnv生命周期、task-owned command/reset/curriculum、NumPy 执行和现有 checkpoint。Observation、termination、action 分别等真实需求出现后再决定,不提前建设完整 manager 集合。若选择这条路,第一个 implementation issue 仍应只有一个主要结果、一个 pilot、一个 PR,并遵守 ≤15 files / ≤800 行净手写改动;新增公共 contract 需单独确认。永久成本是 registry/schema、错误诊断、文档和跨 task 测试。
2. 重新讨论完整 manager runtime
只有当具体任务同时需要可组合 observation/action/reward/termination、command 重采样、event/DR、curriculum、entity/scene 寻址和稳定 policy ABI,而且现有 lifecycle 已明确成为阻塞时才进入。
这会是 env/config/backend/checkpoint 的跨层 umbrella,不是一个 implementation issue;需要逐项 child 授权,并接受长期维护 lifecycle、迁移工具、兼容策略和跨 backend 验证。旧 #705/#847 代码只能作为研究样本,不能默认恢复。
请按真实使用场景回复
如果你希望 UniLab 增加 manager-based 能力,请尽量提供:
num_envs;建议在至少出现两个独立、具体、可复现的使用场景前,不恢复通用 manager package。若需求集中在 reward/observation authoring,就从最窄的 authoring pilot 重新设计;若需求集中在 entity、sensor 或文档,则由对应 owner issue 解决,不把它们包装成 manager 重构。
All reactions