内容生产
v3.0 · 骨架
同样的六步,重新装一遍
一句话:把「写一篇能用的内容」拆成六个可检查的步骤,每一步的输入输出都是文件 —— 所以每一步都能单独重跑、单独替换、单独对账。
为什么重写
2.0 跑得住,但带不走
2.0 的标准在服务器上,执行端只放指针。这套设计在自家环境里是对的 —— 唯一源不会漂。
但它有个前提:你得先连上那台服务器。换台机器、换个人接手,第一步就要访问权,然后还得有人讲一遍「这套东西认什么」。
3.0 的判断:标准本身也应该是一份可以拷走的东西。
顺带修掉三个老毛病
① 写到一半发现方向错了 —— 判断和写作都放在 X,产出是一份结构化 JSON,看完就知道这页会是什么样,不用等整页渲染。
② 同一张映射表存了两份 —— 值域只留一份,其他地方全部从它派生。派生出来的对不上,是派生坏了,不是定义坏了。
③ 出问题不知道错在哪一步 —— 每班一个目录,六步各留一份产物,哪步不对看哪份。
三层分工
chain/
config/ 定义层 · 可以被改的东西
改这里 = 改这套系统认什么
modules/ 执行层 · 一步一个文件
不许互相调用
runs/ 记录层 · 一班一个目录
六步产物全留
为什么按这三层分
不是审美,是变更频率不同。定义常改(加子域、改上限),执行少改(改判据才动),记录只追加。
把常改的和少改的混在一起,是这类系统最常见的死法 —— 改一个值要动一整套逻辑。
指标只有一个:改一个定义,需要碰几个文件。答案是 1 才算合格。
六个模块
| 模块 | 一句话边界 |
| A 扫描 | 只报「有什么」,不报「值不值得」 |
| X 判定 | 整链唯一做判断的地方 |
| B 组装 | 只渲染,缺东西就停住 |
| C 检查 | 只查机器判得了的,不评好坏 |
| D 部署 | 步骤顺序不可换 |
| E 验收 | 只验「线上对不对」 |
四条硬边界
① 只有 A 和 X 碰模型 —— 其余四个模块输入相同、输出必然相同。
② B 只渲染不判断 —— 契约里缺一块,它报错停住,不猜。
③ C 不评「写得好不好」—— 那是评审的事,不是检查器的事。
④ D 默认不真推 —— 要上线得显式开。
五张表
| 表 | 回答什么 |
| taxonomy | 有哪些类 / 子域 / 话题值 |
| topics | 每个子域找什么、不找什么 |
| search | 用谁去搜、花多少钱 |
| sources | 从哪些地址抓 |
| backlog | 这一类具体要写哪个点 |
为什么搜什么和怎么搜要分开
「找什么」是我们自己维护的判断 —— 哪些子域值得追、哪些词不对。
「怎么搜」是能力 —— 用框架自带的搜索,还是接某一家提供商的接口。
两件事的变更节奏完全不同:方向我们定,能力会换。写在一起,换一家搜索服务就得改一遍方向表。
同理,源是横向的:一个 RSS 可以覆盖好几个子域,所以它单独一张表,不挂在子域下面。
X 的两条路
框架内
→
停在 X · 出提示词
→
由 Agent 跑出结果
为什么留两条
在已经能做判断的框架里(比如带 Agent 的对话框),不需要再配一把 key —— 它跑到 X 就停,把提示词交出来,人贴给 Agent 就行。
要无人值守地跑,就得配接口自己调。
两条路共用同一份提示词模板,不是两套逻辑。
停在 X 是正常停点,不是失败。退出码是 0。
可复现
runs/{班次}/
run.json 这一班跑了什么
config/ 当时的配置快照
a-plan.md 任务单
prompt.md 给模型的提示词
x.json 判定结果
page.html 生成的页面
report.txt 检查报告
deploy.json 部署记录
为什么配置要快照
跑到一半有人改了配置,这一班该按改前的算还是改后的算?
快照让每一班的产出都能复现 —— 三个月后回看「这页为什么长这样」,答案就在那个目录里。
配置里的接口 key 不落快照,只留模式、地址、模型名。
现在的状态
骨架跑通了
六个模块全链走通,已经用真页跑过整条链(扫描 → 判定 → 组装 → 检查 → 部署 → 验收)。
值域收成了单一源,X 的两条路都验证过。
2026-11-05 · Python 版先跑,等稳定了再考虑换语言。
还没做的
块类型还是固定的几种,加一种新块要改代码 —— 应该改成「定义里加一条,代码不用动」。
覆盖面还不如 2.0,目前是能跑通,不是能替代。
最脆的一环是 X 的判断质量:它判错,后面五个模块会忠实执行一个错的决定。