v3.4 下一轮:退化诊断、修复与机制验证
2026-09-08 · 交给执行 AI 的实验方案

HATT v3.4 下一轮实验交接:先诊断退化,再验证服务任务条件

日期:2026-09-08。对象:接手实现和执行实验的 AI。本文交付实验设计、模型清单和验收协议;本轮对话只编写交接材料。后续 AI 收到用户执行指令后,按下述阶段开展工作。

当前执行状态:函数保持初始化已经实现并通过单元测试。首次正式运行因 sweep 环境字段没有传播到 job,实际进入 capcoal,结果单独归档。纠正后的三 seed delivcoal 配对训练与测试已经完成,运行目录为 runs/20260909-1315_delivcoal_hatt-v34-function-preserving-corrected。taskctx 的 validation-best/last 成功率为 65.89%/65.63%,配对 noctx 为 64.84%/61.98%;聚合末期回落缓解,taskctx 增量仍小于训练 seed 波动。完整评估见 v3.4 函数保持初始化评估。

优先级已根据用户补充意见调整:先查清 checkpoint 波动和末期性能回落,依据证据决定训练修复;服务任务条件实验作为随后验证方法价值的阶段。 v3.4 当前作为候选设计。首批执行 R0/R1,交付退化定位;有具体来源后选一个 R2 修复方向。P0–P2 保留为机制验证协议,根据前置结果执行。

配套 protocol_spec.yaml 为机器可读的设计规格;接手 AI 据此实现新的评估 manifest 和接口。

1. 从哪些已有结果出发

已完成观察 本轮设计上的含义 来源
taskctx/noctx 的 validation-best 成功率为 65.10%/62.50%;last 为 61.72%/62.50%,各 3 个训练 seed 同时保留已锁定 best 与 last;优先检查条件行为和后果 analysis/hatt_v34_taskctx_20260907/EVALUATION_SUMMARY.md、同目录 final_by_seed.csv
优先级实验中 v3.3AA learned 的目标概率增加 0.0419,指派增加 0.490 人,响应提前 25.93 步 价值敏感性已有行为记录;本轮加入源任务依赖条件 analysis/priority_reconfiguration_20260905/EVALUATION_SUMMARY.md
立即重选相对首次保持当前动作,learned 平均出现 5.198 次归属变化,包含 2.948 次其他目标间切换;完成率差为 0,回报差 −1.91±13.73 同一状态分别检查焦点成员决策和全队同步决策,并跟踪源/目标的执行后果 同上
v3.4 的 AA 边加入邻居当前任务需求、优先级、载荷比聚合与人数;新增参数 512 将新增四维输入作为可定位的推理干预点 algorithms/algorithm/HATTV34Network.py 的 _relation_features

数值中的 ± 为三个训练 seed 的样本标准差。论文主线仍为任务条件化关系建模,历史 v2.0 作为已有结构参照。完整研究交接

本轮需要分别回答三个问题:策略是否随源资源条件调整选择;这种选择在执行后产生怎样的任务后果;新增服务任务输入承担了多少可观察的作用。三个问题各有对应实验和结果字段。

1A. 退化问题的当前判断与优先级

已有实测显示明显的 checkpoint 波动,以及一个训练 seed 的实质性末期回落。 它值得优先处理。对“整个 v3.4 严重退化”的判断,保留以下分层事实:

比较对象 实测变化 对应解释
taskctx seed 2,所选→last,独立 128 场景 成功率 71.88%→61.72%,下降 10.16 个百分点 有直接的末期性能回落记录
taskctx seed 1 与 seed 3,所选→last 成功率分别维持 66.41% 与 57.03%;seed 3 的所选权重本身为 last 已测差异集中在 seed 2;seed 1 还需查看完成率等连续指标
taskctx 三 seed,所选→last 成功率 65.10%→61.72%;完成率 95.31%→94.48%;响应均值 22.18→25.32 步 回落涉及终局结果和服务过程
taskctx seed 2,固定验证集 episode 700→750→1300→1500 成功率 90.63%→46.88%→71.88%→56.25% 轨迹包含大幅波动、恢复及末期下降;按峰值和末次之差描述时需同时展示中间点
相同训练 seed 1–3 的历史参照 v2.0 full best/last 为 70.83%/65.89%;v3.3AA/noctx 为 62.50%/62.50%;taskctx 为 65.10%/61.72% 关系结构沿革中的总体水平差异,与本轮新增四维上下文的增量分开分析

来源为上一轮 final_by_seed.csv、periodic_validation.csv 和 统一三 seed 历史表。32 场景验证集的峰值同时受选模影响;128 场景所选→last 是本次已具备的独立测试比较。

本次补充读取了六个训练任务的 TensorBoard。taskctx seed 2 最后 20% 已记录环境步中,日志 approx_kl 均值 0.00057、最大 0.00634;clip fraction 均值 2.11%;平均 entropy 1.45;early-stop 记录为 0。这些日志值是 trainer 对多个 PPO 更新的汇总,更新后的逐步 KL 需要另行记录。当前日志未呈现明显的末期更新幅度失控信号,因此先依据行为与轨迹定位,再选择优化器修改。日志派生表、来源哈希

R0:现有数据审计,建立退化对象

将各 seed 的原始验证点、实际 environment steps、训练 episode 和模型文件对齐。独立列出所选→last、固定末期区间以及相邻 checkpoint 的变化;将 validation/test 区分。读取策略熵、KL、clip fraction、实际 PPO 更新数、active 样本量(日志具备时)、critic loss、AA/AT gate 和消息范数。特征诊断日志的横轴是环境 episode,PPO 日志横轴是 environment steps,按 runner 记录转换后再联图。

已有 audit_training_traces.py 可重建六个任务的首 20%/中 60%/末 20% 描述性汇总。该汇总用于定位检查区间;平均 gate 与消息范数的变化还包含访问状态分布变化,下面用相同状态进一步检查。

R1:固定 checkpoint 的退化定位,先于大规模源条件实验

六个模型统一取计划 episode [500,700,750,1000,1250,1400,1500] 的实际冻结 checkpoint。使用周期表将 700→701 等实际保存位置显式映射,生成新清单并锁定哈希。全部在相同 64 个新诊断场景上执行原环境闭环评价,建议种子从 730000 开始,启动前检查占用。总计 6×7×64=2688 回合。该网格用于诊断,保留此前锁定的 best/last。

逐回合保存:任务发现数随时间的曲线、已发现但未完成任务需求、机器人载荷/电量、探索与补给占比、决策机会和任务切换、源任务退出后资源缺口。最后同时报告未发现任务与已发现未完成任务,两者可在同一失败回合中共存。

从上述场景轨迹按预先固定时间取共享决策状态,全部 checkpoint 在同一状态上计算动作概率。重点比较 Deliver/Explore/Resupply 概率、top-1/top-2 logit margin、AA gate 与 candidate/global context 范数。对相邻模型在同一状态发生动作翻转的情况,关联后续发现与服务结果。这样可区分访问状态改变、网络本身的决策漂移,以及 argmax 对接近概率的敏感性。

R1 输出 DEGRADATION_DIAGNOSIS.md,明确回落出现在哪些 seed、区间和行为上;固定区间均值与逐点都展示。根据这一诊断,选择下列单项修复或继续 P1/P2 的局部定位。

R2:按具体证据选修复方向

待核实来源 可以实施的修复 配对验证
输入扩展伴随初始函数改变,启动差异明显 对 taskctx 做函数保持初始化:复制 noctx 全部共有参数;AA edge_bias 第一层前三列复制,新增四列初始化为零。保持后续新增列可训练 同一随机状态批的初始 logits/合法概率逐项等值;再做 noctx、函数保持 taskctx 的同期训练。当前同 seed 的两种构造尺寸不同,应先测共有参数及初始函数
同状态的动作/消息漂移与源摘要数值表达相关 将下一版服务摘要定义为同一单位的实际承诺载荷及需求,保留明确的 observer 排除语义;用成对状态验证物理缺口 独立训练新字段对照,原冻结 checkpoint 保持原输入。首轮只改摘要表示,记录其他参数一致性
出现单次 actor 更新后的 KL 越界,或差状态上的集中漂移 先补充每次更新前/后、active 样本上的 KL。对确认的越界,把停止判定放到待执行 actor.step 之前;必要时增加 actor 与 Adam 状态回滚及减半步长重试 同一保存批次重放,比较更新后概率和损失;critic 的更新计数单独管理。当前 trainer 在 optimizer.step 后根据此前算出的 KL 判停,此处存在可检查的控制时机
持续更新损害此前能够完成的场景,差异集中在既有技能 试验对固定旧策略的 KL 约束,锚定其确实完成的技能状态;约束强度预先固定 使用独立诊断状态评价新旧技能,记录保持旧行为与适应新状态的交换;先定位遗忘再添加该约束
随机种子间的单次 rollout 采样/active 样本差异解释更新波动 按足够的有效决策样本组织更新,或提高并行采样稳定性 保持总环境交互预算与每样本复用次数一致,报告有效样本数和吞吐;具体量由 R0 的 active 样本分布确定

以上是修复候选,首轮选一个具有直接依据的方向。现有日志中的平均 KL 较小,直接降低学习率或降低 entropy coefficient 的依据需要进一步检查;两者可能同时影响探索和收尾。taskctx seed 2 从 episode 700 到 750,验证发现率由 99.69% 降至 93.75%,完成率由 99.06% 降至 92.81%,这给探索行为诊断提供了具体检查段。

修复试验使用原设置和单一修复的配对分支,先以发生回落的 seed 2 检查 200 个训练 episodes;观察有解释力的变化后再覆盖三个 seed。继续训练前检查完整 optimizer、ValueNorm、计数和 RNG 状态是否保存。当前 base_runner.save 路径直接保存 actor、critic 和 ValueNorm;若目标 checkpoint 缺少其他训练状态,两条分支须采用相同的重置优化器协议,并标为“从共同权重开始的受控分叉”。这类结果用于评估修复,不承担原训练轨迹的精确复现。

修复的评价使用固定末期区间与 last,同时保留 best。先报告原环境的任务完成、发现及配送过程;再根据需要启动下面的源任务机制实验。模型初始化或摘要变更需要从适合比较的共同初始条件训练,不能把不同起点的分叉当成同一类修复对照。

进入机制验证的条件: R1 已定位主要波动范围,原环境上的模型质量与修复决策已经有明确记录。若退化集中于源任务退出/同步重选,P1 的小型配对可直接作为定位工具,先用 smoke 规模运行;正式 128 状态全协议的预算在诊断结论后确定。

2. 接手后先核对的实现

阅读顺序:HATTV34Network._relation_features → forward → gaRMAPPOPolicy → diagnose_idle_opportunity._make_runner/_distribution → evaluate_source_commitment → evaluate_priority_reconfiguration._continue → DelivCoal step/Agent.act。当前来源文件及哈希见 design_sources.json。工作区已有用户修改,实施时先记录当前 diff,兼容现有修改。

当前代码行为 对下一步的具体要求
_find_focal_and_others 选择至少两个带载荷成员,_apply_condition 将其他成员在源任务与 Idle 间切换 对每个配对显式验证实际载荷不等式,保存成立的标签。原方案可作为成员归属干预的补充组
_generate_state_bank 在 reset 后把全部任务置为已发现,默认只采样 step 150 将初始可见性和采样阶段变为显式协议字段,并生成分层共享状态库
_evaluate_model 当前输出 stay/transfer 概率及 argmax 增加首次动作执行和闭环评价,保存原始任务时间序列
v3.4 服务摘要由 others 聚合,包含邻居 k,排除 observer i;载荷单位为 load/init_load 物理标签从环境真实 agent.load 计算;网络摘要按原模型输入保留,并分别落盘
现有 source manifest 的 base 与 eval 条目重复使用 name,主评价条目为历史 v3.3AA 建立唯一 model_id;加入六个 v3.4 主评价模型,按角色解析清单
Agent.act 同时更新归属、路径和部分执行状态 构造状态时记录所有联动修改;真实首次动作经过环境正式执行路径

AA 权重同时读取 query/key 编码和边输入;本轮讨论的是新增服务任务信息的显式通路。当前环境按标量载荷完成配送,资源覆盖条件在下文按这一物理模型定义。

3. 固定模型、场景与运行范围

主评价模型是本轮 v3.4 taskctx/noctx 各三个训练 seed 的 validation-best:

训练 seed taskctx episode noctx episode
1 850 1500
2 700 1400
3 1500 1500

另登记六个 last,用于随后在同一状态库执行稳健性复核。状态库生成模型沿用此前决策:v3.3AA learned 三个 seed 与 MAPPO64 三个 seed。它们的作用是产生多来源状态;taskctx/noctx 全部评价同一份冻结状态库。

checkpoint_registry.json 已列出这 18 个条目,以及 R1 的 42 个网格条目,包含实际文件、配置、角色、episode 和 SHA-256,文件存在性与哈希已核对。路径以仓库根目录为基准;转换为现有 _make_runner manifest 时统一解析根目录,避免按 manifest 所在目录误拼路径。本轮继续使用已锁定模型。 测试结果不参与重新挑选 checkpoint。修复后模型新增独立角色和结果表,历史条目保留。

主物理设置沿用冻结配置:DelivCoal,12 机器人、10 配送任务、20 动作槽、750 步上限、compact6、sector coverage、event 日程、shaped reward、确定性 argmax。所有模型 eval(),无梯度、无训练更新。模型内容相同的 best/last 可复用相同轨迹;先校验 state_dict 张量内容,保留两个 selector 到同一结果的映射。

4. P0:先使实验配对可核查

P0 只检查生成器、状态恢复和执行协议。建立小型确定性手工状态,覆盖关键/可替代、载荷临界值、动作非法、任务已完成、成员死亡和没有有效目标的情况。每种状态有明确的接受结果或排除原因。至少完成以下检查:

  1. 同一快照导入两次,在同一动作序列下逐步得到相同物理状态、奖励、active mask 和结束时刻。保存 NumPy、Python random、Torch CPU/CUDA RNG,以及环境自有 RNG(如有);仅 pickle core 的内容需逐项核对。
  2. 配对的不可变字段逐项一致;可变字段逐项列出。导出位置、能力、load、init_load、电量、归属、任务需求/优先级/可见性、路径、覆盖图、当前事件、last action 和时间。
  3. 载荷满足 0≤load≤init_load;总载荷守恒;焦点存活;源和目标为不同、已发现、未完成的 Deliver;两个动作均合法。
  4. 网络输入由最终物理状态重新构造。核对 AA 四维摘要的成员范围、字段尺度及 mask;推理调用前后 checkpoint 张量哈希保持相同。
  5. 主进程的单模型 worker 只执行一个分片;测试重启可恢复,结果以稳定 job_id/state_id 幂等保存。保留 source 脚本已有 --model worker 立即退出逻辑。

旧 smoke_test_source_commitment.sh 使用按脚本名称匹配的 pkill。新 smoke 应只管理自己创建的进程句柄或进程组,避免影响其他运行任务。

P0 通过后生成一份 preflight_report.json,包含测试项、代码哈希、依赖版本、checkpoint 核对和状态往返结果。P0 的合成状态用于代码验收,正式行为统计另用下面的状态库。

5. P1:源资源余量 × 目标价值,固定成员归属

5.1 为什么首先采用这一配对

现有 source 方案改变成员归属时,候选成员路由与 AA 条件会同时变化。本轮主配对保持成员集合固定,通过源成员与一名 Idle 储备成员之间的载荷交换跨越源任务覆盖阈值。这样,团队总载荷、焦点资源和候选成员人数保持一致;干预变量是资源分布。两种模型的原始队友特征都包含载荷,P2 再检查新增摘要通路。

5.2 物理状态的构造规则

设焦点为 i,源任务为 s,目标为 t,源需求为 D,焦点真实载荷为 L_i,源联盟其他成员真实载荷和为 L_−i。选择源联盟中带载荷的成员 b,以及源联盟外的存活 Idle 成员 q;两者均为实际机器人。焦点保持原位置、能力、载荷、电量、源归属和路径。

在不改变任务需求的前提下,构造:

critical:     L_−i = D − δ,且 D ≤ L_−i + L_i
replaceable:  L_−i = D + δ
0 < δ ≤ min(0.1 D, 0.25 L_i)

通过 b 与 q 的载荷交换实现两个状态,b/q 的载荷和固定,位置、能力、电量、归属、路径固定。取满足全部载荷上下界的最大 δ,要求 δ≥0.02D;数值比较使用 1e-6 容差。q 的载荷补偿在两种条件中同样记录。这个设计改变的是源成员与储备成员之间的资源分布,论文按这一范围解释。

D 与 L_i 必须大于零。其他源成员的载荷保持原值;若仅改变一个 b 无法构造合法区间,跳过并写入原因。对每个候选记录计算出的可行区间。状态接受规则只使用物理约束及原策略轨迹,主评价模型的动作与结果不参与筛选。

目标选择:从其他已发现未完成 Deliver 中取当前承诺载荷缺口最大的任务,要求缺口大于零;并列按任务 ID。该目标在四个条件中固定。目标 priority 分别设为 0.5 和 1.0,源 priority 保持原值;deadline、位置、需求、发现状态保持一致。源/目标均检查焦点按当前路径规划能够在电量耗尽及 750 步上限前抵达,记录路径长度与预计抵达步数。

四个条件为 critical-low / critical-high / replaceable-low / replaceable-high。它们共享同一 underlying_state_id。当前载荷覆盖表示已承诺物资是否足够,实际配送还包含到达、补给与后续重选;这些后果交由闭环评价计算。

5.3 共享状态库与数量

预定正式状态库 128 个基础状态,按下表均衡。每个基础状态衍生四个物理条件,全部六个主模型读取同一份库。

分层字段 取值与配额
来源策略家族 v3.3AA learned、MAPPO64,各 64 状态
信息条件 原始部分可见;reset 时全配送任务可见,各占家族内一半
采样阶段 step 100–199、300–399,各占上述单元一半
每个家族×可见性×阶段 16 状态,来源训练 seed 1/2/3 按 6/5/5 分配

一个生成回合最多接受一个基础状态。早/晚阶段使用不同场景 seed;在所分配时间窗内按时间顺序取第一个满足配对约束的状态,多个焦点按 agent ID 固定顺序选择。全可见是受控评价条件,原始部分可见保持训练环境的发现流程。两类结果分别展示。

建议 smoke 场景种子从 710000 起,正式候选从 720000 起,按来源/可见性/阶段分配互不重叠的区间;正式启动前检索已有使用情况并锁定具体列表。每个来源训练 seed×可见性×阶段最多尝试 64 个回合,共最多 1536 个生成回合。配额不足时发布实际合法数量与排除分布,并提交生成约束调整建议;先完成样本可行性判断,再查看主模型效果。下一版状态库必须有新版本号,保留旧记录。

6. P1 的执行分支、指标与判断

6.1 每个物理条件执行四条分支

分支 第一次动作 后续规则
focal-policy 只激活焦点,由原策略选择;其他成员保持当前动作 从下一步开始恢复原 event 日程和全队策略
focal-stay 只激活焦点,首次强制选择源任务 同上
focal-transfer 只激活焦点,首次强制选择目标任务 同上
joint-policy 首次激活全部存活成员,由原策略联合选择 同上

首次激活是本实验显式控制的决策机会;保存原 active mask 与干预 mask。保持动作按核心环境正式语义执行。分支在第一次动作后恢复原决策日程,不增加额外锁定期。记录焦点下一次重决策时刻和首次动作维持步数,帮助解释快速改选的情况。

从同一物理状态和 RNG 起点独立执行分支,结束于自然终止或原绝对时刻 750;采用单环境接口,终止后停止,防止向量环境自动 reset 混入新回合。联合分支的 AA/AT 一次性读取首次联合动作之前的状态。

6.2 预先固定指标

主要闭环指标:事件后按优先级加权的剩余需求时间积分。 设干预发生于 t₀,H=750−t₀,任务权重 w_j 为该条件固定的 priority,D_j(t) 为真实剩余需求。定义:

B(t) = Σ_j w_j D_j(t)
J = 1 − Σ_{h=1..H} B(t₀+h) / [H × B(t₀)]

分母 B(t₀)>0;J 越高表示剩余物资更早得到交付。任务全集包含当前隐藏任务,用环境真值计算评价。自然成功后 B=0 延拓到 750;全员死亡则用终止时的剩余需求延拓。干预时刻的 priority 在后续固定。保存逐步 B(t),让汇总可重算。这是本轮拟采用的评价量,公式和权重在正式评价前锁定。

同时报告原环境 success、任务完成率、priority-weighted completion、配送比例、原 shaped team return;保存源/目标完成时刻、首次交付时刻和剩余需求,以及补给、转移和承诺载荷变化。未完成任务使用“截至 H 仍未完成”的删失标记;描述性截断完成延迟取 H,并同时报告完成比例。

即时指标保存 P(stay)、P(target)、P(other)、argmax 和完整合法概率向量。对其他动作细分 Explore/Idle/Resupply/其他配送任务,避免把所有离开源任务都记为目标转移。

6.3 怎样连接动作与后果

在同一模型、同一条件下计算:

ΔJ_action = J(focal-transfer) − J(focal-stay)
ΔJ_joint  = J(joint-policy) − J(focal-policy)
ΔJ_model  = J(taskctx joint-policy) − J(noctx joint-policy)

ΔJ_action 给出首次留下/转移在该模型后续策略下的局部后果。比较 P(target) 随 ΔJ_action 正负和幅度的变化;当原策略 argmax 恰为源或目标时,记录它是否选到这两条分支中 J 较高者,并记录 max(J_stay,J_transfer)−J_实际选中分支。原策略选择其他动作的状态单独报告数量和焦点策略结果。平局阈值固定为 |ΔJ_action|≤0.005,并附上使用连续 ΔJ_action 的结果。

这个双动作对照的范围是同一后续策略下的局部选择。跨模型的主要效果比较使用同一状态、同一条件的 joint-policy J;每个模型各自的 ΔJ_action 另作机制诊断。

优先级变化影响 w_j,high/low 用于条件响应分析;J 的动作/模型差分在同一 priority 条件内比较。关键性对 P(target) 的影响、高/低优先级下该影响的差别,分别报告为状态配对差值。判定依据同时包含行为和 ΔJ_action,保留“关键成员在高收益目标下转移”的可能性。

joint 分支记录动作执行后的真实承诺:对每个源任务,将本次联合动作中全部离开的成员同时移出再计算资源缺口。旧逐成员 source_fragile 可保留为辅助字段,另增加联合动作后的缺口,供定位同步退出影响。

7. P2:同一 taskctx checkpoint 的服务上下文干预

P2 复用 P1 的全部物理状态,先做单步前向,计算代价很小。对同一个 taskctx 权重、同一个真实状态,保留 ego/others/tasks、AA 基础三维边、query/key/value、AT 与路由的原始输入,只在 _relation_features 输出后、进入 AA edge_bias 前,替换 新增四维服务摘要。

主干预:对 observer=i 的 AA 行,将源任务成员 k 对应的四维摘要替换成同一 state_id 的另一资源条件所计算的摘要。其他 observer、其他任务成员、控制槽保持原值。源条件主配对维持成员集合和需求/优先级,因此该交换主要改变源任务的载荷摘要。记录四维 before/after 和实际变化的边索引。

使用评估专用 hook/context manager,完成一次前向后恢复。补充零摘要条件用于敏感性观察,正常摘要为基准。三个 taskctx checkpoint 全覆盖;noctx 经过相同 hook 接口时输出应保持一致。加入等值摘要替换的恒等检查,以及“替换完成后正常前向复现原输出”的检查。

记录 P(stay)/P(target) 和 logits 的变化,并与 P1 完整物理配对的概率差对照。该结果描述新增输入通路的敏感性,解释时注明它是混合输入干预。若需要闭环确认,可在 smoke 后预先确定的 32 个均衡状态上,仅首次决策使用交换摘要,随后恢复正常输入;比较同一物理状态下正常/交换条件的 J。正式结果出现后保留原定子集。

8. 阶段、预算和后续分支

阶段 必须产物与通过条件 计划量
P0 实现验收 状态恢复、载荷标签、mask、hook 恒等、worker 与恢复测试通过 小型手工状态;只检查协议
smoke 8 个合法基础状态,覆盖信息/来源/阶段;全部输出可重算;先用 taskctx-s1/noctx-s1 8×4 条件×2 模型×4 分支=256 条轨迹
P1 正式 best 锁定状态库、模型哈希、指标与场景列表,完成全部六模型 128×4×6×4=12,288 条轨迹
P2 单步 正常/交换/零摘要与恒等检查 128×4×3 个 taskctx;分别保存干预条件
last 复核 在原状态库按相同主协议完成六个 last,重复权重复用 最多再 12,288 条轨迹
P2 闭环子集 正常/交换首次上下文,后续原策略 32×4×3×2=768 条轨迹,可复用符合协议的正常分支

预算计数包含语义分支;实际相同首次动作且后续状态/RNG/策略一致时,可缓存复用计算,保留分支映射及缓存键。失败/跳过/重试分别记录。状态配额或模型未完成时,维持原计划分母并注明缺项。

先用 smoke 的实际 environment steps 和运行时间估计正式成本。默认最多两个评估 worker、单 worker 一个模型,优先 GPU0;状态生成也受同一并发上限约束。批量日志与结果进入新 runs/<timestamp>_hatt-v34-source-context-confirmation/。实施新调度器前阅读 docs/EVALUATION_PROGRESS_HANDOFF_20260817.md 并兼容 scripts/progress.py。

根据首批证据选择的后续实验

首批观察 下一项具体工作 来源与用途
focal 分支表现好于 joint,且同步退出导致源任务缺口 固定状态比较 simultaneous 与逐个重选并刷新归属;只改首次日程 延续 09-05 的 simultaneous/sequential 方案,诊断联合决策过程
服务摘要影响动作,物理资源配对中效果随成员载荷上限变化 增加固定成员人数/总载荷、改变载荷分布的配对;检查归一化摘要与真实物理量的对应 v3.4 当前使用 Σ(load/init_load),可定位单位语义
源任务供给充足时,成员释放具有可测行为价值 执行 demand-drop:相同状态中由外部服务减少需求,记录释放、冗余承诺持续时长和其他任务增益 已有 evidence plan 的 demand_drop_release;外部交付单独记账
总载荷标签区分后,到达时间仍解释决策差异 执行 arriving:替代成员载荷与归属固定,改变到达时间,记录转移时机与源/目标后果 继承指定 Claude 会话中的 replacement-arriving

上述项目为第二批选择项。成员故障与有限通信可以继续形成环境扩展,但当前主问题优先使用现有配送物理过程完成验证。需求突降、位置调整和故障分别作为评价干预标注。

9. 统计、结果表与研究决策

每个模型先按来源家族、可见性、阶段分层计算同状态差分,然后对三个独立训练 seed 汇总均值、样本标准差和三个 seed 的原值。taskctx/noctx 相同 seed 标签用于索引配对;原训练网络尺寸不同,初始共享参数的一致性以实际记录为准。

同一基础状态的四个条件、多个分支和多个 checkpoint 都是相关观察。场景重采样以 underlying_state_id 为簇,在各个分层内重采样,保留该状态在所有模型/条件中的记录;所得区间标注为“给定这些 checkpoint 的状态采样不确定性”。训练 seed 的离散程度单独呈现。两个来源家族先等权,再在各家族内等权汇总;全可见与原始部分可见分别给出主表。

至少产出四张表:模型在各物理条件的概率及 joint J;强制动作 ΔJ_action 与原选择的对应;joint 相对 focal 的缺口及收益变化;服务摘要交换前后的概率变化。图使用二维条件响应和逐 seed 配对效应,原始数据可下载。

可得到的证据组合 对方法决策的具体作用
taskctx 在相同状态有更高 J,选择与强制动作后果更一致,服务摘要交换也改变相关选择 保留服务任务条件化作为主要方法设计,进一步在新训练 seed 确认
taskctx/noctx 均能根据源条件调整,J 与局部选择质量接近 将该能力归入已有关系策略;依据上下文通路的具体作用决定保留程度
新增摘要显著改变概率,闭环 J 改变很小 检查目标饱和、下一次快速改选和同步动作结果,按对应数据选择第二批实验
原始可见环境与全可见环境的效果不同 明确作用所处的信息阶段,配套记录发现过程和服务过程
有效配对很少或动作后果几乎恒定 交付可达状态覆盖率与 ΔJ_action 分布,据物理状态覆盖调整下一版情境

以上“更高”“接近”的结论使用实际效应量、三个 seed 与状态区间说明,不设置事后有利阈值。|ΔJ_action|≤0.005 仅用于前述双动作平局标记。单步概率变化与闭环收益分别表述。

若决定训练下一版,优先让修改对应本轮已定位的量:物理载荷摘要、候选条件或决策日程任选有依据的一项。保存单一变化的同期训练对照,沿用原观测 schema、奖励与固定选模协议。将上一轮行为状态库标记为开发集,为新版保留新的确认状态。新训练属于本次方案的后续决策。

10. 给执行 AI 的修改边界与交付清单

主要修改 scripts/analysis/evaluate_source_commitment.py,或在同目录新增清晰命名的 v3.4 评估脚本;复用 _make_runner/_distribution 和现有闭环步骤。添加协议 manifest、汇总脚本和针对上述配对语义的测试。P2 可用评估 hook;如必须增加网络可选参数,默认前向保持逐张量等值,执行后彻底恢复,并测试 checkpoint 兼容性。

保留原训练环境、奖励、模型、日志及已锁定结果。本轮模型输入语义以训练时的 v3.4 为基准。字段修正提案写入结果后的工程建议,独立实施。特别注意 actor 的 num_agents 属性在 HATT 与标准 MAPPO 上的差异;公共评估代码从 config/core 读取人数,支持 MAPPO 状态生成。

建议命令接口如下,由接手 AI 实现并在 README 中填写最终可执行命令。以下为待实现接口规格:

--phase preflight | generate | evaluate | summarize
--protocol <new_protocol.yaml>
--checkpoint-registry <checkpoint_registry.json>
--output <new-run-dir>
--model <unique-model-id>
--selector validation-best | last
--condition <condition-id>
--resume
产物 必需内容
protocol.lock.json 状态配额、seed、选择规则、四分支、指标公式、selector、代码/schema 版本
checkpoint_registry.lock.json 实际解析路径、checkpoint/config 哈希、角色、内容相同的 selector 映射
state_bank/index.csv 与快照 state_id、来源 seed、可见性、阶段、所有物理标签、可变字段、RNG、排除原因
predictions.csv model/seed/state/condition、完整概率、active mask、首次动作、摘要干预字段
trajectories/ 与 outcomes.csv 逐步剩余需求、源/目标时间、资源/归属变化、J、终局指标、缓存映射
paired_effects.csv、aggregate.csv 同状态差分、分层权重、逐训练 seed 结果和不确定性来源
status.json 组级状态、jobs、eval;planned/submitted/completed,失败和重试分别计数
EVALUATION_SUMMARY.md 逐问题给出实测结果、来源、方法决策与下一项工作

组级状态由单一协调器原子写入,兼容仓库 progress 接口;网页数据进入 html_logs/,只发布研究字段和结果。完整快照、运行配置和内部日志保存在 runs。源配置版本发生变化时,在正式评价前重新通过 P0 并记录新的哈希。

执行顺序为:核对源与模型 → R0/R1 退化诊断 → 依据证据选择 R2 修复或小型机制定位 → 决定正式 P0–P2 的执行范围 → 汇总证据与提出后续决策。进入 P 阶段后按 P0、smoke、状态库锁定、P1 best/P2 单步、last/P2 子集的顺序执行。每阶段完成后写简短检查结论;正式运行中失败的分片可恢复重试。

11. 可直接交给下一个 AI 的任务指令

请阅读本交接文档及相邻 checkpoint registry,先核对当前代码和用户未提交修改,优先完成 R0/R1 的训练波动与性能回落诊断,明确发生在哪些 seed、阶段和行为。依据证据选一个 R2 修复方案,或用 P1 小型配对定位源任务/同步决策问题。正式源条件机制实验在诊断后确定范围。保持原环境、模型与历史结果完整,按阶段写入可恢复状态;修复试验固定共同起点和选模协议。最后交付退化诊断、修复判断、必要的机制结果、可复核数据及网页,并对 v3.4 的保留或调整给出有依据的建议。

12. 来源定位

研究结果来源为 analysis/hatt_v34_taskctx_20260907/ 和 analysis/priority_reconfiguration_20260905/。原先的情境设计在 experiments/diagnostics/20260905_reconfiguration_evidence_plan.yaml,源条件模型清单在 experiments/diagnostics/20260906_source_commitment_checkpoints.yaml。指定 Claude 会话 ba449dc0-e658-4992-a5f8-fe41a5abe18e 的主决策已继承为 v3.4 taskctx/noctx、共同状态来源及 critical/replaceable/arriving 路线。

本文件中固定成员集合的载荷交换、128 状态分层、四闭环分支、J 公式和服务摘要交换,是本轮提出的执行设计。其功能与效果由下一轮实际运行产生。源文件的本次哈希可在 design_sources.json 核对。