Files
mcn-short-video/极致事件素材接入创作流程方案_V1.0_20260924.md
T
maogeigei 6e4ce9441c feat(skill): 素材层切换 WeKnora + 方法层接线
定性:素材载体切换(本地 md -> WeKnora 容器),非扩容;驱动方向由素材驱动改为方法驱动。

- 新建 references/接口调用/WeKnora_极致事件检索.md 调用契约:MCP hybrid_search(服务 weknora)/ kb_id 用库名禁写死 UUID / match_count=3 / vector_threshold=0.5 显式 / 不传 keyword_threshold / 零命中判据 success=true 且 data=null / 只读 chunk_metadata.answers[0] / 禁用 chat 与 agent_chat / 复筛<=2条每节点 / 取材不取形转译 / 降级矩阵 / 成本控制
- S7 布位表新增「候选创作方法」列(4->5 列)打通方法层(此前 05_极致事件 6 个方法文件在创作流程中 0 调用)
- S7 新增「极致触点素材检索」按需环节 + {material_content} 定死结构 + 极致触点机制自检([期待A]-被X打破->[结果B]);输入章节素材库改双层源(主源 WeKnora / 降级 md,md 永不删除)
- 6 个方法文件补「素材供给」块(极致标签 / 定库检索入口 / 问法②打破方式填法)
- SKILL.md MCP 依赖节增 WeKnora 检索层(含静默降级口径);S7 小节补调用链;frontmatter updated_at
- 索引_知识素材库.md 修正 03/05/06/07/08/11 定性(实为字段结构模板而非素材库);新增「接口调用」章节
- S9 输入增 {material_cards} + 新增台词毛边三档参考;S11 类1「爆点贯穿」升级为爆点溯源 4 判据,八类35项清单同步
- 根目录补 3 份方案/规范文档 + 2 份 09-23 WeKnora 文档;变更日志归档
2026-09-24 14:47:19 +08:00

20 KiB
Raw Blame History

极致事件素材接入创作流程 · 方案 V1.0

⚠️ 本版已被 极致事件素材接入创作流程方案_V1.1_20260924.md 取代(2026-09-24 13:0x)。 取代原因(两处根本修正 + 一处事实纠错): ① 定性修正:不是"接入"(S7 新增检索步骤),而是素材载体切换(本地 md 素材 → WeKnora 容器); ② 驱动修正:素材驱动 → 方法驱动(方法定手法 → 判定定类型与布位 → 素材作实例供给); ③ 事实纠错:原 §1.2「实素材只覆盖 7 个库」有误。实测 —— 7 个通用库中 6 个是空壳(03/05/06/07/08/11 只有字段结构 + 「在此添加条目」注释,零条素材),唯一有实素材的是 01 美食库 21 条。 保留下文仅作沿革参考。

日期:2026-09-24 | 类型:分析方案(未改动任何技能文件,待授权后执行) 范围:project/短视频脚本创作/V1.0/(技能口径源)+ tools/weknora-ingest/(检索层) 依据:SKILL.md / 创作流程 S5-S11 / 知识库 05_极致事件 全套 / WeKnora 容器实测(240 条卡)


〇、结论先行

一句话:WeKnora「MCN极致事件素材库」(240 条卡)目前与本技能零引用(全仓 grep -i weknora = 0 命中),它是一个离线资产;把它接进 S7 事件展开前、S9 台词演绎、S11 爆点自检 三处,即可在不新增任何素材的前提下补上当前最薄的一层内容——「事件机制层」(凭什么留人),而现有 8 库素材只能回答"拍什么"。

接入点 位置 解决什么 优先级
A 机制检索 S7 第二步「事件序列展开」之前 每个 L1 极致触点从"位置"变成"有机制支撑的桥段",治"凭印象编爆点" P0
B 台词毛边 S9 台词具象化时 用卡的「原话 / 微反应 / 意外」范式治"台词概括化" P1
C 爆点溯源 S11「爆点贯穿」检查 每个 L1 节点附机制来源,无来源 = 编造爆点,可核查 P1

先决条件(3 个缺口必须先补,否则接入必然空转):

  1. S7 里 {material_content} 的注入者「编排层」在技能内从未被定义(全仓仅 1 处提及,就是那句占位注释)→ 必须补一份检索调用规范;
  2. 检索问法若无模板,实测抽象 query 零命中(见 §2.4)→ 必须定义「镜像式五要素」问法模板;
  3. 卡片来自别人账号的具体桥段 → 必须定义「取材不取形」转译规则,否则违反 SKILL.md 关键规则六(硬编码禁止 / 账号信息污染)。

一、现状诊断

1.1 检索层建成但未接线

事实 证据
技能全仓无 WeKnora 引用 grep -rn -i "weknora" → 0 命中
能力已在(不是设计阶段) 容器 WeKnora-app Up 4 days healthy,chunk_count=240,FAQ 检索接口实测可用
生产流水线已跑通 15 批 tools/weknora-ingest/RUNBOOK.md 批次 1-15,225 条卡 15/15 通过率
检索参数已知 POST /knowledge-bases/{KB}/faq/search,vector_threshold=0.5 必须显式(默认 0.7 硬编码,口语问法召不回)

结论:资产已就绪,缺的只有"调用契约"。这是本次方案的全部工作量所在。

1.2 现有素材调取链与它的断点

S7 现行调取链(原文):

极致类型判定(知识库 05_极致事件/00_总纲)
  → 类型↔标签映射(01_极致类型-素材标签映射表)
  → 4 维标签筛条(极致标签 → 适用场景 → 镜头语言 → 画面风格)
  → 落在 references/素材库/ 的 8 个库 md 文件上

两个断点:

# 断点 后果
① 「编排层」无定义 —— S7 User Prompt 写 【素材内容】(由编排层根据…注入){material_content},但技能内没有任何文件说明编排层是谁、何时调、怎么调 运行时这一步实际被跳过,material_content 空间常为空 → AI 只能凭印象写大纲
② 8 库是载体层(具体菜品/仪式/穿搭方案),不是机制层;且实素材只覆盖 7 个库(01/03/05/06/07/08/11),04 对话库仅存分块定义 "拍什么"有了具体物,"凭什么让人看下去"仍无样本

1.3 内容层次模型 —— WeKnora 补的是第 3 层

层 回答 承载资产 现行调用
1 载体层 拍什么(具名物品/环境) 素材库 8 库 + 人设卡 ✅ S7 四维筛条
2 结构层 怎么排(场次/情绪/节奏) 知识库 03_框架节奏 + S6 情绪设计卡 ✅ S6/S7
3 机制层 凭什么留人(期待→打破的落差结构) WeKnora 240 条极致事件卡 ❌ 未接入 ← 最薄的一层
4 表达层 怎么说(台词风格/口头禅) 知识库 08_对话风格 + 人设卡 ✅ S9

极致事件卡的 10 字段里,内容含义([期待A]—被X打破→[结果B])、创作手法(含铺垫量级 短≤3s/中3-10s/长>10s)、复用场景 三层信息,是 8 库结构上没有的——8 库条目只有"这是什么素材",没有"这个素材在叙事上怎么制造落差"。 这正是"内容层次单薄"的技术根因:S7 的 L2 密度自检只查"具体度"(具名物品/对话组/操作链/环境细节),不查"爆点机制是否成立"。大纲可以既具体又平。

1.4 实测:召回能力到底如何(本次新跑)

以 10 组不同赛道的真实创作意图打检索(threshold=0.5,top3):

创作意图(模拟 query) top1 命中 score 判定
剧情·专业反击「被当场刁难的人用一串专业细节把对方顶回去」 28325-3 托盘段 0.6058 ✅ 对口
美食·品质「食材好到一口吃出差别」 28348-1 老板尝出品 0.5983 ✅ 对口
亲子·服务细致「孩子放学回家家长提前备好」 「我还给你带瓶水」的预判 0.5995 ⚠️ 泛化磁铁卡(见下)
美妆·反差「同一个人两种状态落差大」 A1 冷面私教/网恋撒娇 0.5633 ⚠️ 曲线命中(机制对、赛道跨)
知识口播·反常识「一句话推翻理所当然」 20270-1 莫比乌斯环 0.5447 ⚠️ 偏弱
生活vlog·沉浸「深夜做饭安静丝滑解压」 番茄牛腩(8 库风条目) 0.5150 ⚠️ 弱
职场·自嘲「先吐槽自己差结果还行」 31775-1 尝菜 0.5658 ⚠️ 偏弱
通用·反差「前后两个人差距像两个世界」 20217-2 楼下跺脚 0.5317 ⚠️ 偏弱
情感·价值观「一句话让所有人沉默」 — ❌ 零命中 ❌ 纯抽象 query 失效

四条硬结论:

  1. 可用但需引导:命中率 9/10,但分数集中在 0.50-0.61 的窄带,天花板低。原因不是库的问题,是问法与库内标准问语域不齐。
  2. 纯抽象 query 会零命中("一句话让所有人都沉默了,因为谁都没法反驳"→ 0 条),而带具象动作/场景的 query 明显更高分("被当场刁难的人…一步步把对方顶回去"→ 0.6058 最高)。→ query 必须带具象锚点。
  3. 存在 15 条「泛化磁铁卡」挤占召回位:库内编号形如 A1/A2/B1/B2 与 11 条名称式条目(皮蛋炒饭 / 蒜香辣鸡爪 / 番茄牛腩 / 「我还给你带瓶水」的预判 …),其标准问统一是泛化需求句式「找一条 X 的极致事件素材」。这类问法与任何创作意图的向量距离都近,因此频繁占据 top1,把真正对口的卡挤下去。
  4. 赛道覆盖严重偏斜:240 条中 剧情赛道 186 条(77.5%),非剧情合计 54 条(生活vlog 38 / 旅行 6 / 小剧场 3 / 亲子 3 / 明星娱乐 3 / 搞笑短剧 1)。标签侧,「感官沉浸」「氛围沉浸」= 0 条(沉浸/治愈/慢生活向内容检索为空)。

1.5 一个可直接复用的发现:卡片格式 = 爆点自检模板

卡片 V1.3 的 内容含义 字段结构 [期待A] —被X打破→ [结果B],本质是一个爆点成立性判据。把它反过来当作 S7/S11 的校验器:

每个 L1 极致触点若写不出「期待 A → 打破 X → 结果 B」三件套,就不是极致触点,只是普通情节。

这条规则不需要新数据,可立即生效,且与 S11「爆点贯穿」检查天然咬合。


二、接入设计

2.1 接入点 A(P0):S7 事件展开前的机制检索

插入位置:S7 处理规则 第二步「事件序列展开」之前——即「极致触点节点布位」表定完节点之后、场景预演之前。

执行时序:

S6 场次结构表 + 情绪设计卡
  → S7 选结构模板
  → 【新增】极致触点节点布位(现行表:钩子型/留人型/转粉型/传播型)
  → 【新增 A-1】按节点生成检索问法(镜像式五要素模板)
  → 【新增 A-2】检索 WeKnora → top5 → AI 复筛留 ≤2
  → 【新增 A-3】按「取材不取形」转译为本账号桥段
  → 【新增 A-4】注入 {material_content}(结构化,见 2.6)
  → 场景预演 → 事件序列展开(3-5 条/场)→ 密度自检 + 【新增】极致触点机制自检

A-1 检索问法构造 —— 镜像式五要素

核心原则:问法要与库内标准问语域同构(库内标准问即"编导检索意图句",见 RUNBOOK 步骤 6 的 std 字段)。 实测反证:抽象句 ❌ 0 命中;具象机制句 ✅ 0.6058。

模板:「找一条 {①落差对象} {②打破方式} {③具象锚点} 的 {④段落功能} 型事件素材」
要素 来源 示例
① 落差对象 S7 布位表节点 + S6 场次事件 被当场刁难的人 / 等了一整天的人
② 打破方式 知识库 05_极致事件 类型层(反转/冲突/荒诞/错位/克制…) 用一连串专业细节把对方顶回去
③ 具象锚点 必须有,取自本账号赛道与人设 厨房 / 接送孩子 / 试妆镜前
④ 段落功能 布位表四型之一 钩子型 / 留人型 / 转粉型

三条禁忌(实测支撑):

  • ❌ 禁用纯抽象机制词("制造反差""引起共鸣")→ 零命中;
  • ❌ 禁用赛道词当主检索词(库内 77.5% 是剧情赛道,用"亲子/美妆"检索只会落到极少数卡上且分数低);赛道词只作为③具象锚点的一部分;
  • ❌ 不用 CustomMetadata 过滤(实测:不参与过滤)+ FAQ 为纯向量召回(关键词不参与)→ 想收敛范围只能靠 query 语义与检索后复筛。

A-2 参数与复筛:

项 值 理由
vector_threshold 0.5(显式,不可省) 默认 0.7 硬编码,跨赛道实测分数仅 0.50-0.61,提到 0.6 会大面积漏召
match_count 5 为复筛留空间
复筛后保留 ≤2 条/节点 泛化磁铁卡会挤占 top1,必须由 AI 读卡判断相关性(判据:内容含义 的落差结构是否与本节点同构)
复用场景匹配 语义比对,不做字段过滤 复用场景 值形如「剧情赛道·职场喜剧·开场『前厅后厨对峙』段」,用于复筛加权

A-3 转译规则(防抄袭 / 防硬编码,P0):

卡片是别人账号的具体内容(周小闹、癫婆、良田…),直接搬用 = 抄袭且违反关键规则六。

可迁移(取材) 禁止搬用(不取形)
内容含义 的落差结构(期待 A → 打破 X → 结果 B) 具体人物、身份、关系
创作手法 的手法类别 + 铺垫量级(短≤3s / 中3-10s / 长>10s) 原账号台词、金句
镜头语言 的机位与剪辑逻辑 原场景的具名道具 / 招牌
适用场景 的段落功能(开场/中段/结尾) 原账号机制与专属符号

转译产物必须换成本账号的具象锚点(人设卡身份 + 本赛道物品),写入大纲时不留原卡痕迹。

2.2 接入点 B(P1):S9 台词毛边

现状:S9 输入清单(9_生成短视频脚本.md 第 9-15 行)只列了 S4/S6/S7/S8 输出,拿不到素材卡。而卡片 极致内容 字段被硬规则要求「含 ≥1 处真实毛边:原话 / 无修饰微反应 / 意外」——这正是治 S9「台词概括化」(禁止行为原文:"不得用概要式对话替代完整台词")的现成范式。

设计:S9 输入增补可选项 {material_cards}(默认沿用 S7 已注入的卡),在台词具象化时提供三档参考:

  • 用原话替代书面语("后厨是人,也不是机器");
  • 用无修饰微反应替代心理描写(那只一直没停过的手);
  • 用意外打断预期节奏(瓶子砸在不锈钢台面上的闷响)。

三招都只借"范式",不借句子——与 A-3 同一红线。

2.3 接入点 C(P1):S11 爆点溯源

S11 现有「爆点贯穿」检查(开头 + 至少 1 次中后段)可升级为可核查:

检查项 判据 不通过判定
L1 节点是否有机制来源 每个极致触点能指到「一条卡 / 类型层子类 / 8 库条目」 无来源 → 编造爆点,列 P1
落差三件套是否写得出 [期待A]—被X打破→[结果B] 写不出 → 该节点降级为普通情节,不计入 L1 密度
是否照搬原卡 具名人物/台词/道具与本账号人设比对 命中 → P0 抄袭/硬编码

2.4 触发条件与三态适配

模式 检索行为 落盘
⚡ 自动(默认) 静默执行 A/B/C,只把转译结果体现在大纲与脚本里;不展示卡片原文 不落盘
🤝 共创 Gate-4 时附「爆点机制来源」小表(节点 / 机制 / 来源卡),供用户判断 不落盘
🛠️ 开发 落盘 07_素材检索记录.md(问法 / 命中卡 / 复筛理由 / 转译结果) 全落盘

触发门槛:仅当 L1 极致触点存在(每 15-20 秒 ≥1,S7 布位表必然产出)时触发;纯信息陈述型内容(无 L1 节点)跳过。

2.5 降级路径(必须,P0)

WeKnora 是开发机本地 Docker 服务(127.0.0.1:31607),用户环境不存在;技能经软链分发到用户环境后不能硬依赖。

情形 行为
服务不可用(连不上 / 非 200) 静默回退到现行 8 库 md 四维筛条 + 类型映射表;创作流程不中断、不报错
检索零命中 退化为「仅用类型层子类」指引(05_极致事件 既有文件);不编造素材
库为空 / 未配置 视为未启用,全流程与原行为一致

设计定位:WeKnora 是"可选增强层",不是硬依赖。这与 SKILL.md「MCP 降级不影响核心创作流程(S1-S11)」的既有原则一致。

2.6 注入格式:把 {material_content} 定死

现行 {material_content} 只是一个未定义的空变量。建议定义为:

【素材内容 · 来源:极致事件机制检索】
(如未能启用检索,此段留空并按素材库 8 库筛条填充)

■ 节点① 开场钩子(0-3s)|钩子型|机制来源:{卡编号 或 类型层子类}
  · 落差结构:[期待A] —被X打破→ [结果B]
  · 手法与铺垫量级:{手法类别} + 铺垫 短/中/长
  · 拍摄参考:{镜头语言} | {画面风格}
  · 本账号转译:{换成本账号的人/物/场景后的桥段}

⚠️ 注入格式里不出现原卡的人物名与台词——转译在 A-3 完成,注入的是转译结果,避免污染下游(S9/S10/S11)与产出文件。


三、缺口清单(待授权后执行,逐条改动)

# 文件 改动 优先级
1 references/知识库/05_极致事件/04_检索调用规范.md(新建) 定义「编排层」= 检索调用契约:触发条件 / 镜像式五要素问法模板 / 参数(threshold 0.5、top5)/ 复筛判据 / 转译规则 / 降级 / 注入格式 P0
2 references/创作流程/7_生成短视频大纲.md 第二步前插入「极致触点素材检索」子步骤;{material_content} 换成 2.6 结构;深度自检增「极致触点机制自检」(落差三件套) P0
3 SKILL.md S7 小节 「按知识库/05_极致事件 指引调取素材」补一句:检索链=类型层 →(映射表)→ 检索调用规范 → 素材库(现缺中间环节) P0
4 references/创作流程/9_生成短视频脚本.md 输入增补可选项 {material_cards};处理规则补「台词毛边三档参考」 P1
5 references/创作流程/11_脚本检查和诊断.md 「爆点贯穿」检查升级为爆点溯源三判据(含抄袭 P0) P1
6 references/索引_知识素材库.md 05_极致事件 段补第 11 个文件(检索调用规范) P1
7 references-add/变更日志.md 记录本次变更 P1
8 不入技能包 检索脚本(faq/search 客户端)含服务地址与 Key,只能留在 tools/weknora-ingest/(开发机项目侧),技能内只写调用契约与降级规则 P0

⚠️ 红线提醒:技能内一切文件引用必须用相对路径;WeKnora 的 127.0.0.1:31607 与 API Key 不得写入技能正文(属环境配置,放 tools/)。旧版手册里的裸 Key 需在后续整理时收敛。


四、数据侧待办(不阻塞接入,但影响召回质量)

# 事项 现象(实测) 建议
1 15 条「泛化磁铁卡」挤占召回 标准问统一为「找一条 X 的极致事件素材」,与任何 query 都近,频繁占 top1 改造其标准问为具象绑定式(补赛道/物件/桥段),或降权移至末尾
2 近 300 行里 6 条卡的 事件标签 字段混入自检备注 值形如 反差⚠️单值(低于「≥2值」新自检下限,保留实测原判) 清理为纯标签值 + 备注移至卡外
3 赛道覆盖偏斜 剧情 186/240(77.5%);亲子仅 3 条;沉浸类标签 0 条 队列 2202 条按点赞降序,后续批次优先补非剧情赛道(亲子/美食/知识/生活vlog)
4 「感官沉浸 / 氛围沉浸」覆盖为零 治愈/慢生活/ASMR 类内容检索为空 属 8 库标签,WeKnora 侧需专门批次补齐
5 检索无「批量」能力 FAQ 库无 CustomMetadata 过滤、纯向量召回 长视频多节点需求 → 逐节点单次检索(每次 ≤5 条),可接受

五、风险与边界

风险 等级 缓解
照搬他人账号桥段(抄袭 / 硬编码) P0 A-3 转译表 + S11 溯源判据第 3 条
检索层成为硬依赖导致用户环境报错 P0 §2.5 静默降级;脚本不入技能包
泛化磁铁卡污染注入内容 P1 top5 复筛留 ≤2 + §四·1 改造
跨赛道召回分数低(0.50-0.61)被误当"无素材" P1 阈值锁定 0.5;复筛判据看 内容含义 结构而不看分数
接入后大纲变"卡片拼贴"、失去账号一致性 P1 转译必须回填人设卡锚点;S11 人设稳定性校验既有项覆盖

附:与既有资产的关系(不重复造)

资产 分工 本方案动作
知识库 05_极致事件/00-03 类型层(是什么极致)→ 定库 不改,仅在其后串接检索环节
01_极致类型-素材标签映射表.md 类型 ↔ 标签的桥 不改,作为问法②要素的来源
素材库 8 库 载体层(拍什么) 不改,作为降级路径与补充填充源
tools/weknora-ingest/* 机制层(凭什么留人) 仅新增"检索调用"消费端;生产端 RUNBOOK 不动