# 极致事件素材切换 WeKnora + 方法驱动 · 方案 V1.1 > 日期:2026-09-24 | 类型:分析方案(**未改动任何技能文件**,待授权后执行) > 取代 V1.0。相对 V1.0 的三处修正见 V1.0 顶部标注。 > 范围:`project/短视频脚本创作/V1.0/`(技能口径源)+ `tools/weknora-ingest/`(检索运行时) --- ## 〇、结论先行 **一句话**:不是"给创作流程加一个检索步骤"(V1.0 的错误),而是**把素材的载体从本地 md 文件切换到 WeKnora 容器**,同时把驱动关系从"素材驱动"改为"方法驱动"。 | # | 结论 | 依据 | |:--:|:--|:--| | 1 | **本地 md 素材库名存实亡,可切换性极高** | 实测:7 个通用库中 **6 个是空壳**,唯一有实素材的 01 美食库 **仅 21 条**;而 WeKnora 已有 **240 条**真实素材 | | 2 | 切换的是**素材本体与调用方式**,不是规格 | 分块定义/模板/标签闭集属"必须遵守的规则"→ **留文件**;素材条目属"要被翻出来看的"→ **进 WeKnora** | | 3 | 切换有**代价**:四维标签筛条失效 | WeKnora FAQ **纯向量召回、`CustomMetadata` 不参与过滤**(实测)→ 字段精确筛选降级为语义召回 | | 4 | md 素材文件**不能删**(硬约束) | WeKnora 是**开发机本地 Docker**,用户环境没有 → 无 md 则用户环境**零素材**。md = 权威源 + 降级源,WeKnora = 检索副本 | | 5 | 方法层接线是**另一半**,不能只做切换 | `05_极致事件/` 的 6 个方法文件在创作流程中 **0 调用** → 只切换素材则仍是素材驱动 | --- ## 一、事实基线(2026-09-24 实测) ### 1.1 本地素材库的真实存量 | 库 | 文件数 | 真实素材条目 | 状态 | |:--|:--:|:--:|:--| | 01 美食库(中式家常菜/仪式感美食/深夜宵夜/煲汤类) | 4 | **21** | ✅ 唯一有实素材 | | 03 生活仪式库 | 1 | **0** | ❌ 只有 `## 字段结构` + `` + 「最低要求:每个账号 ≥ 10 个」 | | 05 装修布局库 | 1 | **0** | ❌ 同构空壳 | | 06 生活服务库 | 1 | **0** | ❌ 同构空壳 | | 07 穿搭库 | 1 | **0** | ❌ 同构空壳(「最低要求:每个账号 ≥ 15 套」) | | 08 妆容库 | 1 | **0** | ❌ 同构空壳 | | 11 造型库 | 1 | **0** | ❌ 同构空壳 | | 04 对话库 | 0(标准库仅分块定义) | **0** | 账号专属,实体存账号产出目录 | | **合计** | 10 文件 / 546 行 | **21 条** | 7 库中 6 库为空壳 | > ⚠️ **连带问题**:`references/索引_知识素材库.md` 对 03/05/06/07/08/11 的描述("安睡/做饭/按摩选型"「穿搭方案选型」「妆容方案选型」等)**承诺了不存在的内容**——索引把"字段结构模板"写成了"素材库"。切换时须一并修正。 ### 1.2 WeKnora 侧存量 | 项 | 值 | |:--|:--| | 容器 | `MCN极致事件素材库`(FAQ 型,`e6772e41-…`,`127.0.0.1:31607`) | | 条目 | **240 条**(全部为 `### ` 开头的极致事件卡,无杂质条目) | | 标签分布 | 反差 70 / 反常识 62 / 价值观冲击 47 / 视觉冲击 22 / 自嘲反差 18 / 细节专业 13 / 预见式服务 3 / 品质对比 2 / 难度极限 2 / 食材极致 1 | | 赛道分布 | 剧情 **186(77.5%)** / 生活vlog 38 / 旅行 6 / 小剧场 3 / 亲子 3 / 明星娱乐 3 / 搞笑短剧 1 | | 覆盖缺口 | **感官沉浸 / 氛围沉浸 = 0 条**(治愈/慢生活向检索为空) | | 已污染项 | 15 条「泛化磁铁卡」(标准问统一为"找一条 X 的极致事件素材",与任何意图都近,挤占 top1);6 条卡 `事件标签` 字段混入自检备注 | | 检索实测 | 10 组跨赛道意图,命中 9/10,分数窄带 **0.50–0.61**;**纯抽象 query 零命中**,带具象动作的 query 最高(0.6058) | --- ## 二、三层关系(流程 / 方法 / 素材) | 层 | 回答 | 内容 | 归属形态 | 流程落点 | |:--|:--|:--|:--|:--| | **方法层** | 怎么制造极致感 | 预期反转 / 荒诞化 / 抽象化 / 无厘头 / 错位化 / 极致行为创作法 | 文件(规则类) | S7 布位 —— **当前 0 调用** | | 判定层 | 这是什么极致 | 00 总纲 / 01 映射表 / 02 赛道形态 / 03 评估标准 | 文件(规则类) | S6 · S7(已在) | | **素材层** | **用什么材料** | 载体类 + 事件类 | **WeKnora(本体)+ md(源与降级)** | S7 素材调用 | | 流程层 | 谁在何时调用 | S1–S11 | 文件 | —— | **调用方向:方法 → 判定 → 素材**(上游决定下游,素材不被上游牵着走)。 ### 2.1 「极致事件」一词两义(必须切开) | 说法 | 归属 | 是什么 | |:--|:--|:--| | 知识库 `05_极致事件/` | **方法层 + 判定层** | 关于极致事件的**知识**,**不是素材**(该目录内无一条素材) | | 极致事件**卡**(240 条) | **素材层 · 事件类** | 极致事件这种**材料**本身,**不是方法** | ### 2.2 素材层内部两类(用法不同,不可混同) | | 载体类 | 事件类(极致事件卡) | |:--|:--|:--| | 粒度 | 可拍摄的**物料**(菜品、仪式、穿搭、对话) | 可拍摄的**事件结构**(期待→打破闭环 + 落差 + 铺垫量级) | | 存量 | 21 条(仅美食库) | 240 条 | | 用法 | **直接取用**(换成本账号具名物品) | **结构参照 + 转译**(属他人账号事件,禁直取) | --- ## 三、切换设计 ### 3.1 切换范围(什么切、什么留) | 资产 | 处置 | 理由 | |:--|:--|:--| | `素材库/分块定义/`(00 通用维度、00 模板、各库分块定义) | ✅ **留文件** | 规格/规则,必须遵守 → 按既有原则「规则类文本不进检索层」 | | `01_美食库_*.md` 4 文件(21 条) | → **切 WeKnora**,md 降级为源 | 素材本体 | | `03/05/06/07/08/11_*.md` 6 个空壳 | **字段结构并入分块定义**,原文件退役 | 无素材可切;字段结构是规格不是素材 | | `04 对话库`(账号专属) | ⚠️ **待裁决** | FAQ 无 metadata 过滤 → 多账号共用容器会**串号**(见 3.4) | | 极致事件卡 240 条 | 已在 WeKnora,无需迁移 | —— | | `索引_知识素材库.md` | **改** | 现描述与实体不符(见 §1.1 连带问题) | ### 3.2 切换的能力置换(必须接受) | 维度 | 切换前(md + 四维筛条) | 切换后(WeKnora + 语义检索) | |:--|:--|:--| | 素材量 | 21 条(实) | 240 条 + 增量 | | 检索方式 | **字段精确筛**(极致标签/适用场景/镜头语言/画面风格) | **语义召回**(FAQ 纯向量) | | 标签作用 | 筛选字段(可组合过滤) | 退化为**正文内容**,靠语义命中 | | 精度 | 高但只在 21 条内 | 中(需复筛),靠问法质量决定 | | 阈值 | 不适用 | **必须显式 0.5**(默认 0.7 硬编码,口语问法召不回) | | 覆盖 | 仅美食 1 库有效 | 按赛道覆盖(当前剧情偏斜 77.5%) | | 不可用时的保底 | —— | 回退读 md 源文件(见 3.5) | > **能力置换的净收益**:用"失去字段精确筛选"换"素材从 21 条 → 240 条 + 语义召回"。这是**正确的交易**——21 条素材即使筛得再准,也支撑不了多赛道创作。 ### 3.3 前置成本(切换前必须完成) | # | 事项 | 量 | |:--:|:--|:--| | 1 | 为每条素材配「标准问 + 相似问」(FAQ 召回**唯一杠杆**) | 21 条 × 5-6 问法 = **约 120 条问法**,可复用卡片 spec 机制(`2_import_batch.py`) | | 2 | 清理 15 条泛化磁铁卡的标准问(改为具象绑定式) | 15 条 | | 3 | 清理 6 条卡 `事件标签` 字段混入的自检备注 | 6 条 | | 4 | 补按赛道缺失的素材(亲子仅 3 条、沉浸类 0 条) | 后续批次优先排非剧情赛道 | ### 3.4 账号隔离边界(切换的硬边界) FAQ 容器**只支持单标签、`CustomMetadata` 不参与过滤**(实测)→ **无法做账号级隔离**。 | 素材类型 | 能否进共享容器 | 结论 | |:--|:--:|:--| | 跨账号通用素材(菜品/仪式/事件的通用形态) | ✅ | 进共享容器 | | **账号专属素材**(04 对话库、专属符号/口头禅) | ❌ | 多账号会串号 → **单独容器** 或 **仍留文件按账号存** | > 04 对话库现状本就是"账号专属,实体存账号产出目录",与 FAQ 无账号隔离能力**天然冲突** → 建议该项**不切换**,保持文件形态。 ### 3.5 检索调用契约 **① 触发**:S7「极致触点节点布位」定完节点后,对每个 L1 节点检索。 **② 问法 —— 镜像式五要素**(与库内标准问语域同构): ``` 「找一条 {①落差对象} {②打破方式} {③具象锚点} 的 {④段落功能} 型事件素材」 ``` | 要素 | 来源 | |:--:|:--| | ① 落差对象 | 布位表节点 + S6 场次事件 | | ② 打破方式 | **方法层**(预期反转·道具误导 / 错位化 / 冲突叙事套路…)+ 判定层类型 | | ③ 具象锚点 | **必须有**,取自本账号赛道与人设 | | ④ 段落功能 | 钩子型 / 留人型 / 转粉型 / 传播型 | **三条禁忌**(实测支撑): - ❌ 禁用纯抽象机制词("制造反差""引起共鸣")→ **零命中**; - ❌ 禁用赛道词当主检索词(库内 77.5% 为剧情赛道,用"亲子/美妆"检索只会落到极少数条且分数低); - ❌ 不用 `CustomMetadata` 过滤(不参与过滤)+ 不依赖关键词(纯向量)。 **③ 参数与复筛**: | 项 | 值 | 理由 | |:--|:--|:--| | `vector_threshold` | **0.5**(显式) | 跨赛道实测分数仅 0.50–0.61,提到 0.6 会大面积漏召 | | `match_count` | **5** | 留复筛空间 | | 复筛后保留 | **≤2 条/节点** | 泛化磁铁卡会挤占 top1,须由 AI 读 `内容含义` 判同构性 | | 载体类素材 | 同容器内一并召回 | 两类语域不同("找一道菜" vs "找一个事件"),混召回风险可控 | **④ 降级(P0)**: | 情形 | 行为 | |:--|:--| | WeKnora 不可用(用户环境无此服务 / 容器未启动) | **静默回退读 md 源文件**(`素材库/*.md` 保留为权威源)→ 按原四维标签筛条;流程不中断、不报错 | | 检索零命中 | 退化为「仅用判定层类型子类」指引;**不编造素材** | | 库为空 / 未配置 | 视为未启用,全流程与原行为一致 | ### 3.6 转译红线(P0,切换后更需强调) 卡片与素材来自**他人账号**,直接搬用 = 抄袭且违反关键规则六。 | 可迁移(取材) | 禁止搬用(不取形) | |:--|:--| | 落差结构(期待 A → 打破 X → 结果 B) | 具体人物、身份、关系 | | 手法类别 + 铺垫量级(短≤3s / 中3-10s / 长>10s) | 原账号台词、金句 | | 镜头与剪辑逻辑 | 原场景具名道具 / 招牌 | | 段落功能(开场/中段/结尾) | 原账号机制与专属符号 | ### 3.7 方法层接线(另一半,不做则切换无意义) **落点**:S7「极致触点节点布位」表**新增一列「候选创作方法」**(不新增步骤): | 布位类型 | 优先极致类型(现有) | 候选创作方法(新增) | |:--|:--|:--| | 钩子型(前3秒) | 极致行为、感官极致 | 极致行为四分类(感官刺激/身份反差/强度拉满/专属符号) | | 留人型(5-15秒) | 戏剧极致(反转/冲突) | 预期反转四大误导载体 / 冲突叙事套路(摩擦类型×人设对齐) | | 转粉型(结尾前3秒) | 戏剧极致(共鸣/错位/克制) | 克制 / 荒诞化 / 抽象化 | | 传播型(任意) | 极致行为(专属符号) | 无厘头 / 专属符号型 | 配套:6 个方法文件各补一行「**素材供给**:本方法需用的极致标签 X / 到 Y 库取 Z」;240 条卡补「**方法归属**」字段(预期反转/错位化/荒诞化/抽象化/无厘头/极致行为四分类)→ 「按方法取素材」才有直接索引。 --- ## 四、需要改动的文件清单(待授权) | # | 文件 | 改动 | 优先级 | |:--:|:--|:--|:--:| | 1 | `references/知识库/05_极致事件/04_检索调用规范.md`(**新建**) | 定义调用契约:触发 / 镜像问法 / 参数 / 复筛 / 转译 / 降级 / 注入格式 | **P0** | | 2 | `references/创作流程/7_生成短视频大纲.md` | ①「素材库」定义改为**双层源**(WeKnora 检索 + md 源降级);② 布位表加「候选创作方法」列;③ `{material_content}` 定死结构;④ 增「极致触点机制自检」(落差三件套) | **P0** | | 3 | `SKILL.md` S7 小节 | 调用链补中间环节(类型层 → 映射表 → 检索规范 → 素材) | **P0** | | 4 | `references/索引_知识素材库.md` | ① 修正 03/05/06/07/08/11 的"素材库"定性(实为字段结构模板);② 补检索调用规范条目 | **P0** | | 5 | `references/素材库/03/05/06/07/08/11_*.md`(6 个空壳) | 字段结构并入 `分块定义/`,原文件退役 | P1 | | 6 | `references/创作流程/9_生成短视频脚本.md` | 输入增补 `{material_cards}`;补「台词毛边三档参考」 | P1 | | 7 | `references/创作流程/11_脚本检查和诊断.md` | 「爆点贯穿」升级为爆点溯源三判据 | P1 | | 8 | 6 个方法文件 | 各补「素材供给」行 | P1 | | 9 | `references-add/变更日志.md` | 记录本次变更 | P1 | | 10 | **不入技能包** | 检索脚本(含 `127.0.0.1:31607` 与 API Key)只留 `tools/weknora-ingest/` | **P0** | --- ## 五、风险 | 风险 | 等级 | 缓解 | |:--|:--:|:--| | 用户环境无 WeKnora → 素材全失 | **P0** | md 源文件**不删**,作为权威源 + 静默降级路径 | | 照搬他人账号桥段(抄袭 / 硬编码) | **P0** | §3.6 转译表 + S11 溯源判据 | | 把"切换"误解为"删除本地素材" | **P0** | 本方案 §3.1 / §五 明示 | | 失去四维筛条后精度下降 | P1 | 镜像问法 + top5 复筛 ≤2 + 阈值锁 0.5 | | 账号专属素材串号 | P1 | §3.4:04 对话库**不切换**,保持文件形态 | | 索引与实体继续不符 | P1 | §四·4 一并修正 | | 素材规模仍不足支撑多赛道(亲子 3 条 / 沉浸 0 条) | P1 | 后续批次优先排非剧情赛道;零命中走降级不编造 | --- ## 六、待办顺序(授权后) 1. 补 21 条载体素材的问答对 → 导入 WeKnora(与卡同容器) 2. 清理 15 条泛化磁铁卡 + 6 条标签污染 3. 按 §四 清单改技能文件(逐条读→改→验) 4. 卡片补「方法归属」字段(小样本试点 → 批量回填) 5. 变更同步 `references-add/变更日志.md` + 失误记录(如有)