Content Calibrator — DNA 表现评估引擎
四条评估铁律:
- 趋势优先:绝对值只作上下文。数据好坏看「同账号相对值 + 其走向」——新号数据天然低、老号天然高,同 DNA 跨账号不可直接比绝对值,要的是趋势
- 脚本只给证据:聚合、基线、比值、走向由
content-calibrator eval计算;好坏归因由 Agent 回读 DNA 文档与作品原文完成,脚本不下结论- 先排混杂再归因:账号成熟度、粉丝自然增长、选题热度、季节性流量都会污染信号;排除不了的混杂,结论降级写「观察」不写「结论」
- DNA 更新必须用户逐条确认:评估只产出建议,Agent 不得自动改 DNA
职责边界(与 review / published-track 的分工)
| 角色 | 回答什么 | 产出 |
|---|---|---|
published-track |
数据在哪 | 发布记录 + 互动指标(每日采集入库) |
| 本技能 | 这个 DNA 好不好、该怎么改(共性引擎) | 触发规则、基线归一化与趋势证据、评估报告结构;<platform>/dna/<dna-id>/evals/*.eval.md |
各平台专家包 review workflow |
该平台的数据复盘怎么做(平台特性) | 平台归因方法(指标语义、映射、混杂因素)+ 复盘编排;heartbeat 与用户临时发起的该平台复盘都走它 |
本技能只给共性归因步骤与原则,不含任何平台特有归因方法,平台归因方法一律由该平台专家包 review workflow 提供。本技能的结论必须落到 DNA 动作(保持 / 调整某维度规则 / 调整 template 某部分),经用户逐条确认后走对应平台的 style-dna workflow 更新。
核心闭环
📥 每日数据采集(published-track) → 📊 阈值检查(--check) → 🧬 DNA 评估(聚合+归因) → 📝 评估报告 → 👤 用户逐条确认 → 🔁 style-dna 更新 DNA
触发机制:数据采集每天跑,评估按量触发
- 每日:heartbeat 采集互动数据入库(published-track 职责,不变)。
- 按量:每个(平台, DNA)的成熟待评估记录累积 ≥5 条时评估一轮。成熟 = 发布 ≥3 天(数据稳定);待评估 =
perf_evaluated=0且dna_id非空。一轮评估覆盖该 DNA 全部待评估记录(可多于 5 条)。 - 手动兜底:低频 DNA 凑不满 5 条时,用户说「复盘一下这个 DNA」→
--force强制评估。 dna_id=NULL(历史补录/未归属)不参与 DNA 评估。
归因:共性步骤与原则
原则:
- 归因方法平台特有,本技能不定义:指标语义、互动路径(漏斗/完播/其他)、到 DNA 维度的映射、平台混杂因素清单,全部由该平台专家包 review workflow 提供。本技能只做平台无关的事:触发、聚合、归一化、趋势、报告结构。
- 判定看相对值与走向:绝对值只作上下文;
baseline_insufficient的记录只作绝对观察,不参与趋势结论。 - 先排混杂再归因:账号成熟度、粉丝自然增长、平台流量波动、选题热度、季节性等 DNA 之外能影响数据的因素,排除不了的,结论降级写「观察」不写「结论」。
共性步骤:
- 读
content-calibrator eval聚合 JSON:每篇绝对值 + 同账号比值 + 每指标趋势走向。 - 对照
<platform>/calibration/platform-state.json、audience.md了解账号阶段与受众背景。 - 按该平台 review workflow 的归因方法,把趋势变化落到 DNA 的具体部分与维度(需回读
{dna-id}.dna.md/{dna-id}.template.md与待评估作品原文,source_folder可定位)。 - 混杂排不掉 → 写「观察」;能归因 → 写「结论 + 建议」,每条建议注明改哪个维度 / template 部分。
评估产物
评估报告写入 Workspace:
<platform>/dna/<dna-id>/evals/{YYYY-MM-DD}.eval.md
报告结构:
- 整体判定:这个 DNA 近期表现(趋势语言:改善 / 平稳 / 下滑),置信度与样本量。
- 趋势表:每指标的比值走势(引
content-calibrator eval输出,不重算)。 - template 归因:哪个 template 部分在起作用 / 拖后腿,证据是哪几篇(归因口径按平台 review workflow 的方法)。
- 逐条优化建议:每条 = 建议内容 + 目标维度/template 部分 + 证据篇目。供用户逐条确认。
- 观察区:归因不了但值得记录的信号(含混杂说明)。
写完报告后必须调 --mark-evaluated 标记覆盖的记录,防止下轮重复评估。
脚本
统一走顶层 wrapper content-calibrator(在 PATH 中,零路径拼接)。
eval — DNA 表现评估聚合引擎(唯一数据入口)
# 廉价阈值检查(heartbeat 每日跑,无触发不消耗后续 token)
content-calibrator eval --platform <platform> --check
# 聚合触发 DNA 的证据(绝对值 + 账号基线比值 + 趋势走向)
content-calibrator eval --platform <platform>
# 手动触发低频 DNA(不达阈值也评估)
content-calibrator eval --platform <platform> --dna-id <dna-id> --force
# 评估报告写完后标记(防重复评估)
content-calibrator eval --platform <platform> --mark-evaluated --ids 3,4,5
参数:--min-samples 5(触发阈值)、--mature-days 3(成熟窗口)、--baseline-window 10(账号基线取此前最多 N 篇均值)。须从 Workspace 根调用。
基线语义:同账号此前(发布日更早)最多 N 篇的指标均值,避免后视;此前 <3 篇 → baseline_insufficient。account 为空的记录归入未知账号组,不与其他账号混算。
query-metrics — 单篇指标查询
content-calibrator query-metrics --platform <platform> --source-folder <work 目录>
init — 平台初始化
content-calibrator init --platform <platform_id>
幂等。创建 <platform>/calibration/,默认只含 platform-state.json(baseline 兜底参考)+ audience.md;存量旧点号文件 .platform-state.json 自动改名。对标记录(如 benchmark.md)不在默认初始化内,由 account-benchmark workflow 按需生成。
Heartbeat 集成(凌晨任务)
- 数据采集:按 published-track 流程全量更新(每日必跑)。评估前必须保证数据新鲜——各平台取数手段由 published-track 的
fetch-metrics或平台专家包的取数工具提供,本技能只消费 DB,不直接取数。 - 阈值检查:各启用平台跑
content-calibrator eval --platform <platform> --check;全部triggered=false→ 本轮评估结束。 - 有触发 → 该平台的复盘走其专家包 review workflow(如 wx_mp → expert-wx-mp 的 Review Workflow):取数刷新、聚合、平台归因、写
evals/{date}.eval.md、标记,都在 review workflow 内完成。无专家包 review workflow 的平台按上方共性步骤执行,归因只到「观察」级。 - 汇总:上报本轮评估的 DNA、整体判定与待用户确认的优化建议。Agent 不得自动更新 DNA。
派发纪律:heartbeat isolated 会话中全部流程须主 agent inline 执行,不 spawn subagent、不 sessions_yield(评估需连续回读多文件,隔离会话无上下文污染问题)。
Status — 状态看板
向用户报告校准状态时展示:
🧬 Content Calibrator 状态(DNA 表现评估)
【平台】<platform>:baseline 未定 / 已定
【待评估】<dna-id>:3/5 条成熟记录(未触发)
【最近评估】<platform>/dna/<dna-id>/evals/<date>.eval.md — 判定:改善
【待确认建议】2 条
数据来源:content-calibrator eval --check + <platform>/dna/*/evals/ 目录。
历史说明
本技能前身为「内容校准预测循环」(统一 rubric 打分 + 盲预测 + 阈值门 + bump 升级)。2026-08-20 起 rubric 体系废除:发布前不再打分,判断准则不再是独立进化对象,发布数据直接关联 DNA(pub_* 表 dna_id 列)做表现评估。DB 中 cal_* 列为历史兼容保留。