Memory 管理#

RPent 的 memory 按机器人维护,用于复用已验证的任务经验和操作策略,避免每次运行 都从头试错。

运行模式#

两种运行模式对 memory 的使用方式不同:

  • Evaluation 读取已有 memory,但不会更新 memory。

  • Exploration 用于生成和更新本地 memory,目前仅 LIBERO 支持。

Exploration 和本地 memory Evaluation 的详细流程见 LIBERO 探索文档

目录结构#

发布到 Hugging Face 的 memory 与本地准备用于评测的 memory 使用相同的目录结构:

<memory-root>/
|-- MEMORY.md
|-- global/
|-- suite/
`-- task_only/
    |-- <cell>.json
    |-- <cell>_recipe.jsonl
    `-- <task_key>.md

默认本地目录为 memory/<robot>/。Hugging Face 中 LIBERO 按模型版本分目录, 详见下文;其他机器人仍使用 <robot>/。自定义 --memory-dir 可指向任意采用上述结构的目录。

各目录均按需存在,机器人只需提供实际使用的目录:

  • global/ 保存从成功经验中提炼的跨任务通用经验。

  • suite/ 保存探索过程中按 suite 组织的任务级经验,可汇总多次尝试, 并在同一任务的不同 seed 间复用。

  • task_only/ 保存成功运行产生的 audit、recipe 等同一任务参考文件。

  • MEMORY.md 用于索引 global/suite/

评测时,规划器只能读取当前机器人的 memory;缺少某一类 memory 不会阻止任务运行。

使用 memory#

RPent 从公开数据集 RLinf/RPent-memory 下载 memory。 LIBERO 默认使用 --memory-version auto 按模型选择:

LIBERO memory 版本#

当前运行模型

libero/ 下的 memory 目录

探索生成配置

gpt-5.5

GPT_5.5_xhigh

Codex,Reasoning 开启,xhigh

gpt-6-astra

GPT_6_astra_low

Codex,Reasoning 开启,low

支持 openai: 等提供方前缀。Codex 优先使用 --model,其次使用 CODEX_MODEL。 其他模型、Claude 或无法确定的默认模型会回退到 GPT_5.5_xhigh,并输出提示。 Flash 重放默认选择 GPT-5.5。显式指定版本优先于自动选择,不改变当前模型或 reasoning effort;目录名中的 effort 只说明该 memory 的探索生成配置。

# 自动选择 Astra memory。
rpent --robot libero --suite libero_goal_swap --task 1 --seed 1 \
  --planner codex --model gpt-6-astra --reasoning-effort low

# 同一模型使用 GPT-5.5 memory。
rpent --robot libero --suite libero_goal_swap --task 1 --seed 1 \
  --planner codex --model gpt-6-astra --reasoning-effort low \
  --memory-version GPT_5.5_xhigh

CLI 和 Dashboard 都在每个任务开始前解析 memory 根目录。在 Dashboard 的 下一任务的模型 中修改模型后,下一任务会重新进行自动选择;正在运行的任务保留原模型 和 memory。显式指定的 memory 版本不会随模型切换而改变。

仅下载所选版本。LIBERO 缓存位于 memory/libero/.versions/,按仓库、提交和版本隔离, 每次复用前校验所有文件。HF_HUB_OFFLINE=1 要求所选版本及 revision 已有完整、未改动的缓存。 下载失败不会改用另一模型的 memory;缓存缺失或不完整会明确报错。 其他机器人保持原有的可选 memory 同步行为。

独立下载与本地评测#

rpent-memory sync --robot libero --memory-version GPT_6_astra_low
rpent-memory sync --robot libero --model gpt-6-astra \
  --revision <release-commit> --output-dir /path/to/new-astra-memory
rpent --robot libero --suite libero_goal_swap --task 1 --seed 1 \
  --planner codex --model gpt-6-astra --reasoning-effort low \
  --memory-profile local --memory-dir /path/to/new-astra-memory

sync 输出实际 memory 根目录,--output-dir 必须是尚不存在的目录。 它也支持 --planner``(默认 ``codex),用于解析默认模型。 --memory-profile local 不下载 memory;本地模式或 --explore 与显式远程 --memory-version 同时使用会报参数冲突。探索使用本地 memory,每次独立探索应指定单独的空目录。

发布来源与兼容性#

数据集中的 libero/README.mdlibero/manifest.json 记录版本、原始快照和 SHA-256。 GPT-5.5 文件内容保持不变,原有 task_card/ 一并迁入模型目录。 Flash 在所选版本内兼容读取 flash/ 或旧名称 task_card/。 Astra 没有重放资产,显式选用它执行 Flash 时会报错。

Astra 发布版合并了 Long 与 Spatial/Object/Goal 两批探索 memory;三个重名但内容不同的 global 文件分别加来源后缀并保留两份。79 对任务 audit/recipe 保持原始内容,Long Swap task 6 没有专属经验,不补造。历史 741/800 成绩使用原先两份冻结快照按套件分别评测, 合并发布版尚未重新评测。生成环境为运行提交 014a0fa,属于场景 seed 修复前版本。 原始快照保留在 Hub tag libero-astra-long-frozen-20260917libero-astra-spatial-object-goal-frozen-20260917

加载器兼容旧的无版本 Hub 布局,但仅将其视为 GPT-5.5 memory。 迁移前版本归档为 libero-gpt5.5-xhigh-before-versions-20260917。 不支持版本选择的旧 RPent 客户端需升级,或下载旧 revision 后使用本地 memory:

hf download RLinf/RPent-memory --repo-type dataset \
  --revision libero-gpt5.5-xhigh-before-versions-20260917 \
  --include 'libero/*' --local-dir /path/to/legacy-download
# 旧 RPent 客户端使用:
rpent --robot libero --suite libero_goal_swap --task 1 --seed 1 \
  --planner codex --model gpt-5.5 --memory-profile local \
  --memory-dir /path/to/legacy-download/libero

也可以按相同的目录结构自行准备本地 memory,通过对应环境的 --memory-dir 选项或 本地 memory 配置使用。Hugging Face memory 和本地 memory 使用相同的目录规范,区别只 在于来源。

贡献 memory#

Hugging Face 上的 memory 由 RPent 维护者审核和发布,仓库本身不提供自助上传入口。 如果希望新增或更新 memory,可以在 RPent 仓库提交 issue,附上对应的 memory 文件和 来源信息,由维护者审核后加入 RLinf/RPent-memory