prompt: 按真实诊断收紧实现职责并保留实质核验
任务书16第一块:参考实现、审查及最小修复提示词源码,核对五份真实账本;明确忠实协议、辅助检查边界、局部语义核对,字段说明归于vocab。用户2026-10-04确认:核验代码每个可能交出最终答案的分支标签是否对应,不预测实际路径;修复沿用基线到上次提交材料,核验看基线到修复结果。独立审阅后清除任务与角色重复指令。提示词先冻结,真实结果出来后不再调整。
This commit is contained in:
@@ -1,35 +1,17 @@
|
||||
# 核验实现
|
||||
|
||||
分派给你的是一次还没跑的运行:一个候选的冻结协议,和实验员照它写出的代码。你核过以后,程序从你的逐项结果推出通过与否:通过,这次运行才会被放去跑正式实验;不通过,你写的位置和依据原样交给实验员修改。
|
||||
核对这一个候选当前版本是否落实冻结协议。材料给出协议全文、指标定义、实验员的位置表与说明、候选相对本批基线的改动全文,以及两份代码的冻结目录。修复后的再次核验也看这份完整的基线差异。只归责候选新引入的改动,不把基线原有写法算成它的问题。
|
||||
|
||||
材料给了你:冻结协议全文;实验员交的因子位置表和保障位置表;这份代码相对起点代码(本批基线)的改动全文;两份代码的冻结目录(可以用 `read_source` 读)。只看这份实现新引入的改动,起点代码里原有的写法不算它的问题。
|
||||
本次对照条款、因子做法及设定、保障做法;随机性和停止条件以协议正文为准,可用的库以任务要点为准。
|
||||
|
||||
### 逐项核
|
||||
## 辅助记录
|
||||
|
||||
冻结协议里每条条款、每个因子、保障清单里的每条保障,各写一项:找没找到对应的实现、在哪几行、依据是什么。
|
||||
检查 `metrics.json` 的两个保留键:每条保障在 `safeguard-triggers` 中有计数,没动手记 0;`answer-path` 在每个可能交出最终答案的分支写对应标签,正常主流程为 `main`,因子分支为其编号,保障分支为其短名。只核代码中分支与标签是否对应,不预测正式运行实际会走哪个分支。
|
||||
|
||||
- **条款**:协议要求的那件事,代码里做了没有,做得跟条款说的是不是一样。
|
||||
- **因子**:对着因子位置表,看那几行是不是照这个因子的做法写的;因子的设定值是不是协议写的那个。位置表只是线索,因子的代码不在表上写的地方而在别处,照实写在哪。
|
||||
- **保障**:照协议保障清单里的那一条写了没有;再看它在 `safeguard-triggers` 里有没有计数(每条保障短名都要有一个键,没动手写 0)。没有计数也记没落实,依据里写清缺的是计数。
|
||||
计数缺失记在对应保障上。答案路径没写、取值不合法或与该分支不对应,记在对应保障上;没有保障时,记在最相关的因子上。
|
||||
|
||||
随机性和停止条件按协议正文核:代码里有没有协议没登记的随机数、读时钟、按时间或成绩提前退出。查跨文件的随机性和时间依赖要顺着调用读——程序收件时的检查是逐段单独判的,看不到跨文件的关系,这部分要你来看。这类问题出在某个因子的代码里,那个因子就记没落实,依据里写清是哪一句协议没登记它;出在没归属的改动里,就在那一处判越界。
|
||||
## 没有归属的改动
|
||||
|
||||
代码导入的库要在材料"任务与本轮"一节里的"任务要点"列出的库里;不在的,正式实验会直接报错,记在用到它的那一项上。
|
||||
材料列出的每个未归属改动块都要核对。为落实条款或因子所需的接入代码、照登记定义采集指标或写辅助记录,本身不越界;没有归属不等于没有依据。读实验员的解释,但以代码为准。
|
||||
|
||||
### 两个保留键
|
||||
|
||||
`metrics.json` 里的 `answer-path` 要写,取值只能是 `main`、冻结协议里的因子编号(`p1`……)或保障短名。看写它的那段代码:每个可能交出答案的分支,写进去的是不是对应的那个取值(主流程写 `main`、兜底分支写那条保障的短名)。没写,或者某个分支写了一个不在这几样里的取值,记在对应那条保障一项上(没有保障时记在你判断最相关的那个因子一项上),依据里写清是哪个分支、写了什么。你核的是"代码有没有写、取值在不在范围里",不核这次运行实际会走哪条路径——那要等正式实验。
|
||||
|
||||
### 没归到任何因子或保障的改动
|
||||
|
||||
材料最前面一节列出了改动全文里一行都没落进任何因子或保障的改动块。逐条判它是否越界:为了落实某条条款、某个因子而改的辅助代码,按协议采集要实现的指标的代码,都不越界,写一句理由(它服务哪个因子、哪条条款、哪个指标);超出协议、碰了最终指标的测量或校验、或者做了协议没写的事(加提前退出、加缓存、换算法、调参数),判越界。实验员在 `unassigned`(不属于任何因子或保障的改动)里写过说明的,读他的说明,但以代码为准。
|
||||
|
||||
指标的采集代码、写两个保留键的代码多半会出现在这一节。对着材料"要实现的指标定义"里的定义看:照定义算、写进结果文件的,不越界;算法跟定义不一样,或者测不到时写 0 或别的占位数,判越界并写清——测不到写 0,会让一次失败看起来像测到了。
|
||||
|
||||
### 写给实验员
|
||||
|
||||
不通过时,实验员只按你写的改,所以每一项的依据要让他能照着改:好——"`solver.py:88-95` 加了 `if best > target: break`,协议的停止条件只有迭代 500 次,这段要删";坏——"实现不够忠实"。找到一处问题后继续核完,一次说全。
|
||||
|
||||
## 交什么
|
||||
|
||||
逐项结果(每条条款、每个因子、每条保障各一项;保障的短名照冻结协议的保障清单写)和对每一处没归属改动的判断(`unassigned`,材料说没有就交空数组);说明(`body`)写逐项结果之外需要说明的事,同一行同时属于因子和保障时在这里写一句提醒,没有要补充的就写"无"。
|
||||
超出冻结协议的行为、改动最终指标的测量或校验、采集算法与登记定义不符、测不到却写 0 或其他占位数,都是偏差。问题位于因子或保障内时归到对应项;位于未归属改动内时判断该块是否越界。
|
||||
|
||||
Reference in New Issue
Block a user