‹ 返回笔记 · Back to notes

现场手记

《Codex 使用手册》· 第 12 章|把重复工作做成安全批处理

从 20 份不同输入中只处理固定 5 份,保留 3 个异常,并用 60% 异常率作出停止决定。

CHAPTER 12 · 公开候选

安全批处理的目标不是把数量跑满,而是尽早判断规则是否可靠。你会冻结 20 份输入,只选择 S-01 至 S-05,得到三种不同异常,然后根据 20% 质量门停止扩张。

打开第 12 章练习入口。完整任务位于练习包内 tasks/chapter-12.md;网站只提供下载与阅读,不会替你执行本地文件。

1. 起点

你收到 20 份格式不完全一致的虚构学习条目。目标不是追求“全量跑完”,而是先用五份样本看清异常,再决定是否扩大。

先理解问题

一次处理 20 份看起来省时间,规则一旦错误却会放大 20 次。S-02 缺日期、S-04 使用非法状态、S-05 标签重复;它们让异常保留、质量门和停止决定成为真实操作。

2. 只读输入

  • inputs/chapter-12/S-01.mdS-20.md
  • inputs/chapter-12/expected-outcomes.json
  • 第 11 章 v1.1 与回归结论

建议阅读顺序

先看 20 个文件是否都存在,再读 expected-outcomes 中的固定五样本与阈值;不要先挑看起来最干净的五份。

3. 唯一写入位置

只写 workbench/batch-output/

写入位置是本章的安全边界。Codex 可以创建目录,但不能扩大到 inputs、checkpoint 或别章输出。

4. 本章唯一成果

交付 sample-selection.mdresults.csvexceptions.mdquality-gate.jsondecision.md

成果必须能打开、能回查、能由本章检查验证。只有一句“已经完成”不算交付。

5. 可复制给 Codex 的任务

只读取 inputs/chapter-12。先根据明确的覆盖规则选择五份样本,把 ID 与选择理由写入 workbench/batch-output/sample-selection.md;没有这份文件不得运行处理。用 scripts/run-batch.mjs 只处理五份样本,把每份输入的结果写入 results.csv,把缺字段、日期异常、状态不明或重复标签原样记入 exceptions.md,不修写输入。根据固定阈值生成 quality-gate.json,再让 decision.md 用实际计数决定扩大或停止。运行前后比较输入哈希,最后运行 npm run check:12。

把代码块整段复制,不要拆掉输入范围、停止条件和检查命令。Codex 的总结不能代替产出文件。

6. 你必须亲手完成

在运行前确认五份样本同时覆盖正常、缺字段和状态异常;运行后打开一条成功项和每类异常的原文件,判断结果是否忠实;最后亲手选择“扩大”或“停止”,并在 decision.md 写出依据。

人工动作为什么不能省

你要亲手打开 S-02、S-04、S-05,对照异常清单;再用纸笔算 3 ÷ 5 = 0.6,并与 0.2 阈值比较。脚本给数字,扩大或停止仍是你的判断。

7. 你应该看到

  • 结果表正好覆盖五个样本 ID,没有偷偷处理其余十五份。
  • 预置异常留在 exceptions.md,不是从结果中消失。
  • 质量门使用实际错误率和固定阈值给出允许或阻止。
  • 输入哈希在处理前后完全一致。

跟着做:从输入到可观察结果

1. 冻结全量,选定小样本

运行输入检查,并在 sample-selection.md 固定 S-01 至 S-05。

**你应看到:**五个 ID 在运行前就确定,其余 15 份明确不处理。

2. 运行受控批处理

执行 node scripts/run-batch.mjs workbench/batch-output/sample-selection.md workbench/batch-output

**你应看到:**结果表恰有五行;成功和异常行都保留。

3. 核对三类异常

回到 S-02、S-04、S-05 原文。

**你应看到:**分别对应缺日期、状态不在允许值、标签重复;不是处理器编造。

4. 执行质量门

比较 0.6 与 0.2,阅读决定,运行 npm run check:12

**你应看到:**输出 STOP;S-06 至 S-20 不进入结果,输入哈希不变。

第12章真实批处理结果,显示5份样本、3个异常、60%异常率和停止决定
真实批处理结果:失败没有被删掉,三类异常仍可回到 S-02、S-04、S-05;质量门决定不扩大。

参考完成态:本地实跑记录

  • results.csv 恰有 S-01 至 S-05 五行。
  • exceptions.md 恰有三项。
  • 质量门为 5/3/0.6/0.2/false,检查输出 CH12_PASS。

证据文件:completed-example/batch-output/results.csv。这些记录只证明虚构练习在本地按规则跑通,不代表网站已发布、现实用户已使用或作者已批准。

8. 三个真实坑

坑 1:跳过样本直接全量

运行器要求 sample-selection.md 恰有五个不重复 ID;数量不等于五个时会拒绝开始。异常覆盖则由随后运行的 npm run check:12 对照固定样本核验。

坑 2:吞掉异常

固定结果表给每个样本一行,异常还必须进入单独清单。缺一行或把异常当成功都会与独立预期表冲突。

坑 3:改写原始输入

输入中有容易“顺手修好”的日期和状态。完整性检查会比较二十份文件的前后哈希,任何修写都会失败。

这三个坑都由练习材料、代码或检查实际暴露,不是提醒语。

先看信号,再做补救

**识别信号:**样本不是预先固定的 S-01 至 S-05、exceptions.md 少了异常,或 decision 写成扩大,说明你在挑结果或吞错误。**补救动作:**只清空 workbench/batch-output/,恢复固定样本,重新运行并逐份对照 S-02、S-04、S-05;60% 仍高于 20% 时必须保持 STOP。

补救后仍不能让本章检查因正确原因通过,就按第 10 节停止并回退;不要手改日志或复制参考完成态绕过。

9. 复选框验收

  • 五份样本在运行前已选定并写明理由。
  • 每个样本在 results.csv 中正好一行。
  • 所有预置异常都出现在 exceptions.md
  • 决定与质量门的实际计数一致。
  • npm run check:12 和输入完整性检查均通过。

每一项都要靠打开文件或完成动作后再勾选;不要只凭 Codex 报告的 PASS。

10. 停止、回退与交接

样本没有覆盖异常、输入哈希变化、异常被吞掉或质量门阻止时,停止扩大范围。回退只清空 workbench/batch-output/ 后重新选择样本。交给第 13 章的是 results.csvexceptions.mddecision.md 和允许范围规则。

**停止条件:**异常率超过阈值、异常不能回到输入、结果丢行、或脚本开始处理 S-06 至 S-20。

**回退动作:**只清空 workbench/batch-output/ 后重跑同一五份样本,不改输入或换样本追求更好数字。

**交接文件:**results.csv、exceptions.md、quality-gate.json、decision.md 与允许范围规则。

本页目录
  1. 1. 起点
  2. 先理解问题
  3. 2. 只读输入
  4. 建议阅读顺序
  5. 3. 唯一写入位置
  6. 4. 本章唯一成果
  7. 5. 可复制给 Codex 的任务
  8. 6. 你必须亲手完成
  9. 人工动作为什么不能省
  10. 7. 你应该看到
  11. 跟着做:从输入到可观察结果
  12. 参考完成态:本地实跑记录
  13. 8. 三个真实坑
  14. 坑 1:跳过样本直接全量
  15. 坑 2:吞掉异常
  16. 坑 3:改写原始输入
  17. 先看信号,再做补救
  18. 9. 复选框验收
  19. 10. 停止、回退与交接

继续读下去

这些是同一条线索附近的记录。也可以继续追问、回到目录,或从标签进入同一主题。

追问这篇 回到目录 浏览标签