总览 · ← 返回运行 20261003-171955-search-t2-embryo-interp-chain-12h
节点 n46
NO_CHANGE: occupancy_dice 坐标探针(ANISO2 本征轴比 5 档 α、RDENS 径向密度 4 组全为净负或平手,d2_shape 以 20–40 倍亏损率对冲)
| 运行?一次完整的自动搜索或 Agent 会话,有自己的锁定配置和证据包。 | 20261003-171955-search-t2-embryo-interp-chain-12h |
|---|---|
| 父节点 | n45 |
| 子节点 | n48 |
| 操作?种子:人写的起点;改进:在父节点上改;草稿:从头写;修复:修父节点的报错。 | 改进 |
| 状态 | 已打分 |
| 分数 | 搜索目标分 65.12(+0.0) · proxy 65.12(+0.0) |
| 审查 | 未审查 |
| 用时?从运行开始到结束(或到现在)的挂钟时间。 | 49 分 |
| 程序版本 | e712a04d58d9410de2e3c153184eb2e6546c4b1e (programs.git) |
方法说明?节点程序自带的 METHOD.md:这个程序做了什么、为什么。
来自 programs.git e712a04d58:solution/METHOD.md
NO_CHANGE: occupancy_dice 坐标探针(ANISO2 本征轴比 5 档 α、RDENS 径向密度 4 组全为净负或平手,d2_shape 以 20–40 倍亏损率对冲)
父节点:45(= 42 的输出,A 半 seed 0 = 64.622)。本节点权威输出与父节点逐位一致
(X data/indices/indptr + obsm 的 sha256 前缀 da6d03e8e995e85d,seed 0;--ablate mechanism
输出相同 → mechanism_active=no)。ANISO2 与 RDENS 两段探针代码保留在 run.py 里(环境变量开关,
默认关),供后续节点查证,不影响输出。
PLAN 机制(ANISO2,family T2EI-06):实现与诊断
在输出云自身 PCA 框架里做全局对角缩放:目标 = 括号两端云本征值分数(旋转不变,直接从
stage_a.coords / stage_b.coords 现场算)的 t-对数插值;每轴乘 (ft_i/fo_i)^α(clip [0.5,2]),
再均匀缩放恢复探针前的精确 RMS(scale_log_ratio 逐位不动);只动坐标,表达不动;单输入阶段
(无括号)自动跳过。诊断确认 PLAN 的前提成立:输出 eigfrac [0.497, 0.317, 0.187] vs
t-插值目标 [0.606, 0.251, 0.143](log 偏差 [+0.17, −0.26, −0.29])——现有 merged-frame
aniso(node 13,γ=0.5)只对齐了合并框架里的逐轴 spread,输出云自己的本征轴比仍偏离目标。
机制确实改变了坐标(α=0.15 时轴因子 [1.030, 0.966, 0.961],eigfrac → [0.530, 0.297, 0.173];
α=0.70 → [0.647, 0.225, 0.127])。
查分记录(proxy A 半,seed 0,共 13 次查询;points = 该指标得分,满分为括号内数字)
基线(父 45):board 64.622;de_score 7.81(12.5)、de_direction 7.86(12.5)、mmd_u 7.83(12.5)、 variogram 6.70(12.5)、d2_shape 8.16(8.33)、occupancy_dice 3.51(8.33)、scale_log_ratio 7.77(8.33)、 neighborhood_mmd 14.98(25)。occ_raw=.8066,d2_raw=.0047,nbhd_raw=.05126。
| 配置 | board | d2 | occ | nbhd | de_s/de_d | mmd/var | occ_raw | d2_raw | nbhd_raw |
|---|---|---|---|---|---|---|---|---|---|
| ANISO2 α=−0.15 | 64.010 | 8.14 | 2.91 | 14.99 | 不变 | 不变 | .7628 | .00487 | .05117 |
| ANISO2 α=0.05 | 64.350 | 7.88 | 3.51 | 14.98 | 不变 | 不变 | .8066 | .00689 | .05121 |
| ANISO2 α=0.15 | 63.773 | 7.26 | 3.56 | 14.98 | 不变 | 不变 | .8094 | .01235 | .05125 |
| ANISO2 α=0.40 | 62.239 | 5.82 | 3.48 | 14.96 | 不变 | 不变 | .8048 | .02961 | .05137 |
| ANISO2 α=0.70 | 61.256 | 4.52 | 3.83 | 14.94 | 不变 | 不变 | .8241 | .05462 | .05160 |
| RDENS 1.03→0.97 | 64.615 | 8.22 | 3.47 | 14.96 | 不变 | 不变 | .8038 | .00423 | .05146 |
| RDENS 1.045→0.955 | 64.129 | 7.81 | 3.40 | 14.94 | 不变 | 不变 | .8000 | .00749 | .05156 |
| RDENS 1.05→0.95 | 63.989 | 7.67 | 3.41 | 14.94 | 不变 | 不变 | .8000 | .00864 | .05159 |
| RDENS 0.97→1.03 | 63.545 | 7.38 | 3.21 | 14.98 | 不变 | 不变 | .7870 | .01130 | .05122 |
| cfgA 跨谱系移植* | 63.594 | 8.22 | 3.47 | 15.22 | 7.81/7.96 | 7.69/5.46 | .8038 | .00423 | .04926 |
| DETRX s=0.85* | 64.666 | 8.22 | 3.47 | 14.89 | 7.81/7.83 | 7.81/6.86 | .8038 | .00423 | .05201 |
| DETRX s=1.0* | 64.642 | 8.22 | 3.47 | 14.82 | 7.81/7.78 | 7.80/6.98 | .8038 | .00423 | .05262 |
\* 这三行跑时 RDENS(1.03→0.97) 默认为开(形状组数字含其 +0.06/−0.05 的 d2/occ 效应); DETRX 两行相对 RDENS 单跑的净差 = +0.05 / +0.03(噪声内)。cfgA = 节点 43 配方在本代码库的移植 (RECAL γ=0、DETR s=1.5、DETRX s=0.45 池化、SIDE 关)。
结论(为什么判无效)
- ANISO2:occupancy_dice 对轴比修正的响应弱且非单调(raw 最多 +0.0175,+0.32 pts,α=0.70), d2_shape 同向恶化 20–40 倍(−3.64 pts)。PLAN 的两条护栏(Δnbhd_raw ≤ +0.0005、 Δd2_raw ≤ +0.001)在所有 α>0.05 上都被击穿;α=0.05 时 occ 不动、d2 已 −0.28 pts。负 α (更等轴)occ 掉 0.6 pts。方向本身与 node 13 的 γ 网格一致(更 a-样各向异性买 occ、卖 d2), 本征框架不改变这个交换率。
- RDENS(PLAN 步骤 4 备选):壳层压缩 (1.03→0.97) 是唯一近正配置(d2 +0.063、occ −0.045、 nbhd −0.022 → 净 −0.007,平手);更强压缩与反向膨胀都净负。局部 dice 代理(vs 括号云)在 该方向 +0.007,但真实 occ 不跟(−0.003)——代理不可靠,已弃用。
- 结构诊断:occ 地板 ≈ raw .847(线性外推 skill .5),本谱系停在 .807。地板云是单一真实 阶段的连贯切片,而 mix 输出是两阶段嵌合体,其占据体素集合近似两朵云归一化形状的并集 (本地 16³ 统计:out 243 体素 vs a 169 / b 194)。全局仿射/径向形变无法把并集变成连贯中间形, occupancy_dice 的缺口对 mix 家族是结构性的;d2_shape (.979) 与 scale (.932) 已近天花板, 任何大幅形状移动都在净亏。
- 超出 PLAN 的两条附加测试:(a) cfgA 移植证明本分支的 RECAL 幅度收缩是承重墙 (去掉后 variogram .00755→.01107,跌破地板),不能照搬 43 谱系配方;(b) node 42 文档记录的 DETRX 漂移余量("s_ext=0.7 还差全漂移 30%"):s_ext 0.85/1.0 使 variogram 单调改善 (.00755→.00718→.00693)但 nbhd(.05126→.05201→.05262)与 de_direction(.3647→.3598→.3505) 单调恶化,净 +0.03/+0.02,噪声内(T2 噪声 ≈1 分,父节点自身 seed 0/1/2 = 64.62/63.75/63.90)。 检出通道的计数-选择张力再次封顶,与父节点 ANALYSIS 结论一致。
验证过的 / 没验证的
- 验证:默认(双探针关)输出与父逐位一致(seed 0);
--ablate mechanism逐位一致; seed 0/1/2 均能运行且确定(np.random.default_rng(seed),无全局随机);vec-check ok; 伪装视图(时间 +1 平移、文件重命名、manifest 键序打乱)digest 与真实视图逐位一致 (view-independent);运行时 ~2 s、内存 <1 GB(limits:28 GB / 30 min);单输入退路 (b=None 分支)不经过探针代码。 - 没验证:RDENS/ANISO2 在真实括号(E7.75+E8.25→E8.0,t=1/3)上的行为——两者在代理上即 净负/平手,未提交,无需验证;occ 地板 raw(.847)是线性外推值,非实测。
- 知识来源:无(本节点全部为从视图输入现场计算的几何/统计探针,未使用任何外部生物学知识、 文献数值或已发布阶段的测量值;目标 RMS、轴比、径向剖面全部由括号输入与 t 推得)。
给后续节点的建议
- 坐标通道对本谱系已封顶:全局各向异性(两个框架)、径向密度、per-type aniso(node 22)、 体素再分布(node 24)、OT 重定位(方法卡)全部证否。occupancy_dice 的并集缺口只有 「非嵌合」的坐标云能补,而那与 nbhd 的表达-位置配对不相容。不要再试全局仿射/径向形变。
- 检出通道同样封顶(本节点 s_ext 余量证否 + 父节点 45 分侧证否)。若还要提分,需要 cell_state 的新信息源(如型内状态连续体重建),而不是现有计数的再校准。
- 树内最优是 43 谱系(65.93 B 半);本谱系(42/45)与其差异主要在 RECAL 承重 + DETRX-SIDE, 两者不可互换(cfgA 移植净 −1.03)。合并两谱系的增益需要逐件移植而非整配方照搬。
调研员的计划
| 名称 | occupancy_dice 全局各向异性比值探针(坐标通道,表达正交) |
|---|---|
| 动机 | 父节点 45(=42)八项指标中 occupancy_dice 是唯一低于地板的排名指标(raw 0.8086,skill 0.424 < 0.5,得分 3.53/8.3 < 地板 4.17),而 d2_shape skill 0.963、scale_log_ratio skill 0.932 表明整体尺寸和成对距离分布已近天花板。ANALYSIS 明确建议'换到坐标通道做 occupancy_dice 坐标探针,潜在 +0.6'。检出通道已证死(de_score↔variogram 结构性张力),表达组无剩余空间;坐标通道与表达正交、无 de_score 风险。 |
| 做法 | 步骤:(1) 诊断——在输出云上计算居中坐标的协方差特征值 (λ1≥λ2≥λ3) 和各轴占比;同样计算括号两端 a、b 云的特征值,按 t 对数插值得目标轴比;比较输出与目标的轴比偏差,确定最大偏差轴。(2) 修正——在输出云自身 PCA 空间中,对每轴乘以 (target_λi / current_λi)^α,α 为修正强度,初值 0.15,搜索范围 {0.05, 0.10, 0.15, 0.25, 0.40};修正后统一缩放恢复原 RMS(保 scale_log_ratio 不变)。(3) 护栏——每个配置先检查 neighborhood_mmd raw 增量 ≤ +0.0005(否则否决);d2_shape raw 增量 ≤ +0.001;scale_log_ratio 变化 ≤ 0.005。(4) 若轴比修正不足,追加密度探针:把输出云按到质心距离分 5 层,对各层径向坐标乘轻微缩放(层间差异 ≤ 3%),测试是否改善占据模式。(5) 单输入阶段退路:无括号时跳过修正,输出 = 输入原样(与父行为一致)。(6) vec-score 快速筛选:先跑 α=0.15 一次查分确认方向,再扫其余 α;若第一个配置已超父 +0.5 则只复测 seed 1 确认。预期:occupancy_dice 从 3.53 向 4.17(地板)靠拢,+0.3~0.6 分;其余七项不变或噪声内。 |
| 风险 | 1) 轴比修正可能不是 occupancy_dice 低分的根因(可能是密度分布或边界形状问题),此时 α 扫描全部噪声内——Engineer 应在第一个 α 配置后比较 occupancy_dice raw 变化,若 <0.005 则转密度探针。2) 全局仿射变换可能轻微破坏 neighborhood_mmd(表达-位置配对),设硬否决线 +0.0005;若触发则降 α 或放弃。3) 增益 ≤0.6 分在 T2 约 1 分噪声内,需 2 个 seed 配对差同向确认。4) 节点 22(per-type aniso)已证否,本方案是 GLOBAL 非 per-type,且强度范围更保守(0.05–0.40 vs 22 的 −1.0–1.0),机制不同。 |
代码改动?这个节点的程序和父节点程序的逐行差别:绿色是新增,红色是删除。
对比:父节点版本 90d7b3f2ea。改动的文件:solution/METHOD.md +86 −90、solution/README.md +16 −0、solution/run.py +197 −6
diff --git a/solution/METHOD.md b/solution/METHOD.mdindex 8229474..df6850a 100644--- a/solution/METHOD.md+++ b/solution/METHOD.md@@ -1,90 +1,86 @@-NO_CHANGE: 共有类型DETR按起源分侧移除(count/asym/preserve 8配置全≤父64.62;de_score对计数重分配结构性敏感.357→.321,代价超variogram收益)--## 结论--PLAN 机制 **DETR-SIDE-SHARED**(family T2EI-01)已按方案实现并查分,在替代评测-(`T2:embryo:val_interp` proxy 视图,E6.75+E8.0→E7.25,t=0.4,A 半,seed 0)上-**净负或净零**,且两种针对同一弱项(cell_state / local_spatial)的备选机制也全部-不优于父节点 42。因此本节点提交 **NO_CHANGE**:`run.py` 默认 `T2_DETR_SIDE_SHARED=0`,-权威执行输出与父节点 42 **逐位一致**(digest `fb6726bc2637ee53…`,已用 sha 级比对验证;-`--ablate mechanism` 输出亦逐位相同,故 `mechanism_active=no`)。--## 父节点基线(同尺子 A 半,seed 0,本节点自测)--我用 `--ablate`(= 池化 DETR,逐位等于父 42)在同一 A 半尺子上重测父节点,作为-所有对比的锚点(**注意**:任务书里的 parent_score 65.12 是 B 半,不能直接和 A 半比):--- board = **64.622**;expression_change 62.69 / cell_state 58.13 / shape_scale 77.75 / local_spatial 59.91-- de_score raw .3571 (pts 7.812) · de_direction raw .3647 (7.860) · mmd_u raw .01071 (7.832) ·- variogram raw .00755 (6.700) · neighborhood_mmd raw .05126 (14.977)-- 坐标三项逐位不变:d2_shape .00470 (8.159) · occupancy_dice .8066 (3.511) · scale_log_ratio .01620 (7.767)--## 机制确实生效(PLAN mechanism_evidence)--`T2_DETR_SIDE_SHARED=1 T2_DETR_SIDE_MODE=count s=2.0` 时,共有类型的移除按起源分侧:--- 分侧类型数 `detr_ss_n_types=10`;a 起源移除 `rem_a=2849`,b 起源移除 `rem_b=17538`,- 合计 20387,池化等价 `rem_pool=13690` → 凸性增量 +6697(+49%),其中 1683 个基因- 分侧后移除数 > 池化。增量几乎全在 **b 侧(新兴基因)**:b 起源细胞来自较晚的 E8.0,- 对上升基因检出远高于几何目标 p_tgt=p_a^.6·p_b^.4,池化时被 a 侧的低检出抵消,分侧后暴露。-- 输出 nnz 由 .04588(父)降到 .04319,说明移除确实改变了哪些细胞的哪些基因从 ON→OFF。--## 全部查分(A 半,seed 0;shape_scale 三项逐位不变=77.75,故略)--| 配置 | board | expr | cell | local | de_score raw | de_dir raw | mmd_u raw | variogram raw | nbhd raw |-|---|---|---|---|---|---|---|---|---|---|-| 父42 (=ablate) | **64.622** | 62.69 | 58.13 | 59.91 | .3571 | .3647 | .01071 | .00755 | .05126 |-| count s=2.0 (PLAN 主配置) | 64.42 | 61.94 | 58.57 | 59.43 | .3214 | .3652 | .01090 | **.00718** | .05228 |-| count s=1.25 | 64.51 | 62.05 | 58.27 | 59.95 | .3214 | .3702 | .01078 | .00742 | .05119 |-| count s=1.0 | 64.44 | 62.10 | 57.86 | 60.03 | .3214 | .3725 | .01073 | .00769 | .05101 |-| asym a=2.0 b=1.25 | 64.37 | 62.02 | 58.20 | 59.49 | .3214 | .3702 | — | .00742 | .05216 |-| asym a=2.0 b=1.0 | 64.28 | 62.08 | 57.80 | 59.50 | .3214 | .3725 | — | .00766 | .05213 |-| asym a=2.0 b=0.5 | 64.03 | 61.98 | 56.95 | 59.41 | .3214 | — | — | .00818 | .05232 |-| preserve (池化计数+分侧定向) | 64.620 | 62.75 | 58.10 | 59.87 | .3571 | .3677 | .01064 | .00761 | .05136 |--共 9 次 `vec-score`(含父基线),≥3 种幅度/解码组合,满足 §5「判无效」门槛。--## 为什么证否(根因)--1. **de_score 对「共有类型 per-gene 移除计数」的重分配结构性敏感**:任何偏离池化计数的- 分侧(count s∈{1.0,1.25,2.0}、asym b∈{0.5,1.0,1.25})都把 de_score raw 钉在 **.3214**- (父 .3571,−0.036,≈ expression 组 −0.75 pts)。原因:分侧的凸性增量集中移除 b 起源- 细胞上新兴基因的检出,把这些基因的 pb 压到**上升真值之下** → dp 方向对新兴基因变差 →- de_score 命中率下降。这与父 ANALYSIS 记录的 DETRX-SIDE 代价同源(检出移除对 DE 有系统代价)。-2. **variogram 收益靠「总移除质量」,不靠「定向」**:只有把总量推到 20387(s=2.0)才把- variogram raw 从 .00755 拉到 .00718(cell_state 组 +0.44);s=1.0(总量 12395,接近池化)- variogram 反而 .00769(略差)。而这个质量增量正好制造上面的 de_score 代价。-3. **唯一的 de_score 中性方案(preserve)净零**:preserve 模式保持每基因移除数=池化值- (de_score 守住 .3571),只把移除按 excess 比例重定向到超标起源侧、侧内仍用 NBHDCOH 选择。- 结果 board 64.620 vs 父 64.622(−0.002,纯噪声):variogram .00761、nbhd .05136 都比父略差。- → 说明父节点池化 NBHDCOH 的**定向已近最优**,单纯改「移哪些细胞」不动分。--**净结论**:在 DETR 检出通道里,de_score 与 variogram 存在结构性张力——池化计数是 de_score-最优,任何分侧都破坏它;分侧带来的 variogram 质量收益恒小于 de_score 代价。父节点 42 的-DETR(池化 s=2.0 + NBHDCOH + DETRX-SIDE)已在此通道最优点附近,本方向是死路。--## 试过但放弃的备选(均针对 cell_state/local_spatial,均 ≤ 父)--- count 幅度扫描 s_side∈{1.0,1.25,1.5,2.0}(PLAN step 8 的 s 扫描)。-- per-side 非对称强度 asym(a 侧留满质量抓下降基因的 variogram,b 侧调轻以护 de_score)——- de_score 仍钉死 .3214,证明代价来自「计数模式改变」本身而非 b 侧幅度大小。-- preserve(计数守恒、仅重定向选择)——唯一 de_score 中性者,但净零。-- **未做**(PLAN step 8 明确排除,且属参数调优非本节点范围):γ(RECAL 幅度收缩)重扫、- s_ext/伪计数 m 重扫、occupancy_dice 坐标探针(那是 shape_scale 家族 T2EI-06,非本节点弱项)。--## 验证过 / 未验证--- 已验证:seed 0 确定性(跑两次 digest 相同);`--ablate` 与默认(off) 输出逐位=父 42- (digest `fb6726bc…`,nnz .04588≈父报告 .0459);`vec-check` 在 seed 0/1 均 ok;- 运行 30s / 峰值内存 0.60GB(限 30min / 28GB)。单输入阶段视图走早期 return(无 bracket),- 分侧代码不触发,与父一致。分侧只在 do_split(两侧各≥3 细胞)时启用,小类型回退池化。-- 未验证:B 半与 seed 1/2 的正式分(A 半 seed 0 已一致 ≤ 父,且根因是结构性的,- 换半/换 seed 不会改变 de_score↔variogram 张力的符号,故未耗额度复测)。-- 视图无关:新增代码只读 n_from_a、out_labels、表达与 p_tgt(均由输入现场算),- 不读 board/mode/绝对时间、不写死视图名/细胞数;默认关闭时行为=父 42(父已过伪装视图检查)。--## 知识来源--本机制是纯统计再校准(检出率几何插值 + 按起源分侧计数),不涉及保留阶段/保留基因型的-测量值,也不引入新的教科书发育事件;动机来自父节点 42 的 DETRX-SIDE 教训「做目标率/观测率-校准时,分母必须与被校正细胞的来源同分布」(本节点内实验记录,非外部数据)。PLAN.sources 为空。+NO_CHANGE: occupancy_dice 坐标探针(ANISO2 本征轴比 5 档 α、RDENS 径向密度 4 组全为净负或平手,d2_shape 以 20–40 倍亏损率对冲)++父节点:45(= 42 的输出,A 半 seed 0 = 64.622)。本节点权威输出与父节点**逐位一致**+(X data/indices/indptr + obsm 的 sha256 前缀 `da6d03e8e995e85d`,seed 0;`--ablate mechanism`+输出相同 → mechanism_active=no)。ANISO2 与 RDENS 两段探针代码保留在 run.py 里(环境变量开关,+默认关),供后续节点查证,不影响输出。++## PLAN 机制(ANISO2,family T2EI-06):实现与诊断++在输出云自身 PCA 框架里做全局对角缩放:目标 = 括号两端云本征值分数(旋转不变,直接从+`stage_a.coords` / `stage_b.coords` 现场算)的 t-对数插值;每轴乘 `(ft_i/fo_i)^α`(clip [0.5,2]),+再均匀缩放恢复探针前的精确 RMS(scale_log_ratio 逐位不动);只动坐标,表达不动;单输入阶段+(无括号)自动跳过。诊断确认 PLAN 的前提成立:输出 eigfrac `[0.497, 0.317, 0.187]` vs+t-插值目标 `[0.606, 0.251, 0.143]`(log 偏差 `[+0.17, −0.26, −0.29]`)——现有 merged-frame+aniso(node 13,γ=0.5)只对齐了合并框架里的逐轴 spread,输出云自己的本征轴比仍偏离目标。+机制确实改变了坐标(α=0.15 时轴因子 `[1.030, 0.966, 0.961]`,eigfrac → `[0.530, 0.297, 0.173]`;+α=0.70 → `[0.647, 0.225, 0.127]`)。++## 查分记录(proxy A 半,seed 0,共 13 次查询;points = 该指标得分,满分为括号内数字)++基线(父 45):board **64.622**;de_score 7.81(12.5)、de_direction 7.86(12.5)、mmd_u 7.83(12.5)、+variogram 6.70(12.5)、d2_shape 8.16(8.33)、occupancy_dice 3.51(8.33)、scale_log_ratio 7.77(8.33)、+neighborhood_mmd 14.98(25)。occ_raw=.8066,d2_raw=.0047,nbhd_raw=.05126。++| 配置 | board | d2 | occ | nbhd | de_s/de_d | mmd/var | occ_raw | d2_raw | nbhd_raw |+|---|---:|---:|---:|---:|---|---|---:|---:|---:|+| ANISO2 α=−0.15 | 64.010 | 8.14 | 2.91 | 14.99 | 不变 | 不变 | .7628 | .00487 | .05117 |+| ANISO2 α=0.05 | 64.350 | 7.88 | 3.51 | 14.98 | 不变 | 不变 | .8066 | .00689 | .05121 |+| ANISO2 α=0.15 | 63.773 | 7.26 | 3.56 | 14.98 | 不变 | 不变 | .8094 | .01235 | .05125 |+| ANISO2 α=0.40 | 62.239 | 5.82 | 3.48 | 14.96 | 不变 | 不变 | .8048 | .02961 | .05137 |+| ANISO2 α=0.70 | 61.256 | 4.52 | 3.83 | 14.94 | 不变 | 不变 | .8241 | .05462 | .05160 |+| RDENS 1.03→0.97 | 64.615 | 8.22 | 3.47 | 14.96 | 不变 | 不变 | .8038 | .00423 | .05146 |+| RDENS 1.045→0.955 | 64.129 | 7.81 | 3.40 | 14.94 | 不变 | 不变 | .8000 | .00749 | .05156 |+| RDENS 1.05→0.95 | 63.989 | 7.67 | 3.41 | 14.94 | 不变 | 不变 | .8000 | .00864 | .05159 |+| RDENS 0.97→1.03 | 63.545 | 7.38 | 3.21 | 14.98 | 不变 | 不变 | .7870 | .01130 | .05122 |+| cfgA 跨谱系移植* | 63.594 | 8.22 | 3.47 | 15.22 | 7.81/7.96 | 7.69/5.46 | .8038 | .00423 | .04926 |+| DETRX s=0.85* | 64.666 | 8.22 | 3.47 | 14.89 | 7.81/7.83 | 7.81/6.86 | .8038 | .00423 | .05201 |+| DETRX s=1.0* | 64.642 | 8.22 | 3.47 | 14.82 | 7.81/7.78 | 7.80/6.98 | .8038 | .00423 | .05262 |++\* 这三行跑时 RDENS(1.03→0.97) 默认为开(形状组数字含其 +0.06/−0.05 的 d2/occ 效应);+DETRX 两行相对 RDENS 单跑的净差 = +0.05 / +0.03(噪声内)。cfgA = 节点 43 配方在本代码库的移植+(RECAL γ=0、DETR s=1.5、DETRX s=0.45 池化、SIDE 关)。++## 结论(为什么判无效)++1. **ANISO2**:occupancy_dice 对轴比修正的响应弱且非单调(raw 最多 +0.0175,+0.32 pts,α=0.70),+ d2_shape 同向恶化 20–40 倍(−3.64 pts)。PLAN 的两条护栏(Δnbhd_raw ≤ +0.0005、+ Δd2_raw ≤ +0.001)在所有 α>0.05 上都被击穿;α=0.05 时 occ 不动、d2 已 −0.28 pts。负 α+ (更等轴)occ 掉 0.6 pts。方向本身与 node 13 的 γ 网格一致(更 a-样各向异性买 occ、卖 d2),+ 本征框架不改变这个交换率。+2. **RDENS(PLAN 步骤 4 备选)**:壳层压缩 (1.03→0.97) 是唯一近正配置(d2 +0.063、occ −0.045、+ nbhd −0.022 → 净 −0.007,平手);更强压缩与反向膨胀都净负。局部 dice 代理(vs 括号云)在+ 该方向 +0.007,但真实 occ 不跟(−0.003)——代理不可靠,已弃用。+3. **结构诊断**:occ 地板 ≈ raw .847(线性外推 skill .5),本谱系停在 .807。地板云是**单一真实+ 阶段**的连贯切片,而 mix 输出是两阶段嵌合体,其占据体素集合近似两朵云归一化形状的**并集**+ (本地 16³ 统计:out 243 体素 vs a 169 / b 194)。全局仿射/径向形变无法把并集变成连贯中间形,+ occupancy_dice 的缺口对 mix 家族是结构性的;d2_shape (.979) 与 scale (.932) 已近天花板,+ 任何大幅形状移动都在净亏。+4. **超出 PLAN 的两条附加测试**:(a) cfgA 移植证明本分支的 RECAL 幅度收缩是承重墙+ (去掉后 variogram .00755→.01107,跌破地板),不能照搬 43 谱系配方;(b) node 42 文档记录的+ DETRX 漂移余量("s_ext=0.7 还差全漂移 30%"):s_ext 0.85/1.0 使 variogram 单调改善+ (.00755→.00718→.00693)但 nbhd(.05126→.05201→.05262)与 de_direction(.3647→.3598→.3505)+ 单调恶化,净 +0.03/+0.02,噪声内(T2 噪声 ≈1 分,父节点自身 seed 0/1/2 = 64.62/63.75/63.90)。+ 检出通道的计数-选择张力再次封顶,与父节点 ANALYSIS 结论一致。++## 验证过的 / 没验证的++- 验证:默认(双探针关)输出与父逐位一致(seed 0);`--ablate mechanism` 逐位一致;+ seed 0/1/2 均能运行且确定(`np.random.default_rng(seed)`,无全局随机);vec-check ok;+ 伪装视图(时间 +1 平移、文件重命名、manifest 键序打乱)digest 与真实视图逐位一致+ (view-independent);运行时 ~2 s、内存 <1 GB(limits:28 GB / 30 min);单输入退路+ (b=None 分支)不经过探针代码。+- 没验证:RDENS/ANISO2 在真实括号(E7.75+E8.25→E8.0,t=1/3)上的行为——两者在代理上即+ 净负/平手,未提交,无需验证;occ 地板 raw(.847)是线性外推值,非实测。+- 知识来源:无(本节点全部为从视图输入现场计算的几何/统计探针,未使用任何外部生物学知识、+ 文献数值或已发布阶段的测量值;目标 RMS、轴比、径向剖面全部由括号输入与 t 推得)。++## 给后续节点的建议++- 坐标通道对本谱系已封顶:全局各向异性(两个框架)、径向密度、per-type aniso(node 22)、+ 体素再分布(node 24)、OT 重定位(方法卡)全部证否。occupancy_dice 的并集缺口只有+ 「非嵌合」的坐标云能补,而那与 nbhd 的表达-位置配对不相容。不要再试全局仿射/径向形变。+- 检出通道同样封顶(本节点 s_ext 余量证否 + 父节点 45 分侧证否)。若还要提分,需要+ cell_state 的新信息源(如型内状态连续体重建),而不是现有计数的再校准。+- 树内最优是 43 谱系(65.93 B 半);本谱系(42/45)与其差异主要在 RECAL 承重 + DETRX-SIDE,+ 两者不可互换(cfgA 移植净 −1.03)。合并两谱系的增益需要逐件移植而非整配方照搬。diff --git a/solution/README.md b/solution/README.mdindex 304ba32..7c5214d 100644--- a/solution/README.md+++ b/solution/README.md@@ -1,3 +1,19 @@+# 节点 46:NO_CHANGE — occupancy_dice 坐标通道探针(ANISO2 + RDENS)已证否++PLAN 机制 ANISO2(输出云自身 PCA 框架里的全局各向异性比值修正,向括号本征值分数的 t-对数插值+目标缩放各轴、恢复 RMS)已实现并在替代评测 A 半 seed 0 查分 5 档 α(−0.15/0.05/0.15/0.40/0.70 →+64.01/64.35/63.77/62.24/61.26,父 = 64.62):occupancy_dice raw 最多 +0.0175(+0.32 pts),+d2_shape 以 20–40 倍亏损率恶化(α=0.70 时 −3.64 pts),PLAN 护栏全部击穿。PLAN 步骤 4 的备选+RDENS(5 层径向壳密度探针,RMS 恢复)4 组同样证否:最优 (1.03→0.97) 净 −0.007(平手),+其余 63.55–64.13。附加测试:节点 43 配方移植(−1.03,本分支 RECAL 承重)、DETRX 漂移余量+s_ext∈{0.85,1.0}(+0.05/+0.03,噪声内,nbhd/de_direction 单调恶化)。**提交默认+`T2_ANISO2_ENABLE=0`、`T2_RDENS_ENABLE=0`,权威输出与父节点 45(=42)逐位一致**+(X+coords digest `da6d03e8e995e85d`,seed 0),`--ablate` 亦相同(mechanism_active=no)。+探针代码保留、默认关闭;伪装视图(时间 +1、重命名、键序打乱)digest 一致。+结构性结论与建议见 METHOD.md。++---+ # 节点 45:NO_CHANGE — 共有类型 DETR 按起源分侧移除(DETR-SIDE-SHARED)已证否 PLAN 机制 DETR-SIDE-SHARED(把父 42 的 DETRX-SIDE「按起源分侧」思想推广到**共有类型**的 DETRdiff --git a/solution/run.py b/solution/run.pyindex ba8d17d..0ff5d32 100644--- a/solution/run.py+++ b/solution/run.py@@ -8,6 +8,35 @@ exp(log r_a + SCALE_DAMP·t·Δlog r), and draws cells stratified by type: round(t·n) from the later stage, the rest from the earlier one. Coordinates travel with the cells. n is log-linear in t, clipped to the board range. +This node (46, family T2EI-06): PLAN mechanism ANISO2 — global anisotropy-ratio+probe in the output cloud's OWN PCA frame (scale each principal axis by+(target_eigfrac_i/current_eigfrac_i)^alpha toward the t-log-interpolated bracket+eigenvalue fractions, RMS-restoring) — was implemented and FALSIFIED on the+proxy A half (seed 0) across 5 amplitudes (alpha = -0.15/0.05/0.15/0.40/0.70 →+64.01/64.35/63.77/62.24/61.26 vs parent 64.62): occupancy_dice responds at most++0.0175 raw (+0.32 pts) while d2_shape loses up to -3.64 pts (20-40x adverse+exchange rate; both PLAN guardrails breached at every alpha > 0.05). The PLAN+step-4 backup RDENS (radial shell-density probe, 5 equal-count layers with a+linear inner→outer radial factor ramp, RMS-restoring) was also implemented and+FALSIFIED across 4 configs: compression (1.03→0.97) 64.615 (tie: d2 +0.063,+occupancy -0.045, nbhd -0.022), (1.045→0.955) 64.129, (1.05→0.95) 63.989,+expansion (0.97→1.03) 63.545. Also tested beyond the PLAN: the cross-lineage+config port (RECAL off + DETR s=1.5 + DETRX s=0.45 pooled, i.e. node 43's+recipe in this codebase) → 63.59 (variogram .0076→.0111: on THIS branch the+RECAL shrink is load-bearing), and the documented DETRX drift headroom+("s_ext=0.7 still under-shoots the full drift by 30%"): s_ext = 0.85/1.0 →+64.67/64.64 (variogram .00755→.00718/.00693 monotone up, but nbhd+.05126→.05201/.05262 and de_direction .3647→.3598/.3505 monotone down; net+zero within noise). SUBMITTED = NO_CHANGE: ANISO2_ENABLE=0 and RDENS_ENABLE=0+by default, so the authoritative output is bit-for-bit parent node 45 (=42);+--ablate mechanism gives the same output (mechanism_active=no). The probe code+is retained behind env flags for the record. Diagnosis: occupancy_dice's gap to+floor (~.807 vs ~.847) is STRUCTURAL for the mix family — the floor cloud is a+coherent single-stage section while our output is a two-stage chimera whose+occupied-voxel set is a union; no global affine or radial deformation of the+chimera closes that gap without paying several times more in d2_shape.+See METHOD.md for the full grids and per-metric points.+ This node (45, family T2EI-01): PLAN mechanism DETR-SIDE-SHARED — extend node 42's origin-conditioned drift to the SHARED-type DETR removal counts (split each shared type's output cells by origin stage a/b, per-side target@@ -1187,6 +1216,53 @@ ANISO_ENABLE = os.environ.get("T2_ANISO_ENABLE", "1") == "1" ANISO_DAMP = float(os.environ.get("T2_ANISO_DAMP", "1.25")) ANISO_CLIP = (float(os.environ.get("T2_ANISO_CLIP_LO", "0.3")), float(os.environ.get("T2_ANISO_CLIP_HI", "3.0")))+# RDENS (family T2EI-06, node 46 backup mechanism): radial shell-density+# probe (PLAN step 4). The output cloud is split into RDENS_K radial layers by+# distance to the centroid (equal-count quantile bins); layer i's radial+# coordinate is multiplied by a factor linearly ramped from s_lo (innermost)+# to s_hi (outermost), then the cloud is uniformly rescaled to the exact+# pre-probe RMS (scale_log_ratio untouched). s_lo > s_hi compresses the radial+# profile toward a mid-radius shell; s_lo < s_hi expands it. Expression and+# cell identity untouched; the deformation is smooth and radial, so the 15-NN+# neighborhood structure (neighborhood_mmd) changes only marginally.+# RDENS_ENABLE=0 (or s_lo == s_hi == 1) skips the step → parent bit-for-bit.+# FALSIFIED on the proxy A half (seed 0): (1.03,0.97) 64.615 vs parent 64.622+# (tie: d2 +0.063 pts, occupancy −0.045, nbhd −0.022); (1.045,0.955) 64.129;+# (1.05,0.95) 63.989; expansion (0.97,1.03) 63.545. No net gain in any+# direction → submitted default ENABLE=0 (output bit-for-bit = parent node 45).+RDENS_ENABLE = os.environ.get("T2_RDENS_ENABLE", "0") == "1"+RDENS_SLO = float(os.environ.get("T2_RDENS_SLO", "1.03"))+RDENS_SHI = float(os.environ.get("T2_RDENS_SHI", "0.97"))+RDENS_K = int(os.environ.get("T2_RDENS_K", "5"))+RDENS_CLIP = (float(os.environ.get("T2_RDENS_CLIP_LO", "0.8")),+ float(os.environ.get("T2_RDENS_CLIP_HI", "1.25")))+# ANISO2 (family T2EI-06, node 46, PLAN mechanism): global anisotropy-ratio+# probe in the OUTPUT cloud's OWN PCA frame. The inherited aniso_reshape works+# in the merged-bracket PCA frame and equalizes per-axis SPREADS there; because+# the output cloud's principal axes are rotated w.r.t. that frame (the diagonal+# of a covariance in a non-eigen frame is majorized by its eigenvalues), the+# cloud's own eigenvalue fractions still deviate from the bracket-interpolated+# target. Diagnostic on the proxy (seed 0): output eigfrac [0.497, 0.317, 0.187]+# vs t-log-interpolated target [0.590, 0.244, 0.140] — the output is LESS+# anisotropic than the interpolation of the two bracket clouds' eigenvalue+# fractions (eigenvalues are rotation-invariant, so the aligned and raw clouds+# give the same fractions). ANISO2 projects the final coordinates on their own+# principal axes, multiplies axis i by s_i = clip((ft_i/fo_i)^alpha, LO, HI),+# then uniformly rescales to restore the exact pre-probe RMS+# (scale_log_ratio untouched; expression untouched; alpha = 0 or+# T2_ANISO2_ENABLE=0 skips the step entirely → parent bit-for-bit).+# FALSIFIED on the proxy A half (seed 0), 5 amplitudes: α = −0.15 → 64.01,+# 0.05 → 64.35, 0.15 → 63.77, 0.40 → 62.24, 0.70 → 61.26, all below parent+# 64.62. occupancy_dice responds weakly and non-monotonically (raw .8066 →+# .7628/.8066/.8094/.8048/.8241; best +0.0175 = +0.32 pts at α=0.70) while+# d2_shape degrades 20–40× faster (raw .0047 → .0546 = −3.64 pts at α=0.70).+# The eigen-ratio direction toward the a-like anisotropy does buy occupancy+# (as node 13's γ grid already hinted) but never enough to pay for d2.+# Submitted default: ENABLE=0, α=0.+ANISO2_ENABLE = os.environ.get("T2_ANISO2_ENABLE", "0") == "1"+ANISO2_ALPHA = float(os.environ.get("T2_ANISO2_ALPHA", "0.0"))+ANISO2_CLIP = (float(os.environ.get("T2_ANISO2_CLIP_LO", "0.5")),+ float(os.environ.get("T2_ANISO2_CLIP_HI", "2.0"))) # Within-type per-gene std log-interpolation (VARISO, family T2EI-01, this node): # for every shared type (>=VARISO_MIN_CELLS cells in each bracket stage, # >=VARISO_MIN_DE DE genes |Δ|>=0.25), the per-gene within-type std of the@@ -1427,6 +1503,90 @@ def aniso_reshape(coords, aligned_a, aligned_b, t: float, damp: float): return out, info +def _eigfracs(X):+ """Sorted (desc) eigenvalue fractions of the centered coordinate cloud."""+ X = np.asarray(X, dtype=np.float64)+ X = X - X.mean(axis=0)+ cov = (X.T @ X) / max(len(X) - 1, 1)+ ev = np.linalg.eigvalsh(cov)[::-1]+ ev = np.maximum(ev, 1e-12)+ return ev / ev.sum()+++def aniso2_probe(coords, coords_a, coords_b, t: float, alpha: float):+ """Global anisotropy-ratio probe in the output cloud's own PCA frame.++ Target eigenvalue fractions: log-interpolation of the two bracket clouds'+ eigenvalue fractions (rotation-invariant, computed from the raw stage+ coordinates). The output cloud is projected on its own principal axes, each+ axis scaled by (ft_i / fo_i)^alpha (clipped), then uniformly rescaled to the+ exact pre-probe RMS so scale_log_ratio is untouched.+ """+ fa = _eigfracs(coords_a)+ fb = _eigfracs(coords_b)+ ft = np.exp(np.log(fa) + float(t) * (np.log(fb) - np.log(fa)))+ ft = ft / ft.sum()+ c = np.asarray(coords, dtype=np.float64)+ mu = c.mean(axis=0)+ X = c - mu+ cov = (X.T @ X) / max(len(X) - 1, 1)+ ev, evec = np.linalg.eigh(cov)+ order = np.argsort(ev)[::-1]+ ev = np.maximum(ev[order], 1e-12)+ evec = evec[:, order]+ fo = ev / ev.sum()+ s = np.clip((ft / fo) ** float(alpha), ANISO2_CLIP[0], ANISO2_CLIP[1])+ proj = X @ evec+ new = (proj * s) @ evec.T+ rms_before = float(np.sqrt((X ** 2).sum(axis=1).mean()))+ rms_after = float(np.sqrt((new ** 2).sum(axis=1).mean()))+ new = new * (rms_before / max(rms_after, 1e-12))+ ev_new = np.maximum(np.linalg.eigvalsh((new.T @ new) / max(len(new) - 1, 1))[::-1], 1e-12)+ info = {+ "aniso2_alpha": float(alpha),+ "aniso2_eigfrac_a": fa.tolist(),+ "aniso2_eigfrac_b": fb.tolist(),+ "aniso2_eigfrac_out_before": fo.tolist(),+ "aniso2_eigfrac_target": ft.tolist(),+ "aniso2_eigfrac_out_after": (ev_new / ev_new.sum()).tolist(),+ "aniso2_axis_factor": s.tolist(),+ "aniso2_logdev_before": np.log(ft / fo).tolist(),+ "aniso2_rms": rms_before,+ }+ return (new + mu).astype(np.float32), info+++def rdens_probe(coords, s_lo: float, s_hi: float, k: int):+ """Radial shell-density probe: linearly ramped per-layer radial scaling.++ Layers are equal-count quantile bins of the distance to the centroid; the+ innermost layer's radii are multiplied by s_lo, the outermost by s_hi, with+ a linear ramp in between (clipped). The cloud is then uniformly rescaled to+ its exact pre-probe RMS, so scale_log_ratio is untouched.+ """+ c = np.asarray(coords, dtype=np.float64)+ mu = c.mean(axis=0)+ Y = c - mu+ r = np.linalg.norm(Y, axis=1)+ k = int(max(k, 2))+ edges = np.quantile(r, np.linspace(0.0, 1.0, k + 1))+ edges[-1] += 1e-9+ li = np.clip(np.searchsorted(edges, r, side="right") - 1, 0, k - 1)+ fac = np.clip(s_lo + (s_hi - s_lo) * (li / (k - 1)), RDENS_CLIP[0], RDENS_CLIP[1])+ new = Y * fac[:, None]+ rms_before = float(np.sqrt((Y ** 2).sum(axis=1).mean()))+ rms_after = float(np.sqrt((new ** 2).sum(axis=1).mean()))+ new = new * (rms_before / max(rms_after, 1e-12))+ frac = np.bincount(li, minlength=k) / len(r)+ info = {+ "rdens_s_lo": float(s_lo), "rdens_s_hi": float(s_hi), "rdens_k": k,+ "rdens_layer_frac": frac.tolist(),+ "rdens_fac_min": float(fac.min()), "rdens_fac_max": float(fac.max()),+ "rdens_rms": rms_before,+ }+ return (new + mu).astype(np.float32), info++ def type_aniso_reshape(coords, labs_out, ca, cb, la_all, lb_all, t: float): """Per-type anisotropic reshaping of the output cloud (see TYPEANISO_* docs).""" gamma = TYPEANISO_DAMP * float(t)@@ -2099,11 +2259,13 @@ def main() -> None: parser.add_argument("--out", required=True) parser.add_argument("--seed", type=int, default=0) parser.add_argument("--ablate", default=None,- help="mechanism-off control (node 45): 'mechanism' (or any name) sets "- "origin_split_shared=False, so the SHARED-type DETR removal counts are "- "pooled (parent behaviour) instead of split by cell origin stage. "- "NBHDCOH selection and DETRX-SIDE (parent node 42 mechanisms) stay ON, "- "so the ablated output reproduces parent node 42 bit-for-bit")+ help="mechanism-off control (node 46): 'mechanism' (or any name) disables "+ "ANISO2 (global anisotropy-ratio probe in the output cloud's own PCA "+ "frame) and RDENS (radial shell-density probe) — coordinates are "+ "written exactly as the parent pipeline produced them, so the ablated "+ "output reproduces parent node 45 bit-for-bit (both probes are also "+ "off by default after falsification). Inherited mechanisms (NBHDCOH, "+ "DETRX-SIDE, DETR, ...) stay ON in both runs") args = parser.parse_args() # Mechanism-off control (node 45): DETR-SIDE-SHARED (origin-split shared-type # removal counts). This is the ONLY mechanism this node adds on top of parent@@ -2226,6 +2388,27 @@ def main() -> None: coords, sci = side_cluster_repair(coords, int(info.get("n_from_a", 0))) sc_info.update(sci) info.update(sc_info)+ # ANISO2 (node 46, PLAN mechanism): global anisotropy-ratio probe in the+ # output cloud's own PCA frame (see ANISO2_* config docs). FALSIFIED on the+ # proxy A half (α∈{−0.15,0.05,0.15,0.40,0.70} all below parent): d2_shape+ # degrades 20–40× faster than occupancy_dice gains. Submitted default α=0.+ aniso2_on = ANISO2_ENABLE and ANISO2_ALPHA != 0.0 and not args.ablate+ a2_info = {"aniso2_enable": bool(ANISO2_ENABLE), "aniso2_alpha_cfg": ANISO2_ALPHA,+ "aniso2_applied": bool(aniso2_on and coords.shape[0] >= 10)}+ if aniso2_on and coords.shape[0] >= 10:+ coords, a2i = aniso2_probe(coords, stage_a.coords, stage_b.coords, float(t), ANISO2_ALPHA)+ a2_info.update(a2i)+ info.update(a2_info)+ # RDENS (node 46 backup mechanism): radial shell-density probe (PLAN step+ # 4). --ablate turns this off too → output bit-for-bit identical to parent.+ rdens_on = (RDENS_ENABLE and coords.shape[0] >= 10 and not args.ablate+ and abs(RDENS_SLO - 1.0) + abs(RDENS_SHI - 1.0) > 0.0)+ rd_info = {"rdens_enable": bool(RDENS_ENABLE), "rdens_slo_cfg": RDENS_SLO,+ "rdens_shi_cfg": RDENS_SHI, "rdens_applied": bool(rdens_on)}+ if rdens_on:+ coords, rdi = rdens_probe(coords, RDENS_SLO, RDENS_SHI, RDENS_K)+ rd_info.update(rdi)+ info.update(rd_info) keep = {k: info.get(k) for k in ("t", "n", "rms_a", "rms_b", "out_rms", "n_shared_types", "z_dot", "z_flipped", "align", "alpha", "n_shared_types_converged", "within_type_std_rel", "between_type_mean_dist_rel", "n_from_a", "n_from_b",@@ -2252,7 +2435,15 @@ def main() -> None: "bracket_clip", "n_clamped_cells", "pair_beta", "n_paired_types", "n_pairs", "pair_within_std_rel", "pair_orth_var_rel", "pair_dist_over_diam",- "aniso_enable", "aniso_damp", "aniso_gamma", "aniso_spread_a",+ "rdens_enable", "rdens_slo_cfg", "rdens_shi_cfg", "rdens_applied",+ "rdens_s_lo", "rdens_s_hi", "rdens_k", "rdens_layer_frac",+ "rdens_fac_min", "rdens_fac_max", "rdens_rms",+ "aniso2_enable", "aniso2_alpha_cfg", "aniso2_applied",+ "aniso2_alpha", "aniso2_eigfrac_a", "aniso2_eigfrac_b",+ "aniso2_eigfrac_out_before", "aniso2_eigfrac_target",+ "aniso2_eigfrac_out_after", "aniso2_axis_factor",+ "aniso2_logdev_before", "aniso2_rms",+ "aniso_enable", "aniso_damp", "aniso_gamma", "aniso_spread_a", "aniso_spread_b", "aniso_spread_cur", "aniso_spread_target", "aniso_factor", "aniso_aspect_in", "aniso_aspect_out", "typeaniso_enable", "typeaniso_damp", "typeaniso_min_cells",
调研来源?调研员查到并用到的知识条目和文献检索结果(只列标题和编号)。
用到的知识库条目
| 编号 | 标题 | 出处 |
|---|---|---|
| k007 | Interval staging and held-out-window filtering of external data | notes/official/来件/virtualembryo.ai/rules.md |
| k024 | World-model evaluation dimensions for state-transition predictors | notes/competition/07_biomedical_world_models.md |
| k026 | Canonicalise predicted 3D coordinates before submission | notes/pitfalls/04_scorer_invariance.md |
分析结果?分析员写的 ANALYSIS.json:改了什么、各组分数怎么变、假设是否成立、经验和下一步建议。
| 改了什么 | NO_CHANGE 节点:实现了 PLAN 的 ANISO2(输出云自身 PCA 框架的全局各向异性比值修正,α 5 档)和备选 RDENS(5 层径向壳密度探针,4 组),在 proxy A 半 seed 0 上全部证否后默认关闭(T2_ANISO2_ENABLE=0、T2_RDENS_ENABLE=0),权威输出与父节点 45(=42)逐位一致;探针代码保留在 run.py 环境变量开关后。 |
|---|---|
| 各组分数的变化 | cell_state:噪声内(+0.00) expression_change:噪声内(+0.00,输出与父逐位一致) local_spatial:噪声内(+0.00);ANISO2/RDENS 各配置 nbhd raw 变化 ≤ +0.0004,未构成否决但也无收益 shape_scale:噪声内(+0.00);探针查分显示 ANISO2 α=0.15 时 occupancy_dice raw .8066→.8094 仅 +0.03 pts,d2_shape raw .0047→.0124 净 −0.9 pts,护栏击穿 |
| family_id | T2EI-06 |
| 假设是否成立 | 否 |
| 经验 |
|
| mechanism_active | 否 |
| 下一步建议 |
|
对话摘要?每个角色和大模型对话的统计:轮数、工具调用、用时、token 数和最后的回答摘录;原始记录只给路径。
只给统计和最后回答的摘录;完整对话请到原始记录位置里列出的文件看。
分析员
| 角色?调研员写计划、工程师改代码、分析员解读分数、审查员检查作弊。 | 分析员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数?大模型一共回复了几轮(每轮可以调用多个工具)。 | 3 |
| 工具调用?大模型调用读文件、执行命令等工具的次数,按工具名统计。 | 共 2 次:bash 1、write 1 |
| 用时 | 不到 1 分 |
| token 数?输入 / 输出(含思考)的 token 数,来自接口返回的用量。 | 输入 19,411 · 输出 1,207 · 思考 503 |
| 任务(第一行) | 分析节点 n46 的打分结果,写 ANALYSIS.json |
| 最后的回答(摘录) | ANALYSIS.json written |
| 原始记录位置?完整对话记录在 Spark 上的文件路径;看板不复制原始内容。 | /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/analyst.jsonl 7 KB /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/analyst.stderr |
工程师
| 角色 | 工程师 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数 | 60 |
| 工具调用 | 共 64 次:bash 41、edit 15、read 7、write 1 |
| 用时 | 42 分 |
| token 数 | 输入 260,236 · 输出 25,957 · 思考 58,727 |
| 任务(第一行) | 按计划修改程序:occupancy_dice 全局各向异性比值探针(坐标通道,表达正交) |
| 最后的回答(摘录) | 完成。最终状态:
**做了什么**:按 PLAN 实现并证否了 ANISO2(输出云自身 PCA 框架的全局各向异性比值修正,RMS 守恒、只动坐标),5 档 α(−0.15/0.05/0.15/0.40/0.70);又实现并证否 PLAN 步骤 4 的备选 RDENS(5 层径向壳密度探针),4 组;另加两条超出 PLAN 的测试(节点 43 配方跨谱系移植、DETRX 漂移余量 s_ext∈{0.85,1.0})。提交为 NO_CHANGE:默认 `T2_ANISO2_ENABLE=0`、`T2_RDENS_ENABLE=0`,权威输出与父节点 45(=42)逐位一致(digest `da6d03e8…`,seed 0/1/2 确定,`--ablate` 相同,伪装视图 digest 一致,vec-check ok)。
**查分结果**(13/20 次,A 半 seed 0,父=64.622):ANISO2 全部净负(61.26–64.35)——occupancy_dice raw 最多 +0.0175(+0.32 pts),d2_shape 以 20–40 倍亏损率恶化(−3.64 pts);RDENS 最优 (1.03→0.97) 净 −0.007(平手:d2 +0.06、occ −0.05);cfgA 移植 63.59(本分支 RECAL 承重);s_ext 余量 +0.03~0.05(噪声内,variogram↑ 被 nbhd/de_direction↓ 抵消)。结论:occupancy_dice 缺口(地板 raw≈.847 vs 本谱系 .807)是 mix 嵌合体"占据体素并集"的结构性问题,全局坐标形变无法弥补。
**下一步最值得试**:坐标通道与检出通道双双封顶,不要再做全局仿射/径向形变或 DETR 计数再校准;若要突破需 cell_state 的新信息源(如型内状态连续体重建),或把 42 谱系的 DETRX-SIDE 逐件(而非整配方)移植进 43 谱系(rank3 65.50)验证可加性。 |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/engineer.jsonl 482 KB /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/engineer.stderr |
调研员
| 角色 | 调研员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 2 次 |
| 轮数 | 2 |
| 工具调用 | 共 0 次:— |
| 用时 | 6 分 |
| token 数 | 输入 21,836 · 输出 1,119 · 思考 14,491 |
| 任务(第一行) | 为节点 n46(改进,父节点 n45)写改进计划 PLAN.json |
| 最后的回答(摘录) | {
"name": "occupancy_dice 全局各向异性比值探针(坐标通道,表达正交)",
"motivation": "父节点 45(=42)八项指标中 occupancy_dice 是唯一低于地板的排名指标(raw 0.8086,skill 0.424 < 0.5,得分 3.53/8.3 < 地板 4.17),而 d2_shape skill 0.963、scale_log_ratio skill 0.932 表明整体尺寸和成对距离分布已近天花板。ANALYSIS 明确建议'换到坐标通道做 occupancy_dice 坐标探针,潜在 +0.6'。检出通道已证死(de_score↔variogram 结构性张力),表达组无剩余空间;坐标通道与表达正交、无 de_score 风险。",
"approach": "步骤:(1) 诊断——在输出云上计算居中坐标的协方差特征值 (λ1≥λ2≥λ3) 和各轴占比;同样计算括号两端 a、b 云的特征值,按 t 对数插值得目标轴比;比较输出与目标的轴比偏差,确定最大偏差轴。(2) 修正——在输出云自身 PCA 空间中,对每轴乘以 (target_λi / current_λi)^α,α 为修正强度,初值 0.15,搜索范围 {0.05, 0.10, 0.15, 0.25, 0.40};修正后统一缩放恢复原 RMS(保 scale_log_ratio 不变)。(3) 护栏——每个配置先检查 neighborhood_mmd raw 增量 ≤ +0.0005(否则否决);d2_shape raw 增量 ≤ +0.001;scale_log_ratio 变化 ≤ 0.005。(4) 若轴比修正不足,追加密度探针:把输出云按到质心距离分 5 层,对各层径向坐标乘轻微缩放(层间差异 ≤ 3%),测试是否改善占据模式。(5) 单输入阶段退路:无括号时跳过修正,输出 = 输入原样(与父行为一致)。(6) vec-score 快速筛选:先跑 α=0.15 一次查分确认方向,再扫其余 α;若第一个配置已超父 +0.5 则只复测 seed 1 确认。预期:occupancy_dice 从 3.53 向 4.17(地板)靠拢,+0.3~0.6 分;其余七项不变或噪声内。",
"expected_groups": ["shape_scale"],
"risks": "1) 轴比修正可能不是 occupancy_dice 低分的根因(可能是密度分布或边界形状问题),此时 α 扫描全部噪声内——Engineer 应在第一个 α 配置后比较 occupancy_dice raw 变化,若 <0.005 则转密度探针。2) 全局仿射变换可能轻微破坏 neighborhood_mmd(表达-位置配对),设硬否决线 +0.0005;若触发则降 α 或放弃。3) 增益 ≤0.6 分在 T2 约 1 分噪声内,需 2 个 seed 配对差同向确认。4) 节点 22(per-type aniso)已证否,本方案是 GLOBAL 非 per-type,且强度范围更保守(0.05–0.40 vs 22 的 −1.0–1.0),机制不同。",
"family_id": "T2EI-06",
"mechanism": "在输出云 PCA 空间中施加全局对角缩放,将各轴特征值比值向括号插值目标靠拢(强度 α 控制),再恢复原 RMS;仅动坐标、不动表达。",
"vs_constant_shift": "常数位移对每个基因加相同表达偏移,改变的是表达值;本机制改变的是细胞的空间坐标排列(各轴展幅比例),不影响任何基因的表达值。两者作用空间完全不同。",
"mechanism_evidence": "Engineer 应记录:(a) 修正前后输出云的三轴特征值及轴比;(b) occupancy_dice raw 变化;(c) d2_shape raw 变化(应几乎不动);(d) neighborhood_mmd raw 变化(应在否决线内);(e) scale_log_ratio raw 变化(应 ≈0)。若轴比确实向目标移动且 occupancy_dice 改善,机制生效。",
"mechanism_off_control": "设 α=0(或环境变量 T2_ANISO_PROBE=0),此时对角缩放为单位阵,输出坐标与父节点逐位一致;预期榜分与父完全相同(digest 一致)。",
"sources": []
} |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/researcher.jsonl 1 KB /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/researcher.1.jsonl 4 KB /home/spark-longxinyang/vec/runs/formal/20261003-171955-search-t2-embryo-interp-chain-12h/nodes/46/researcher.stderr |