阶段 3:题库 v0
更新于 2026-10-02。
spec(2026-10-02 和用户对齐)
- 来源:先收集 X 上人们真实让 coding agent 画图的 prompt,改写后使用并保留出处;不够的补写。
- 语言:给 agent 的题目用英文,每题附中文。
- 分布:常规 100 题,代码该赢 50 题。
- 尺寸:按题定,横版 1536×1024、竖版 1024×1536、方形 1024×1024。
- 动画、交互类的原帖:改写成静态画面。
- 细则:我起草;用户抽查约 30 题;其余用两个模型交叉检查,有分歧的交给用户。后来用户改主意:分歧和抽查都交给 subagent 审(2026-10-02)。
现状
- 题库
harness/tasks/dev.jsonl:150 题,由 build_dev.py 生成。
- 常规 100 题:风景、街景、动物、人物、静物各 14 题,多物体、指定画风各 15 题。
- 代码该赢 50 题:精确数量 12、画面文字 13、几何布局 13、精确修改 12。
- 32 题改写自 X 上的帖子:原帖链接和改写说明记在
extra_info.source。原帖里的品牌名、商标改成通用说法。收集到的 77 条帖子在本地 runs/_x/,不进仓库。
- 难度:我先标,subagent 抽查后改了 5 题,现在易 28、中 81、难 29(修改题另算:易 4、中 6、难 2)。
- 程序检查(
reward_model.gate.checks):
- 5 道布局题检查区域颜色。
- 12 道精确修改题检查编辑框以外不变:每个通道差不超过 12,变了的像素最多占框外 0.2%。
- 两类检查都用合成图验证过:画对的通过,画错的不通过。
- 精确修改题的修改框后来又用真实修改验证了一遍(subagent 在镜像里改 12 份底稿代码,再跑门槛)。合成图验证漏了两处:
- dev-142:右塔屋顶下沿超出框,正确修改判不过。框下沿 0.33 → 0.37。
- dev-140:右边旗尖超出框 348 像素,靠 0.2% 的余量才过。框右沿 0.73 → 0.765。
- 改完 12 题全部通过,框外变化 0 像素。
- 已知局限:0.2% 的余量也会放过小的误改。比如 dev-145 底稿的所有笔画共用一个随机数序列,直接删掉船的代码会让左下的芦苇跟着变,漏出 753 像素(0.05%),门槛判不出来。dev-146 的月亮和纸色接近,门槛几乎看不到这处修改,只能靠细则判。
- 精确修改题:
- 底稿是阶段 1 的 7 份作品代码,放在
harness/tasks/edit_bases/。
- 参考图由
build_edit_refs.py 在镜像里重新生成,和当时交上来的图逐像素一致。参考图不进仓库。
run.py 跑这类题时会把底稿放进工作区。
- 细则(
claims_dev.py):
- 共 1019 条,每题 5–10 条:专属细则加 2 条通用质量细则。专属细则里,题目明确要求的记 2 分,合理性记 1 分。
- 交叉检查用
crosscheck_claims.py,Opus 5.5 和 gpt-6.1-sol 各审一遍。两边都标出的 21 条已经照改。
- 只有一个模型标出的 73 条,和抽查的 30 题,放在
harness/tasks/claims_review.md。用户让 subagent 来审:5 个 subagent 并行,每条的结论写在清单里。我核对过每条改动引用的原句都存在、理由站得住,然后写进代码。
- 73 条分歧:采纳或改写后采纳 46 条,不采纳 27 条。不采纳的多是精确修改题的“看图判断不了”:裁判会同时看到底稿图,原写法就能判。
- 30 道抽查:22 题没问题;改了 5 个难度、2 条细则,修了 dev-142 的修改框;dev-010 删掉一条重复细则;dev-137 题目补上“中心是红色”(门槛本来就这么查)。
- 常见改法:把含糊形容词换成能看出来的特征(如“台北”改成“招牌是中文”),“或”改成“和”,放宽会误杀正确画面的写法(飞行的鸽子不一定露腿)。
- 精确修改题的约定:VLM 裁判同时看底稿图和交上来的图。细则里“和原来一样”“原来太阳的位置”都按这个约定写。
- 题目说明:
TASK.md 模板和给 agent 的那句话已改成英文(2026-10-02,用户确认)。之前的运行用的是中文模板,前后不完全可比。红队用的附加说明仍是中文。
还没做