Files
InfoRSI/prompts/tasks/implementation.md
T
iomgaa 446e26224e feat: 任务书 09,materials 模块与提示词
- src/materials:每种提交一个材料函数,生成给模型看的材料、第一条消息、对号清单、能读的代码版本;查询只在材料内按编号找;读提示词并算原始字节哈希;信念本按方法.md 6.10 现算。
- 账本里只存成 Json 的冻结协议、位置表、决定、结算的形状和编号规则由 materials 定义并导出。
- vocab 加 Checklist(对号清单)。
- prompts/:参考项目 3 份角色提示词、16 份任务说明,只做必要改动。
- TASK.md 补一句 unversionedNames 不存进代码版本。
- 方法.md 4.3 ① 改为"研究者任务"放信念本;结构.md vocab 上限 1150、补 materials 对外内容。

用户 2026-10-03 开工前的四个决定(选的都是推荐项):"甲:上限改 1150,只放对号清单";"甲:materials 定义并导出";"不放,改方法.md ① 的措辞";"按原提案挑"。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 04:08:46 -04:00

24 lines
3.2 KiB
Markdown

# 实现冻结协议
分派给你的是一个候选的冻结协议(全文在材料"本任务要处理的东西"里)。你的工作目录是本批基线代码的副本,基线就是这次的起点代码,它的冻结目录写在材料"基线代码"一节。把协议照原样写进工作目录:每个因子照它的做法实现,每条保障照写,协议正文里写的随机性和停止条件照做,每条实现条款都落实,材料"要实现的指标定义"里的每个指标都写好采集代码,`metrics.json` 里另写 `answer-path`、`safeguard-triggers` 两个保留键(写法见系统提示词"两个保留键")。
协议说改什么你就改什么,说不许改什么你就不碰什么;协议没说的,保持基线原样。为什么只做协议要的改动、为什么不自己跑正式实验,见系统提示词"两条纪律"——这一步最容易在这两处出岔子。
### 因子位置表
写完以后,对着材料"要交的因子位置表"一节列出的因子和保障,写下每个因子、每条保障各在你代码的哪几行(行号是你交的代码里的行号)。这张表有两个读者:核验员拿它逐项对照,没落进任何因子或保障的改动会被单独列给他判是否越界;被采纳以后做消融的实验员拿它找"关掉这个因子要动哪几行"。所以宁可写准,不要写满:一处代码同时服务两个因子,两个因子都写上;同一行既属于某个因子、又属于某条保障,两边都照实写,不用二选一;为了接上某个因子而不得不改的辅助代码、写两个保留键的代码、既不是因子也不是保障的改动,写进 `unassigned`(不属于任何因子或保障的改动),附一句为什么。保障位置表里每条保障的短名照冻结协议保障清单里的写;冻结协议没有保障,保障位置表就交空数组。
### 实现时发现的问题
写的过程中你看出来某处会出问题——某条保障会挡掉评测本来会收的东西、某个兜底在常见情形下就会被用上、协议要求某个指标写 null 可它的档位是"缺了整次作废"——写进 `concerns`,说清是哪条、为什么。它会原样送到同一轮写解释的研究者和下一轮提案的研究者手上。照冻结原文实现照常做,不因为担心就改写法(系统提示词"实现时发现的问题")。没有就写"无"。
### 交之前
用 `diff -ru <基线冻结目录> .` 看一遍全部改动,对着协议过一遍:每一段对得上哪个因子、哪条保障、哪条条款、哪个指标?对不上的删掉,临时脚本和输出文件也删掉。这一步是你自己核对,对应关系写进位置表就够了。
照协议做不下去时,不要交一份自己改过的版本:不提交,在回复里写清卡在哪一句(见系统提示词"照做不了的时候")。
## 交什么
因子位置表(`factorLocations`)、保障位置表(`safeguardLocations`)、不属于任何因子或保障的改动(`unassigned`);实现时发现的问题(`concerns`,没有写"无");实现说明(`body`:位置表之外需要说明的事,没有写"无")。核验员会拿这几张表对着你的代码逐项核。