总览 · ← 返回运行 20261002-202908-search-t1-scr-D
节点 n22 终选程序?按该运行锁定的规则最终选出的程序;可能是候选节点,也可能由护栏回退到基线。在终选来历上
在节点21管线上新增--gamma(默认0.3):每个输出细胞的型级低秩位移 V·w_c 按 (1+γ·clip(p,±2)) 逐细胞缩放,p 为该细胞 stage2 HVG 表达相对本型均值在位移轴 ŵ_c 上的投影;γ=0 逐元素还原节点21。X3 A半双seed +0.42/+0.58(γ=0.3),PLAN 的 γ=10 与局部项复合失败(-30分)。
| 运行?一次完整的自动搜索或 Agent 会话,有自己的锁定配置和证据包。 | 20261002-202908-search-t1-scr-D |
|---|---|
| 父节点 | n21 |
| 子节点 | n25、n32 |
| 操作?种子:人写的起点;改进:在父节点上改;草稿:从头写;修复:修父节点的报错。 | 改进 |
| 状态 | 已打分 |
| 分数 | 搜索目标分 61.73(+0.5) · X3 61.73(+0.5) · 3 次复测均分 61.92 |
| 审查 | 通过 1 越界读取:未发现问题。run.py 全部数据访问只经 view_io 的 load_manifest/panel_genes/inputs_by_time/read_stage(第31-40、139-144行),无 open()/np.load/h5py/Path/glob/listdir/subprocess/socket,无绝对路径、'..'、/mnt、/home、data/raw、downloads、打分器或 src/common/evaluation 引用,未读目标阶段文件,未联网;os.environ 只用于读超参默认值(第104-136行),不涉及数据。; 2 硬编码目标统计… |
| 用时?从运行开始到结束(或到现在)的挂钟时间。 | 22 分 |
| 程序版本 | 246fbd797587876ddaeacbe2253644ccc4db6961 (programs.git) |
方法说明?节点程序自带的 METHOD.md:这个程序做了什么、为什么。
来自 programs.git 246fbd7975:solution/METHOD.md
在节点21管线上新增--gamma(默认0.3):每个输出细胞的型级低秩位移 V·w_c 按 (1+γ·clip(p,±2)) 逐细胞缩放,p 为该细胞 stage2 HVG 表达相对本型均值在位移轴 ŵ_c 上的投影;γ=0 逐元素还原节点21。X3 A半双seed +0.42/+0.58(γ=0.3),PLAN 的 γ=10 与局部项复合失败(-30分)。
方法(family: other,PLAN 指定机制)
完整保留节点21管线:copy_last抽样、per-type EB位移、α·r时间缩放、top-25 PC低秩投影(HVG 8000)、逐细胞局部切向项 η=-3、k=15、f=1.3 范数归一、只作用非零元、max(0,·)。单输入视图严格退化 copy_last(γ 分支在 len(entries)>=2 内,不执行)。
本节点新增 --gamma(PLAN 机制:位移轴逐细胞幅度调制):对每个输出细胞 i(型 c),p_i = (z_i − z̄_c)·ŵ_c,其中 z 为 stage2 细胞的 PC 坐标(Z2 = (X_l[hvg]−mu)·V),ŵ_c = w_c/‖w_c‖,w_c = V^T·Δ_c[hvg] 为型级投影位移的 PC 系数(等价于 HVG 空间在轴 u_c = V·w_c 上的投影,V 正交);p clip 到 ±2,型级低秩分量乘 s_i = 1+γ·clip(p_i)。局部项(f 归一后的 η·g_i)不受调制,与 PLAN 公式 V·((1+γ·clip(p_i))·w_c + f归一 η·g_i) 一致。β<1 时只调制 β·tilde 部分。γ=0 时整个分支跳过,输出与节点21逐元素一致(实测 (A!=B).nnz==0)。
提交配置:γ=0.3、f=1.3、η=-3、k=15、m=0,其余同节点21。
机制生效证据与对照结果(X3 A半)
γ 扫描(seed0,亲本 seed0=59.69):
| γ | 总分 | cell_state | covariation | de_rec | direction |
|---|---|---|---|---|---|
| 0(=节点21) | 59.69 | 85.55 | 44.65 | 50.48 | 49.91 |
| 0.15 | 60.02 | 86.81 | 44.47 | 50.48 | 49.86 |
| 0.3 | 60.11 | 87.63 | 44.33 | 50.00 | 49.83 |
| 0.5 | 60.03 | 87.40 | 44.20 | 50.00 | 49.87 |
| 1.0 | 57.37 | 78.66 | 44.04 | 50.00 | 49.84 |
| 3 | 41.01 | 31.93 | 41.83 | 43.44 | 48.83 |
| 10 | 29.82 | 10.71 | 21.26 | 42.06 | 47.36 |
γ=0.3 seed1 = 59.57(亲本 seed1 = 58.99,+0.58);双seed均值 59.84 vs 59.34(+0.50,小于2分噪声线,属弱正信号,不宣称已证进步)。曲线在 0.15–0.5 有平台(60.02/60.11/60.03),非单点过拟合;cell_state 随小 γ 一致上升(+1.3~+2.1),cov/de/dir 轻微下降,符合"沿轴异质性↑→cs↑、其余组分小幅侵蚀"的树内既有交换模式。
PLAN 风险1应验:节点9 的 γ=10 是在无局部项、无低秩投影的节点4管线上调出的;本管线上 p 的型内分布宽(sd≈1.7,多数细胞触 ±2 clip),γ=10 时 s∈[−19,21] 把位移放大 20 倍,cell_state 崩到 10.71、covariation 崩到 21.26。η 局部项已经提供型内离散度,位移轴调制的可用幅度比节点9 小一个数量级以上。PLAN 成功判据(A半 seed0 ≥62)未达成;但"γ>0 优于 γ=0 且双seed一致"成立,故按 PLAN 提交双seed一致且位于平台内的 γ=0.3,而非回退 γ=0。
机制证据(stderr 诊断):γ>0 时各型 s 的型内标准差 >0(如 γ=0.3 时 s∈[0.4,1.6] 区间、sd≈0.5),mod 范数的型内离散随 γ 单调增大;γ=0 时分支不执行、逐元素对照通过——调制确实逐细胞生效且集中于 cell_state 组分,与 PLAN mechanism_evidence 预期方向一致(幅度远小于节点9 单独使用时的 +18)。
查分记录(X3 A半,共用 7 次)
γ∈{3,10} 2次 + γ∈{0.3,1.0} 2次 + γ∈{0.15,0.5} 2次 + γ=0.3 seed1 1次。γ=0 未查分(用逐元素对照代替,更强)。
验证过 / 没验证
- 验证:vec-check ok;默认参数与已查分 γ=0.3 seed0 预测逐元素一致;同 seed 两次运行逐元素一致(确定性);γ=0 与父程序(节点21 run.py)同视图同 seed 逐元素一致(关闭对照);单输入视图(用 X3 的 input_1 单独构造 mini view)严格退化 copy_last 不崩溃、652 cells;~8s / <1GB / 纯CPU(EXECUTION.json gpu:false 不变)。
- 视图无关:γ 只用视图内 Z2、w_c(现场计算)、相对时间差;无绝对时间、路径、manifest 字段顺序依赖;未读 board/mode/source 字段。
- 没验证:B半真值;final 视图(r=1 时型级位移更大,s 的相对调制幅度不变但绝对位移差更大,γ 最优点可能漂移);γ∈(0.5,1.0) 与 p 标准化变体;γ×f/η 再联合调参(时间预算内只按 PLAN 固定 f=1.3、η=-3)。
知识来源
全部沿用节点5/13/21:标签改名词表(方法卡§标签)、EB收缩(标准经验贝叶斯)、PCA/kNN/位移轴投影仅用视图内输入表达数据;无外部数据、无 prior/、无禁窗信息、无硬编码统计量。
调研员的计划
| 名称 | 位移轴逐细胞幅度调制(γ)与局部项范数归一(f=1.3)正交组合 |
|---|---|
| 动机 | 父节点21(61.23)最弱组为 covariation 44.92 与 direction 50.18,但 ANALYSIS 已证明任何削弱局部扩张的 cov 修复都以 ≈1:7 的交换率牺牲 cell_state(m 扫描 20→47.07 cov 换 62.63 cs,带内加大|η|也无效,m5/η-7→53.70),cov 方向此路已证伪。全树两个已验证的大增益机制彼此正交且尚未复合:节点9 的位移轴调制 γ=10 使 cell_state +18.18(65.64→83.82,rank3 59.66),节点13/21 的逐细胞局部扩张+范数归一使 cell_state 64.34→89.11。ANALYSIS next_suggestion 2 明确建议先查 γ×f 组合;γ 拉伸沿型级位移轴、η 扩张沿局部几何切向,机制独立,预期 cell_state 与 direction 可叠加。 |
| 做法 | 以节点21代码为基础(copy_last抽样 + per-type EB位移 + α·r时间缩放 + top-25 PC低秩投影(HVG8000) + η=-3、k=15、f=1.3 局部项),新增 --gamma(默认0):对每个输出细胞计算 p_i = 该细胞 stage2 HVG 表达相对本型 stage2 均值在型级投影位移轴 u_c = V·w_c 上的投影,clip 到 ±2,低秩位移改为 V·((1+γ·clip(p_i))·w_c + f归一后的 η·g_i);γ=0 逐元素还原节点21(关闭对照)。u_c 与 p_i 全部用视图内输入现场计算,只用相对时间差,无任何视图身份判断。查分步骤(X3 A半,预算≤10次):1) γ∈{0,3,10}×f=1.3,seed0,3次;2) 最优 γ 在 seed1 复测并与亲本 seed1 对比(亲本 seed0/1=59.69/58.99),2-3次;3) 若 γ=10 最优,细扫 γ∈{6,10,14},2-3次;4) 验证单输入阶段时严格退化(无第二输入→直接 copy_last,γ 分支不执行)。先小样本冒烟(确认 <1min、<1GB)再全量。成功判据:A半 seed0 总分 ≥62 且 γ>0 优于 γ=0,且双 seed 均高于亲本对应 seed;若所有 γ>0 均不优于 γ=0,提交 γ=0(与节点21逐元素一致)并如实报告组合失败。 |
| 风险 | 1) γ 最优点漂移:节点9 的 γ=10 是在无局部项的节点4管线上调出的,叠加 η=-3 与 f=1.3 后最优点可能变小——用 γ∈{3,10} 小网格先行探测,若总分随 γ 单调降则尽早止损提交 γ=0;2) 收益叠加失败:γ 与 η 都增大位移异质性,可能边际递减或 cell_state 饱和、covariation 进一步被侵蚀——每次查分记录四组分,若 cs 不再升且 cov 明显降(>2分)即停止加大 γ;3) 时间尺度漂移:final 视图 r=1 时调制幅度相对更大,A半最优 γ 可能偏大——提交值取双 seed 一致且不过拟合单点的 γ;4) 单输入退化被破坏——单独验证该分支;5) 增益小于 2 分噪声:双 seed 不一致或均值提升 <2 时不宣称进步。 |
代码改动?这个节点的程序和父节点程序的逐行差别:绿色是新增,红色是删除。
对比:父节点版本 6b60640f73。改动的文件:solution/METHOD.md +24 −26、solution/run.py +37 −7
diff --git a/solution/METHOD.md b/solution/METHOD.mdindex 1630d0b..5f1b5eb 100644--- a/solution/METHOD.md+++ b/solution/METHOD.md@@ -1,45 +1,43 @@-按PLAN实现PC-band限制局部扩张(η·g只作用于第m+1–25维PC):实测m>0全部降总分(covariation与cell_state单调权衡,交换率≈1:7),成功判据不成立;转而实现PLAN风险1的预案——逐细胞局部项范数归一(‖η·Vg_i‖按型归一到型投影位移范数的f倍),f=1.3双seed均正(+0.8/+0.3,噪声内),提交m=0、f=1.3,其余与节点13一致。+在节点21管线上新增--gamma(默认0.3):每个输出细胞的型级低秩位移 V·w_c 按 (1+γ·clip(p,±2)) 逐细胞缩放,p 为该细胞 stage2 HVG 表达相对本型均值在位移轴 ŵ_c 上的投影;γ=0 逐元素还原节点21。X3 A半双seed +0.42/+0.58(γ=0.3),PLAN 的 γ=10 与局部项复合失败(-30分)。 -## 方法(family: other,PLAN 指定机制 + PLAN 风险1 预案)+## 方法(family: other,PLAN 指定机制) -完整保留节点13管线:copy_last抽样、per-type EB位移、α·r时间缩放、top-25 PC低秩投影(HVG 8000)、逐细胞局部切向项 η·g_i(kNN k=15,η=-3)、只作用非零元、max(0,·)。单输入视图仍严格退化 copy_last。+完整保留节点21管线:copy_last抽样、per-type EB位移、α·r时间缩放、top-25 PC低秩投影(HVG 8000)、逐细胞局部切向项 η=-3、k=15、f=1.3 范数归一、只作用非零元、max(0,·)。单输入视图严格退化 copy_last(γ 分支在 `len(entries)>=2` 内,不执行)。 -本节点新增两个开关(均已实现并扫描):+**本节点新增 --gamma(PLAN 机制:位移轴逐细胞幅度调制)**:对每个输出细胞 i(型 c),p_i = (z_i − z̄_c)·ŵ_c,其中 z 为 stage2 细胞的 PC 坐标(Z2 = (X_l[hvg]−mu)·V),ŵ_c = w_c/‖w_c‖,w_c = V^T·Δ_c[hvg] 为型级投影位移的 PC 系数(等价于 HVG 空间在轴 u_c = V·w_c 上的投影,V 正交);p clip 到 ±2,型级低秩分量乘 s_i = 1+γ·clip(p_i)。局部项(f 归一后的 η·g_i)不受调制,与 PLAN 公式 V·((1+γ·clip(p_i))·w_c + f归一 η·g_i) 一致。β<1 时只调制 β·tilde 部分。**γ=0 时整个分支跳过,输出与节点21逐元素一致(实测 (A!=B).nnz==0)**。 -1. **--pc-band-start m(PLAN机制)**:构造掩码把 G(逐细胞PC偏移矩阵)前 m 列置零,局部扩张只作用于 PC m+1…25;低阶PC仅保留型级位移 w_c。kNN仍在全部25维PC空间搜索(邻居选择不变)。m=0 退化为节点13。-2. **--local-norm f(PLAN风险1预案)**:把每个细胞的局部项 HVG 向量范数归一到 f·‖d_c[hvg]‖(该型投影位移范数),方向仍由 kNN 局部几何逐细胞决定。f=0 关闭。+**提交配置:γ=0.3、f=1.3、η=-3、k=15、m=0,其余同节点21。** -**提交配置:m=0、f=1.3、η=-3、k=15。**+## 机制生效证据与对照结果(X3 A半) -## 机制生效证据与对照结果(X3 A半,seed0,除注明外)+γ 扫描(seed0,亲本 seed0=59.69): -**PC-band(PLAN机制)——判据不成立**:--| m | 总分 | cell_state | covariation | de_rec | direction |+| γ | 总分 | cell_state | covariation | de_rec | direction | |---|---|---|---|---|---|-| 0(=节点13) | **58.87** | 82.85 | 44.16 | 50.96 | 49.78 |-| 5 | 57.40 | 76.64 | 45.04 | 51.46 | 50.15 |-| 8 | 56.53 | 73.20 | 45.65 | 51.46 | 50.30 |-| 10 | 55.88 | 70.18 | 46.06 | 51.96 | 50.51 |-| 15 | 54.34 | 64.95 | 46.66 | 51.46 | 50.64 |-| 20 | 53.47 | 62.63 | 47.07 | 50.48 | 50.61 |+| 0(=节点21) | 59.69 | 85.55 | 44.65 | 50.48 | 49.91 |+| 0.15 | 60.02 | 86.81 | 44.47 | 50.48 | 49.86 |+| **0.3** | **60.11** | 87.63 | 44.33 | 50.00 | 49.83 |+| 0.5 | 60.03 | 87.40 | 44.20 | 50.00 | 49.87 |+| 1.0 | 57.37 | 78.66 | 44.04 | 50.00 | 49.84 |+| 3 | 41.01 | 31.93 | 41.83 | 43.44 | 48.83 |+| 10 | 29.82 | 10.71 | 21.26 | 42.06 | 47.36 | -PLAN预期的单调性成立(m↑→cov↑、cs↓),但交换率极差(≈+1 cov 换 −7 cs),总分随 m 单调下降;成功判据(cov≥46 且 cs≥82)在任何 m 上不可达。带内加大|η|补偿也不行:m5/η-5→57.07(cov 43.83)、m5/η-7→53.70、m10/η-8→55.93、m3/η-4→57.58——强η在带内同样侵蚀covariation。**PLAN风险1应验,机制假设(低阶PC稀释是covariation损失主因)不被支持**:covariation损失主要来自局部扩张本身(逐细胞外向推开降低全基因协方差),不限于低阶PC方向。+γ=0.3 seed1 = 59.57(亲本 seed1 = 58.99,+0.58);双seed均值 59.84 vs 59.34(**+0.50,小于2分噪声线,属弱正信号,不宣称已证进步**)。曲线在 0.15–0.5 有平台(60.02/60.11/60.03),非单点过拟合;cell_state 随小 γ 一致上升(+1.3~+2.1),cov/de/dir 轻微下降,符合"沿轴异质性↑→cs↑、其余组分小幅侵蚀"的树内既有交换模式。 -**范数归一(预案)**:m=0、η=-3下 f∈{0.3,0.6,1.0,1.3,1.6} → 总分 55.24/57.04/58.86/**59.69**/59.55,f=1.3峰值(cs 85.55、cov 44.65、de 50.48、dir 49.91);f=1.15→59.37。归一把各型局部项幅度拉齐(原来‖loc‖为型位移范数的30%–240%),对幅度被低估的型补足离散度。f=1.3 seed1=58.99、f=1.15 seed1=58.94,对照父节点 seed0/1=58.87/58.74:**f=1.3 双seed均值 59.34 vs 58.81(+0.53),双seed均为正但小于2分噪声线**,属弱正信号,不是已证进步。+**PLAN 风险1应验**:节点9 的 γ=10 是在无局部项、无低秩投影的节点4管线上调出的;本管线上 p 的型内分布宽(sd≈1.7,多数细胞触 ±2 clip),γ=10 时 s∈[−19,21] 把位移放大 20 倍,cell_state 崩到 10.71、covariation 崩到 21.26。η 局部项已经提供型内离散度,位移轴调制的可用幅度比节点9 小一个数量级以上。PLAN 成功判据(A半 seed0 ≥62)未达成;但"γ>0 优于 γ=0 且双seed一致"成立,故按 PLAN 提交双seed一致且位于平台内的 γ=0.3,而非回退 γ=0。 -**关闭对照**(mechanism_off_control):m=0 且 f=0 时输出与节点13程序同视图同seed预测**逐元素一致**((A!=B).nnz==0,实测);η=0 时与节点5一致的对照链沿用节点13(代码路径未动)。+机制证据(stderr 诊断):γ>0 时各型 s 的型内标准差 >0(如 γ=0.3 时 s∈[0.4,1.6] 区间、sd≈0.5),mod 范数的型内离散随 γ 单调增大;γ=0 时分支不执行、逐元素对照通过——调制确实逐细胞生效且集中于 cell_state 组分,与 PLAN mechanism_evidence 预期方向一致(幅度远小于节点9 单独使用时的 +18)。 -## 查分记录(X3 A半,共用19次)+## 查分记录(X3 A半,共用 7 次) -band扫描5次 + band×强η 4次 + norm 5次 + norm seed1 3次 + norm1.15 s0/s1 2次。+γ∈{3,10} 2次 + γ∈{0.3,1.0} 2次 + γ∈{0.15,0.5} 2次 + γ=0.3 seed1 1次。γ=0 未查分(用逐元素对照代替,更强)。 ## 验证过 / 没验证 -- 验证:vec-check ok;默认参数输出与已查分的 f=1.3 seed0 预测逐元素一致;同seed两次运行逐元素一致(确定性);~14s/0.7GB;纯CPU(EXECUTION.json gpu:false 不变);m=0∧f=0 与节点13逐元素一致。-- 视图无关:仅用视图内数据与相对时间差;掩码/归一只依赖 V、G、型位移范数(全部现场计算);无绝对时间、路径、字段顺序依赖。-- 没验证:final视图(r=1时局部项相对更强,f 最优点可能漂移);B半真值;f∈(1.3,1.6)细网格(s0上1.6已回落,1.3为峰)。+- 验证:vec-check ok;默认参数与已查分 γ=0.3 seed0 预测逐元素一致;同 seed 两次运行逐元素一致(确定性);γ=0 与父程序(节点21 run.py)同视图同 seed 逐元素一致(关闭对照);单输入视图(用 X3 的 input_1 单独构造 mini view)严格退化 copy_last 不崩溃、652 cells;~8s / <1GB / 纯CPU(EXECUTION.json gpu:false 不变)。+- 视图无关:γ 只用视图内 Z2、w_c(现场计算)、相对时间差;无绝对时间、路径、manifest 字段顺序依赖;未读 board/mode/source 字段。+- 没验证:B半真值;final 视图(r=1 时型级位移更大,s 的相对调制幅度不变但绝对位移差更大,γ 最优点可能漂移);γ∈(0.5,1.0) 与 p 标准化变体;γ×f/η 再联合调参(时间预算内只按 PLAN 固定 f=1.3、η=-3)。 ## 知识来源 -全部沿用节点5/13:标签改名词表(方法卡§标签)、EB收缩(标准经验贝叶斯)、PCA/kNN仅用视图内输入表达数据;无外部数据、无prior/、无禁窗信息、无硬编码统计量。+全部沿用节点5/13/21:标签改名词表(方法卡§标签)、EB收缩(标准经验贝叶斯)、PCA/kNN/位移轴投影仅用视图内输入表达数据;无外部数据、无 prior/、无禁窗信息、无硬编码统计量。diff --git a/solution/run.py b/solution/run.pyindex 756fbc9..379645c 100644--- a/solution/run.py+++ b/solution/run.py@@ -125,6 +125,13 @@ def main() -> None: default=float(os.environ.get("VEC_LOCAL_NORM", "1.3")), help="if >0, rescale each cell's local HVG term to this " "fraction of its type's projected displacement norm")+ parser.add_argument("--gamma", type=float,+ default=float(os.environ.get("VEC_GAMMA", "0.3")),+ help="per-cell modulation of the type-level low-rank "+ "displacement: scale w_c by (1+gamma*clip(p,-2,2)) "+ "where p is the cell's stage-2 HVG deviation from "+ "its type mean projected on the unit axis of V w_c; "+ "gamma=0 reproduces node 21 element-wise") parser.add_argument("--no-time-scale", action="store_true", default=os.environ.get("VEC_NO_TIME_SCALE", "") == "1") args = parser.parse_args()@@ -195,12 +202,14 @@ def main() -> None: hvg, mu, V = covariation_basis(prev.X.tocsr(), last.X.tocsr(), args.proj_k, args.proj_hvg, args.proj_cells, rng_proj)- # per-cell local tangential offsets (mechanism of this node):+ # per-cell local tangential offsets (node 13 mechanism): # PC coordinates of every stage-2 cell; for each output cell, # g_i = mean over its kNN (excluding itself) of (z_j - z_i).- if args.local_eta != 0.0:+ # Z2 is also needed by the gamma modulation (this node).+ if args.local_eta != 0.0 or args.gamma != 0.0: Xl = last.X.tocsr() Z2 = (np.asarray(Xl[:, hvg].todense(), dtype=np.float64) - mu) @ V+ if args.local_eta != 0.0 and Z2 is not None: n2 = Z2.shape[0] zz = np.einsum("ij,ij->i", Z2, Z2) D2 = np.maximum(zz[:, None] + zz[None, :] - 2.0 * (Z2 @ Z2.T), 0.0)@@ -208,10 +217,9 @@ def main() -> None: kk = int(min(args.local_k, n2 - 1)) nbr = np.argpartition(D2, kk - 1, axis=1)[:, :kk] G = Z2[nbr].mean(axis=1) - Z2 # (n2, kk_dim)- # PC-band restriction (mechanism of this node): zero out the- # first m PC columns of G so the local expansion acts only on- # PCs m..k-1; low-order PCs keep the type-level w_c shift,- # protecting the dominant covariation axes. m=0 -> node 13.+ # PC-band restriction (node 21 switch, m=0 disables): zero out+ # the first m PC columns of G so the local expansion acts only+ # on PCs m..k-1; low-order PCs keep the type-level w_c shift. m0 = int(args.pc_band_start) if m0 > 0: band = np.zeros(G.shape[1], dtype=np.float64)@@ -224,9 +232,11 @@ def main() -> None: labs = lab2[rows] for t in np.unique(labs): d = scale * delta_for(str(t))+ wc = tilde = None if use_proj: dv = d[hvg]- tilde = V @ (V.T @ dv)+ wc = V.T @ dv+ tilde = V @ wc nd, nt = float(np.linalg.norm(dv)), float(np.linalg.norm(tilde)) if args.proj_norm and nt > 0: tilde *= nd / nt@@ -250,6 +260,26 @@ def main() -> None: print("local %-16s m=%4d ||loc||=%.3f (ref %.3f)" % (str(t), len(tmask), float(nm.mean()), float(np.linalg.norm(d[hvg]))), file=sys.stderr)+ # gamma modulation (mechanism of this node): scale each cell's+ # type-level low-rank displacement by (1 + gamma*clip(p,-2,2)),+ # p = projection of the cell's stage-2 HVG deviation from its type+ # mean onto the unit axis of V w_c. gamma=0 -> branch skipped,+ # output identical to node 21 element-wise.+ if args.gamma != 0.0 and wc is not None and Z2 is not None:+ wn = float(np.linalg.norm(wc))+ if wn > 0:+ zt = Z2[np.flatnonzero(lab2 == t)].mean(axis=0)+ p = (Z2[rows[tmask]] - zt) @ (wc / wn)+ s = 1.0 + args.gamma * np.clip(p, -2.0, 2.0)+ mod = (beta * (s - 1.0))[:, None] * tilde[None, :]+ if Loc is None:+ Loc = np.zeros((len(tmask), d.shape[0]), dtype=np.float32)+ Loc[:, hvg] += mod+ print("gamma %-16s m=%4d s=[%.2f,%.2f] sd=%.2f std||disp||_within=%.3f"+ % (str(t), len(tmask), float(s.min()), float(s.max()),+ float(s.std()),+ float(np.std(np.linalg.norm(mod, axis=1)))),+ file=sys.stderr) for m_i, i in enumerate(tmask): lo, hi = Xs.indptr[i], Xs.indptr[i + 1] if hi > lo:
调研来源?调研员查到并用到的知识条目和文献检索结果(只列标题和编号)。
用到的知识库条目
| 编号 | 标题 | 出处 |
|---|---|---|
| k041 | Within-stage pseudotime and graph toolkit offline: scanpy DPT/PAGA/Leiden, Palantir, CellRank 2 | 10.1186/s13059-019-1663-x (PAGA); 10.1038/s41587-019-0068-4 (Palantir); 10.1038/s41592-024-02303-9 (CellRank 2) |
| k031 | Offline OT toolkit in the sandbox: moscot TemporalProblem, wot OTModel, POT, geomloss | 10.1038/s41586-024-08453-2 (moscot); 10.1016/j.cell.2019.01.006 (Waddington-OT) |
| k038 | RNA velocity family (scVelo, dynamo, CellRank velocity kernel): not applicable to T1 files; substitutes | 10.1038/s41587-020-0591-3 (scVelo); 10.1016/j.cell.2021.12.045 (dynamo); 10.1038/s41592-024-02303-9 (CellRank 2) |
分析结果?分析员写的 ANALYSIS.json:改了什么、各组分数怎么变、假设是否成立、经验和下一步建议。
| 改了什么 | 在节点21管线上新增 --gamma(默认0.3):按细胞 stage2 表达相对本型均值在型级位移轴上的投影 p(clip ±2),对低秩型级位移做 (1+γ·p) 逐细胞幅度缩放;γ=0 逐元素还原节点21(Engineer 实测 (A!=B).nnz==0)。其余(copy_last、EB位移、α·r、top-25 PC 投影、η=-3、k=15、f=1.3)不变。 |
|---|---|
| 各组分数的变化 | cell_state:变好但幅度贴近噪声(89.11 → 91.13,+2.02;A半扫描显示小 γ 一致 +1.3~2.1,方向与机制预期一致) covariation:噪声内(44.92 → 44.59,-0.33) de_recovery:不变(51.85 → 51.85,+0.00) direction:噪声内(50.18 → 50.06,-0.12) 总分:噪声内(61.23 → 61.73,+0.51 < 2 分噪声线;A半双 seed 均值 +0.50 同样在噪声内) |
| family_id | other |
| 假设是否成立 | 否 |
| 经验 |
|
| mechanism_active | 是 |
| 下一步建议 |
|
对话摘要?每个角色和大模型对话的统计:轮数、工具调用、用时、token 数和最后的回答摘录;原始记录只给路径。
只给统计和最后回答的摘录;完整对话请到原始记录位置里列出的文件看。
分析员
| 角色?调研员写计划、工程师改代码、分析员解读分数、审查员检查作弊。 | 分析员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数?大模型一共回复了几轮(每轮可以调用多个工具)。 | 4 |
| 工具调用?大模型调用读文件、执行命令等工具的次数,按工具名统计。 | 共 3 次:bash 2、write 1 |
| 用时 | 不到 1 分 |
| token 数?输入 / 输出(含思考)的 token 数,来自接口返回的用量。 | 输入 11,409 · 输出 1,090 · 思考 521 |
| 任务(第一行) | 分析节点 n22 的打分结果,写 ANALYSIS.json |
| 最后的回答(摘录) | ANALYSIS.json written |
| 原始记录位置?完整对话记录在 Spark 上的文件路径;看板不复制原始内容。 | /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/analyst.jsonl 9 KB /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/analyst.stderr |
工程师
| 角色 | 工程师 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数 | 24 |
| 工具调用 | 共 26 次:bash 20、edit 4、read 1、write 1 |
| 用时 | 13 分 |
| token 数 | 输入 52,719 · 输出 8,636 · 思考 13,426 |
| 任务(第一行) | 按计划修改程序:位移轴逐细胞幅度调制(γ)与局部项范数归一(f=1.3)正交组合 |
| 最后的回答(摘录) | Done. Summary: **做了什么**:在节点21管线上新增 `--gamma`(默认0.3):每个输出细胞的型级低秩位移按 (1+γ·clip(p,±2)) 逐细胞缩放,p 为细胞 stage2 表达相对本型均值在位移轴上的投影(PLAN 指定机制)。γ=0 逐元素还原节点21(实测 nnz==0);单输入视图严格退化 copy_last(mini-view 实测);确定性、vec-check、EXECUTION.json 均验证通过。 **查分结果**(X3 A半,用7/20次):PLAN 的 γ=10 复合彻底失败(29.82,风险1应验——η 局部项已提供型内离散度,p 分布宽导致 s 饱和在 ±20 倍);γ 扫描发现小 γ 平台:0.15/0.3/0.5 → 60.02/**60.11**/60.03(亲本 seed0=59.69),γ=0.3 seed1=59.57(亲本 58.99)。双seed均值 +0.50,cell_state 一致 +1.3~2.1,cov/de/dir 轻微下降;小于2分噪声线,属弱正信号。PLAN ≥62 判据未达成,按"双seed一致且不过拟合单点"提交 γ=0.3。 **下一步最值得试**:① γ 的标准化变体(p 除以型内 sd 后再 clip,消除饱和,可能允许更大有效幅度);② final 视图上重校准 γ 与 f(r=1 时调制绝对幅度更大,最优点可能更小);③ γ 与 η 的联合细调(两者都增大位移异质性,可能存在 cs-cov 交换的更优组合点)。 |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/engineer.jsonl 122 KB /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/engineer.stderr |
调研员
| 角色 | 调研员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 2 次 |
| 轮数 | 2 |
| 工具调用 | 共 0 次:— |
| 用时 | 7 分 |
| token 数 | 输入 16,036 · 输出 1,426 · 思考 13,348 |
| 任务(第一行) | 为节点 n22(改进,父节点 n21)写改进计划 PLAN.json |
| 最后的回答(摘录) | :节点9 的位移轴调制 γ=10 使 cell_state +18.18(65.64→83.82,rank3 59.66),节点13/21 的逐细胞局部扩张+范数归一使 cell_state 64.34→89.11。ANALYSIS next_suggestion 2 明确建议先查 γ×f 组合;γ 拉伸沿型级位移轴、η 扩张沿局部几何切向,机制独立,预期 cell_state 与 direction 可叠加。",
"approach": "以节点21代码为基础(copy_last抽样 + per-type EB位移 + α·r时间缩放 + top-25 PC低秩投影(HVG8000) + η=-3、k=15、f=1.3 局部项),新增 --gamma(默认0):对每个输出细胞计算 p_i = 该细胞 stage2 HVG 表达相对本型 stage2 均值在型级投影位移轴 u_c = V·w_c 上的投影,clip 到 ±2,低秩位移改为 V·((1+γ·clip(p_i))·w_c + f归一后的 η·g_i);γ=0 逐元素还原节点21(关闭对照)。u_c 与 p_i 全部用视图内输入现场计算,只用相对时间差,无任何视图身份判断。查分步骤(X3 A半,预算≤10次):1) γ∈{0,3,10}×f=1.3,seed0,3次;2) 最优 γ 在 seed1 复测并与亲本 seed1 对比(亲本 seed0/1=59.69/58.99),2-3次;3) 若 γ=10 最优,细扫 γ∈{6,10,14},2-3次;4) 验证单输入阶段时严格退化(无第二输入→直接 copy_last,γ 分支不执行)。先小样本冒烟(确认 <1min、<1GB)再全量。成功判据:A半 seed0 总分 ≥62 且 γ>0 优于 γ=0,且双 seed 均高于亲本对应 seed;若所有 γ>0 均不优于 γ=0,提交 γ=0(与节点21逐元素一致)并如实报告组合失败。",
"expected_groups": ["cell_state", "direction"],
"risks": "1) γ 最优点漂移:节点9 的 γ=10 是在无局部项的节点4管线上调出的,叠加 η=-3 与 f=1.3 后最优点可能变小——用 γ∈{3,10} 小网格先行探测,若总分随 γ 单调降则尽早止损提交 γ=0;2) 收益叠加失败:γ 与 η 都增大位移异质性,可能边际递减或 cell_state 饱和、covariation 进一步被侵蚀——每次查分记录四组分,若 cs 不再升且 cov 明显降(>2分)即停止加大 γ;3) 时间尺度漂移:final 视图 r=1 时调制幅度相对更大,A半最优 γ 可能偏大——提交值取双 seed 一致且不过拟合单点的 γ;4) 单输入退化被破坏——单独验证该分支;5) 增益小于 2 分噪声:双 seed 不一致或均值提升 <2 时不宣称进步。",
"family_id": "other",
"mechanism": "逐细胞轨迹投影调制:按细胞相对本型 stage2 均值在型级位移轴上的投影 p_i,对该细胞的低秩型级位移做 (1+γ·clip(p,±2)) 的幅度缩放,使型内沿位移方向进度不同的细胞获得不同位移,恢复被常数位移压平的沿轴异质性;与节点21的局部几何扩张(η 项)机制正交并复合。",
"vs_constant_shift": "常数位移对同型所有细胞施加同一向量;本机制的位移幅度随细胞在型内沿位移轴的位置逐细胞变化,产生型内沿轴梯度。它也不同于节点21的局部项(沿 kNN 局部切向的外向扩张):γ 只调制型级分量 w_c 的幅度,方向仍为位移轴,两者作用方向不同、可独立开关。",
"mechanism_evidence": "γ>0 时型内每细胞位移范数的离散度(如型内标准差)应随 γ 单调增大,且位移范数与 p_i 的型内相关系数为正;逐元素对照确认 γ=0 与节点21一致;四组分上预期 cell_state 相对 γ=0 有类节点9 的提升(节点9 上为 +18 量级,叠加后预期边际减小)、direction 观察是否脱离 49-50 地板、covariation 与 de_recovery 变化应在噪声内。",
"mechanism_off_control": "同一程序设 --gamma 0:跳过调制分支,输出应与节点21程序同视图同 seed 的预测逐元素一致((A!=B).nnz==0,沿用节点21的逐元素对照做法);预期打开 γ 后差异集中在 cell_state 与 direction,de_recovery 基本不变。",
"sources": []
}
``` |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/researcher.jsonl 1 KB /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/researcher.1.jsonl 5 KB /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/researcher.stderr |
审查员
| 角色 | 审查员 alibaba-token-plan-cn/qwen3.8-max |
|---|---|
| 调用次数 | 1 次 |
| 轮数 | 10 |
| 工具调用 | 共 18 次:bash 10、read 7、write 1 |
| 用时 | 4 分 |
| token 数 | 输入 30,235 · 输出 2,292 · 思考 6,528 |
| 任务(第一行) | 审查节点 n22 的程序是否越界读取、写死目标、钻评分器漏洞 |
| 最后的回答(摘录) | REVIEW.json written |
| 原始记录位置 | /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/reviewer.jsonl 118 KB /home/spark-longxinyang/vec/runs/formal/20261002-202908-search-t1-scr-D/nodes/22/reviewer.stderr |