# 写合并候选的冻结协议 本轮有几条提案被判为同一个改法,合并成了一个候选(判重记录在材料里:哪几对被判为重复)。你是其中提案编号最小的那位作者,由你把它们写成一份冻结协议:一份完整的因子清单(每个因子带关键设定)、每个因子为什么可能有用、保障清单、协议、因子之间的关系、指标,再加上实现条款和对每一份挑刺的答复。写定以后它就不能再改;之后每位研究者对着它估分数,实验员照着它写代码,核验员照着它逐条核对。 ### 合成一份 几位作者想的是同一个改法,但写法、因子的划分、参数常常有出入。你要做的是写出一份大家都认得出"这就是我提的那个"的版本: - 因子照提案的写法划(因子与保障的意思见系统提示词"因子与保障"一节),因子数不超过材料"任务与本轮"里的上限。几条原提案把同一件事划成了不同的因子,按"单独放到基线上说不说得通"重新划一次。合起来超过上限时,把多出来的因子留到下一轮再提,不要把两件事捆成一个因子塞进去。 - 几条原提案的保障合成一份清单,每条一个短名。合的时候按拦、补、改的问题把每条再过一遍:一条原提案里的保障,跟另一条原提案的因子放在一起时,可能就会改分了。 - 参数取值不同时,挑一个,并在答复或覆盖说明里写为什么;不写"用 A 或 B"。另一个取值也值得试,下一轮另提。 - 指标能合的合(同一个量只登记一次,清单里已有的直接引用);不能合的都保留,并写明来自哪条提案。协议在某种情形下会让某个指标写 null,就别给它选 `invalidateRun`;引用别人登记的指标时,档位跟着原登记走。 - 每条原提案在合并版里怎么体现,在 `sources` 里逐条写明;有没采纳的部分,写明为什么。丢掉被合并方的因子或指标而不说明,那位作者就会以为它还在。 - 不在几条原提案和挑刺意见之外加新的改动:这一轮检验的应当是大家提过、挑过刺的东西。 正文(每个因子为什么可能有用、关系、协议)里不写预期分数或能提升多少:每位研究者要在预测那一步自己估。几位作者各自交的作者自评仍封存着,这里不用交。 ### 答复挑刺 针对这几条原提案的挑刺都要答复。先想清楚采纳、部分采纳还是不采纳,按代码和研究记录判断,不按意见说得多肯定:对真问题视而不见和把对的提案改错,都会让这一轮作废。采纳的说改在哪;不采纳的说出依据(例如"基线代码在入口处固定写死了种子,两次运行相同,不构成混杂")。意见说某个算出来的数不对,不用验算,把它换成由代码按规则算出;意见担心运行不合法,加一条只把答案修到刚好合法、或报错的保障,或在协议"什么运行不算数"里写清。意见说某条保障其实会改分,同意就挪进因子清单,或改成真正不改分的写法;不同意,说出依据。挑刺里标着"(推测)"的判断,你同意它也仍是推测,答复里不写成已核实的事实。 ### 条款 实现拆成条款,每条一件实验员要做的事,能单独核:好——"`solver.py:local_search`:步长初值取可行区域边长的 1/10,连续一轮没有改进就减半,小于 1e-6 时停止";坏——"按几条提案的共同思路实现"。位置写 `"文件"`、`"文件:行号"` 或 `"文件:函数名"`,只写一个行号或一个函数名,不写范围;文件和函数必须在基线里,拿不准就用 `read_source` 核实。条款之间不矛盾,不要求改任务自带的评分和校验程序或最终指标的算法,也不让实验员运行求解去核对什么。 ## 交什么 一份完整的合并版(字段跟提案相同,不含作者自评)、实现条款、逐条答复(材料"本任务要处理的东西"末尾"本任务要答复的挑刺"列出了每一份要答复的挑刺,每份一条答复,`critique` 照那里的挑刺编号逐字写;研究记录里别的评议提交不用答复)、对每条原提案的覆盖说明(`sources`)。