用 Codex 批量生成页面,先建质量闸门再谈规模
能批量生成一千个页面,不代表该发一千个。分界线只有一条:每个页面有没有别处拿不到的独立信息。只换地名或型号名、正文几乎相同的页面,短期可能有量,长期是负债,而且清理比生成麻烦得多。做法是在生成和发布之间加五道闸门,不过闸门的页面进不了发布目录;通过率低于七成时应该停下来改模板,而不是想办法让页面通过。
批量生成页面这件事,技术门槛现在几乎为零。给 Codex 一份数据表和一个模板,一个下午生成一千个页面完全做得到。
正因为太容易,判断力才是唯一稀缺的东西。
分界线只有一句话:这个页面上有没有别处拿不到的信息。
负债这个词不是修辞。大量低信息量页面会稀释站点的整体质量信号,会占用抓取预算,会让真正有价值的页面更难被发现。而且清理起来比生成麻烦得多——生成一千页是一个下午,判断哪些该删、哪些该合并是好几周。
判断标准就一条:每个页面能不能回答一个别的页面回答不了的具体问题。
值得做的:
这几类的共同点:数据本身就是不同的,页面只是把已有的差异呈现出来。
不值得做的:
这几类的共同点:页面之间的差异只在标题和几个替换变量上。
把判断写成流程,就是在生成和发布之间加一道闸门。不过闸门的页面不允许进发布目录。
生成每个页面所需的字段,有没有齐全。
比如生成规格页,如果某个型号缺了三个关键参数,这一页就不该生成——生成出来也是半成品,而半成品页面比没有页面更糟。
规则写死:必填字段缺任何一个,跳过这一页,记入待补清单。
这一页有没有至少三条只属于它的信息。
「只属于它」的意思是:这三条信息在同批其他页面里不出现。参数值不同算,场景描述不同算,注意事项不同算;只是把商品名替换了不算。
不足三条的,说明这一页没有独立存在的必要,应该合并到别的页面里去。
同批页面两两之间的正文相似度。
这一项可以直接算:把正文去掉变量部分之后做相似度比较,超过阈值的成组标出。一批页面如果大面积高相似,说明模板写得太死,要回去改模板,而不是硬发。
页面上的每个数字和结论,能不能追到源数据。
生成过程里最危险的是模型「补全」了源数据里没有的东西——你的数据表里没写功率,它写了一个看起来合理的数字。这类内容一旦规模化,就是规模化的错误信息。
规则和前面几篇一致:只能使用源数据里出现过的值,缺失就写缺失。
这一页有没有链出到相关页面,站内有没有页面链接到它。
一批孤岛页面,既不被链接也不链出,除了占位没有别的作用。生成时就应该按数据关系把内链一起建好。
这个活是纯本地的:读源数据、写页面文件,不需要联网。
sandbox_mode = "workspace-write"
approval_policy = "on-request"
[sandbox_workspace_write]
network_access = false
目录分三个,这是闸门机制的关键:
ops/pages/
├── data/ 源数据
├── templates/ 模板
├── output/ 通过闸门的,可以发布
├── rejected/ 没通过的,附未通过原因
└── report.md 本批统计
通过的和没通过的分开放,这样「发布」这个动作就是把 output/ 里的东西拿去用,不会误发。
这个设计比任何提示词都可靠——它是靠目录结构保证的,不是靠它记得别把不合格的混进去。
## 生成规则
- 只使用源数据里出现的值。任何字段缺失,跳过该页并记入 pending.md,不要推断或补全
- 每页正文必须用到至少三个该行独有的数据点
- 每页按数据关系生成 3 到 5 条站内相关链接
## 质量闸门
生成后逐项检查,全部通过才写入 output/,否则写入 rejected/ 并注明原因:
1. 数据完整性:必填字段是否齐全
2. 信息独立性:是否有至少三条本页独有的信息
3. 重复度:与同批其他页面的正文相似度是否低于阈值
4. 事实可核性:每个数字能否在源数据中找到,逐一核对
5. 内链:是否已生成相关链接
## 输出统计
report.md 里写明:生成多少、通过多少、各闸门分别卡掉多少、相似度最高的五组。
## 禁止动作
- 不发布,只生成到本地目录
- 不为了通过闸门而改写数据
- 通过率低于 70% 时,停下来报告,说明大概率是模板或数据源有问题
最后那条很关键。通过率低不是让它想办法把页面塞过闸门,而是一个信号:要么源数据不够,要么模板设计得不对。这时候硬发的话,就是在批量制造问题。
五道闸门能拦住结构性问题,拦不住「读起来像机器写的」。
所以还要人抽。比例上,第一批抽 20%,读顺了之后可以降到 5%。
抽查的时候只看一件事:连着读三页,是不是同一个句式在填不同的空。
如果是,问题在模板,不在个别页面。回去改模板——让每页的结构随数据变化,而不是所有页都走同一个七段式。
这一步没有捷径。批量生成里唯一不能自动化的,就是「这批东西读起来像不像人写的」这个判断。
就算全部通过了,也不要一次性发一千页。
建议的节奏:
分批的价值不只是控制风险,更重要的是它让你有数据可依据。一次全发,效果好坏你都不知道原因;分批发,你能看出哪种类型的页面有效。
发布之后,看这几个数:
如果发了三百页,收录一百页,其中只有五页有流量、零转化,那这批就是负债。正确的处理是删掉或合并,而不是再发三百页去摊薄。
删除自己发过的页面,心理上很难,但比留着更划算。
现在经常被问:要不要专门为 AI 问答再做一套内容。
答案是不用。把 AI 问答需要的东西列出来,你会发现和「一篇写得好的页面」几乎是同一份清单:结论写在前面、事实具体可核、结构清楚、来源写明。
这四条对普通搜索同样成立。真正的差别只有程度:普通搜索里写得含糊只是效果打折,AI 问答里写得含糊就是直接不被采用。
所以正确做法不是做两套,而是把一套做扎实。而这一篇讲的五道闸门,本身就是在保证这件事。
有一个明确不该做的:**不要为爬虫准备和用户所见不同的内容。**这在搜索引擎规则里是明确禁止的,代价远大于收益。而且如果一段内容值得给机器看,它通常也值得给用户看。
内容这条线到这里结束。接下来两篇回到日常运营:客服邮件分类和补货预测,都是每天都在发生、最适合先自动化的活。
能批量生成一千个页面,不代表该发一千个页面。分界线很清楚:每个页面有没有别处拿不到的独立信息。只换地名或型号名、正文几乎相同的页面,短期可能有量,长期是负债。做法是给生成流程加五道闸门——数据完整性、信息独立性、重复度、事实可核性、内链合理性,不过闸门的页面不允许发布,并且分批上线,每批之后看数据再决定继不继续。
结论前置、事实可核、结构清楚、来源写明,这几条对普通搜索和 AI 问答同时有效,所以不用为 AI 单独做一套内容。Claude Code 在这里的价值不是替你写,而是替你查:哪些页面没有直接回答标题提出的问题、哪些缺结构化数据、哪些事实没有具体数字。为 AI 单独准备一份和用户看到的不一样的内容,是风险动作,不要做。
作者
大阪烧鸟
大阪烧鸟,关注 AI 在跨境电商运营中的实际应用、Shopify 独立站与日本商业观察,偏爱把复杂问题拆成可执行的方法。