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 条通过。看到运行结果后不再改提示词。
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
|
||||
动手前先读冻结原文和指标定义,找出基线里对应的行为。每个因子、保障、实现条款及协议正文的要求都要落实,指标按登记定义采集,测不到如实记缺失,不写 0 或其他占位数。只用任务要点列出的库;正式实验的镜像不会带上你临时安装的包。出错就报错,不自行加协议没要求的异常兜底、默认值或旧结果替代。
|
||||
|
||||
提交前用 `diff -ru <本次起点的冻结目录> .` 看全部改动:有没有漏做?有没有多做?有没有看似同一功能、实际理解错了要求?每段差异都能对上因子、保障、条款、指标或必要接入吗?不要求另写自查报告,发现偏差就修正。临时检查脚本和生成文件也清掉,提交时整个工作目录都会被冻结。
|
||||
提交前用 `diff -ru <本次起点的冻结目录> .` 看全部改动(消融格例外:以本次任务写明的完整代码冻结目录为参照):有没有漏做?有没有多做?有没有看似同一功能、实际理解错了要求?每段差异都能对上因子、保障、条款、指标或必要接入吗?不要求另写自查报告,发现偏差就修正。临时检查脚本和生成文件也清掉,提交时整个工作目录都会被冻结。
|
||||
|
||||
## 两个保留键
|
||||
|
||||
|
||||
@@ -4,29 +4,29 @@
|
||||
|
||||
### 只关这一个因子
|
||||
|
||||
把指定的因子换回它关掉时的做法:因子里写了"关掉时换成"的,照写的做;没写的,回到本批基线在这件事上的做法——去基线的冻结目录里看它原来怎么写。其余的因子、因子自带的设定值、保障都照完整代码保留,一处都不动。保障所有版本都带,这一格也一样。
|
||||
把指定的因子换回它关掉时的做法:因子里写了"关掉时换成"的,照写的做;没写的,回到本批基线在这件事上的做法——去基线的冻结目录里看它原来怎么写。关法是走这一条已有定义的做法,不为它新造第三种关法:新造关法,这一格测的就是"缺了这个因子"加上"你的关法"两件事。其余的因子、因子自带的设定值、保障都照完整代码保留,一处都不动。
|
||||
|
||||
指标的采集代码也照完整代码保留:这一格同样采集冻结协议登记的全部指标。被关掉的因子本身测不到的量(比如只有那个因子才会计数的次数),写 null,不写 0——这一格不会因为它缺失而作废,这是消融的本义。两个保留键照写:关掉的因子不会再是答案路径;关掉之后答案改由某条保障给出,`answer-path` 就写那条保障的短名,`safeguard-triggers` 照实计数(系统提示词"两个保留键")。
|
||||
指标的采集代码也照完整代码保留:这一格同样采集冻结协议登记的全部指标。被关掉的因子本身测不到的量(比如只有那个因子才会计数的次数),写 null,不写 0——这一格不会因为它缺失而作废,这是消融的本义。
|
||||
|
||||
材料里有完整代码那次实现交的因子位置表,照它找这个因子在哪几行。位置表只是线索:一个因子的代码可能散在几处,也可能跟别的因子共用一段;共用的那段里,只改属于这个因子的部分。
|
||||
材料里有完整代码那次实现交的因子位置表,照它找这个因子在哪几行。位置表只是线索:一个因子的代码可能散在几处,也可能跟别的因子共用一段;共用的那段里,先分清这段代码里哪些行为是这个因子带来的——关掉后消失的那些才是你的改动对象,其余原样,哪怕它们和这个因子的代码写在同一个函数里。
|
||||
|
||||
这一格之所以只关一个因子,是因为它要回答的问题是"少了这一个因子,分数少多少"。你多关了一处,测出来的就是两件事一起少掉的分;少关了一处,这个因子就还有一部分开着。两种都会让研究者对这个因子的判断建立在错的数上,而且从分数上看不出来。
|
||||
|
||||
### 真的跑不起来时
|
||||
|
||||
只关这一个因子以后,代码有时真的跑不起来:比如别的因子要用一个只有这个因子才算出来的量。这时才考虑连带关掉别的因子——在 `alsoOff` 里写上还要一起关的因子,在代码里把它们也换回关闭做法,并在 `concerns` 里写清为什么离了这个因子它们跑不起来。
|
||||
只关这一个因子以后,代码有时真的跑不起来:比如别的因子要用一个只有这个因子才算出来的量。这时才考虑连带关掉别的因子——在 `alsoOff` 里写上还要一起关的因子,在代码里把它们也换回关闭做法,并在 `concerns` 里写清为什么离了这个因子它们跑不起来。连带关是为了绕开一个和本次测量无关的跑不起来,写到最小:只关离了它真的跑不起来的那些;为了让这一格更稳、更好看而多关,测到的就不再是这个因子。
|
||||
|
||||
"关掉以后效果会变差"不是跑不起来:消融要测的正是变差多少,照样只关指定的因子。也不要为了让它更好跑而改别的地方。
|
||||
|
||||
连一起关的办法也给不出,就交"这一格跑不起来",在 `cannotRun` 里写原因:这一格不启动、不扣运行次数,研究者会读到你写的原因。这是一个正常的结论。
|
||||
|
||||
材料里没有任何成绩和研究者的判断,这是有意的——你照因子清单做就行,不用知道哪个因子被认为更重要。不要自己跑正式实验去看关掉以后的分数(系统提示词"两条纪律");想确认能被正式实验接上,用 `research_check`。
|
||||
材料里没有任何成绩和研究者的判断,这是有意的——你照因子清单做就行,不用知道哪个因子被认为更重要,也不需要知道关掉以后会得多少分。
|
||||
|
||||
材料"本任务要处理的东西"最前面有"退回意见"时,说明上一次交的这一格没通过消融核验:意见列出了关错的因子和核验员看到的位置。这时工作目录是你上一次交的这一格代码,从它接着改:照意见把关错的因子改对,其余照旧,仍然只关这一格要关的因子;核验员看错了的,在 `concerns` 里写清实际在哪几行。
|
||||
|
||||
交之前用 `diff -ru <完整代码冻结目录> .` 看一遍:改动应该只落在这个因子(和你写进一起关的因子)的位置上,加上把这个因子的指标改写成 null 的那几行。
|
||||
交之前用 `diff -ru <完整代码冻结目录> .` 看一遍——参照物是完整代码,不是本次任务的工作目录(退回重做时工作目录是你上一次的提交,和它 diff 出来的只是这次又改了什么):改动应该只落在这个因子(和你写进一起关的因子)的位置上,加上把这个因子的指标改写成 null 的那几行。
|
||||
|
||||
关掉这个因子以后,你读代码看出某处会出问题——最常见的是:没有了这个因子,某条保障从"很少用到"变成了"每次都用上"(比如兜底分支每次都交答案)——写进 `concerns`,说清是哪条保障、为什么。这一格量到的可能就是那条保障,研究者需要在读结果时知道。照常只关指定的因子,不因为担心就改别处。没有就写"无"。
|
||||
关掉这个因子以后,你读代码看出某处会出问题,写进 `concerns`,说清是哪一处、为什么。值得专门想一想的一个形状是:没有了这个因子,某条保障或兜底路径被用上的频率会不会整个变样——变得每次都走,或者再也走不到。这不是要你避开它:保障变成每次都走,本身就是这一格量到的现象的一部分;写出来是为了让研究者读结果时知道,这一格量到的可能不只是"少了这个因子"。照常只关指定的因子,不因为担心就改别处。没有就写"无"。
|
||||
|
||||
## 交什么
|
||||
|
||||
|
||||
@@ -4,16 +4,18 @@
|
||||
|
||||
为什么只核这一件:这一格测出来的分数,会被当成"少了这几个因子,分数少多少"记进信念本。多关了一个因子,测到的就是几件事一起少掉的分;该关的没关干净,这个因子就还有一部分开着。两种都会让研究者对这个因子的判断建立在错的数上,而且从分数上看不出来。
|
||||
|
||||
范围的另一侧也写明:改动之外的部分不归这一格核——完整代码是正向核验认过的,一个其余的因子只在改动碰到了它的时候才看它;与"哪个因子关着"无关的发现写不进任何一项,就不写。你觉得"这个因子不该关"、"连带关没必要",也都不是不通过的理由:选哪几格、连带声明能不能接受,是程序和研究者的决定;你核的是代码里关着的集合是否恰好等于材料里列的那个集合。
|
||||
|
||||
### 怎么核
|
||||
|
||||
对着材料里的改动全文(消融代码相对完整代码)、因子清单和完整代码那次实现交的因子位置表,逐个因子看:
|
||||
|
||||
- 该关的因子:它在完整代码里的那几行,是不是都换成了因子清单里写的关闭做法(没写的,回到本批基线的做法)?只改了一部分、还留着一部分,就是没关干净。
|
||||
- 不该关的因子:它的代码是不是原样留着?改动全文里有没有碰到它的位置?
|
||||
- 保障所有版本都带,不在逐项里写;但如果改动删掉或改了保障,在被关掉的那个因子一项的依据(`where`)里写出来。
|
||||
- 保障不在逐项里写;但如果改动删掉或改了保障,在被关掉的那个因子一项的依据(`where`)里写出来。
|
||||
- 两个保留键(`answer-path`、`safeguard-triggers`)要照完整代码那样写着:改动删掉了写它们的代码,或者把被关掉的因子仍写成答案路径,在被关掉的那个因子一项的依据(`where`)里写一句。这不改变"关没关"的判断,只是让研究者读结果时知道答案路径的记录靠不靠得住。
|
||||
|
||||
每个因子写一项:关着还是照完整代码保留,依据是在哪几行看到的。看不清的,照实写看了哪里、为什么看不清(系统提示词"怎么下结论")。
|
||||
每个因子写一项:关着还是照完整代码保留,依据是在哪几行看到的。材料总是够的:改动全文、因子位置表、完整代码和基线的冻结目录都在手上。看不清的,先把这些材料查完;查完仍核不了的,在 `where` 里如实写看了哪里、为什么核不了,`off` 按你实际读到的代码现状填——你的不确定会随退回意见带给实验员,不要猜一个值让它看起来核完了。
|
||||
|
||||
"关了以后效果会差"不是不通过的理由:这一格要测的正是差多少。材料里没有任何成绩,你也不用判断它会跑多少分。
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
一条解释就是一段话:你认为分数主要是哪个因子挣来的,靠的是什么道理,在什么情况下这个道理会失效。如果你认为某个因子要靠另一个因子才起作用——比如"没有预取,换淘汰策略就几乎没用"——也写进来,这正是一条能被检验的预测。
|
||||
|
||||
然后把这段话翻成数:对每一格,写"关掉这个因子以后,最终指标大概落在哪",给一成、一半、九成三个数,按最终指标的原值写。想的时候不需要推代码,只问自己:这个因子撑了总提升的几成——几乎没有、一小部分、一大半,还是几乎全部?撑得多,关掉后就靠近基线;撑得少,就靠近完整代码的分数。各格是分开测的:关一个因子时其余的因子和保障都照完整代码保留,所以几格"少掉的分"加起来不必等于总提升——几个因子互相帮忙时加起来会更多,在做同一件事时会更少。拿不准就放宽,宽到把你犹豫的几种情形都包进去;但也别宽到什么结果都包得住,那样的范围跑完以后什么也说明不了。
|
||||
然后把这段话翻成数:对每一格,写"关掉这个因子以后,最终指标大概落在哪",给一成、一半、九成三个数,按最终指标的原值写。给数之前,先回答这格的分支行为:关掉这个因子以后,答案改从哪条路径交出——仍是主流程,还是落到某条保障或兜底分支——那条路径大概值多少分?路径想错了,整个范围会偏向一边,而且几个人容易偏向同一边。然后问自己:这个因子撑了总提升的几成——几乎没有、一小部分、一大半,还是几乎全部?撑得多,关掉后就靠近基线;撑得少,就靠近完整代码的分数。各格是分开测的:关一个因子时其余的因子和保障都照完整代码保留,所以几格"少掉的分"加起来不必等于总提升——几个因子互相帮忙时加起来会更多,在做同一件事时会更少。拿不准就放宽,宽到把你犹豫的几种情形都包进去;但也别宽到什么结果都包得住,那样的范围跑完以后什么也说明不了。
|
||||
|
||||
写的时候如果发现自己在把某段代码套到具体的数上,一步一步推它会算出什么,那就是在替消融做它要做的事。停下来,回到"这个因子撑了几成"这个问题(系统提示词"读代码的路径,不在脑子里算数值")。读路径是该做的:关掉这个因子以后,代码会走哪条分支、某条保障会不会每次都被用上,这正是一格可能量错东西的地方。想知道一次已经跑完的运行里某个量具体是多少,用 `research_query` 查材料里列出的产物记录编号,答案就在里面。
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
### 写几条、写成什么样
|
||||
|
||||
交一条解释就够。只在你真有第二个、不同的机制判断时,才交第二条:同一人的几条在合并时平分你的分量,一条你自己都没多大信心的"对照"解释,会分走你主解释的一半。几条解释不必互相排斥,范围也可以重叠。和别人的解释不一样很正常,照你自己的理解写,不必向大家看齐。
|
||||
交一条解释就够。只在你真有第二个、不同的机制判断时,才交第二条:同一人的几条在合并时平分你的分量,一条你自己都没多大信心的"对照"解释,会分走你主解释的一半。一个值得写第二条的典型情形:你的主判断如果错了,最可能是哪种错法?答得出来,就把它写成第二条,并写明哪一格能把两条分开——同一份材料容易让几个人错在同一边,这样一条对冲往往是最有价值的另一份判断。几条解释不必互相排斥,范围也可以重叠。和别人的解释不一样很正常,照你自己的理解写,不必向大家看齐。下一轮该做什么,留给收尾去写;这里只写会被消融对号的判断。
|
||||
|
||||
推广一条结论时,说清它覆盖了哪些设定、没覆盖哪些。"预热 500 步没用"不等于"预热没用":后者会让下一轮没人再去试预热 2000 步。因子的关键设定写在因子清单里,引用时带上它。
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
跑完以后,实测落在你某一格的范围外,这条解释在那一格就被否定;落在里面就确认,每格各判各的。被否定不是扣分,而是告诉下一轮的人"这里的理解有偏差",和"这里猜对了"一样有用。两条解释在这次消融里总是一起确认或一起否定,程序会记"现有测法分不开",这也不是不合格。某一格没测出有效分数(跑崩、超时记"证据不足",另有"跑不起来""没测"),那一格不判。
|
||||
|
||||
如果你看完结果,确实说不出哪个因子在出力、为什么——因子多、结果平淡、本批只有一次相关运行时这很常见——就直接写"我没有具体机制判断",三个数照实写宽。这是一条有用的诚实记录。硬编一个机制,消融一跑多半会被否定,还会让下一轮的人以为这里有过一个认真的猜测。
|
||||
如果你看完结果,确实说不出哪个因子在出力、为什么——因子多、结果平淡、本批只有一次相关运行时这很常见——就直接写"我没有具体机制判断",三个数照实写宽。部分分得开也照实分开写:有把握的格子给正常范围,分不开的写明为什么分不开、范围放宽。这是一条有用的诚实记录。硬编一个机制,消融一跑多半会被否定,还会让下一轮的人以为这里有过一个认真的猜测。
|
||||
|
||||
本轮没有消融格时(材料会写明),每条解释只写正文:本批结果为什么是这样,哪些只说明改法有效、还说明不了原因。不交各格的三个数(`cells`)。
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# 本轮收尾
|
||||
|
||||
这一轮走完了:正向实验、采纳决定、消融(如果做了)都已公开。请写一段收尾:这一轮什么被支持、什么被挑战、下一步你想在哪个因子上继续。下一轮提案时,每位研究者都会在材料里读到全部人的收尾原文——你写的就是交给他们的接力棒,所以写给一个没参加这一轮、但要接着往下做的同事看。
|
||||
这一轮走完了:正向实验、采纳决定、消融(如果做了)都已公开。请写一段收尾:这一轮什么被支持、什么被挑战、下一步想往哪走——沿某个因子继续,或换一条更可能拿最高分的路线。下一轮提案时,每位研究者都会在材料里读到全部人的收尾原文——你写的就是交给他们的接力棒,所以写给一个没参加这一轮、但要接着往下做的同事看。
|
||||
|
||||
### 先读什么
|
||||
|
||||
动笔之前,先重读你自己这一轮冻结时写的解释和范围,再看实测——先想起自己当时是怎么判的,再对号,才看得出偏差出在哪。
|
||||
|
||||
材料"信念本"里,"按因子"一栏是程序从记录现算的:被采纳的改法每个因子关掉后分数变差多少、撑几成、测前大家的范围、实测落在哪、哪些解释被确认或否定,每次消融还有一句程序读出的结论(例如"p2 撑 70%,p1 只撑 5%,各管各")。这些直接引用,不重算。"战绩"一栏写着各人的范围包没包住实测、偏高还是偏低,以及作者自评和大家合并的对照。
|
||||
|
||||
几种状态要照它的意思读:
|
||||
@@ -23,7 +25,9 @@
|
||||
|
||||
把"改法有效"和"机制解释正确"当成两件事分开想:分数变好了只说明改法有效,不说明提案人给的原因是对的;原因被确认,要靠消融那一格的实测落在解释的范围里。不拿生成某个解释的那次运行,当作这个解释被支持的证据。提到结论时带上依据的运行编号或记录编号,别人才能核对。
|
||||
|
||||
下一步写具体:在哪个因子上继续、为什么是它、大概想怎么改。好——"预热只撑了不到一成,换优化器撑了七成,而且离已知最好还差一截;下一轮在新基线上沿优化器这个因子继续,试它的学习率怎么随步数变";坏——"继续优化"。这不是提案:下一轮要正式提才算。下一轮程序还会自己记下"按现有看法最该继续的因子"和下一轮实际变好了多少,用来事后核对,你不用替它算。
|
||||
如果现在的最好分数已经贴近任务给出的已知最好,把这一处境写出来,它会改变下一轮的判断:剩余的缺口有多大、采纳线随之降到了什么量级、还剩几次运行。缺口在哪一层,给出你的判断:是哪个因子其实没出力(预算或代码花在了撑不起分数的部分上),还是这条路线的空间本身用完了。另外记住:已知最好是别的人在别的条件下跑出来的参照,不是天花板——不要默认它就是上限。
|
||||
|
||||
下一步写具体:沿哪个因子继续、为什么是它、大概想怎么改;或者换哪条路线、为什么它更可能拿高分。好——"预热只撑了不到一成,换优化器撑了七成,而且离已知最好还差一截;下一轮在新基线上沿优化器这个因子继续,试它的学习率怎么随步数变";也好——"沿缓存预取的两轮都只挣到噪声带内的提升,这条路线的空间看起来用完了;下一轮换一条更可能拿高分的路线:把请求按大小分两类各走各的队列,而不是继续在预取参数上调";坏——"继续优化"。你写的下一步,下一轮每位研究者都会原样读到,也可能照着提——几个人读同一份收尾,容易撞在同一个方向上。所以把只有你注意到的依据写具体(哪次运行的哪个读数);值得走的方向不止一条时,都写出来,不指定哪条最好,方向由下一轮的人各自判断。这不是提案:下一轮要正式提才算。下一轮程序还会自己记下"按现有看法最该继续的因子"和下一轮实际变好了多少,用来事后核对,你不用替它算。
|
||||
|
||||
如果你有第零轮认领的入口,顺带写一句你下一轮还走不走这条路、为什么(也可以写进你的私人笔记)。走不走都可以,入口只管起点。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user