Virtual Embryo Challenge更新于 10-03 18:47(北京时间) / 每 5 分钟更新

总览 · ← 返回运行 20261003-043412-search-t2-embryo-interp-g24-D-s1

节点 n24

实现 b 侧选胞后型内方差恢复(f_c=1+β(σ²_all/σ²_sel−1) 径向膨胀);mmd_u 三 seed 一致改善但 variogram 等量变差、cell_state 微降,净榜分噪声内证伪,提交 β=0 与父逐位一致。

运行?一次完整的自动搜索或 Agent 会话,有自己的锁定配置和证据包。20261003-043412-search-t2-embryo-interp-g24-D-s1
父节点n21
子节点n26
操作?种子:人写的起点;改进:在父节点上改;草稿:从头写;修复:修父节点的报错。改进
状态已打分
分数搜索目标分 62.15(+0.0) · proxy 62.15(+0.0)
审查未审查
用时?从运行开始到结束(或到现在)的挂钟时间。13 分
程序版本382cb0c1863e1928b72dc844f2115f46b8b299ba (programs.git)

方法说明?节点程序自带的 METHOD.md:这个程序做了什么、为什么。

来自 programs.git 382cb0c186:solution/METHOD.md

实现 b 侧选胞后型内方差恢复(f_c=1+β(σ²_all/σ²_sel−1) 径向膨胀);mmd_u 三 seed 一致改善但 variogram 等量变差、cell_state 微降,净榜分噪声内证伪,提交 β=0 与父逐位一致。

方法(family T2EI-09,improve over node 21)

底座不变:interp_bracket → procrustes3d → scale_damp=0.5 目标 RMS → κ=0.65 组成阻尼 → b 侧型内中间态偏好选胞(SEL_P=1.0,blend 质心)→ b 侧全局 xy 径向膨胀 γ=1.15 → jitter + 终缩放。

新增一步(run.py 中 VARRESTORE_* 段,b 侧选胞后、jitter 前):对每个共有型 c, 在双阶段合并 z-scored panel 空间计算 σ²_all(该型全体 b 细胞、按型内均值中心化的逐基因方差之和) 与 σ²_sel(被选子集同法),膨胀因子 f_c=1+β·(σ²_all/σ²_sel−1);每个被选 b 细胞 z′=μ_sel_c+f_c·(z−μ_sel_c),逆变换回表达空间并 clip≥0。坐标不动。 型内被选 <3(VARRESTORE_MIN)跳过。单输入退路:无括号 → 无 b 侧 → 跳过,与父一致。

机制证据(mechanism_evidence)

机制确实运行:β=0.5/seed0 诊断显示 11 个共有型、675 个被选 b 细胞全部被膨胀; σ²_all/σ²_sel 型间均值 2.81(选择确实把型内方差压缩到 ~1/2.8,验证 PLAN 前提), f_c 均值 1.91,膨胀后 var_after/var_before 均值 3.86 ≈ 1+β·(ratio−1) 的理论值。 表达分布宽度指标 mmd_u 随 β 单调改善且跨 seed 一致: 0.01116→0.01049(β=0.25, s0)、0.01096→0.01030(s1)、0.01080→0.01018(s2)。 即"选胞压缩型内方差、恢复宽度能改善分布匹配"这一半是成立的。

但四组分变化与 PLAN 预期不符:目标组 cell_state 没有上升——β=0.25 时三个 seed 分别 −0.04/−0.08/−0.11(52.84→52.80、53.27→53.19、53.46→53.35)。 原因在 cell_state 的另一个成分 variogram 随 β 单调变差且跨 seed 一致: 0.01094→0.01163(s0)、0.01076→0.01147(s1)、0.01074→0.01144(s2)—— 逐细胞径向膨胀放大了空间邻近细胞间的表达差,破坏表达的空间自相关, 与 mmd_u 的收益互相抵消。expression_change 在 seed0/1 上 +0.75/+0.62(de_score 0.25→0.2857) 但 seed2 上 −0.10(de_score 不动),不稳定。local_spatial/shape_scale 如预期不变(坐标未动)。

机制对照(mechanism_off_control)与查分全表

off 对照 = VARRESTORE_BETA=0(代码默认,提交态),f_c≡1、z′=z,输出与父节点逐位一致 (md5 b86afc108c424bc0761200595d6a772b,与节点 21 提交态相同;重跑确定性验证通过,vec-check ok)。

A 半代理(E6.75+E8.0→E7.25,t=0.4):

配置seed榜分cell_stateexpr_changeshapelocalmmd_uvariogram
β=0(父,提交)061.1452.8460.5072.1859.030.011160.01094
β=0.15061.1752.8460.5572.1859.090.010720.01136
β=0.25061.3352.8061.2572.1859.080.010490.01163
β=0.35061.2852.7161.1872.1859.040.010320.01190
β=0.5060.9852.5060.3172.1858.930.010140.01230
β=0(父)161.6253.2760.9372.2860.000.010960.01076
β=0.25161.7653.1961.5572.2860.030.010300.01147
β=0(父)261.5853.4660.5972.2360.030.010800.01074
β=0.25261.5353.3560.4972.2360.040.010180.01144

β 响应曲线在 0.25 附近见顶(+0.19),但 3-seed 均值只有 +0.09(61.45→61.54), 小于噪声,且 PLAN 目标组 cell_state 三 seed 一致微降。按 PLAN 停止条款 (首查 cell_state 无升反降 → 停止并提交 β=0)提交父配置。

结论与教训

  • 机制部分成立、整体证伪:中间态选胞确实压缩型内方差(ratio≈2.8),等比恢复确实一致改善 mmd_u;但 cell_state 不是只看分布宽度——variogram(空间表达自相关)以几乎等量恶化, 净收益为零。这说明表达空间里逐细胞各向同性的方差操纵(无论收缩还是膨胀)都被 mmd_u 与 variogram 的对冲卡死:节点 8/12/17/21 证伪了收缩方向,本节点证伪了膨胀方向。
  • 若要利用"方差缺口",恢复必须以不破坏空间自相关的方式进行,例如按空间平滑的 型×区域局部均值偏移(同区域细胞同向移动)而非逐细胞独立径向膨胀;或只在 与空间无关的基因子集上恢复方差。留给后续节点。
  • de_score 对表达扰动的响应是台阶状(0.25↔0.2857)且跨 seed 不稳定,不能作为优化信号。

验证过 / 没验证

  • 验证过:β=0 与父 md5 逐位一致;β∈{0.15,0.25,0.35,0.5}×seed0 与 β=0.25×seed{1,2} 的完整响应曲线(9 次查分,额度内);确定性重跑;vec-check ok;单输入退路代码路径与父一致。
  • 没验证:空间平滑型方差恢复(上面的后续方向);β 与 κ/γ 的交互(底座参数未动)。

知识来源

无新增外部生物学知识;全部计算只来自视图内两个输入阶段的表达、标签与坐标。

调研员的计划

名称b侧选胞型内方差恢复(variance restoration after mid-state selection)
动机父节点21提交态与节点11/19逐位一致(62.15),最弱组cell_state=54.35。四次证伪(节点8/12/17/21)表明表达向质心收缩系统性有害,但ANALYSIS指出未验证反方向:SEL_P=1.0的中间态选胞必然压缩型内方差(只选距blend质心最近的细胞),导致输出分布比参考窄。节点21诊断显示δ≈0.14仅~1%的收缩已使mmd_u恶化,说明scorer对型内方差极为敏感,方向可能是需要更多方差而非更少。
做法在b侧选胞之后、jitter之前新增方差恢复步骤:对每个共有型c,计算选前全体b细胞的型内方差σ²_all与选后子集方差σ²_sel(均在合并z-scored panel空间、按型内均值中心化后计算各基因方差之和)。膨胀因子f_c=1+β·(σ²_all/σ²_sel−1),β∈{0.25,0.5,0.75,1.0}。对每个被选b细胞:z'=μ_sel_c+f_c·(z−μ_sel_c),逆变换回表达空间并clip≥0。坐标不动。关键初值β=0.5(恢复一半方差缺口)。搜索范围β∈[0.25,1.0]步长0.25,共4配置。单输入退路:无括号→无b侧→跳过,与父一致。vec-score快速筛选:先跑β=0.5/seed0,若cell_state<54.35则立即停止提交β=0;若升则补测β=0.25和0.75确认单调性。型内被选<3个细胞跳过(与SHRINK_MIN一致)。
风险1)参考目标型内方差可能并不比全选b侧更宽(若目标更同质),则膨胀有害→首查β=0.5即可发现(cell_state降则停)。2)f_c过大可能将表达推出合理范围→clip≥0兜底,且β≤1限制最大膨胀为σ²_all/σ²_sel(通常<2)。3)expression_change可能受微小影响(方差变但均值不变,理论上影响极小)。Engineer应在首查后同时检查四组分,若expression_change降>0.5则停止。

代码改动?这个节点的程序和父节点程序的逐行差别:绿色是新增,红色是删除。

对比:父节点版本 f24a81326d。改动的文件:solution/METHOD.md +55 −42、solution/run.py +62 −1

diff --git a/solution/METHOD.md b/solution/METHOD.mdindex 0815e9f..18d5d96 100644--- a/solution/METHOD.md+++ b/solution/METHOD.md@@ -1,60 +1,73 @@-按 PLAN T2EI-09 实现 b 侧选入细胞的型内分级表达收缩(向混合质心 (1−t)μ_a+tμ_b 移动 δ=α·d/d_max,保坐标);代理上 cell_state 随 α 单调下降、机制证伪,提交态 SHRINK_ALPHA=0,输出与节点 11/19 逐位一致(md5 相同)。+实现 b 侧选胞后型内方差恢复(f_c=1+β(σ²_all/σ²_sel−1) 径向膨胀);mmd_u 三 seed 一致改善但 variogram 等量变差、cell_state 微降,净榜分噪声内证伪,提交 β=0 与父逐位一致。 -## 方法(family T2EI-09,improve over node 19)+## 方法(family T2EI-09,improve over node 21) -底座不变:interp_bracket → procrustes3d 对齐 → scale_damp=0.5 目标 RMS → κ=0.65 组成阻尼-→ b 侧型内中间态偏好选胞(blend 质心,SEL_P=1.0)→ b 侧全局 xy 径向膨胀 γ=1.15 → jitter + 终缩放。-新增一步(在 b 侧选胞之后、jitter 之前,`run.py` 中 `SHRINK_*` 段):对每个共有型中被选入的 b 细胞,-在双阶段合并 z-scored panel 空间里计算到型混合质心 μ_blend=(1−t)μ_a+tμ_b 的距离 d_i,-δ_i=SHRINK_ALPHA·d_i/d_max(型),x′_i=x_i−δ_i·(x_i−μ_blend)/‖x_i−μ_blend‖,逆变换回表达空间并 clip≥0。-坐标不动。SHRINK_GRADED=0 时 δ 统一为 SHRINK_ALPHA(对照分级);型内被选 <3 跳过。-单输入退路:无括号 → 无 b 侧 → 收缩跳过,与父一致。+底座不变:interp_bracket → procrustes3d → scale_damp=0.5 目标 RMS → κ=0.65 组成阻尼+→ b 侧型内中间态偏好选胞(SEL_P=1.0,blend 质心)→ b 侧全局 xy 径向膨胀 γ=1.15 → jitter + 终缩放。++新增一步(`run.py` 中 `VARRESTORE_*` 段,b 侧选胞后、jitter 前):对每个共有型 c,+在双阶段合并 z-scored panel 空间计算 σ²_all(该型全体 b 细胞、按型内均值中心化的逐基因方差之和)+与 σ²_sel(被选子集同法),膨胀因子 f_c=1+β·(σ²_all/σ²_sel−1);每个被选 b 细胞+z′=μ_sel_c+f_c·(z−μ_sel_c),逆变换回表达空间并 clip≥0。坐标不动。+型内被选 <3(VARRESTORE_MIN)跳过。单输入退路:无括号 → 无 b 侧 → 跳过,与父一致。  ## 机制证据(mechanism_evidence) -机制确实运行:α=0.15/seed0 诊断显示 11 个共有型、675 个被选 b 细胞全部被收缩,-δ 均值 0.139、P90 0.148(z 单位),型内表达方差比 var_after/var_before 均值 0.980;-local_spatial(59.03→59.02)与 shape_scale(72.18→72.18)如预期不变(坐标未动)。-但四组分变化方向与 PLAN 预期相反:cell_state 随 α 单调**下降**,expression_change 持平。+机制确实运行:β=0.5/seed0 诊断显示 11 个共有型、675 个被选 b 细胞全部被膨胀;+σ²_all/σ²_sel 型间均值 2.81(选择确实把型内方差压缩到 ~1/2.8,验证 PLAN 前提),+f_c 均值 1.91,膨胀后 var_after/var_before 均值 3.86 ≈ 1+β·(ratio−1) 的理论值。+表达分布宽度指标 mmd_u 随 β 单调改善且跨 seed 一致:+0.01116→0.01049(β=0.25, s0)、0.01096→0.01030(s1)、0.01080→0.01018(s2)。+即"选胞压缩型内方差、恢复宽度能改善分布匹配"这一半是成立的。++但四组分变化与 PLAN 预期不符:目标组 cell_state 没有上升——β=0.25 时三个 seed+分别 −0.04/−0.08/−0.11(52.84→52.80、53.27→53.19、53.46→53.35)。+原因在 cell_state 的另一个成分 variogram 随 β 单调变差且跨 seed 一致:+0.01094→0.01163(s0)、0.01076→0.01147(s1)、0.01074→0.01144(s2)——+逐细胞径向膨胀放大了空间邻近细胞间的表达差,破坏表达的空间自相关,+与 mmd_u 的收益互相抵消。expression_change 在 seed0/1 上 +0.75/+0.62(de_score 0.25→0.2857)+但 seed2 上 −0.10(de_score 不动),不稳定。local_spatial/shape_scale 如预期不变(坐标未动)。  ## 机制对照(mechanism_off_control)与查分全表 -off 对照 = SHRINK_ALPHA=0(代码默认,提交态),输出与父节点 11/19 逐位一致-(md5 b86afc10…,重复运行确定性验证通过,vec-check ok)。A 半代理(E6.75+E8.0→E7.25,t=0.4)seed0:+off 对照 = VARRESTORE_BETA=0(代码默认,提交态),f_c≡1、z′=z,输出与父节点逐位一致+(md5 b86afc108c424bc0761200595d6a772b,与节点 21 提交态相同;重跑确定性验证通过,vec-check ok)。 -| 配置 | 榜分 | cell_state | expr_change | shape | local |-|---|---:|---:|---:|---:|---:|-| α=0(父,**提交**) | 61.14* | 52.84* | 60.50* | 72.18* | 59.03* |-| α=0.05 分级 | 61.05 | 52.49 | 60.50 | 72.18 | 59.03 |-| α=0.15 分级 | 60.98 | 52.24 | 60.50 | 72.18 | 59.02 |-| α=0.15 均匀(GRADED=0) | 60.98 | 52.20 | 60.50 | 72.18 | 59.02 |-| α=0.25 分级 | 60.94 | 52.04 | 60.51 | 72.18 | 59.01 |+A 半代理(E6.75+E8.0→E7.25,t=0.4): -*父值取自节点 19 METHOD.md 的同半同 seed 实测(本节点未重复查父,md5 一致故分数相同)。+| 配置 | seed | 榜分 | cell_state | expr_change | shape | local | mmd_u | variogram |+|---|---|---:|---:|---:|---:|---:|---:|---:|+| β=0(父,**提交**) | 0 | 61.14 | 52.84 | 60.50 | 72.18 | 59.03 | 0.01116 | 0.01094 |+| β=0.15 | 0 | 61.17 | 52.84 | 60.55 | 72.18 | 59.09 | 0.01072 | 0.01136 |+| β=0.25 | 0 | 61.33 | 52.80 | 61.25 | 72.18 | 59.08 | 0.01049 | 0.01163 |+| β=0.35 | 0 | 61.28 | 52.71 | 61.18 | 72.18 | 59.04 | 0.01032 | 0.01190 |+| β=0.5 | 0 | 60.98 | 52.50 | 60.31 | 72.18 | 58.93 | 0.01014 | 0.01230 |+| β=0(父) | 1 | 61.62 | 53.27 | 60.93 | 72.28 | 60.00 | 0.01096 | 0.01076 |+| β=0.25 | 1 | 61.76 | 53.19 | 61.55 | 72.28 | 60.03 | 0.01030 | 0.01147 |+| β=0(父) | 2 | 61.58 | 53.46 | 60.59 | 72.23 | 60.03 | 0.01080 | 0.01074 |+| β=0.25 | 2 | 61.53 | 53.35 | 60.49 | 72.23 | 60.04 | 0.01018 | 0.01144 | -结论:**机制证伪**。按 PLAN 风险条款(α=0.15 首查 cell_state 无升反降 → 立即停止;-两配置差 <0.5 → 放弃切换),提交父配置。诊断:δ≈0.14 z 单位仅为 d≈14 的 ~1%,-如此微小的向质心位移已使 mmd_u 变差(0.01116→0.01120)、cell_state 单调降,-说明「b 侧细胞的中间态偏好」在选胞(选哪些细胞)阶段已榨干,任何进一步向型质心的-表达收缩都只侵蚀型内方差而不改善分布匹配;分级与均匀无差别(52.24 vs 52.20)进一步-说明问题在收缩方向本身而非分级方式。与节点 8(向 a 型均值收缩)、节点 12(配对插值)、-节点 17(OT 投影)同族证伪:**表达空间的型内线性收缩/插值在此代理上系统性有害**。+β 响应曲线在 0.25 附近见顶(+0.19),但 3-seed 均值只有 +0.09(61.45→61.54),+小于噪声,且 PLAN 目标组 cell_state 三 seed 一致微降。按 PLAN 停止条款+(首查 cell_state 无升反降 → 停止并提交 β=0)提交父配置。 -## 验证过 / 没验证+## 结论与教训 -- 验证过:4 个 α 配置 + 均匀对照各 seed0(4 次查分,额度内);SHRINK_ALPHA=0 与父 md5 逐位一致;-  seed0/seed1 重跑确定性;vec-check(α=0 与 α=0.15 输出均 ok)。-- 没验证:多 seed 的 α>0 配置(单调趋势已明确,浪费额度);负 α(远离质心膨胀表达)——-  方向上等价于放大型内方差,与节点 5/6 的占据结论无冲突,可作为后续探索。+- 机制部分成立、整体证伪:中间态选胞确实压缩型内方差(ratio≈2.8),等比恢复确实一致改善+  mmd_u;但 cell_state 不是只看分布宽度——variogram(空间表达自相关)以几乎等量恶化,+  净收益为零。这说明**表达空间里逐细胞各向同性的方差操纵(无论收缩还是膨胀)都被+  mmd_u 与 variogram 的对冲卡死**:节点 8/12/17/21 证伪了收缩方向,本节点证伪了膨胀方向。+- 若要利用"方差缺口",恢复必须以不破坏空间自相关的方式进行,例如按空间平滑的+  型×区域局部均值偏移(同区域细胞同向移动)而非逐细胞独立径向膨胀;或只在+  与空间无关的基因子集上恢复方差。留给后续节点。+- de_score 对表达扰动的响应是台阶状(0.25↔0.2857)且跨 seed 不稳定,不能作为优化信号。 -## 下一步建议+## 验证过 / 没验证 -- cell_state 的余量不在「表达向质心收缩」维度(节点 8/12/17/21 四次证伪),-  要么改变 b 侧细胞的身份来源(如用 a-b 近邻差分外推生成真正的新中间态,而非搬运/收缩真实细胞),-  要么转向 local_spatial / shape_scale 的各向异性占据补偿(节点 13 建议)。-- 可低成本试 SHRINK_ALPHA<0(沿远离质心方向移动 δ,放大型内方差)验证 cell_state-  对型内方差的敏感性方向,作为下一个 improve 节点的一票筛选。+- 验证过:β=0 与父 md5 逐位一致;β∈{0.15,0.25,0.35,0.5}×seed0 与 β=0.25×seed{1,2}+  的完整响应曲线(9 次查分,额度内);确定性重跑;vec-check ok;单输入退路代码路径与父一致。+- 没验证:空间平滑型方差恢复(上面的后续方向);β 与 κ/γ 的交互(底座参数未动)。  ## 知识来源 -无新增外部生物学知识;全部计算只来自视图内两个输入阶段(E6.75/E8.0)的表达、标签与坐标。+无新增外部生物学知识;全部计算只来自视图内两个输入阶段的表达、标签与坐标。diff --git a/solution/run.py b/solution/run.pyindex c52a56b..274fcb0 100644--- a/solution/run.py+++ b/solution/run.py@@ -65,6 +65,12 @@ only ~1% of d (delta ~0.14 z-units vs d ~14). The mid-state preference is already exhausted by WHICH cells are selected; pulling them further toward the centroid only erodes within-type variance. Submitted default SHRINK_ALPHA=0 is bit-identical to node 11/19 (md5 verified).++Change (PLAN T2EI-09, node 24): within-type variance restoration of the+selected b cells. Midstate selection compresses within-type variance; for+each shared type, f_c = 1 + beta*(sigma2_all/sigma2_sel - 1) and selected+cells expand radially around their selected-subset mean in pooled z-space+(env VARRESTORE_BETA, default 0 = off, bit-identical to parent). """  from __future__ import annotations@@ -103,6 +109,8 @@ SPREAD_MU = os.environ.get("SPREAD_MU", "global").strip().lower()  # type|global SHRINK_ALPHA = float(os.environ.get("SHRINK_ALPHA", "0.0")) SHRINK_GRADED = os.environ.get("SHRINK_GRADED", "1").strip().lower() not in ("0", "off", "false") SHRINK_MIN = int(os.environ.get("SHRINK_MIN", "3"))+VARRESTORE_BETA = float(os.environ.get("VARRESTORE_BETA", "0.0"))+VARRESTORE_MIN = int(os.environ.get("VARRESTORE_MIN", "3"))   def _spread_apply(X: np.ndarray, rows: np.ndarray, mu: np.ndarray, f: float) -> None:@@ -347,7 +355,7 @@ def main() -> None:     la = stage_a.labels.astype(str)     lb = stage_b.labels.astype(str)     shared: set = set(np.unique(la)).intersection(np.unique(lb))-    if SELECTION == "midstate" or SHRINK_ALPHA > 0.0:+    if SELECTION == "midstate" or SHRINK_ALPHA > 0.0 or VARRESTORE_BETA != 0.0:         Za, Zb, zmu, zsd = _zscore_pair(Xa, Xb)     if SELECTION == "midstate":         if SEL_SIDE in ("both", "a"):@@ -417,6 +425,52 @@ def main() -> None:                 Xb_use[all_rows] = np.clip(                     Zb2[all_rows] * zsd + zmu, 0.0, None).astype(np.float32) +    # PLAN T2EI-09 (node 24): within-type variance restoration of the selected b+    # cells. Midstate selection (SEL_P=1) takes the cells closest to the blend+    # centroid, systematically compressing within-type expression variance. For+    # each shared type, sigma2_all = per-gene variance sum over ALL b cells of the+    # type (mean-centered), sigma2_sel = same over the SELECTED subset; expansion+    # factor f_c = 1 + beta*(sigma2_all/sigma2_sel - 1). Each selected cell moves+    # radially in pooled z-space: z' = mu_sel + f_c*(z - mu_sel). Inverse-transform+    # to expression space, clip >= 0. Coordinates untouched. beta=0 => f_c=1 =>+    # bit-identical to parent.+    varrestore_diag = []+    if VARRESTORE_BETA != 0.0 and ib.size and Zb is not None:+        Zb3 = Zb2 if shrink_diag else Zb+        Zb3 = Zb3.copy()+        lab_sel = lb[ib]+        touched = []+        for tname in sorted(shared):+            rows_b = np.flatnonzero(lb == tname)+            sel = np.flatnonzero(lab_sel == tname)+            if rows_b.size < 2 or sel.size < VARRESTORE_MIN:+                continue+            rows = ib[sel]+            Zall = Zb3[rows_b]+            Zsel = Zb3[rows]+            sigma2_all = float(Zall.var(axis=0).sum())+            sigma2_sel = float(Zsel.var(axis=0).sum())+            if sigma2_sel <= 1e-12 or sigma2_all <= 1e-12:+                continue+            ratio = sigma2_all / sigma2_sel+            f_c = 1.0 + VARRESTORE_BETA * (ratio - 1.0)+            if f_c <= 1.0 + 1e-9:+                continue+            mu_sel = Zsel.mean(axis=0)+            Zb3[rows] = mu_sel + f_c * (Zsel - mu_sel)+            touched.append(rows)+            varrestore_diag.append({+                "type": tname, "n_all": int(rows_b.size), "n_sel": int(rows.size),+                "ratio": ratio, "f_c": float(f_c),+                "var_before": sigma2_sel,+                "var_after": float(Zb3[rows].var(axis=0).sum()),+            })+        if varrestore_diag:+            all_rows = np.concatenate(touched)+            Xb_use = Xb.copy()+            Xb_use[all_rows] = np.clip(+                Zb3[all_rows] * zsd + zmu, 0.0, None).astype(np.float32)+     spread_plan = []     spread_diag = []     if ib.size and SPREAD_ALPHA > 0.0:@@ -479,6 +533,13 @@ def main() -> None:         "shrink_delta_p90": float(np.mean([s["delta_p90"] for s in shrink_diag])) if shrink_diag else 0.0,         "shrink_var_ratio": float(np.mean([s["var_after"] / s["var_before"] for s in shrink_diag])) if shrink_diag else 1.0,         "shrink": shrink_diag,+        "varrestore_beta": VARRESTORE_BETA,+        "varrestore_n_types": len(varrestore_diag),+        "varrestore_n_cells": int(sum(s["n_sel"] for s in varrestore_diag)),+        "varrestore_ratio_mean": float(np.mean([s["ratio"] for s in varrestore_diag])) if varrestore_diag else 1.0,+        "varrestore_f_mean": float(np.mean([s["f_c"] for s in varrestore_diag])) if varrestore_diag else 1.0,+        "varrestore_var_ratio": float(np.mean([s["var_after"] / s["var_before"] for s in varrestore_diag])) if varrestore_diag else 1.0,+        "varrestore": varrestore_diag,     }, default=float), file=sys.stderr)     write_t2(args.out, expr, coords.astype(np.float32), genes, seed=args.seed) 

调研来源?调研员查到并用到的知识条目和文献检索结果(只列标题和编号)。

用到的知识库条目

编号标题出处
k007Interval staging and held-out-window filtering of external datanotes/official/来件/virtualembryo.ai/rules.md
k024World-model evaluation dimensions for state-transition predictorsnotes/competition/07_biomedical_world_models.md
k026Canonicalise predicted 3D coordinates before submissionnotes/pitfalls/04_scorer_invariance.md

分析结果?分析员写的 ANALYSIS.json:改了什么、各组分数怎么变、假设是否成立、经验和下一步建议。

改了什么在b侧中间态选胞后新增型内方差恢复步骤(VARRESTORE_BETA,每型f_c=1+β(σ²_all/σ²_sel−1)径向膨胀);探索发现mmd_u改善但variogram等量恶化、cell_state微降,按停止条款提交β=0,榜上输出与父节点21逐位一致(md5相同),故全部分数为+0.00。
各组分数的变化cell_state:噪声内(+0.00;探索中β=0.25三seed一致微降−0.04/−0.08/−0.11,未提交)
expression_change:噪声内(+0.00,提交态与父逐位一致)
local_spatial:噪声内(+0.00,坐标未动)
shape_scale:噪声内(+0.00,坐标未动)
family_idT2EI-09
假设是否成立否
经验
  1. SEL_P=1.0中间态选胞确实把型内方差压缩到约1/2.8(σ²_all/σ²_sel≈2.81),等比恢复(β=0.25)能三seed一致改善mmd_u(0.01116→0.01049),前提验证成立。
  2. 但逐细胞径向膨胀同幅度破坏variogram空间自相关(0.01094→0.01163),与mmd_u收益对冲,cell_state三seed一致微降——表达空间各向同性方差操纵(收缩与膨胀两个方向,节点8/12/17/21/24五次证伪)都被这对指标卡死。
  3. de_score对表达扰动呈台阶状响应(0.25↔0.2857)且跨seed不稳定,不能作为优化信号。
  4. 带off对照(β=0与父md5一致)+多seed响应曲线的探索流程能在9次查分内干净地证伪一个机制并安全回退,值得沿用。
mechanism_active否
下一步建议
  1. 针对cell_state:若再利用方差缺口,改用空间平滑恢复——按型×空间区域计算局部均值偏移使同区域细胞同向移动,或只在与空间无关的基因子集上膨胀,避免variogram损失;用variogram作为一票否决指标(恶化>5%即停)。
  2. 针对cell_state:转向改变b侧细胞身份来源,用a-b近邻差分外推生成新中间态细胞,而非搬运/缩放真实b细胞。
  3. 针对local_spatial/shape_scale:沿节点13方向做各向异性占据补偿,这两组(60.69/72.48)未被表达空间扰动触及,余量可能更大。

对话摘要?每个角色和大模型对话的统计:轮数、工具调用、用时、token 数和最后的回答摘录;原始记录只给路径。

只给统计和最后回答的摘录;完整对话请到原始记录位置里列出的文件看。

分析员

角色?调研员写计划、工程师改代码、分析员解读分数、审查员检查作弊。分析员 alibaba-token-plan-cn/qwen3.8-max
调用次数1 次
轮数?大模型一共回复了几轮(每轮可以调用多个工具)。3
工具调用?大模型调用读文件、执行命令等工具的次数,按工具名统计。共 2 次:bash 1、write 1
用时不到 1 分
token 数?输入 / 输出(含思考)的 token 数,来自接口返回的用量。输入 11,594 · 输出 820 · 思考 1,343
任务(第一行)分析节点 n24 的打分结果,写 ANALYSIS.json
最后的回答(摘录)
ANALYSIS.json written
原始记录位置?完整对话记录在 Spark 上的文件路径;看板不复制原始内容。/home/spark-longxinyang/vec/runs/formal/20261003-043412-search-t2-embryo-interp-g24-D-s1/nodes/24/analyst.jsonl 6 KB
/home/spark-longxinyang/vec/runs/formal/20261003-043412-search-t2-embryo-interp-g24-D-s1/nodes/24/analyst.stderr

工程师

角色工程师 alibaba-token-plan-cn/qwen3.8-max
调用次数1 次
轮数25
工具调用共 31 次:bash 21、edit 7、read 2、write 1
用时9 分
token 数输入 60,237 · 输出 8,024 · 思考 10,270
任务(第一行)按计划修改程序:b侧选胞型内方差恢复(variance restoration after mid-state selection)
最后的回答(摘录)
完成。节点 24 总结:

**做了什么**:按 PLAN T2EI-09 在父管线(κ=0.65, γ=1.15, b 侧中间态选胞)上实现型内方差恢复:每共有型 f_c=1+β(σ²_all/σ²_sel−1),被选 b 细胞绕选后型内均值在合并 z 空间径向膨胀(VARRESTORE_BETA 环境变量,坐标不动)。机制确实运行:选择把型内方差压缩到 ~1/2.8(ratio≈2.81),f_c、var_after 均符合理论值。

**查分结果**(9 次查分,A 半代理):mmd_u 三 seed 一致改善(如 s0: 0.01116→0.01049 @β=0.25),但 variogram 一致等量变差(0.01094→0.01163),目标组 cell_state 三 seed 一致微降(−0.04/−0.08/−0.11);β 响应曲线 0.25 见顶 +0.19,3-seed 均值仅 +0.09(噪声内)。de_score 台阶状且跨 seed 不稳定。按 PLAN 停止条款提交 β=0,输出与父节点逐位一致(md5 b86afc10…,确定性验证 + vec-check ok)。机制整体证伪。

**下一步最值得试**:(1) 表达空间的逐细胞各向同性方差操纵(收缩与膨胀)均被 mmd_u/variogram 对冲卡死(节点 8/12/17/21/24 五次证伪)——若再用方差缺口,必须做空间平滑恢复(同区域细胞同向偏移)或只在空间无关基因子集上恢复,避免 variogram 损失;(2) 转向 b 侧细胞身份来源改造(a-b 近邻差分生成新中间态)或 local_spatial/shape 的各向异性占据补偿(节点 13 方向)。
原始记录位置/home/spark-longxinyang/vec/runs/formal/20261003-043412-search-t2-embryo-interp-g24-D-s1/nodes/24/engineer.jsonl 152 KB
/home/spark-longxinyang/vec/runs/formal/20261003-043412-search-t2-embryo-interp-g24-D-s1/nodes/24/engineer.stderr

调研员

角色调研员 alibaba-token-plan-cn/qwen3.8-max
调用次数1 次
轮数1
工具调用共 0 次:—
用时2 分
token 数输入 13,008 · 输出 947 · 思考 4,295
任务(第一行)为节点 n24(改进,父节点 n21)写改进计划 PLAN.json
最后的回答(摘录)
```json
{
  "name": "b侧选胞型内方差恢复(variance restoration after mid-state selection)",
  "motivation": "父节点21提交态与节点11/19逐位一致(62.15),最弱组cell_state=54.35。四次证伪(节点8/12/17/21)表明表达向质心收缩系统性有害,但ANALYSIS指出未验证反方向:SEL_P=1.0的中间态选胞必然压缩型内方差(只选距blend质心最近的细胞),导致输出分布比参考窄。节点21诊断显示δ≈0.14仅~1%的收缩已使mmd_u恶化,说明scorer对型内方差极为敏感,方向可能是需要更多方差而非更少。",
  "approach": "在b侧选胞之后、jitter之前新增方差恢复步骤:对每个共有型c,计算选前全体b细胞的型内方差σ²_all与选后子集方差σ²_sel(均在合并z-scored panel空间、按型内均值中心化后计算各基因方差之和)。膨胀因子f_c=1+β·(σ²_all/σ²_sel−1),β∈{0.25,0.5,0.75,1.0}。对每个被选b细胞:z'=μ_sel_c+f_c·(z−μ_sel_c),逆变换回表达空间并clip≥0。坐标不动。关键初值β=0.5(恢复一半方差缺口)。搜索范围β∈[0.25,1.0]步长0.25,共4配置。单输入退路:无括号→无b侧→跳过,与父一致。vec-score快速筛选:先跑β=0.5/seed0,若cell_state<54.35则立即停止提交β=0;若升则补测β=0.25和0.75确认单调性。型内被选<3个细胞跳过(与SHRINK_MIN一致)。",
  "expected_groups": ["cell_state"],
  "risks": "1)参考目标型内方差可能并不比全选b侧更宽(若目标更同质),则膨胀有害→首查β=0.5即可发现(cell_state降则停)。2)f_c过大可能将表达推出合理范围→clip≥0兜底,且β≤1限制最大膨胀为σ²_all/σ²_sel(通常<2)。3)expression_change可能受微小影响(方差变但均值不变,理论上影响极小)。Engineer应在首查后同时检查四组分,若expression_change降>0.5则停止。",
  "family_id": "T2EI-09",
  "mechanism": "中间态选胞(SEL_P=1.0)系统性压缩型内表达方差;本机制按型计算方差缺口并以因子f_c等比恢复选后子集的离散度,使输出分布宽度接近未选择时的自然水平。",
  "vs_constant_shift": "不是每型加常数、也不是全局组成重加权:每型的膨胀因子f_c由该型选前/选后方差比决定(数据驱动、型间异质),位移方向是各细胞相对型内均值的径向(非统一方向),且仅作用于被选b侧细胞。",
  "mechanism_evidence": "Engineer应输出诊断:每型的σ²_sel/σ²_all比值(预期<1,证明选择确实压缩了方差)、f_c值、膨胀后var_after/var_before(预期≈1+β·(1/σ²_sel/σ²_all−1))。若β=0.5时cell_state升且其余三组不变,机制生效。若四组分均无变化,说明f_c≈1(方差缺口不存在),机制未运行。",
  "mechanism_off_control": "β=0(环境变量VARRESTORE_BETA=0)时f_c=1,z'=z,输出与父节点逐位一致(预期md5相同)。Engineer应验证md5一致并记录。预期差别:β=0时四组分与父完全相同;β>0时仅cell_state变化,其余三组在噪声内。",
  "sources": []
}
```
原始记录位置/home/spark-longxinyang/vec/runs/formal/20261003-043412-search-t2-embryo-interp-g24-D-s1/nodes/24/researcher.jsonl 4 KB
/home/spark-longxinyang/vec/runs/formal/20261003-043412-search-t2-embryo-interp-g24-D-s1/nodes/24/researcher.stderr