Files
InfoRSI/prompts/tasks/explanation.md
T
iomgaa d7885008fe prompts: 改解释/收尾/消融实现/消融核验四份任务提示词(任务书 17 第一块)
依据 /home/iomgaa/inforsi-eval/2026-10-04-task17/ 下的三份调研与两份真实记录诊断:

- explanation:给数前先回答"关掉后答案改从哪条路径出、那条路径值多少分"
  (诊断 P1:15-tight-2 r1、15-real-1 r2 范围被分支行为同向打穿);
  主判断的错法答得出来就写成第二条对冲(P2:同模型同材料的相关错误);
  "部分分得开"形态照实分开写(M6);下一轮该做什么留给收尾(P3)。
- wrapUp:下一步改为"沿某个因子继续,或换一条更可能拿最高分的路线"
  (监督者 2026-10-04 定,方法.md 4.3 ⑱;诊断核实:收尾照着提率约 95%,
  旧方法非因子框定的收尾在饱和时自然产生换路线并被兑现);
  新增贴近已知最好处境段(监督者 ② 核实成立:缺口量级、没出力的因子、
  "已知最好是参照不是上限");防撞车提醒(P5:15-real-1 r3 三条提案撞车);
  先重读自己冻结的解释和范围再看实测(Curie 的对号顺序)。
- ablationImplementation:删掉与实验员角色提示词重复的三段(不跑正式实验、
  两个保留键写法、保障每格都带;监督者 ③ 核实属实,同一事三版措辞已漂移);
  concerns 的具体例子换成抽象形状(诊断毛病 1:例子成了每份必答的锚);
  补"关法走已有定义的做法,不新造"、共用代码段的行为归属判断法、
  连带关收窄为绕开跑不起来的最小集合(LLVM/git bisect/ParameterImportance
  的原则映射);diff 参照物写明是完整代码冻结目录(与角色的"本次起点"
  口径冲突,角色那句随之限定)。
- ablationVerification:保障句删掉与角色重复的前提;补核验范围的另一侧
  (改动之外不归这一格核、不该关/连带没必要不是退回理由);"看不清"
  改为先查完材料、仍核不了就如实填代码现状(诊断毛病 3:off 是布尔,
  没有"核不了"出口,不为它加字段)。
- vocab 字段说明同步:收尾的下一步口径、解释第二条的对冲情形、
  消融核验 where 里放总体核对说明(字段结构、类型、必填未动)。

泄露自查:填圆关键词(半径、圆心、线性规划、SLSQP、扰动、六角、布局、
摆法、结构起点、compute_max_radii、填圆、packing、circle、多起点、精修、
爬山、重启、圆、LP、2.6、26)搜改过的六份文件,零命中。
npm run check 通过,npm test 458 条通过。看到运行结果后不再改提示词。
2026-10-04 13:09:42 -04:00

52 lines
7.9 KiB
Markdown

# 写解释
本批正式实验跑完了,成绩已经公开(材料"本任务要处理的东西"里有本批每次运行、实现说明和核验结论)。如果本轮有改法被采纳、而且它不止一个因子,接下来程序会把它的因子一格一格地关掉重跑;材料"本轮要给三个数的格"一节列出了这些格,每格写着关掉的是哪个因子、关掉时换成什么,以及完整代码和本轮基线各多少分。
在任何一格开跑之前,请你写下你对"结果为什么是这样"的理解。要赶在前面写,是因为只有事前写下的判断,事后才能拿来对号;跑完再解释,怎么都说得通。你交上来的解释会冻结,消融跑完以后原样给下一轮的研究者看,连同它在每一格被确认还是否定。
### 一条解释是什么
一条解释就是一段话:你认为分数主要是哪个因子挣来的,靠的是什么道理,在什么情况下这个道理会失效。如果你认为某个因子要靠另一个因子才起作用——比如"没有预取,换淘汰策略就几乎没用"——也写进来,这正是一条能被检验的预测。
然后把这段话翻成数:对每一格,写"关掉这个因子以后,最终指标大概落在哪",给一成、一半、九成三个数,按最终指标的原值写。给数之前,先回答这格的分支行为:关掉这个因子以后,答案改从哪条路径交出——仍是主流程,还是落到某条保障或兜底分支——那条路径大概值多少分?路径想错了,整个范围会偏向一边,而且几个人容易偏向同一边。然后问自己:这个因子撑了总提升的几成——几乎没有、一小部分、一大半,还是几乎全部?撑得多,关掉后就靠近基线;撑得少,就靠近完整代码的分数。各格是分开测的:关一个因子时其余的因子和保障都照完整代码保留,所以几格"少掉的分"加起来不必等于总提升——几个因子互相帮忙时加起来会更多,在做同一件事时会更少。拿不准就放宽,宽到把你犹豫的几种情形都包进去;但也别宽到什么结果都包得住,那样的范围跑完以后什么也说明不了。
写的时候如果发现自己在把某段代码套到具体的数上,一步一步推它会算出什么,那就是在替消融做它要做的事。停下来,回到"这个因子撑了几成"这个问题(系统提示词"读代码的路径,不在脑子里算数值")。读路径是该做的:关掉这个因子以后,代码会走哪条分支、某条保障会不会每次都被用上,这正是一格可能量错东西的地方。想知道一次已经跑完的运行里某个量具体是多少,用 `research_query` 查材料里列出的产物记录编号,答案就在里面。
### 先看这几样
运行记录里每次运行都写着"答案出自:……;保障动手次数:……"。完整代码那次的答案出自 `main` 还是某条保障,关系到你对每一格的判断:如果关掉某个因子以后,答案很可能改由某条保障给出,那一格量到的就是那条保障,而不是关掉这个因子的效果——值得在解释里写一句。材料"本轮实验员实现时的提醒"是实验员照协议写代码时看出的问题,常常比研究者的推理更早看到某条保障会挡掉什么,读一遍。协议里写明"未实测"的数、挑刺与回应里标着"(推测)"的判断,是别人的猜想,不当证据用。
### 写几条、写成什么样
交一条解释就够。只在你真有第二个、不同的机制判断时,才交第二条:同一人的几条在合并时平分你的分量,一条你自己都没多大信心的"对照"解释,会分走你主解释的一半。一个值得写第二条的典型情形:你的主判断如果错了,最可能是哪种错法?答得出来,就把它写成第二条,并写明哪一格能把两条分开——同一份材料容易让几个人错在同一边,这样一条对冲往往是最有价值的另一份判断。几条解释不必互相排斥,范围也可以重叠。和别人的解释不一样很正常,照你自己的理解写,不必向大家看齐。下一轮该做什么,留给收尾去写;这里只写会被消融对号的判断。
推广一条结论时,说清它覆盖了哪些设定、没覆盖哪些。"预热 500 步没用"不等于"预热没用":后者会让下一轮没人再去试预热 2000 步。因子的关键设定写在因子清单里,引用时带上它。
先想清楚哪些运行能当证据:没跑成的、成绩判为不合法的、测不到的都不能。已经测到的分数可以直接引用。提到某次运行时带上运行编号,读的人才能核对。研究记录里前几轮的消融结果和信念本"按因子"一栏值得看:类似的因子以前撑了多少、哪些解释被确认过。
跑完以后,实测落在你某一格的范围外,这条解释在那一格就被否定;落在里面就确认,每格各判各的。被否定不是扣分,而是告诉下一轮的人"这里的理解有偏差",和"这里猜对了"一样有用。两条解释在这次消融里总是一起确认或一起否定,程序会记"现有测法分不开",这也不是不合格。某一格没测出有效分数(跑崩、超时记"证据不足",另有"跑不起来""没测"),那一格不判。
如果你看完结果,确实说不出哪个因子在出力、为什么——因子多、结果平淡、本批只有一次相关运行时这很常见——就直接写"我没有具体机制判断",三个数照实写宽。部分分得开也照实分开写:有把握的格子给正常范围,分不开的写明为什么分不开、范围放宽。这是一条有用的诚实记录。硬编一个机制,消融一跑多半会被否定,还会让下一轮的人以为这里有过一个认真的猜测。
本轮没有消融格时(材料会写明),每条解释只写正文:本批结果为什么是这样,哪些只说明改法有效、还说明不了原因。不交各格的三个数(`cells`)。
### 两份样本
下面两份来自另一道题(在一个训练任务上提高验证集准确率,越大越好;本轮基线 0.700,被采纳的完整代码 0.760;三个因子:p1 学习率预热 500 步,p2 把 SGD 换成 Adam,p3 标签平滑 0.1),是两位研究者各自交的一条,结论方向相反,只示范写法和篇幅,不要照搬内容。
> **解释一**
>
> 收益大半来自 p2。基线的 SGD 在给定步数内远没收敛:运行 r1-c1 的训练损失到最后仍在明显下降。换成 Adam 后同样步数走得远得多,我估它撑了总提升的七八成。p1 预热主要让 Adam 前几百步不发散,单独的作用小;我的判断是它的作用依赖 p2——在 SGD 上预热几乎没用,但本轮只关一个因子,这一点只能记在这里。p3 标签平滑在这个数据量上影响很小,可能还略有负作用。什么情况下不成立:如果关掉 p2 后分数仍然接近 0.76,说明 SGD 其实不缺步数,收益来自别处,这条解释就错了。
>
> 三个数:关 p1 → 0.735 / 0.750 / 0.758;关 p2 → 0.700 / 0.712 / 0.730;关 p3 → 0.752 / 0.760 / 0.768。
> **解释二**
>
> 我没有具体机制判断。三个因子是同时加进去的,本批只有完整代码这一次相关运行,训练日志里也看不出哪一段的变化对应哪个因子;我手上没有能把它们分开的证据。所以每一格都可能接近基线(这个因子撑了大半),也可能接近完整代码(几乎没撑),范围照实写宽。
>
> 三个数:关 p1、关 p2、关 p3 都是 0.695 / 0.730 / 0.765。
## 交什么
一条或几条解释,每条一段正文,加上对材料"本轮要给三个数的格"里每一格各三个数(`cells`;本轮没有消融格时不交 `cells`)。正文程序不读,冻结后原样给下一轮的人;三个数程序拿去决定测哪几格、判确认还是否定、记账。