用途:把 Gym 存储的 Responses 风格轨迹转换为规范 ATIF 轨迹,供 Harbor 或 Eval Author 下游流程使用。Gym 的 Harbor 桥可运行用户自己的 Harbor 智能体并把其 ATIF 投影为 Gym 响应;也可选择保留的最佳证据再转换。
主要能力:脚本 scripts/gym_to_atif.py 转换单条自包含记录,并保留来源、摘要、损失与不确定性;scripts/load_gym_trace.py 通过固定版 NeMo Compass 加载原生 ng_trajectory 附加证据(非 ATIF)。支持 Gym rollout 信封(responses_create_params 与 response)及带完整历史的独立 Responses 对象,包含文本与结构化图像消息、system/developer/user/assistant 角色、function_call 及其输出、记录的推理摘要。工具 ID、条目位置、状态、声明模式、聚合用量与报告的 reward 在可映射处保留;缺失结果不被编造,未配对输出被拒绝。
使用方式:仅转换一条记录时运行 python scripts/gym_to_atif.py --input <private-rollout.json> --output-dir <private-gym-dir>;若有 Harbor 支持运行保留的原始 ATIF,用 --source-atif <path> 优先直接提供,避免 Gym→ATIF 往返;对 .jsonl 文件必须用 --row 指定从一开始计数的物理行号。仅剩 Harbor→Gym 投影时才显式加 --allow-projection。输出目录含 source.gym.json、trace.atif.json、conversion.json 三个所有者私有文件(目录 0700、文件 0600),且不覆盖已有输出。
适用场景:需要为 Harbor 或 Eval Author 的 trace 环境准备 ATIF 输入,或从 Gym 原生 rollout 提取结构化轨迹证据。
限制:不支持原生 MCP/computer/shell/apply-patch 条目、命名空间调用、视频/音频/文件内容或不透明图像文件 ID,遇到即报无内容错误,应提供原始 ATIF 或补充映射;不推断逐步时间戳、token 成本分配、智能体实现身份或 LLM 调用分组;不抓取远程会话引用;不打开来源元数据中的路径。图像字节并非便携,需保留原始媒体包。映射基于 Gym 修订 676cf1f4efe265f74455f73986a734dbda4eaec2。下游 eval-author-trace-environment 流程为实验性,需标注。需 Python 3.11+ 与本地一条 rollout 记录,无需 Gym 运行时、凭据、Docker 或模型调用。