From 5631c26406b39028bf4c180ee761816df5951c33 Mon Sep 17 00:00:00 2001 From: maogeigei Date: Thu, 24 Sep 2026 14:47:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(skill):=20=E7=B4=A0=E6=9D=90=E5=B1=82?= =?UTF-8?q?=E5=88=87=E6=8D=A2=20WeKnora=20+=20=E6=96=B9=E6=B3=95=E5=B1=82?= =?UTF-8?q?=E6=8E=A5=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 定性:素材载体切换(本地 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 文档;变更日志归档 --- .workbuddy/memory/2026-09-24.md | 159 ++++++++++ project/短视频脚本创作/V1.0/SKILL.md | 20 +- .../V1.0/references-add/变更日志.md | 77 +++++ .../references/创作流程/11_脚本检查和诊断.md | 38 ++- .../references/创作流程/7_生成短视频大纲.md | 111 +++++-- .../references/创作流程/9_生成短视频脚本.md | 21 +- .../接口调用/WeKnora_极致事件检索.md | 150 ++++++++++ ...系(星爷 + 沈腾喜剧手法)_通用_内容设计.md | 5 + ...作体系(卓别林喜剧手法)_通用_内容设计.md | 5 + .../极致行为创作法_通用_内容设计.md | 12 + ...创作体系(沈腾喜剧手法)_通用_内容设计.md | 5 + ...系(本山 + 憨豆喜剧手法)_通用_内容设计.md | 5 + ...创作体系(星爷喜剧手法)_通用_冲突设计.md | 6 + .../脚本质量自动检查清单_八类35项.md | 8 +- .../V1.0/references/索引_知识素材库.md | 66 ++-- 技能接入WeKnora实施规范_V1.0_20260924.md | 245 +++++++++++++++ ...件卡片_WeKnora适配性评估_V1.0_20260923.md | 180 +++++++++++ ...材库_WeKnora容器交付说明_V1.0_20260923.md | 146 +++++++++ 极致事件素材接入创作流程方案_V1.0_20260924.md | 281 ++++++++++++++++++ 极致事件素材接入创作流程方案_V1.1_20260924.md | 232 +++++++++++++++ 20 files changed, 1703 insertions(+), 69 deletions(-) create mode 100644 .workbuddy/memory/2026-09-24.md create mode 100644 project/短视频脚本创作/V1.0/references/接口调用/WeKnora_极致事件检索.md create mode 100644 技能接入WeKnora实施规范_V1.0_20260924.md create mode 100644 极致事件卡片_WeKnora适配性评估_V1.0_20260923.md create mode 100644 极致事件素材库_WeKnora容器交付说明_V1.0_20260923.md create mode 100644 极致事件素材接入创作流程方案_V1.0_20260924.md create mode 100644 极致事件素材接入创作流程方案_V1.1_20260924.md diff --git a/.workbuddy/memory/2026-09-24.md b/.workbuddy/memory/2026-09-24.md new file mode 100644 index 0000000..f7ee5d3 --- /dev/null +++ b/.workbuddy/memory/2026-09-24.md @@ -0,0 +1,159 @@ +# 2026-09-24 工作日志 + +## 00:0x · 极致事件卡片批量生产 · 批次 4(无人值守自动任务) +- 处理 `21819 / 33425 / 21779 / 30078 / 20367` → 出卡 15,导入 WeKnora FAQ 库 `MCN极致事件素材库` 15/15,检索终验 15/15(threshold 0.5,score 0.73–0.82),库内 **75 条**。 +- 产物:`tools/weknora-ingest/batches/batch_0004.md` + `batch_0004.spec.json`。 +- 踩坑(已治本写入 RUNBOOK):spec 的 `card` 与 md 的 `### ` 标题需逐字一致,导入脚本只报「对不上」不报差异位置 → 导入前用 3 行 Python 比对两边标题。 +- 状态:完成 22 | 剩余 2180 / 2202;已建第 5 批单次任务(2026-09-24T00:15)。 + +## 00:2x · 极致事件卡片批量生产 · 批次 5(无人值守自动任务) +- 处理 `21730 / 24840 / 21727 / 28330 / 34790` → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.75–0.85),库内 **90 条**。 +- 产物:`tools/weknora-ingest/batches/batch_0005.md` + `batch_0005.spec.json`。 +- 做法沉淀(已写入 RUNBOOK「批次 5 经验」):4/5 仍是周小闹系列 → **同系列内给每条视频的 3 张卡各配不同主标签**(本批主标签 = 反差5/反常识4/视觉冲击2/自嘲反差2/价值观冲击1/预见式服务1/细节专业1),避免批内互抢召回;25s 极短视频按独立闭环同样拆 3 卡。 +- 状态:完成 27 | 剩余 2175 / 2202;已建第 6 批单次任务(2026-09-24T00:28)。 + +## 00:34 · 极致事件卡片批量生产 · 批次 6(无人值守自动任务) +- 处理 `18909 / 28311 / 36728 / 24841 / 30153` → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.73–0.84),库内 **105 条**,无新建标签。 +- 产物:`tools/weknora-ingest/batches/batch_0006.md` + `batch_0006.spec.json`;RUNBOOK 已追加批次 6 记录与经验。 +- 做法沉淀:278s 长视频拆 3 卡取「开场装杯被打脸 / 中段数量奇观 / 结尾信物升华」,软广段与派餐段宁弃;「自嘲反差」主标签判据再验证 = 先高调立 flag 再自己拆台。写 spec 前的比对脚本一次通过。 +- 状态:完成 32 | 剩余 2170 / 2202;已建第 7 批单次任务(2026-09-24T00:39,id `f353aa08-…`)。 + +## 00:4x · 极致事件卡片批量生产 · 批次 7(无人值守自动任务) +- 处理 `30101 / 31774 / 17404 / 17468 / 28294` → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.75–0.85),库内 **120 条**,无新建标签。 +- 产物:`tools/weknora-ingest/batches/batch_0007.md` + `batch_0007.spec.json`;RUNBOOK 已追加批次 7 记录与经验。 +- ⚠️ **踩坑(已治本写入 RUNBOOK 步骤 5 红线)**:`2_import_batch.py` 用非贪婪正则按 ` ```text ` 围栏解析卡片,**15 张卡写进同一个围栏只会被识别成 1 张** → 报「卡片 1 张」+ 14 条 spec 对不上。正确写法 = 每张卡独占一个围栏。导入前自检:`len(re.findall(r'```text\n(### [^\n]+\n.*?)\n```', src, re.S))` 应等于卡数。 +- 标签判据补充:「细节专业」= 专业条款被拆成递进问答、一轮顶回一个理由;「预见式服务」= 预判对方的难堪并提前把台阶铺好(与品质对比无关)。 +- 状态:完成 37 | 剩余 2165 / 2202;已建第 8 批单次任务(2026-09-24T00:52,id `5bc97c8c-…`)。 + +## 01:0x · 极致事件卡片批量生产 · 批次 8(无人值守自动任务) +- 处理 `26518 / 33453 / 24498 / 26497 / 36468` → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.69–0.79),库内 **135 条**,无新建标签。 +- 产物:`tools/weknora-ingest/batches/batch_0008.md` + `batch_0008.spec.json`;RUNBOOK 已追加批次 8 记录与经验。 +- 本批首次混入非周小闹素材:`24498` 周大爷不服老(186s 硬核健身 vlog,全片首个生活 vlog 卡)、`36468` 癫婆(50s 军训段子)。 +- 做法沉淀:① 围栏自检 + 标题比对两个自检**合并为固定前置步骤**,本批一次通过;② 主标签打散 = 反差4/反常识3/视觉冲击3/价值观冲击2/品质对比1/细节专业1/自嘲反差1;③「品质对比」= 品质标准被资历/利润公然替换;④「细节专业」= 一轮搜证顶回一个理由形成闭环;⑤ 50s 短段子拆 3 卡可行,前提三卡的期待-打破落在不同对象上;⑥ 生活 vlog 用 `行为极致·{离谱/反差/整蛊}`,剧情用 `戏剧极致·{反转/冲突/冲击/荒诞/专业}`。 +- 状态:完成 42 | 剩余 2160 / 2202;已建第 9 批单次任务(2026-09-24T01:05,id `65cbe8c2-…`)。 + +## 01:1x · 极致事件卡片批量生产 · 批次 9(无人值守自动任务) +- 处理 `24856 / 21778 / 24792 / 37368 / 20343` → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.68–0.82),库内 **150 条**,无新建标签。 +- 产物:`tools/weknora-ingest/batches/batch_0009.md` + `batch_0009.spec.json`;RUNBOOK 已追加批次 9 记录与经验。 +- 本批首个校园暗访爽剧素材:`37368` 脱缰凯(272s 校长微服私访查饭卡乱扣费),`极致类型` 仍走 `戏剧极致·{反转/荒诞}`。 +- 做法沉淀:① **spec 改用临时 py 按 md 顺序生成**(自建卡片顺序表 + 标签/标准问/相似问/反例问),从根上消灭「md ### vs spec.card」不一致,配合围栏自检一次通过;② 主标签打散 = 反常识4/反差4/视觉冲击2/价值观冲击2/细节专业2/自嘲反差1;③「细节专业」补层 = 物证点破(敲盒底日期 / 举硬盘)+ 极快语速链条推理,缺物证不成立;④ 272s 长视频仍只拆 3 卡,结尾猎奇彩蛋(地窖啃烂土豆)宁弃不为之单开卡。 +- 状态:完成 47 | 剩余 2155 / 2202;已建第 10 批单次任务(2026-09-24T01:21,id `d9abd8a9-…`)。 + +## 00:3x · MEMORY.md 精简重写(25973 → 11339 字符) +- 注入时超限被截断 → 按「索引 + 红线 + 踩坑」原则重写:WeKnora 详细参数、采集脚本细节等已固化在 `tools/weknora-ingest/RUNBOOK.md` 与技能文件,此处只留指针;保留工具链坑、创作红线、子技能要点。 + +## 01:2x–01:3x · 极致事件卡片批量生产 · 批次 10(5 视频 → 15 卡) +- 视频:31775 菜难吃 / 35110 外卖堂食不一样 / 18973 赠菜要好评 / 23334 俩人坐包房(均周小闹)+ 20270 时间的终点(至尊旭 科幻悬疑 616s,本流水线首个科幻题材)。 +- 产出:batches/batch_0010.md + .spec.json;导入 WeKnora FAQ 库 15/15,终验 15/15 ✅(score 0.79–0.87,历批最高),库内 150 → 165 条;无新建标签。 +- 主标签打散:反常识 4 / 价值观冲击 3 / 反差 3 / 细节专业 2 / 视觉冲击 1 / 自嘲反差 1。 +- 自检一次通过:fences=15;md `###` 行 vs spec.card mismatch 空集(沿用批次 9 的「临时 py 按 md 顺序生成 spec」,用完即删)。 +- ⚠️ 新踩坑(已写进 RUNBOOK 红线 3):正式导入返回 `success_count=11` 但库内实际 +15 且终验全 ✅ —— completed 时 success_count 尚未累加完,**判定必须看「库内增量 + 检索终验」,不能看 SUMMARY**。 +- 新增经验(已入 RUNBOOK):616s 超长视频仍只拆 3 卡(开场悖论 / 中段物证击穿 / 结尾闭环焊死),中间走马灯奇观整段弃;「细节专业」第三层判据 = 一个具体到位置的物证("你上一口袋的安神片")瞬间击穿专业方。 +- 进度:完成 52 | 剩余 2150 / 2202(cursor=51);已建第 11 批单次任务 2026-09-24T01:40(id `bcc1c2ac-…`)。 + +## 01:52 极致事件卡片批量生产 · 批次 11(自动化) +- 处理 5 条:`26549`(李炮儿 258s 挑战一天五份工,生活vlog·职业挑战)、`20359`(周小闹 包房丢东西)、`27956`(三虎子gy 52s「女子本身就是好字」,亲子萌娃)、`30169`(周小闹 假好评,大女主商战线)、`28273`(周小闹 后厨忘记做菜,老板权谋线)。 +- 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.67–0.82);库内 **165 → 180**;进度完成 57 | 剩余 2145(cursor=56)。 +- 产物:`tools/weknora-ingest/batches/batch_0011.md` + `.spec.json`。 +- 主标签打散为 反差 4 / 反常识 4 / 价值观冲击 4 / 自嘲反差 1 / 视觉冲击 1 / 细节专业 1,无新建标签。 +- 新方法沉淀(已写回 RUNBOOK「批次 11 经验」):① 临时 py 生成 spec 第 3 次一次通过(fences=15、mismatch 空集);② 52s 纯对话型亲子 vlog 也能拆 3 卡(开场反差转述 / 中段金句反驳 / 结尾挖坑反杀),判据是三卡「期待-打破」落在不同对象;③「细节专业」第四层判据 = 把抽象规则门槛换算成具体数字+日常道具(2950 vs 3000 立案线 → 硬塞两个纸巾盒);④「视觉冲击」可用满屏旋转花字+鬼畜复读音效"吞噬"人物表达精神崩溃,不必是实景奇观;⑤ 同一 IP 下不同故事线(暑假工反击 / 大女主商战 / 老板权谋)可同批共存,相似问绑定各自冲突物件与金句即可不互抢。 +- 已建第 12 批单次任务 `fd1c3dc0-e076-43dd-afab-a66ae61c7fa4`,scheduledAt 2026-09-24T01:57(窗口内 +5min)。 + +## 02:10 极致事件卡片 · 批次 12 +- 处理 5 条:`30154`(周小闹 菜品出错,老板权谋线)、`26468`(周小闹 提前排菜,部门内斗线)、`24826`(周小闹 午休开会,暑假工硬刚线)、`24495`(礼君君 187s「女朋友能有多丢人」,**首个情感剧场**)、`17251`(侯绿萝 81s 老钱班,**首个校园荒诞喜剧,本批最短**)。 +- 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.71–0.83);库内 **180 → 195**;进度完成 62 | 剩余 2140(cursor=61)。 +- 产物:`tools/weknora-ingest/batches/batch_0012.md` + `.spec.json`。 +- 主标签打散为 反差 5 / 反常识 4 / 价值观冲击 3 / 自嘲反差 1 / 细节专业 1 / 视觉冲击 1,无新建标签。 +- 新方法沉淀(已写回 RUNBOOK「批次 12 经验」):① 临时 py 生成 spec 第 4 次一次通过(fences=15、mismatch 空集),写法已完全稳定;②「细节专业」**第五层判据(新增)**:不只是物证顶回对方,还包括"专业规范先立到极细(揭盖朝向 12 点钟方向)→ 执行者在同一套动作上当场翻车 → 管理层把事故改写成'必须培训'的论据",规范从保护盾异化为甩锅凭据;③「视觉冲击」可靠"道具直接砸到脸上"的动作量成立(成把钞票物理扇脸 + 塞比脸还大的金元宝)用于 3 秒改尺度;④ 81s 极短校园喜剧同样能拆 3 卡(开篇奇观 / 离谱赠礼 / 反转+彩蛋);⑤ 跨题材混批(餐饮职场 + 情感剧场 + 校园喜剧)实测不互抢召回,相似问绑定各自冲突物件与金句即可。 +- 已建第 13 批单次任务 `3fdaf397-9b2f-4888-bf5e-a28eeace8ef0`,scheduledAt 2026-09-24T02:15(窗口内 +5min)。 + +## 极致事件卡片批量生产 · 批次 13(2026-09-24 02:28) +- 处理 5 条:`28325`(周小闹·托盘/借冰)、`33485`(周小闹·没大米饭了)、`33400`(周小闹·上菜小推车)、`35036`(周小闹·借厕所)、`24870`(脱缰凯·老师年纪小)。 +- 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.73–0.86);库内 **195 → 210**;进度完成 67 | 剩余 2135(cursor=66)。 +- 产物:`tools/weknora-ingest/batches/batch_0013.md` + `.spec.json`。 +- 主标签打散为 反常识 4 / 反差 4 / 价值观冲击 3 / 视觉冲击 2 / 细节专业 1 / 自嘲反差 1,无新建标签。 +- 新方法沉淀(已写回 RUNBOOK「批次 13 经验」):① 临时 py 生成 spec 第 5 次一次通过(fences=15、mismatch 空集);②**「反常识」新增「对称翻车」型**——两难的两个选项各自都翻车(不借被网暴 / 借了被抽烟霸位耗光耗材连爱心卫生巾被薅秃),落点在"这道题本身没有安全解";③**「视觉冲击」可以是"代价被具象化"**——为面子撤推车 → 一地碎瓷 + 跪地 + 2000 元餐损 + 半个月工资;④**「细节专业」第六层**——把不可见的"累"拆成三级可称量(空盘 → 加菜 → 加汤水 20 多斤)再塞进对方手里做体感,"你行你上"被物理化;⑤ 同系列四线 + 一个校园题材混批仍不互抢召回。 +- 已建第 14 批单次任务 `766c89cf-cfb8-4a48-9859-33e0356d9cb1`,scheduledAt 2026-09-24T02:35(窗口内 +5min)。 + +## 02:45 · 极致事件卡片批量生产 · 批次 14 ✅ +- 处理视频:`36712`(穿短裙)、`35106`(弄脏名牌包)、`24854`(不能坐电梯)、`28262`(上交手机)、`28286`(下班来客人)—— 5/5 全周小闹,但五条故事线互不重叠。 +- 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.74–0.84);库内 **210 → 225**;进度完成 72 | 剩余 2130(cursor=71)。 +- 产物:`tools/weknora-ingest/batches/batch_0014.md` + `.spec.json`。 +- 主标签打散为 反常识 4 / 反差 4 / 价值观冲击 4 / 视觉冲击 2 / 自嘲反差 1,无新建标签。 +- 新方法沉淀(已写回 RUNBOOK「批次 14 经验」):① 临时 py 生成 spec 第 6 次一次通过(fences=15、mismatch 空集);②**「反常识」新增「规章自相矛盾」型**——这套规章本身没有安全解(不用传菜梯就洒怕扣钱,用了客梯要躲店长;收了手机连急救电话都接不到),落点在制度悖论;③**「视觉冲击」新增「物理断供」型**——不靠奇观特效,直接切断环境本身(拉总闸 → 全场全黑 → 手机冷光 → 摸黑结账),爽感在"终止键握在最没权力的人手里";④**「价值观冲击」新增「一次裁决内赏压并行」**(罚店长 500 + 免员工 100 + 留人敲打 + "你得跟我一条心呐"一气呵成)。 +- 已建第 15 批单次任务 `7cb57404-bd54-4903-8612-eafedcb5d19e`,scheduledAt 2026-09-24T02:50(窗口内 +5min)。 + +## 09:43 · 极致事件卡片批量生产 · 批次 15 ✅ +- 处理视频:`36742`(后厨偷懒)、`21753`(职场人情味)、`17452`(客人带食材)、`30168`(培训)—— 4/5 周小闹但四条线互不重叠;`33483`(良田 209s 摄影养成)为本技能**首次处理「生活 vlog 情感纪实」形态**。 +- 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.72–0.87,上限 0.8657 为本链最高);库内 **225 → 240**;进度完成 77 | 剩余 2125(cursor=76)。 +- 产物:`tools/weknora-ingest/batches/batch_0015.md` + `.spec.json`。 +- 主标签打散为 反常识 4 / 反差 3 / 价值观冲击 3 / 视觉冲击 2 / 细节专业 2 / 自嘲反差 1,无新建标签。 +- 新方法沉淀(已写回 RUNBOOK「批次 15 经验」):① 临时 py 生成 spec 第 7 次一次通过(fences=15);②**「反常识」新增「正确废话」型**——角色用一句完全正确的话给自己做最离谱的辩护("后厨是人也不是机器"是事实,却用来论证虾线可以不去;"有点人情味"是美德,结果经理替下属端盘子、老客在楼下没人接),落点在"这句话本身没错所以谁都反驳不了";③**「视觉冲击」第三层:代价在镜头前实时发生且不可撤回**(夺回来的茅台已被开了,一句"送给客人了"把两瓶台子变沉没成本);④**「细节专业」第七层:用对方原话当物证**——把对方说过的话连腔调带动作原样复刻("哎呀有啥不行啊,服务至上嘛"),让否认本身变成新笑料,判据=证据即对方的表演痕迹。 +- 已建第 16 批单次任务 `940bb983-4aed-445e-927d-93d225940f10`,scheduledAt 2026-09-24T23:10(执行时 09:43 在窗口外 → 顺延当晚 23:10)。 + +## 12:1x · 方案:极致事件素材接入创作流程(分析,未改技能文件) +- 需求:分析脚本创作流程,如何加入知识库调用、让创作参考恰当极致事件素材、丰富内容层次。 +- **核心诊断**:技能全仓 `grep -i weknora` = **0 命中** → WeKnora 240 条卡是**离线资产**,创作流程零引用;S7 的 `{material_content}` 注入者「编排层」**全仓仅 1 处提及且无定义**(悬空引用)。 +- **内容层次模型(4 层)**:载体层(8 库,拍什么)/结构层(03_框架节奏,怎么排)/**机制层(WeKnora 卡,凭什么留人)← 未接入、最薄**/表达层(08_对话风格,怎么说)。S7 的 L2 密度自检只查"具体度"不查"爆点机制是否成立" → 大纲可以既具体又平。 +- **实测(本次新跑,10 组跨赛道创作意图打 faq/search,threshold 0.5)**: + - 命中 9/10,分数窄带 **0.50–0.61**,天花板低; + - **纯抽象 query 零命中**("一句话让所有人都沉默"→0);**带具象动作的 query 最高分**("被当场刁难的人用专业细节顶回去"→0.6058)→ **问法必须带具象锚点**; + - 发现 **15 条「泛化磁铁卡」**(编号 A1/A2/B1/B2 + 11 条名称式,标准问统一为"找一条 X 的极致事件素材")语义与任何意图都近,频繁挤占 top1; + - **赛道覆盖偏斜**:剧情 186/240(77.5%),亲子仅 3,**「感官沉浸」「氛围沉浸」= 0 条**(治愈/慢生活向检索为空)。 + - 复用发现:卡片 `内容含义` 结构 `[期待A]—被X打破→[结果B]` **可反向当爆点成立性自检器**(无新数据即可用)。 +- **方案三接入点**:A(P0)S7 事件展开前做机制检索,问法用「镜像式五要素」(与库内标准问语域同构:落差对象+打破方式+具象锚点+段落功能);B(P1)S9 台词毛边(原话/微反应/意外三档);C(P1)S11 爆点溯源(无来源=编造爆点,照搬=P0)。 +- **红线**:① 转译必须"取材不取形"(只取落差结构/手法类别/铺垫量级,禁搬人物·台词·道具);② WeKnora 是开发机本地 Docker(用户环境没有)→ **必须静默降级**为 8 库筛条,脚本含 Key/端口**不入技能包**,只进 `tools/`;③ FAQ 纯向量 + `CustomMetadata` 不参与过滤 → 收敛只能靠 query 语义与检索后复筛(top5 复筛留 ≤2);④ 阈值恒显式 0.5(提到 0.6 会大面积漏)。 +- 产物:`极致事件素材接入创作流程方案_V1.0_20260924.md`(仓库根目录)。**未改任何技能文件**,待授权后按缺口清单 8 项执行。 +- 数据侧待办(已记入方案 §四):改造 15 条泛化磁铁卡标准问、清理 6 条卡 `事件标签` 字段混入的自检备注、后续批次优先补非剧情赛道。 + +## 12:2x · 方向修正:极致事件素材接法改为「方法驱动」(用户提出,两轮确认) +- **用户质疑**:「极致事件是否需要根据创作方法去应用,而不是直接加入到创作流程中」→ 判断:**对,上一版方案的接法方向是反的**。上一版把卡库当成 S7 的一个检索子步骤直接插进流程(布位→检索→填充)= **素材驱动**;应改为**方法驱动**(方法定手法 → 判定定类型与布位 → 素材作实例供给)。 +- **证据(本轮新查)**:`知识库/05_极致事件/` 10 个文件实为两类混放——① 规则/索引层(00 总纲、01 映射表、02 赛道形态、03 评估标准)已被 S6/S7 引用;② **方法层 6 个(极致行为创作法 + 预期反转/荒诞化/抽象化/无厘头/错位化)在创作流程中 0 调用**(唯一 1 次出现在 `创作流程规范.md` 第 380 行的目录罗列,属罗列非调用;「极致行为创作法」连文件名都未出现)。对照:**S5 选题有完整方法论清单**(5 大方法 + 明文"AI 执行时须读取对应文件")→ S5 是方法驱动,S6/S7/S9 不是。 +- 上一版实测跨赛道检索分低(0.50–0.61)的**病根是方法缺位**(泛意图在向量空间无收敛点),不是检索参数问题。 +- **三层关系确认(用户本轮再次收口)**:方法层(怎么制造极致感)/ 判定层(这是什么极致)/ **素材层(用什么材料)**;调用方向自上而下。 + - ⭐ **「极致事件素材」= 素材层的事件类**,与 8 库「载体类」**并列**(不是素材库的替代)。用户定性:极致事件素材起的就是素材库的作用。 + - 「极致事件」一词两义必须切开:**作为知识库维度**(`知识库/05_极致事件/`)= 方法 + 判定,**不是素材**;**作为素材**(240 条卡)= 素材层,**不是方法**。 + - 素材层两类**用法/检索方式不同**:载体类 8 库 = **字段筛条**(四维标签),可直接取用(换成本账号具名物品);事件类卡 = **语义检索**(FAQ 纯向量、无字段过滤),只能**结构参照 + 转译**(属别人账号事件,禁直取)。 +- **设计推论(待落地)**:① ❌ 取消「接入点 A = S7 新增检索子步骤」——极致事件素材既属素材层,就**不应有独立接入步骤**;② ✅ 改为**扩展 S7 现有「素材库」定义域**(8 库 → 8 库 + 极致事件卡库),共用同一调用链「类型定库 → 筛条/检索 → 填充」,仅检索方式分叉 → ⚠️ **该"扩容"表述当天 13:0x 被用户纠正为"切换"**(见下节);③ 方法层接线是本需求的**另一半**(不改则素材层扩大后仍是素材驱动)——落点 = S7「极致触点节点布位」表新增「候选创作方法」列(无需新增步骤)。 + +## 13:0x · 定性修正:不是「扩容」,是「切换」(用户纠正)+ 三项事实实测 +- **用户纠正**:「素材库不叫扩容,是叫切换,之前技能中的素材切换到 WeKnora 对应素材库」→ 采纳。定性 = **素材载体切换**(本地 md 素材 → WeKnora 容器),非两库并存。 +- ⭐ **支撑该定性的实测事实(本轮新查,极重要)**: + - `references/素材库/` 共 10 个文件 / 546 行,**真实素材条目合计仅 21 条**; + - **7 个通用库中 6 个是空壳**(`03_生活仪式库`/`05_装修布局库`/`06_生活服务库`/`07_穿搭库`/`08_妆容库`/`11_造型库`)——文件内只有 `## 字段结构` 代码块 + `` 注释 + 「最低要求:每个账号 ≥ 10/15 个」的空承诺,**零条素材**; + - 唯一有实素材的是 **01 美食库 4 文件 = 21 条菜品**(中式家常菜 8 / 仪式感美食 5 / 煲汤类 5 / 深夜宵夜 3); + - 对比:WeKnora 240 条。→ 本地 md 素材库**从未真正建成过**,故"切换"成本极低(仅 21 条要迁)。 +- ⚠️ 连带问题:`references/索引_知识素材库.md` 对 03/05/06/07/08/11 的描述("安睡/做饭/按摩选型"「穿搭方案选型」等)**承诺了不存在的内容**——把"字段结构模板"写成了"素材库",切换时须一并修正。 +- **切换的关键设计约束(本轮新增判断)**: + 1. **md 素材文件不能删** —— WeKnora 是**开发机本地 Docker**,用户环境没有 → 无 md 则用户环境零素材。定位:**md = 权威源 + 降级源,WeKnora = 检索运行时副本**;降级 = 静默回退读 md + 四维标签筛条。 + 2. **切换范围**:分块定义/模板/标签闭集 = 规格 → **留文件**(规则类不进检索层);实素材条目 → 切 WeKnora;6 个空壳库的"字段结构"并入 `分块定义/` 后原文件退役。 + 3. **能力置换(必须接受)**:失去四维标签**字段精确筛选**(FAQ 纯向量、CustomMetadata 不参与过滤,实测),换来素材 21 → 240 条。净收益为正。 + 4. **账号隔离是硬边界**:FAQ 无 metadata 过滤 → 无法按账号隔离 → **04 对话库(账号专属)不切换**,保持文件形态按账号存,否则多账号串号。 + 5. **前置成本**:进 WeKnora 的载体素材必须补「标准问+相似问」(FAQ 召回唯一杠杆)→ 21 条 × 5-6 问法 ≈ 120 条问法,复用 `2_import_batch.py`。 +- 产物:`极致事件素材接入创作流程方案_V1.1_20260924.md`(V1.0 已加"被取代"标注保留沿革)。**技能文件仍未改动**,待授权。 +- 六项待办顺序(V1.1 §六):补 21 条问答对入库 → 清 15 条泛化磁铁卡 + 6 条标签污染 → 改技能文件 10 项 → 卡片补「方法归属」→ 变更日志。 + +## 13:0x · 技能接入 WeKnora 的具体实现(实测定稿) +- ⭐ **决定性发现:走 MCP 工具,不写脚本**。`weknora` MCP 已配在 `D:\.workbuddy\mcp.json`(stdio + `weknora-mcp-server.exe`,env 指向 `http://localhost:31607/api/v1` + Key)。**实测 `mcp__weknora__hybrid_search` 可直接召回 FAQ 库条目**:`kb_id` 传**库名**「MCN极致事件素材库」自动解析;命中 `28325-3`,`score=0.6058205716953738` —— 与 REST `/faq/search` **同 query 同分**(两条路径等价)。 +- **两条路径分工**:MCP = 创作端(会话内,S7 每视频 1-3 次);REST `/faq/search` = 生产端(`tools/weknora-ingest/*.py` 批量导入+终验,需 unset 代理、导入通道独占)。 +- **三个必须写进技能的坑(实测)**: + 1. **零命中不是错误**:返回 `{"data": null, "success": true}` → 判据是 `success=true 且 data=null`,不得判为调用失败,不重试不报错,走降级。 + 2. **同一张卡内容返回三份**(`content` / `chunk_metadata.answers[0]` / `matched_content`)→ 创作端**只读 `chunk_metadata.answers[0]`**,其余为噪声。 + 3. **`chat` 不能替代 `hybrid_search`**:`chat` 是 RAG+LLM 总结,会把卡「摘要化」,而卡的价值恰在不可概括的细节(原话/微反应/铺垫量级/镜头语言)→ S7 用 `hybrid_search` 取原文,**禁用 chat/agent_chat**。 +- **参数**:`hybrid_search` 默认 `vector_threshold=0.5`(恰好合规,仍应显式传)、`match_count=5` → **建议传 3**;`keyword_threshold` 对 FAQ 库**无效**(FAQ 恒纯向量召回),不传。 +- **上下文成本控制(实测推导)**:单条卡约 3.5-4KB(因三份重复),`match_count=5` 单次≈18KB≈6K tokens;5 节点全检 ≈30K tokens → 三条规则:① `match_count=3`(单次≈3.5K tokens);② **按需检索**(只检"想不出桥段的节点",通常一视频 1-3 次);③ 串行、读后即弃,不堆积。 +- **降级矩阵(P0)**:MCP 未挂载 / 服务不可用(用户环境无 Docker)/ 库不存在 / 零命中 → **静默回退读 `references/素材库/*.md`**;零命中退化为「仅用类型层子类指引」,不编造素材。技能文案须写成**能力探测式**(先试→失败则降级),不假定可用也不假定不可用。 +- **召回机制澄清(补充)**:`hybrid_search` 名字含 keyword,但 FAQ 库 `matched_content` 说明命中的是「标准问+相似问+答案」全文,`match_type=0` → 关键词不参与,仍是**纯向量**。 +- 产物:`技能接入WeKnora实施规范_V1.0_20260924.md` —— 含**可直接落地的新建文件全文草稿** `references/接口调用/WeKnora_极致事件检索.md`(5 节:调用/镜像问法/返回判据/降级/成本控制)+ 各技能文件改动落点表(SKILL.md 两处、S7 四处、`{material_content}` 定死结构)+ 环境矩阵。 +- 落地前 3 项待补测:① 载体类 21 条菜品与事件卡是否互挤召回;② `match_count=3` 对小众赛道(亲子 3 条/沉浸 0 条)是否够;③ 真实 S7 场景零命中率。 +- 技能文件仍未改动,待授权。 + +## 14:xx · 执行落地:素材层切换 WeKnora + 方法层接线 ✅(用户授权「按照方案执行」) +- **新建**:`references/接口调用/WeKnora_极致事件检索.md` —— 调用契约权威源,8 节(定位 / 调用参数 / 镜像式五要素问法 / 返回判据三坑 / 复筛转译 / 降级矩阵 / 成本控制 / 实测依据 / 与其他接口分工)。`kb_id` 用库名、`match_count=3`、`vector_threshold=0.5` 显式、不传 `keyword_threshold`、零命中判据 `success==true 且 data==null`、只读 `chunk_metadata.answers[0]`、禁 `chat`/`agent_chat`。 +- **S7 核心改造**(`创作流程/7_生成短视频大纲.md`,9 处):布位表**新增「候选创作方法」列**(4→5 列)打通方法层 → 新增「极致触点素材检索」按需环节(已有桥段的节点跳过,通常一视频 1–3 次)→ `{material_content}` 注入格式定死 → 新增**极致触点机制自检**(L1 节点须写得出 `[期待A]—被X打破→[结果B]`,写不出降级为普通情节)→ 输入章节素材库改**双层源**(主源 WeKnora / 降级 md 文件,md 永不删除)→ System Prompt 与禁止行为同步(禁跳方法列 / 禁搬卡原文 / 禁零命中编造)。 +- **方法层接线**:`知识库/05_极致事件/` 6 个方法文件各补「素材供给」块(极致标签 / 定库检索入口 / 问法「② 打破方式」填法),治「方法层在创作流程中 0 调用」。 +- **配套**:SKILL.md(MCP 依赖节 + WeKnora 检索层 + S7 小节调用链 + frontmatter `updated_at`);`索引_知识素材库.md`(素材库章节改双层源 + 03/05/06/07/08/11 逐条标注「仅含字段结构模板,尚无实素材条目」+ 新增「接口调用」章节);S9 输入增 `{material_cards}` + 新增「台词毛边三档参考」(原话/微反应/意外);S11 类1「爆点贯穿」升级为**爆点溯源 4 判据**(次数/可溯源/落差三件套/转译合规),八类35项清单同步。 +- ⚠️ **踩坑(本轮)**:6 个方法文件写在 `references/知识库/05_极致事件/`(两层深),「素材供给」块里我写了 `../接口调用/WeKnora_极致事件检索.md` —— **层数算错**(`../` 只退到 `知识库/`)。阅 `references/规则/路径引用规范.md` 后确认:技能内既有惯例是**省略 `references/` 前缀写成 `接口调用/xxx.md`**(S7、索引、变更日志一致),故统一改为 `接口调用/WeKnora_极致事件检索.md`。**教训:跨层级引用前先 grep 同侪写法对齐惯例,别自己推层数**。 +- **复查(全仓)**:`../接口调用/WeKnora` = 0;敏感串(`sk-` / `31607` / `e6772e41`)= 0;盘符绝对路径 = 0;「编排层」旧表述仅剩 2 处且均在第三方整包 `nuwa-skill-main` 内(规范明示豁免);6 个方法文件「素材供给」引用写法完全一致。 +- ⚠️ **待用户确认**:用户级技能 junction `~/.workbuddy/skills/短视频工作台` **整体不存在**(不是 children=0 的失效态,而是条目缺失;项目级 `.workbuddy/skills/` 也没有)。未擅自重建——创建 junction 会改变技能加载行为,可能是用户主动移除。重建需 `node -e "fs.symlinkSync(...)"` + PowerShell `New-Item -ItemType Junction`。 +- **方案 §六 未执行项(本次范围外,待另行授权)**:6 个空壳库字段结构并入 `分块定义/` 后原文件退役;21 条载体素材补问答对入库;清 15 条泛化磁铁卡 + 6 条标签污染;240 条卡补「方法归属」字段。 diff --git a/project/短视频脚本创作/V1.0/SKILL.md b/project/短视频脚本创作/V1.0/SKILL.md index 40c5937..970287d 100644 --- a/project/短视频脚本创作/V1.0/SKILL.md +++ b/project/短视频脚本创作/V1.0/SKILL.md @@ -8,8 +8,8 @@ description: > 触发场景:写脚本、创作短视频、生成脚本、拆解对标视频、分析爆款视频、 诊断脚本质量、设计账号人设、选题策划、生成分镜、广告植入设计、生成创作回顾。 version: "1.0" -updated_at: "2026-09-10" -last_change: "09-10 工作台配置收敛:端口/DB/产出根/榜单目录单源化到 mcn-work-shop/config.json,代码层(server.js/dsh-data.js/4 辅助脚本/data-pages.js/start.bat)统一经 load-config.js 读取,前端用 location.origin 动态取回调地址(明细见 references-add/变更日志.md)" +updated_at: "2026-09-24" +last_change: "09-24 素材层接入 WeKnora(素材载体切换 + 方法层接线):① 新建 references/接口调用/WeKnora_极致事件检索.md 调用契约(MCP hybrid_search / kb_id 用库名 / 镜像式五要素问法 / match_count=3 / vector_threshold=0.5 显式 / 零命中返回 data:null 而非失败 / 复筛 ≤2 条每节点 / 取材不取形转译 / 降级 / 成本控制);② S7 布位表新增「候选创作方法」列打通方法层(此前 05_极致事件 6 个方法文件在创作流程中 0 调用),新增「极致触点素材检索」按需环节 + `{material_content}` 定死结构 + 极致触点机制自检(`[期待A]—被X打破→[结果B]`);③ SKILL.md MCP 依赖章节增 WeKnora 检索层(含降级:静默回退 md 素材源,md 永不删除);④ 索引_知识素材库.md 修正 03/05/06/07/08/11 定性(实为字段结构模板而非素材库)" deployment: "source" agent_created: true --- @@ -27,7 +27,7 @@ agent_created: true - 展开完整短视频大纲(含钩子/主体/结尾/情绪曲线) - 广告植入精细化设计(可选步骤) - 段落格式脚本 + 分镜脚本(可选) -- 四维度质量诊断 + 信息密度检查 + 情感表达专项检查 +- 四维度质量诊断 + 展开深度检查 + 情感表达专项检查 **支持赛道:** 学习教育 / 小剧场 / 美食 / 生活vlog / 美妆 / 三农 / 财富理财 / 身体锻炼 / 游戏 / 更多… @@ -92,6 +92,15 @@ agent_created: true - **登录检查**:调用前自动检查飞书登录状态(每天一次),未登录则自动触发 `feishu_login` - **降级**:MCP 不可用时不影响核心创作流程(步骤1-11),仅跳过 API 功能 +### WeKnora 检索层(极致事件素材 · 可选增强) + +S7 生成大纲时**按需**检索「极致事件卡」(事件类素材),用于为写不出具体桥段的 L1 极致触点提供机制样本。 + +- **服务与库**:MCP 服务 `weknora`(工具 `hybrid_search`)+ FAQ 容器 `MCN极致事件素材库` +- **调用契约**:`references/接口调用/WeKnora_极致事件检索.md`(镜像式五要素问法 / `match_count=3` / `vector_threshold=0.5` / 复筛 ≤2 条/节点 / 取材不取形转译规则 / 成本控制) +- **降级**:MCP 未挂载、服务不可用(用户环境无此服务)或检索零命中 → **静默回退**读 `references/素材库/*.md` 文件源(按四维标签筛条)。**md 为素材权威源,永不删除**;不影响 S1-S11 核心创作流程 +- **边界**:仅用于 S7 素材调取环节;`chat`/`agent_chat` **不得**替代 `hybrid_search`(前者会摘要化卡片,丢失原话/微反应/铺垫量级等不可概括的细节) + > 完整规范(服务依赖表/环境判定/安装引导流程/登录检查5步/降级策略/工具清单)见 → `references/接口调用/MCP_工具调用规范.md` --- @@ -245,13 +254,14 @@ S1 意图识别 → S2 需求完善 → [G0 分析确认] ### 步骤 7:生成短视频大纲(结构搭建层) -**目的:** 基于 S6 框架+场次结构表+情绪设计卡,选择最优结构模板(三段式/五段式),按知识库/05_极致事件/指引调取素材填充可拍摄细节,按 L2 编导深度标准展开分段结构,完成密度自检。情绪维度只引用 S6 不重做。 +**目的:** 基于 S6 框架+场次结构表+情绪设计卡,选择最优结构模板(三段式/五段式),按「**方法定手法 → 类型定判定 → 检索取素材**」链调取素材填充可拍摄细节,按 L2 编导深度标准展开分段结构,完成密度自检 + **极致触点机制自检**(每个 L1 节点须写得出 `[期待A] —被X打破→ [结果B]`)。情绪维度只引用 S6 不重做。 -**输出:** 结构模板选择 + 短视频大纲(分段结构/钩子/主体/结尾,按 L2 默认展开)+ 2 版标题 + 广告植入占位 + 合规自检 + 密度自检。 +**输出:** 结构模板选择 + 短视频大纲(分段结构/钩子/主体/结尾,按 L2 默认展开,含各 L1 节点的机制来源)+ 2 版标题 + 广告植入占位 + 合规自检 + 密度自检 + 极致触点机制自检。 **用户确认:** 有无广告Brief分两条路 — 有则先进步骤 8,再合并 Gate-4;无则直接 Gate-4 确认后进步骤 9。 > 详细提示词和输出模板见:[7_生成短视频大纲.md](references/创作流程/7_生成短视频大纲.md) +> 素材检索契约(工具参数/镜像式五要素问法/降级/成本控制)见:[WeKnora_极致事件检索.md](references/接口调用/WeKnora_极致事件检索.md) --- diff --git a/project/短视频脚本创作/V1.0/references-add/变更日志.md b/project/短视频脚本创作/V1.0/references-add/变更日志.md index 726fbf0..f35c54e 100644 --- a/project/短视频脚本创作/V1.0/references-add/变更日志.md +++ b/project/短视频脚本创作/V1.0/references-add/变更日志.md @@ -6,6 +6,83 @@ --- +## 2026-09-24(执行:素材层切换 WeKnora + 方法层接线) + +- **触发**:用户「按照方案执行」,执行《技能接入WeKnora实施规范_V1.0》《极致事件素材接入创作流程方案_V1.1》。定性经用户两轮收口 —— ① 驱动关系由**素材驱动**改为**方法驱动**;② 素材动作不叫「扩容」叫**切换**(素材载体:本地 md → WeKnora)。 +- **新建调用契约**:`接口调用/WeKnora_极致事件检索.md` —— MCP `hybrid_search`(服务 `weknora`)+ FAQ 容器 `MCN极致事件素材库`;`kb_id` 用**库名**(禁写死 UUID);`match_count=3`;`vector_threshold=0.5` 显式传;**不传** `keyword_threshold`(FAQ 恒为纯向量召回);**禁用 `chat`/`agent_chat`**(会摘要化卡片,丢失原话/微反应/铺垫量级)。含镜像式五要素问法、返回判据(`success=true 且 data=null` = **零命中而非调用失败**;同卡内容重复三份、**只读 `chunk_metadata.answers[0]`**)、复筛 ≤2 条/节点、取材不取形转译、降级矩阵、上下文成本控制(`match_count=3` + 按需检索 + 读后即弃)。 +- **方法层接线(治「方法层 0 调用」)**:`创作流程/7_生成短视频大纲.md`「极致触点节点布位」表**新增「候选创作方法」列**(钩子型→极致行为四分类;留人型→预期反转四载体 / 冲突叙事套路;转粉型→克制 / 荒诞化 / 抽象化;传播型→无厘头 / 专属符号型),并明定**调用方向自上而下:方法定手法 → 类型定判定 → 检索取素材**,禁止素材驱动。 +- **S7 检索环节**:新增「极致触点素材检索」小节(布位定完 → 事件展开之前,**按需触发**:已有桥段的节点跳过,通常一视频 1–3 次)+ `{material_content}` 注入格式定死(机制来源 / 落差结构 / 手法与铺垫量级 / 拍摄参考 / 本账号转译,**不含原卡人物名与台词**)+ 新增**极致触点机制自检**(每个 L1 节点须写得出 `[期待A] —被X打破→ [结果B]`,写不出则降级为普通情节、不计入 L1 密度);输入章节「素材库」改为**双层源**(主源 WeKnora 检索 / 源与降级 md 文件,**md 永不删除**);System Prompt 与禁止行为同步(禁跳方法列、禁搬卡原文、禁零命中编造)。 +- **SKILL.md**:MCP 依赖章节新增「WeKnora 检索层(极致事件素材 · 可选增强)」含降级口径;S7 小节补全调用链 + 输出增「极致触点机制自检」+ 新增检索契约引用行;frontmatter `updated_at` → 2026-09-24。 +- **S9/S11 配套**:S9 输入增 `{material_cards}`(可选)+ 新增「台词毛边三档参考」(**原话 / 微反应 / 意外**,只借范式不借句子、不得影响「说什么」);S11 类1「爆点贯穿」升级为**爆点溯源 4 判据**(次数 / 可溯源 / 落差三件套 / 转译合规),`知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md` 类1 同项同步。 +- **索引修正**:`索引_知识素材库.md` 修正 03/05/06/07/08/11 六个库的定性(**实为字段结构模板、尚无实素材条目** —— 原描述「生活仪式化行为选型」「穿搭方案选型」等**承诺了不存在的内容**);素材库章节补双层源说明 + 新增「极致事件素材(事件类 · 主源在 WeKnora)」行;新增「三、接口调用」章节。 +- **6 个方法文件**各补「素材供给」块(极致标签 / 定库 / 问法「② 打破方式」填法):极致行为创作法(**不映射标签**、横切未定、按事件标签跨库找载体)、预期反转(反差·反常识·价值观冲击;铺垫 中 3-10s)、荒诞化 / 抽象化 / 无厘头(自嘲反差·反差)、错位化-反常化(反常识·反差)。 +- **未执行(留待后续,见方案 §六)**:① 6 个空壳库的字段结构并入 `分块定义/` 后原文件退役;② 21 条载体素材补问答对入库;③ 清理 15 条泛化磁铁卡 + 6 条标签污染;④ 240 条卡补「方法归属」字段。 + +## 2026-09-23(执行:极致事件卡片层治本 —— 10 固定字段硬规则 + 「极致触点」三义裁决 + 横切定库) + +- **触发**:用户「按照方案优化」,执行同日《极致事件卡片优化方案_V1.0》全部 10 项(P0 3 / P1 4 / P2 3);三项待确认按方案建议选项落地(库位 → B 跨库横切;触点治理 → A 加裁决条款不改名;存量卡 → A 按 V1.3 重出)。 +- **口径单源(治「极致触点」一词三义)**:`知识库/05_极致事件/01_极致类型-素材标签映射表.md` 第四节新增 **4.5 条款** —— 摊开 A 布位层(爆点节点)/ B 卡片层(击中原因)/ C 8 库层(内容描述)三义 + 一句话判据(「说画面里有什么」= C /「说用户为什么被击中」= B /「说它在第几秒引爆」= A);明确 C = 极致事件「极致内容」字段的等价物;**硬规则:极致事件类必须写满 10 固定字段**,不得退回 8 库口径。节标题「四条」→「**五条**边界裁决条款」。 +- **横切定库(治 D2 + 缺口 1)**:同文件第二节新增「**定库列怎么读**」说明 —— 极致事件 = **跨库横切类别**,「定库」为**选定的检索入口库**、**可为空**(`—(横切未定)`);「极致行为」行补注定库口径;表头变更行登记。**不做**新增「行为/情境」类库、**不做**同一事件多库复制。 +- **模板层(`素材库/分块定义/00_模板-各库分块模板.md` §极致事件,升 V1.2 → V1.3)**: + ① 新增两条头注 —— 10 字段硬规则 + 卡片头元信息行 `> 所属库:{NN 库名 | 横切未定}`(**不占字段位**); + ② 「极致内容」补两条要求(人物语言**保留原话不概括** + **≥1 处真实毛边**); + ③ 「内容含义」补**时间跨度型写法**(成长/蜕变类 `[长期期待 A] —经 X 过程→ [结果 B]`); + ④ 「极致触点」四子项**收敛为效果侧两项(用户心理 / 共鸣)**,机制侧「反差 / 猎奇」归还「事件标签 / 极致类型」+ **效果词不得复用标签词**; + ⑤ 「创作手法」补子项 **铺垫量级:短 ≤3s / 中 3–10s / 长 >10s**; + ⑥ 「事件标签」补自检 **下限 ≥2 值** + **「(主)」记法**(主标签 = 定库依据); + ⑦ 专属段说明补「横切未定则省略本段」;专属说明 5 条 → **6 条**。 +- **顺带修正模板内自相矛盾**:§三 总表 ※2 字段数 `9 + 10 = 19` → **`10 + 10 = 20`**(落 03 库 `10 + 5 = 15`;横切未定只写 10);※3 末尾「同名升级」处补 4.5 指针(闭合原文「是否同步见第四节」的**悬空指针**);「事件标签位于卡片**末位**」→ **第 4 位**(专属说明 4 同步)。 +- **评估标准(`知识库/05_极致事件/03_极致事件评估标准.md`)**:第一节补「**翻车 / 失败 / 未达预期也是合法的极致**」 —— 豪言后翻车**同等入库**,但**须写清被打破的期待落点**(否则是流水账、不入库);与「步骤 5 真实性校验」不冲突(须真实发生)。 +- **存量卡重出(`极致事件提取_多类别样本_20260922.md`,仓库根)**:§二 12 张卡由旧口径 9 字段迁移为 **V1.3 的 10 固定字段 + 元信息行** —— 原「极致标签」→ `事件标签`(第 4 位);原「极致触点」→ `极致内容`(第 1 位);原「表现形式」→ `内容含义`(第 2 位);**新增效果侧 `极致触点`**(原卡无此字段,按 V1.3 补写、依据原描述推断、**不含新事实**);`创作手法` 补铺垫量级;补卡片头 `> 所属库:…`。**事件内容与判据一字未改。** 同文件同步修正:§一 定库列(7 处 `⚠️ 见 §四` → `—(横切未定)`)、§3.1 类型分布(`错位` 2→1、补 `品质` 1 —— 原表把 F1 误记为错位)、§3.2 标签分布(按 §一 总览重算;零命中实为 4 个)。 +- **新自检暴露(重要实证)**:重出后按「`事件标签` ≥2 值」自检,**12 张卡中 6 张为单标签**(P1 / P2 / P3 / C1 / C2 / C3)—— **保留实测原判、逐条标 ⚠️、不追补**,作为该条款必要性的实证(与 D5 判断一致)。 +- **明确不做(保持原判)**:卡片内嵌 Prompt 模板(越层)/卡内嵌评分字段(与模板说明 2 冲突)/「黄金组合」字段(用法非素材属性)/标签层加「一级心理刺激」(违反 4.4 红线)/「用户需求层」(选题层职责)/8 库「极致触点」字段改名(沿用 4.1「只加裁决、不全量改名」原则)。 +- **核对**:模板 / 映射表 / 评估标准三文件口径一致;`00_模板` 内旧字段数 `9 + N` 零残留;12 张卡全部含 10 固定字段 + 元信息行。 + +## 2026-09-23(追加·执行:治本 11 的「信息密度」一词二义 → 更名「展开深度检查」) + +- **触发**:上一轮(三级留人点体系)留的两项「未同步项」之一,用户回复「按照建议执行」。 +- **问题**:`创作流程/11_脚本检查和诊断.md` 里「信息密度」一词二义 —— 「二、信息密度检查」= **展开深度静态数量**(具名物品/对话组/步骤链/环境细节),四维度表里那条 = **时间轴频率**(已更名「留人密度」)。同名共存,读法不稳定。 +- **处置(改名而非加注,消除同根)**: + 1. **`11_脚本检查和诊断.md`**:「二、信息密度检查」→ **「二、展开深度检查」**(业务逻辑头、模块标题、四维度弱情感铺垫行、System Prompt 第 2 项/审核规则/知识指针、输出模板章节标题共 7 处);原「命名区分(防混淆)」改为「**命名沿革**」,保留两口径不互相替代的说明;「改为检查信息密度…」同步为「留人密度」。 + 2. **连带引用**:`SKILL.md`(能力清单行)、`创作流程/7_生成短视频大纲.md`:178(大纲校验项更名,与「展开深度标准」同名归一)。 + 3. **频率义引用统一为「留人密度」**:`创作流程/9_生成短视频脚本.md`(弱情感铺垫「留人密度优先」+ 赛道标准指针)、`创作流程/6_生成短视频框架.md`(弱情感铺垫等级行、三问自检 3 处、赛道标准指针、模板 A 侧描述)。 + 4. **症状名去同根**:`03_框架节奏/04_节奏控时`(2.2 节奏信号行、七、误区「信息密度过低」→「留人点过疏」);`03_框架节奏/01_标准爆款结构模板`(误区行「中段信息密度过低」→「中段留人点过疏」)。 + 5. **子技能副本同步**:`mcn-dou-analysis/references/知识库/视频拆解/框架04_节奏控时.md`(2 处)、`框架01_标准爆款结构.md`(1 处)。 +- **保留边界(未动)**:「信息密度」作为**通用描述语 / 关键指标 / 方法论原文 / 文件标题**的用法一律保留(如 `01_标准爆款结构模板`:289「关键指标:信息密度高」、`08_对话风格/高信息密度Vlog创作法`、`创作流程/3_对标视频账号拆解`「每30秒信息增量」)—— 本次只治「作为阈值口径名或模块名」的义项,不做全量替换。 +- **核对**:全树扫 `信息密度检查` → 有效规则**零残留**(剩余命中全部为 8 库方法论原文 + 第三方参考技能 + 本日志自身)。 + +## 2026-09-23(方案·未执行:极致事件卡片优化方案 V1.0) + +- **触发**:用户指出「对于极致事件卡片,没有什么优化的建议和方案」。本方案为**卡片层专项**,与上一轮「留人点」(流程侧)并行、互不改口径。 +- **核心结论**:卡片**主体不需重构**(三字段分工 事实/机制/效果 成立,外部评审亦认可);真问题是三条结构性问题 —— + ① **存量卡两套口径并存**(同日 `极致事件卡_癫婆_模板版` 为 V1.2 的 10 字段;`极致事件提取_多类别样本` 12 条仍为旧口径 9 字段,全部用「表现形式」、且无新口径的「极致触点」); + ② **「极致触点」一词三义**(布位层 = 爆点节点 / 卡片层 = 击中原因 / 8 库层 = 内容描述); + ③ **10+N 的 N 不可见**(卡内无「所属库」标注,致本地缺口 1「12 个事件里 7 个定库无处可落」无法落地)。 +- **外部 9 条建议判定**:**采纳 1**(双轴体系 → 用本地方案落地:卡片加归属标注 + 映射表「定库」列改可空);**改造 4**(事件强度评分 → 把已在使用但未定义的「主/辅」标注正式化,不新增字段;失败样本 → 不建新库,判定处补准入一行;真人细节 → 「极致内容」补「原话不概括」+「≥1 处真实毛边」;节奏字段 → 只取「铺垫量级」,出现位置与情绪曲线分别归 S7 布位、07_情绪共鸣);**否决 3**(卡片内嵌 Prompt 模板 = 越层;黄金组合字段 = 组合是用法非素材属性;标签三级分层之「一级心理刺激」= 违反 4.4 条款「情绪效果不设标签」红线;用户需求层 = 选题层职责)。 +- **4 个外部「盲区」核实**:**3 个已被现有体系覆盖** —— 成长/蜕变 → 反差 + 期待铺垫 + 「内容含义」时间跨度变体;挑战规则 → 极致行为·强度拉满 + 难度极限;关系变化 → **预见式服务**标签,定义原文即「对方还没开口就已经做好」。仅「悬念/信息差」属标签层挤压(对应本地缺口 2),非新类型。 +- **产出**:`极致事件卡片优化方案_V1.0_20260923.md`(仓库根,含 D1–D6 缺口、P0–P2 改动清单、明确不做清单、3 项待确认)。**技能文件零改动。** + +## 2026-09-23(中段留人机制治本:新增「三级留人点体系」,合并 35 项两条口径打架的密度项) + +- **触发**:用户提出「能否提升中间留人的吸引力,10 秒左右一个吸引点抓住用户注意力」。只读审计后发现瓶颈不在阈值松紧,而在**中段留人在技能里没有被定义成可产出、可自检的东西**。 +- **审计发现(4 项)**: + 1. **三条密度线口径打架**:A 信息密度 每10秒(`9_生成短视频脚本.md`:151/441、35项:73、`04_节奏控时`:48/91/106、`01_标准爆款结构模板`:246、`06_编导终审`:71)=下限防腐;B 钩子密度 每15秒(35项:72)**全技能无定义、无来源、无产出格式,悬空**;C 极致触点 每15-20秒(`7_生成短视频大纲`:66/159、`05_极致事件/03`:17/41)=上限爆点,资源有限**不可能也不应** 10 秒一个。 + 2. **产出粒度太粗**:S6「本场钩子」是**场级**(一场 15-25s → 15-25s 才一个留人设计);S7 只有 4 个极致触点布位、非窗口化 → **「每10秒一个吸引点」在全部产出物里没有字段**。 + 3. **校验强度倒挂**:S7 里 L1 极致触点是硬闸门,中段留人(原 L162-163)只是"参见知识库"软引用;而 L165-171 硬检查全是**静态数量**(具名物品≥12/对话≥4组/故事细节≥50),与时间轴无关。 + 4. **命名口径分化**:钩子类型存在 4 套并存的枚举(五类留人机制 / `01_标准爆款结构模板`:143-149 的「数据冲击·违背常识」/ `04_爆款开场` 10 种开场方式(CSV)/ `04_爆款开场` 8 个旧钩子文件口径)。 +- **方案(路线 A 合并升级,非新增第 4 条平行线)**:三级留人点体系 —— **L1 极致触点**(15-20 秒,稀缺性保护,**不动**)/ **L2 留人点**(每 10 秒 ≥1,由 A 升级 + B 归并)/ **L3 增量点**(3-5 秒,知识库已有,落成字段)。L2 判据=观众产生一个明确的「为什么」(抛问题/打破预期/说到自己/给承诺,**类型名沿用五类留人机制**,不新造枚举);可自检换算=**本场最少留人点数 = ⌈本场时长 ÷ 10⌉**;分赛道分档=剧情/知识/口播/搞笑 10 秒、Vlog/美食/亲子/情侣 10-15 秒、沉浸/治愈/慢生活 15 秒。 +- **改动(11 个文件)**: + - **口径单源**:`references/知识库/03_框架节奏/04_节奏控时叙事套路.md` 新增 1.3「三级留人点体系」(定义/阈值/判据/换算/分档/禁止混层);1.2 后各节与 2.2 节奏信号、七、误区、八、自查清单同步对齐(删「每15秒一个新信息」,情绪峰值 20 秒→15-20 秒)。 + - **知识库对齐**:`03_框架节奏/01_标准爆款结构模板.md`(钩子类型表加五类口径说明,`数据冲击`/`违背常识` 归入反差画面;中间主体 ⑤ 与误区、自查清单指向 1.3);`03_框架节奏/06_编导终审验收标准.md`(「增量密度」→「留人密度」,中段不疲加「极致触点空档 ≤ 20 秒」,Step 4 与返工归因同步)。 + - **创作流程产出与闸门**:`创作流程/6_生成短视频框架.md`(「本场钩子」列加 10 秒窗口粒度 + ⌈时长÷10⌉;新增「本场钩子 ≠ 极致触点」提示;场次结构输出模板占位符与校验行同步;模板A/B 与三段式速查表口径同步);`创作流程/7_生成短视频大纲.md`(新增「留人点布位」表 + 禁止混层/不计入留人点三类说明;校验规则新增**硬闸门**「留人点数 ≥ ⌈本场时长÷10⌉,不达标打回 S6」+ 类型覆盖 ≥2 类;原两条软引用改为指向 `01_标准爆款结构模板`;大纲输出模板各场新增留人点字段;开场钩子类型枚举改为五类)。 + - **质检层**:`创作流程/9_生成短视频脚本.md`(L151/L441「信息密度」→「留人密度」);`创作流程/11_脚本检查和诊断.md`(类4 两项更名、四维度「信息密度」条目→「留人密度」并给出分档判据、输出模板行同步、弱情感铺垫评分项改为留人密度达标;**「二、信息密度检查」(展开深度静态数量)加命名区分注**,避免与新留人密度混淆);`知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md` 类4「钩子密度+信息密度」合并为「留人密度」、腾出槽位新增「留人点类型覆盖」(**类4 仍 3 项、总数仍 35 项**)。 + - **极致事件层**:`知识库/05_极致事件/03_极致事件评估标准.md`(密度校验加「不计入彼此」说明;第四节分工表新增 `03_框架节奏` 行,明确「极致触点 ≠ 留人点,禁止互相替代」防爆点稀释;文件头加 09-23 变更行)。 + - **钩子机制映射**:`知识库/04_爆款开场/00_开场方式全量覆盖分析.md` 新增第五节「五类留人机制 ↔ 开场方式 ↔ 中段复用」映射表 + 两条红线(中段选型不受 S5 限制、中段复用≠重放开场话术)。**替代原计划新建 5 篇中段方法论文件——五类机制的方法论本就在本库 10 篇开场方式文件里,新建属重复建设。** + - **子技能副本同步**:`subskills/mcn-script-review/SKILL.md` 与 `references/脚本复盘流程.md`(框架节奏维、爆款开场维「中间留人钩子」、中段不疲、评分总表行);`subskills/mcn-dou-analysis/references/知识库/视频拆解/框架04_节奏控时.md`(含 2.1 与节奏控制信号)。 + - **版本标签**:`SKILL.md` frontmatter `updated_at`/`last_change` 更新(version 保持 1.0,与既往惯例一致)。 +- **残留核对**:全树扫描 `钩子密度`/`每15秒`/`每10秒至少1个新信息`——**有效规则零残留**;剩余命中仅在 `subskills/mcn-video-prompt/参考skills/script-writing-studio/`(**第三方参考技能,禁改**)2 处。 +- **遗留项(同日追加批次已解决其一)**:`11_脚本检查和诊断.md` 内「二、信息密度检查」与新增「留人密度」共用「信息密度」词根的**一词二义问题** —— 已于 2026-09-23 追加批次更名为「展开深度检查」(连带 10 文件同步,见上方「追加·执行」条)。**仍未做**:赛道分档阈值(剧情 10 秒 / Vlog 10-15 秒 / 沉浸 15 秒)为**推定值非实测**,建议跑 3-5 条真实脚本后按落选/留存数据回调。 +- **关联产出**:`中间留人机制诊断与留人点体系方案_V1.0_20260923.md`(仓库根,含 8 项改动点清单与证据索引 文件:行号)。 ## 2026-09-10(工作台配置收敛:端口/DB/目录单源化,代码层统一引用 config.json) diff --git a/project/短视频脚本创作/V1.0/references/创作流程/11_脚本检查和诊断.md b/project/短视频脚本创作/V1.0/references/创作流程/11_脚本检查和诊断.md index 421cf38..8633c0f 100644 --- a/project/短视频脚本创作/V1.0/references/创作流程/11_脚本检查和诊断.md +++ b/project/短视频脚本创作/V1.0/references/创作流程/11_脚本检查和诊断.md @@ -1,6 +1,6 @@ # 业务逻辑 -> 对步骤9脚本正文 + 步骤10分镜脚本进行四维度质量诊断(+ 信息密度检查 + 情感表达专项检查两个独立模块),输出评分报告、问题清单和修改建议。 +> 对步骤9脚本正文 + 步骤10分镜脚本进行四维度质量诊断(+ 展开深度检查 + 情感表达专项检查两个独立模块),输出评分报告、问题清单和修改建议。 > > 📐 **格式规范、确认门机制** 以 `../创作流程规范.md` 为准,本步骤仅包含诊断专用逻辑。 @@ -28,7 +28,7 @@ | 类1 结构完整性 | 开头钩子 / 爆点贯穿 / 结尾收口 / 逻辑链条 / 设定承接 / 教程完整链 | | 类2 格式规范性 | 画面描述 / 景别标注 / 时长标注 | | 类3 台词口语化 | 书面词汇 / 长句检测 / 自然语气词 / 重复用词 / 人设一致性 | -| 类4 节奏设计 | 钩子密度 / 信息密度 / 节奏变化 | +| 类4 节奏设计 | 留人密度 / 留人点类型覆盖 / 节奏变化 | | 类5 画面具体性 | 动作描述 / 场景描述 / 不可拍警告 | | 类6 共鸣专项 | 共鸣类型命中 / 具象场景 / 自嗨检测 / 3问自检 | | 类7 内容合规 | 绝对化词汇 / 绝对效果承诺 / 无来源数据 / 竞品名称 / 暗示贬低 / 行业违禁词 | @@ -36,6 +36,14 @@ **输出**:八类35项扫描结果表 → 作为四维度评分(第二步)与故事成立性专项(第三·五步)的前置输入。 +> 🔴 **类1「爆点贯穿」升级为爆点溯源(4 判据,09-24)** —— 原判据只查次数,现增可核查性: +> ① **次数**:全片至少 2 次爆点(开头 + 至少 1 次中后段),仅开头有 = 不过(原判据不变); +> ② **可溯源**:每个 L1 极致触点须能指到来源——「一条检索卡 / 类型层子类 / 素材库条目」。**无来源 = 编造爆点**,列 P1; +> ③ **落差三件套可写出**:每个 L1 节点须写得出 `[期待A] —被X打破→ [结果B]`;写不出的节点**降级为普通情节**、不计入爆点次数(可能导致 ① 不通过); +> ④ **转译合规**:检索卡的人物 / 身份 / 台词 / 道具不得原样出现在脚本中(命中 = **P0 抄袭·硬编码**)。 +> +> 溯源信息来自 S7「极致触点素材检索」注入的 `{material_content}`「机制来源」字段;检索未启用时按 `素材库` 文件源或类型层子类标注。判据权威定义同步见 `知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md` 类1「爆点贯穿」。 + --- ### 一、四维度结构化审核 @@ -57,7 +65,7 @@ > **情绪闭环+体感兑现评分细化(7分,按情感铺垫等级适配):** > - **强情感铺垫**:四类情绪完整闭环(功能位数量和各功能位最低出现次数参见知识库 `07_情绪共鸣/分块6_` 强情感铺垫标准):3分;释放力度足够(情绪出口明确,体感交付到位):2分;体感兑现闭环(首屏承诺→内容兑现→结尾强化一致):2分 > - **中情感铺垫**:功能位数量和类型要求参见知识库 `07_情绪共鸣/分块6_` 中情感铺垫标准:3分;体验递进清晰:2分;收束完整+体感兑现闭环:2分 -> - **弱情感铺垫**:不强制四类情绪闭环,改为:信息密度达标(参见知识库 `03_框架节奏/04_` 对应当前赛道的信息密度标准):3分;视觉节奏流畅:2分;收尾实用有效+体感兑现闭环:2分 +> - **弱情感铺垫**:不强制四类情绪闭环,改为:留人密度达标(每10秒≥1个留人点,口径见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 1.3):3分;视觉节奏流畅:2分;收尾实用有效+体感兑现闭环:2分 > > 评分方法论参考:`知识库/07_情绪共鸣/` 分块4(网感坐标:体感兑现闭环)+ 分块5(情绪递进设计:递进缺口判断) **维度二:人设匹配度(25分)** @@ -84,10 +92,11 @@ **审核通过标准:** 总分 ≥ 75/100,且合规维度 ≥ 14/20。 -### 二、信息密度检查 +### 二、展开深度检查 -> 检查脚本/大纲的信息单元密度是否达到默认标准。密度不足 = 画面空洞、缺乏可拍摄内容。 +> 检查脚本/大纲的**展开深度**(信息单元的**数量**:具名物品 / 对话组 / 操作步骤链 / 环境细节)是否达到默认标准。展开深度不足 = 画面空洞、缺乏可拍摄内容。 > 密度标准对标 S7「展开深度标准」L2 默认。不同赛道/时长可调整阈值。 +> 📌 **命名沿革**:本模块原名「信息密度检查」,2026-09-23 更名为**展开深度检查**——原名与时间轴上的**留人密度**(每 10 秒 1 个留人点,见 `知识库/03_框架节奏/04_节奏控时叙事套路.md` 1.3)共用「信息密度」词根,造成一词二义。二者**不互相替代**:本模块管**数量**,留人密度管**时间轴频率**。 #### 密度指标 @@ -111,7 +120,7 @@ | 操作概括 | 「收拾房间」代替步骤链 | 应拆解为≥3步连贯操作步骤 | | 环境空白 | 无灯光/材质/空间位置描述 | 应补充灯光色温/材质/空间位置/物品陈列等细节 | -> **注意**:信息密度检查结果为「不通过」项,必须在修改后重新诊断,通过后方可进入 Gate-6 确认。密度不达标的脚本 ≈ 编导拿到无法拍。 +> **注意**:展开深度检查结果为「不通过」项,必须在修改后重新诊断,通过后方可进入 Gate-6 确认。密度不达标的脚本 ≈ 编导拿到无法拍。 ### 三、情感表达专项检查 @@ -150,7 +159,7 @@ | 检查项 | 检查要点 | 判定标准 | 不通过处理 | |--------|---------|---------|-----------| -| 信息密度 | 信息更新和视觉刺激频率是否达到赛道标准 | 频率和连续无新信息时长上限参见知识库 `03_框架节奏/04_` 对应当前赛道的信息密度标准,连续超时无新信息/画面无变化→不通过 | 压缩/删除注水段,增加信息点 | +| 留人密度 | 留人点更新和视觉刺激频率是否达到赛道标准 | 每10秒至少1个留人点,分赛道分档与判据见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 1.3;连续超时无留人点/画面无变化→不通过 | 压缩/删除注水段,补齐留人点 | | 视觉节奏 | 画面切换与信息节奏是否匹配 | 切换频率与内容信息量脱节(信息多但切换慢/信息少但切换过快)→提醒 | 调整画面切换频率 | | 收尾实用有效 | 是否以实用信息收尾,不强行升华 | 强行"感悟升华"与内容定位不匹配→提醒;无任何收尾→提醒 | 改为实用收尾(配方/建议/引导/总结) | | 表达方式匹配 | 情感表达方式是否与内容形式匹配 | 美妆/口播类出现大量行为暗示微表情描写→提醒;信息类内容仅台词无画面配合→提醒 | 调整表达方式匹配内容形式 | @@ -264,7 +273,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严 0. **先执行八类35项自动扫描**(逐项判定 通过/不过/提醒/警告/直接不过,输出扫描结果表)——判定标准见 `知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md`,扫描通过后才进入四维度评分 1. 对分镜脚本(或脚本)进行四维度结构化审核 -2. 进行信息密度检查——对标 L2 默认,核查具名物品/对话/服务操作步骤链/环境细节/产品植入深度 +2. 进行展开深度检查——对标 L2 默认,核查具名物品/对话/服务操作步骤链/环境细节/产品植入深度 3. 输出评分报告、问题清单、修改建议 4. 进行人设稳定性校验和合规校验 @@ -273,19 +282,19 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严 - 四个维度独立评分,不互相影响 - **情感铺垫等级从 S6 框架方案继承**(脚本概览行中标注),诊断时按等级调整检查标准,不得对所有内容使用同一把尺子 - 「情感表达专项检查」为独立检查模块(与四维度并列,不纳入评分),按复杂度等级分三组(通用/强/中/弱)执行 -- 新增「信息密度检查」为独立模块,不纳入四维度评分但必须在 Gate-6 前通过(不通过项须修改后重新诊断) +- 「展开深度检查」为独立模块,不纳入四维度评分但必须在 Gate-6 前通过(不通过项须修改后重新诊断) - 合规性逐项评分(总分 20 分),不设一票否决,扣分规则见上方 - 若输入为脚本正文:按场次定位问题("场X的XX") - 若输入为分镜脚本(简版/详细):按镜头/段落定位问题("场X第Y段"或"镜头XX的XX") - 问题描述须具体可定位,修改建议须可执行 -- **非剧情类内容(中/弱情感铺垫)不得对「情感功能位闭环」「全场多维度」「每场留白」「蓄力释放」等仅适用强情感铺垫的项目做不通过判定**——改为检查信息密度、视觉节奏、收尾实用 +- **非剧情类内容(中/弱情感铺垫)不得对「情感功能位闭环」「全场多维度」「每场留白」「蓄力释放」等仅适用强情感铺垫的项目做不通过判定**——改为检查留人密度、视觉节奏、收尾实用 - 各维度诊断知识参考: · 爆款要素维度 → `知识库/04_爆款开场/` 全部文件(钩子强度评分基准) · 结构完整性 → `知识库/03_框架节奏/06_编导终审验收标准.md`(五条硬性标准) · 人设匹配度 → `知识库/08_对话风格/` 全部文件(说话风格一致性校验)+ 关怀行为服务标准校验(从人设卡片读取金牌标准,金牌型=预见式≥反应式) · 质量诊断方法 → `知识库/09_脚本诊断/AI可根据脚本直接检查_通用_质量检查.md` + `知识库/09_脚本诊断/AI提醒编导人工检查_通用_质量检查.md`(AI自动检查清单 + 人工提醒检查清单) · **情感表达专项** → `知识库/07_情绪共鸣/` 分块5(情绪递进设计:四类情绪·递进缺口判断)+ 分块6(情感铺垫设计:多维度表达·蓄力释放·留白法则)+ `知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md` - · **信息密度检查** → `知识库/05_极致事件/`(极致类型/维度作为密度参照,按人设卡片确定的赛道映射对应素材类型) + · **展开深度检查** → `知识库/05_极致事件/`(极致类型/标签作为密度参照,按人设卡片确定的赛道映射对应素材类型;类型→素材标签的转换见 `知识库/05_极致事件/01_极致类型-素材标签映射表.md`)+ `知识库/05_极致事件/03_极致事件评估标准.md`(评分 5 维 25 分 + 事前判定 5 步 + 避坑清单) · **故事成立性专项** → `知识库/09_脚本诊断/故事成立性校验_通用_逻辑检查.md`(三层:前提一致性/因果链条/动机合理性 + **数字账取证**)——剧情/悬念/反转类强制检查,逐场核对秘密曝光节点与 S5 故事前提是否一致、事件有无因果跳跃、角色行为有无动机铺垫、**全部数字串链取证核对(禁止心算通过)** 评分标准、评分锚点、合规扣分、通过标准 → 见上方「处理规则」,不再在 System Prompt 中重复定义。 @@ -337,7 +346,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严 | 类1 结构完整性 | 开头钩子/爆点贯穿/结尾收口/逻辑链条/设定承接/教程链 | ✅/❌ | … | | 类2 格式规范性 | 画面描述/景别/时长 | ✅/⚠️ | … | | 类3 台词口语化 | 书面词/长句/语气词/重复词/人设一致性 | ✅/❌ | … | -| 类4 节奏设计 | 钩子密度/信息密度/节奏变化 | ✅/⚠️ | … | +| 类4 节奏设计 | 留人密度/留人点类型覆盖/节奏变化 | ✅/⚠️ | … | | 类5 画面具体性 | 动作描述/场景/不可拍词 | ✅/⚠️ | … | | 类6 共鸣专项 | 类型命中/具象场景/自嗨检测/3问自检 | ✅/❌ | … | | 类7 内容合规 | 绝对化/承诺/数据来源/竞品/违禁词 | ✅/直接不过 | … | @@ -359,9 +368,10 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严 --- -## 二、信息密度检查 +## 二、展开深度检查 > 对标 L2 默认。不纳入四维度评分,但不通过项必须在 Gate-6 前修复。 +> 本模块管**展开深度数量**(具名物品/对话组/步骤链/环境细节);时间轴上的**留人密度**(每 10 秒 1 个留人点)见 `知识库/03_框架节奏/04_节奏控时叙事套路.md` 1.3。 | 检查项 | 标准 | 实际 | 结果 | 说明 | |--------|:---:|:---:|:---:|------| @@ -446,7 +456,7 @@ Gate-6 确认通过后,必须生成创作回顾.html。**页面板块顺序严 | 检查项 | 结果 | 评分依据 | 改进建议 | |--------|:---:|------|------| -| 信息密度(参见知识库 `03_框架节奏/04_` 对应当前赛道的信息密度标准) | ✅/❌ | [信息点分布和注水段标注] | [压缩/增加信息点方案] | +| 留人密度(口径见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 1.3) | ✅/❌ | [留人点分布和注水段标注] | [压缩/补齐留人点方案] | | 视觉节奏(切换与信息节奏匹配) | ✅/❌ | [切换频率与信息量对比] | [调整切换频率建议] | | 收尾实用有效(不强行升华) | ✅/❌ | [收尾方式是否匹配内容定位] | [改为实用收尾方案] | | 表达方式匹配 | ✅/❌ | [表达方式是否匹配内容形式] | [调整表达方式建议] | diff --git a/project/短视频脚本创作/V1.0/references/创作流程/7_生成短视频大纲.md b/project/短视频脚本创作/V1.0/references/创作流程/7_生成短视频大纲.md index 7d57243..adc174e 100644 --- a/project/短视频脚本创作/V1.0/references/创作流程/7_生成短视频大纲.md +++ b/project/短视频脚本创作/V1.0/references/创作流程/7_生成短视频大纲.md @@ -11,8 +11,13 @@ - 步骤6输出:情绪设计卡(弧线类型/情绪标注/情绪起伏/缺口自检)— 只引用不重做 - 步骤4输出:达人人设卡片(说话风格等约束) - 步骤2输出:若用户原始输入中已含大纲/完整段落(大纲草稿容器),以其为大纲生成的起点和约束(沿用 S2 归类表提取内容,标注来源;缺失则正常从步骤5/6生成) -- **知识库**:`references/知识库/` — 按赛道组织的方法论和标准。其中 `05_极致事件/` 定义极致类型(感官/戏剧)和极致维度,映射到对应素材类型,为大纲提供具名内容调取指引 -- **素材库**:`references/素材库/` — 8 个素材类型库 = 通用 7 库(01美食/03生活仪式/05装修布局/06生活服务/07穿搭/08妆容/11造型)+ 04 对话库(账号专属,实体存于账号产出根目录,标准库仅含分块定义)+ 各库分块定义。调取机制:知识库 05_极致事件的极致类型映射定库 → 账号适用场景筛条(四维标签:极致维度/适用场景/镜头维度/画面维度) +- **知识库(方法层 + 判定层)**:`references/知识库/` — 按赛道组织的方法论和标准。 + · **方法层**(怎么制造极致感):`05_极致事件/` 各创作体系(极致行为创作法 / 预期反转 / 荒诞化 / 抽象化 / 无厘头 / 错位化-反常化)+ `03_框架节奏/02_冲突叙事套路.md`、`03_反转叙事套路.md` —— **本步骤布位表的「候选创作方法」列取值来源** + · **判定层**(这是什么极致):`05_极致事件/00_总纲` 定义极致类型(感官/戏剧)+ `01_类型-素材标签映射表` 映射到素材标签 + `02_赛道形态` + `03_评估标准` +- **素材库(双层源)**:`references/素材库/` — 8 个素材类型库 = 通用 7 库(01美食/03生活仪式/05装修布局/06生活服务/07穿搭/08妆容/11造型)+ 04 对话库(账号专属,实体存于账号产出根目录,标准库仅含分块定义)+ 各库分块定义。 + · **主源 = WeKnora 检索**(极致事件卡 = 事件类素材,"期待→打破"完整闭环):按 `接口调用/WeKnora_极致事件检索.md` 契约取条;**不可用或零命中时静默降级**为下方文件源 + · **源与降级 = 文件**:`references/素材库/*.md`(**权威源,永不删除**),按四维标签筛条(极致标签/适用场景/镜头语言/画面风格) + · 统一调取链:**方法层定手法**(布位表「候选创作方法」列)→ **类型映射定库**(类型→标签转换见 `知识库/05_极致事件/01_极致类型-素材标签映射表.md`)→ **检索/筛条** → 复筛 → 转译 - **账号设定**:人设卡片中的账号专属信息(说话风格、记忆符号、服务标准、所属赛道等)作为创作约束,同时触发对应知识库和素材库的引用 ## 处理规则 @@ -55,15 +60,68 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 **极致触点节点布位(事件序列内,极致触点按叙事功能分配位置)**: -| 布位类型 | 出现节点 | 优先对应极致类型 | 作用 | -|---------|---------|----------------|------| -| 钩子型极致 | 前3秒(开场钩子场) | 极致行为(感官刺激/身份反差)、感官极致(视觉冲击/精度) | 无需铺垫一眼抓眼,3秒内可感知 | -| 留人型极致 | 第5-15秒(任务铺垫/波折推进场) | 戏剧极致(反转/冲突)、感官极致(专业深度) | 建立期待后打破,制造"想知道结果"的悬念 | -| 转粉型极致 | 结尾前3秒(留存闭环场) | 戏剧极致(共鸣/错位/克制)、极致行为(专属符号) | 情感升华或价值观输出,让观众记住这个人 | -| 传播型极致 | 任意节点 | 极致行为(专属符号)、戏剧极致(金句/名场面) | 可截图/二创/模仿的记忆点 | +| 布位类型 | 出现节点 | 优先对应极致类型(判定层) | 候选创作方法(方法层) | 作用 | +|---------|---------|----------------|----------------|------| +| 钩子型极致 | 前3秒(开场钩子场) | 极致行为(感官刺激/身份反差)、感官极致(视觉冲击/精度) | 极致行为四分类(感官刺激 / 身份反差 / 强度拉满 / 专属符号) | 无需铺垫一眼抓眼,3秒内可感知 | +| 留人型极致 | 第5-15秒(任务铺垫/波折推进场) | 戏剧极致(反转/冲突)、感官极致(专业深度) | 预期反转四载体(语言 / 行为 / 道具 / 环境误导)、冲突叙事套路(摩擦类型×人设对齐) | 建立期待后打破,制造"想知道结果"的悬念 | +| 转粉型极致 | 结尾前3秒(留存闭环场) | 戏剧极致(共鸣/错位/克制)、极致行为(专属符号) | 克制(隐性手法)、荒诞化、抽象化 | 情感升华或价值观输出,让观众记住这个人 | +| 传播型极致 | 任意节点 | 极致行为(专属符号)、戏剧极致(金句/名场面) | 无厘头、专属符号型 | 可截图/二创/模仿的记忆点 | +> 🔴 **两列分工(禁止混用)**:**候选创作方法**回答"用什么手法制造极致感"(取值来源 = `知识库/05_极致事件/` 各创作体系 + `知识库/03_框架节奏/02_冲突叙事套路.md`);**优先对应极致类型**回答"这是什么极致"(判定层,用于定库)。两列**都不是素材** —— 素材由下一小节「极致触点素材检索」按此二列取。 +> ⚠️ **调用方向自上而下,不得跳步直接取素材**:方法定手法 → 类型定判定 → 检索取素材。反向(先看有什么素材再想故事)属**素材驱动**,会导致内容与账号人设脱节。 > ⚠️ 布位是"用法"不是"素材属性":同一条素材(如"卡着进门时间上菜")放前3秒是钩子型、放中段是留人型——由节点位置决定,不在素材库标注布位类型。 > ⚠️ 密度闸门:全片极致触点每15-20秒至少1个;开场钩子场必须含至少1个钩子型极致触点;结尾收束场建议含1个转粉型极致触点(对接 S11「爆点贯穿」检查:开头+至少1次中后段)。 +> ⚠️ 表中「视觉冲击」是**素材库标签口径**(内容自带的第一眼效果),非 `10_分镜拍摄` 的拍摄手法。形式极致不计入极致事件,判据见 `知识库/05_极致事件/01_极致类型-素材标签映射表.md` 第四节。 + +**极致触点素材检索(布位定完 → 事件展开之前;按需触发)**: + +对上表列出的每个 L1 节点,先判定是否**需要机制样本支撑**: + +| 节点状态 | 动作 | +|:--|:--| +| 已能写出具体桥段 | **跳过检索**(不调用) | +| 写不出桥段 | 按下述契约检索(**通常一视频 1–3 次**,而非每节点必检) | + +调用契约全文见 `接口调用/WeKnora_极致事件检索.md`,要点: + +1. **调用**:工具 `hybrid_search`(MCP 服务 `weknora`);`kb_id` = `MCN极致事件素材库`(用库名,**禁写死 UUID**);`match_count` = **3**;`vector_threshold` = **0.5**(显式传);**不传** `keyword_threshold`(FAQ 库恒为纯向量召回)。**禁用 `chat`/`agent_chat`**(会摘要化卡片,丢失原话与细节)。 +2. **问法 —— 镜像式五要素**: + `「找一条 {①落差对象} {②打破方式} {③具象锚点} 的 {④段落功能} 型事件素材」` + · ② 取自本表「候选创作方法」列 +「优先对应极致类型」列 + · ③ **必须有**,取自本账号赛道与人设 + · ① 取自本场事件;④ 取自本表布位类型 + · ❌ 禁用纯抽象机制词(实测**零命中**);❌ 禁用赛道词当主检索词(库内 77.5% 为剧情赛道) +3. **返回判据**:`success=true 且 data=null` = **零命中,不是调用失败**(不重试、不报错);只读 `chunk_metadata.answers[0]`(卡片原文,同内容重复出现三份,其余为噪声)。 +4. **复筛与转译**:看卡片 `内容含义` 的落差结构 `[期待A]—被X打破→[结果B]` 是否与本节点**同构**(分数不参与判断),保留 **≤2 条/节点**;只取落差结构/手法类别/铺垫量级/镜头逻辑,**禁搬**原卡人物·身份·台词·道具(取材不取形,硬规则见 `创作流程规范.md` 六)。 +5. **降级**:MCP 未挂载 / 服务不可用 / 库不存在 / 零命中 → **静默回退** `references/素材库/*.md` 文件源(按四维标签筛条);零命中时退化为「仅用判定层类型子类」指引,**不编造素材**。 + +**注入格式(`{material_content}` 定死结构,检索后按此填)**: + +``` +【素材内容 · 来源:极致事件机制检索】 +(检索未启用/不可用时此段留空,改按 references/素材库/ 文件源填充) + +■ 节点① 开场钩子(0-3s)|布位:钩子型|方法:{候选创作方法}|类型:{极致类型}|机制来源:{卡编号 或 类型层子类} + · 落差结构:[期待A] —被X打破→ [结果B] + · 手法与铺垫量级:{手法类别} + 铺垫 短(≤3s) / 中(3-10s) / 长(>10s) + · 拍摄参考:{镜头语言} | {画面风格} + · 本账号转译:{换成本账号人/物/场景后的桥段} +``` + +> ⚠️ 注入内容**不含原卡人物名与台词**(转译在复筛后完成),避免污染 S9/S10/S11 与产出文件。 + +**留人点布位(每个 10 秒窗口 1 个,L2 层,中段留人主力)**: + +> 口径见 `知识库/03_框架节奏/04_节奏控时叙事套路.md` 1.3。**本场最少留人点数 = ⌈本场时长 ÷ 10⌉**;分赛道分档按该节执行(剧情/知识/口播/搞笑 = 10 秒;Vlog/美食/亲子/情侣 = 10-15 秒;沉浸/治愈/慢生活 = 15 秒)。 + +| 窗口 | 时间区间 | 留人点类型(五选一) | 一句话内容 | 对应事件 | +|:--:|:--:|------|------|------| +| ① | [X-Xs] | 悬念提问 / 反差画面 / 直击痛点 / 身份共鸣 / 利益承诺 | [画面方向或台词方向,须能回答"观众此刻的为什么"] | [事件序号] | +| ② | [X-Xs] | … | … | … | +| … | … | … | … | … | + +> ⚠️ **留人点 ≠ 极致触点(禁止混层)**:留人点是 L2(每 10 秒,靠"一个为什么"留人);极致触点是 L1(每 15-20 秒,靠"别人做不到"制造爆点)。两条布位**各自独立记录**,不得用极致触点充抵留人点数,也不得把普通留人点包装成极致触点。 +> ⚠️ **不计入留人点的三类**:纯信息陈述("接下来加两勺盐")、纯动作描述("她打开冰箱")、重复前文信息。 ### 展开深度标准(第二步强制约束,S7 创作前必须确认) @@ -81,6 +139,7 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 - □ 是否至少有 1 条完整服务/操作步骤链(≥ 3 步连贯操作)?—— 不满足则回到第二步重新展开 - □ 产品植入是否覆盖材质原理 + 使用场景(L2)或三维全覆盖(L3)? - □ 环境细节是否 ≥ 5 条(L2)?—— 灯光/材质/空间位置/物品陈列 +- □ **极致触点机制自检(新增)**:每个 L1 极致触点节点是否写得出 `[期待A] —被X打破→ [结果B]` 三件套?—— 写不出的节点**降级为普通情节**,不计入 L1 密度,须回到「极致触点素材检索」补机制或重设该节点 ### 第三步:场景预演(展开前必须完成) @@ -116,7 +175,7 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 【时长规划】总时长 + 各段分配 ┌─ 分段结构 ───────────────────────── -#### 开场·钩子(Xs-Ys)【钩子类型:反差/悬念/冲突/痛点/氛围/人设 | 开篇任务:引入人物/抛出问题/交代背景/设立目标】 +#### 开场·钩子(Xs-Ys)【钩子类型:悬念提问/反差画面/直击痛点/身份共鸣/利益承诺(五选一,口径同 S6 本场钩子)| 开篇任务:引入人物/抛出问题/交代背景/设立目标】 【画面方向】具体动作 —— 口播/旁白方向 【画面方向】具体动作 【画面方向】具体动作 @@ -127,25 +186,25 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 【画面方向】具体动作 —— 口播/旁白方向 【画面方向】具体动作 【画面方向】具体动作 - 【情绪:蓄力/承接/转折/释放 | 看点:看点描述】 + 【情绪:蓄力/承接/转折/释放 | 看点:看点描述 | 留人点:①(X-Xs)类型-内容 ②(X-Xs)类型-内容(数量 ≥ ⌈本场时长÷10⌉)】 #### 场2:[标题](Xs-Ys) 【画面方向】具体动作 —— 口播/旁白方向 【画面方向】具体动作 【画面方向】具体动作 - 【情绪:蓄力/承接/转折/释放 | 看点:看点描述】 + 【情绪:蓄力/承接/转折/释放 | 看点:看点描述 | 留人点:①(X-Xs)类型-内容 ②(X-Xs)类型-内容(数量 ≥ ⌈本场时长÷10⌉)】 #### 场3:[标题](Xs-Ys) 【画面方向】具体动作 —— 口播/旁白方向 【画面方向】具体动作 【画面方向】具体动作 - 【情绪:蓄力/承接/转折/释放 | 看点:看点描述】 + 【情绪:蓄力/承接/转折/释放 | 看点:看点描述 | 留人点:①(X-Xs)类型-内容 ②(X-Xs)类型-内容(数量 ≥ ⌈本场时长÷10⌉)】 #### 结尾·收束(Xs-Ys) 【画面方向】具体动作 —— 口播/旁白方向 【画面方向】具体动作 行动号召:[具体行动号召] / 结尾台词 - 【情绪:释放/承接/余韵 | 收尾类型:情感升华/留白/行动号召】 + 【情绪:释放/承接/余韵 | 收尾类型:情感升华/留白/行动号召 | 留人点:①(X-Xs)类型-内容】 > ⚠️ 情绪设计卡已移至 S6 框架阶段完成,S7 仅引用 S6 输出的情绪和情绪设计卡,不做重复设计。 @@ -155,13 +214,14 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 **大纲质量校验规则:** - 钩子有效性(满足三项):①3秒抓眼 ②贴合主题(非标题党)③开篇任务至少完成2项(引入人物/抛出问题/交代背景/设立目标) -- **极致触点布位检查**:开场钩子场含 ≥1 个钩子型极致触点(3秒内可感知);全片每15-20秒至少1个极致触点;结尾收束场建议含 ≥1 个转粉型极致触点(见本步骤「极致触点节点布位」表) +- **极致触点布位检查(L1,爆点)**:开场钩子场含 ≥1 个钩子型极致触点(3秒内可感知);全片每15-20秒至少1个极致触点;结尾收束场建议含 ≥1 个转粉型极致触点(见本步骤「极致触点节点布位」表) +- **极致触点机制检查(L1,可核查)**:每个 L1 节点须同时满足 ① 已在布位表选明「候选创作方法」② 写得出 `[期待A] —被X打破→ [结果B]` 三件套 ③ 素材注入的「本账号转译」已换成本账号人/物/场景(无原卡人物·台词·道具残留)。三项缺一即不通过 —— 该节点降级为普通情节,不得充抵 L1 密度 +- **留人点布位检查(L2,硬闸门)**:逐场核对「留人点数 ≥ ⌈本场时长 ÷ 10⌉」(分赛道分档见 `知识库/03_框架节奏/04_节奏控时叙事套路.md` 1.3);**不达标即打回 S6 该场补齐,不得带缺口进入 S9**;全片留人点类型至少覆盖 2 类(见本步骤「留人点布位」表) - 钩子类型须有明确选择 + 具体台词,不写模糊描述 - ⚠️ 每段必须有 3-5 条可拍摄事件,每条含「【画面方向】动作 —— 口播/旁白/台词方向」,禁止只写一句抽象概述 -- 中段段落数与信息点密度:参见知识库 `03_框架节奏/` 中对应当前赛道的结构模板和节奏控时标准 -- 看点密度:参见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 中对应当前赛道的信息密度和转折频率标准 +- 中段段落数:参见知识库 `03_框架节奏/01_标准爆款结构模板.md` 中对应当前赛道的结构模板 - 标题须有2个版本,差异化显著 -- **信息密度检查**(对标 L2 默认,参见本步骤「展开深度标准」): +- **展开深度检查**(对标 L2 默认,参见本步骤「展开深度标准」): - □ 具名物品数 ≥ 12 个(含品牌名/材质/型号等,统计整个大纲) - □ 完整对话组数 ≥ 4 组(每组至少 2 句有来有回) - □ 服务/操作步骤链 ≥ 1 条(≥ 3 步连贯操作) @@ -195,7 +255,7 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 2. 根据内容形式和时长,选择最优结构模板(三段式/五段式) 3. **先做场景预演**:在展开每场事件前,先描述关键场景的画面(空间/灯光/人物位置/显眼细节) 4. 基于选定的结构模板展开分段结构,匹配钩子类型 -5. **调取素材填充细节**:按知识库/05_极致事件/确定的极致类型和维度,调取对应素材内容填充大纲,从人设卡片中获取账号专属信息 +5. **调取素材填充细节**:按「方法定手法 → 类型定判定 → 检索取素材」的顺序调取——先在布位表选定**候选创作方法**(方法层)与**极致类型**(判定层),再按 `接口调用/WeKnora_极致事件检索.md` 契约检索事件类素材、从素材库文件源取载体类,填充大纲;账号专属信息从人设卡片获取 6. 生成2版差异化视频标题 7. 标注广告植入占位 8. 完成合规自检+密度自检 @@ -205,7 +265,7 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 - ⚠️ 事件展开规则:S6 场次结构表的「事件」列为规划概述(每场 3-5 条),S7 必须将其展开为具体可拍摄的事件序列——每条含「【画面方向】具体动作 —— 口播/旁白/台词方向」,禁止只写一句抽象概述 - **展开深度标准**:默认等级 = L2。每条事件必须达到「编导拿到就能拍」的密度——具名物品(品牌/材质/型号)、完整对话台词、服务/操作步骤链(≥ 3 步)、环境细节(灯光/材质/位置)、产品植入(材质原理+使用场景)。参见本步骤「展开深度标准」三级标准 - **场景预演**:在展开每场事件序列之前,先在内部完成该场关键场景的文字预演(空间/时间/灯光/人物位置/最显眼的 3 个细节),再基于预演画面写出事件序列。预演内容不写入最终大纲 -- **素材使用**:按知识库/05_极致事件/确定的极致类型调取对应素材内容填充大纲,而非从零推断。极致类型(感官/戏剧)映射到具体素材类型,参见素材库/分块定义/。所有具名内容必须有品牌/材质/型号等具体信息,禁止泛称 +- **素材使用**:**先方法后素材**——先按布位表选明「候选创作方法」(取值来源 `知识库/05_极致事件/` 各创作体系 + `知识库/03_框架节奏/02_冲突叙事套路.md`)与「优先对应极致类型」,再调取素材填充大纲,而非从零推断、也不得先看素材再编故事。检索契约(工具/参数/镜像式五要素问法/返回判据/复筛转译/降级)见 `接口调用/WeKnora_极致事件检索.md`;极致类型(感官/戏剧/极致行为)→ 素材标签的转换见 `知识库/05_极致事件/01_极致类型-素材标签映射表.md`;标签 → 素材类型的对应见素材库/分块定义/。极致事件判定 5 步与避坑清单见 `知识库/05_极致事件/03_极致事件评估标准.md`。所有具名内容必须有品牌/材质/型号等具体信息,禁止泛称 - 结构模板选择规则:知识分享/技能展示/15s内→三段式,Vlog/剧情/测评/30s+→五段式 - 钩子类型须回扣 S5 选题方案中的「开场钩子」,不另起炉灶 - 叙事模型必须明确选择一种,须与框架方案的爆款逻辑一致 @@ -222,6 +282,9 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 - 不得使用泛称替代具名内容——所有物品必须有品牌/材质/型号等具体信息(禁止"一个枕头""一瓶喷雾"等泛称),按知识库指引调取而非从零推断 - 不得用概要式对话替代完整台词(如"她表达了感谢""他说他很贴心"),必须展开为「角色名(语气):具体台词」,一组对话至少 2 句有来有回 - 不得用概括替代操作步骤链(如"认真做饭""收拾房间"),必须拆解为 ≥3 步连贯动作(做什么 → 怎么做 → 细节) +- 不得跳过「候选创作方法」列直接检索素材——必须先定手法(方法层)与判定(类型层),再取素材;禁止素材驱动(先看有什么素材再倒推故事) +- 不得把检索到的卡片原文直接搬进大纲——复筛后必须转译,原卡的人物/身份/台词/道具一律换成本账号的(取材不取形) +- 不得因检索零命中而编造素材——零命中即降级为「仅用判定层类型子类」指引,且需在机制自检中如实标注 - 不得跳过密度自检直接提交 - 不得在已有选题开场钩子的情况下重新设计钩子方向 - 不得偏离 S6 场次结构展开表中的时长区间和情绪弧线 @@ -248,7 +311,7 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 【达人人设】 {persona_card} -【素材内容】(由编排层根据知识库/05_极致事件/极致类型映射注入,含具名物品和事实性知识,不得从零推断) +【素材内容】(由本步骤「极致触点素材检索」按 `接口调用/WeKnora_极致事件检索.md` 契约检索并**转译**后注入;检索未启用/不可用时改按 `references/素材库/` 文件源填充。含具名物品和事实性知识,不得从零推断;注入内容**不得出现原卡人物名与台词**) {material_content} 【广告Brief】(如有) @@ -298,25 +361,25 @@ S6 场次结构表「事件」列是规划概述(如「准备场景 → 核心 【画面方向】具体动作 —— 口播/旁白/台词方向 【画面方向】具体动作 【画面方向】具体动作 - 【情绪:蓄力/承接/转折/释放 | 看点:看点描述】 + 【情绪:蓄力/承接/转折/释放 | 看点:看点描述 | 留人点:①(X-Xs)类型-内容 ②(X-Xs)类型-内容(数量 ≥ ⌈本场时长÷10⌉)】 #### 场2:[子标题]([X]s-[X]s) 【画面方向】具体动作 —— 口播/旁白/台词方向 【画面方向】具体动作 【画面方向】具体动作 - 【情绪:蓄力/承接/转折/释放 | 看点:看点描述】 + 【情绪:蓄力/承接/转折/释放 | 看点:看点描述 | 留人点:①(X-Xs)类型-内容 ②(X-Xs)类型-内容(数量 ≥ ⌈本场时长÷10⌉)】 #### 场3:[子标题]([X]s-[X]s) 【画面方向】具体动作 —— 口播/旁白/台词方向 【画面方向】具体动作 【画面方向】具体动作 - 【情绪:蓄力/承接/转折/释放 | 看点:看点描述】 + 【情绪:蓄力/承接/转折/释放 | 看点:看点描述 | 留人点:①(X-Xs)类型-内容 ②(X-Xs)类型-内容(数量 ≥ ⌈本场时长÷10⌉)】 #### 结尾·收束([X]s-[X]s) 【画面方向】具体动作 —— 口播/旁白/台词方向 【画面方向】具体动作 行动号召:[具体行动号召] / 结尾台词 - 【情绪:释放/承接/余韵 | 收尾类型:情感升华/留白/行动号召】 + 【情绪:释放/承接/余韵 | 收尾类型:情感升华/留白/行动号召 | 留人点:①(X-Xs)类型-内容】 ### 广告植入占位 | 位置 | 时间节点 | 对应段落 | 建议植入形式 | 预留台词空间 | diff --git a/project/短视频脚本创作/V1.0/references/创作流程/9_生成短视频脚本.md b/project/短视频脚本创作/V1.0/references/创作流程/9_生成短视频脚本.md index 6640d3b..abd82b5 100644 --- a/project/短视频脚本创作/V1.0/references/创作流程/9_生成短视频脚本.md +++ b/project/短视频脚本创作/V1.0/references/创作流程/9_生成短视频脚本.md @@ -9,6 +9,7 @@ - 步骤6输出:情绪设计卡(弧线类型、情绪标注、情绪起伏、缺口自检——硬约束,S9 只演绎不重做) - 步骤7输出:短视频大纲(结构模板、分段结构、钩子类型) - 步骤8输出:广告植入方案(逐点台词、画面描述) +- 步骤7输出(可选):**素材注入 `{material_cards}`** —— S7「极致触点素材检索」复筛保留的卡片(含 `极致内容` 的真实毛边:**原话 / 无修饰微反应 / 意外**)。**仅作台词具象化的范式参考**(见处理规则「台词毛边三档参考」),不得照搬卡片原文、不得改变 S7 已定的桥段与人设 - 步骤4输出:达人人设卡片(说话风格、口头禅约束) ## 处理规则 @@ -97,6 +98,18 @@ > **段落符号规则**:S9 脚本使用连续自然段落书写,不使用列表符号(`- `)。动作叙述、对白、闪回、空镜均以自然段落承载。表格(如账本/清单等纯数据展示)保留表格格式。 +**3.1 台词毛边三档参考(治「台词概括化」):** + +> 来源:S7「极致触点素材检索」注入的 `{material_cards}`(可选)。**只借范式,不借句子** —— 严禁照搬卡片原文的人物、台词、道具(取材不取形)。 + +| 档 | 做法 | 从卡片学什么 | 反例 → 正例 | +|:--:|:--|:--|:--| +| **原话** | 用真实口语替代书面语 | 卡片 `极致内容` 里角色的**原话**(含语气词、方言、口误、半截话) | 「他表示不同意」→「我可没签字啊」 | +| **微反应** | 用无修饰的身体反应替代心理描写 | 卡片的**微反应**写法(那只一直没停过的手、瞳孔一缩、嘴角挑一下) | 「他心里很嫌弃」→「他手指在桌沿敲了两下,嘴角往上挑」 | +| **意外** | 用计划外的打断替代顺拐推进 | 卡片的**意外**(扣子崩了、瓶子砸在台面上、门外有人喊) | 「她拒绝了」→「她刚张嘴,隔壁桌的碗摔了」 | + +> ⚠️ 三档是**质量参考**不是内容来源:脚本的桥段与人设由 S7 大纲与 S6 情绪设计决定,`{material_cards}` 只影响「怎么说」的颗粒度,**不得影响「说什么」**。 + ### ⚠️ 慎用补充:后期元素 以下行类型属于**后期制作元素**,脚本创作阶段慎用。脚本的核心是**故事内容演绎**——角色的行为、对话和情绪推进。花字、字幕应留给剪辑阶段根据实际素材设计,不应在脚本阶段过度规划。仅在确有必要提示后期方向时少量使用: @@ -148,7 +161,7 @@ ③ 开场方式选择标准:凡能引起观看兴趣的方式(悬念/冲突/共鸣/反差/高光/提问等)均可,按 S6 已定开场场次、选题、赛道、人设、内容匹配度选择,不设类型禁区 ④ 若 S6 已决策用「高潮前置倒叙」开场(S6 复盘「高潮前置判定」须已通过):S9 按 S6 定的前置片段演绎——只呈现「结果切片」(≤1-2 秒快闪 + 时间标记),不得展开完整桥段/对白/示众,不得泄露核心秘密,不得把全片最大反转/情绪顶点提前完整演完。判定与避坑详见 `知识库/04_爆款开场/05_高潮前置倒叙开场.md` 两种方式均**禁止**:渐进式铺垫、自我介绍式闲谈、无信息空镜 -- 信息密度:每 10 秒至少 1 个新信息(新人物/新冲突/新技巧/新信息点),参见知识库 `03_框架节奏/04_节奏控时叙事套路.md`;**所有情感铺垫等级均执行(不再分级跳过)** +- 留人密度:每 10 秒至少 1 个留人点(新信息 + 至少一类留人机制,不能只是纯信息陈述/纯动作描述),判据与分赛道分档见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 1.3;**所有情感铺垫等级均执行(不再分级跳过)** - 广告植入场次:是否严格对齐广告植入大纲中的口播台词 - 人设一致性:说话风格、口头禅是否贯穿全片 - 画面可执行性:镜头调度和人物动作是否具体可落地 @@ -248,7 +261,7 @@ · 情感铺垫等级从 S6 框架方案的「情感铺垫等级」字段原样继承,S9 无权限修改 · 强情感铺垫:执行完整情绪工程——四类情绪闭环 + 多维度全场覆盖 + 蓄力释放映射 + 每场留白 + 行为暗示 · 中情感铺垫:执行轻情绪管理——体验递进优先 + 关键场景多维度(至少2通道) + 释放场留白 + 不强制蓄力释放 - · 弱情感铺垫:执行信息/视觉优先——信息密度优先 + 不强制多维度(关键处用2通道即可) + 不强制留白 + 不检查蓄力释放 + 收尾实用不升华 + · 弱情感铺垫:执行信息/视觉优先——留人密度优先 + 不强制多维度(关键处用2通道即可) + 不强制留白 + 不检查蓄力释放 + 收尾实用不升华 - **台词体裁标注规则(强制)**: · 每场台词的体裁标签(口播/对白/旁白)必须对齐 S6 框架阶段确定的叙事驱动模式 · 事件驱动 → 台词标「对白」或「口播」,**严禁**标「旁白」 @@ -274,7 +287,7 @@ - **蓄力释放可选**:有自然情感线时可做轻量蓄力→释放,不强制闭环 **_弱情感铺垫(信息/视觉优先):_** -- **信息密度优先**:信息更新和视觉刺激频率参见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 中对应当前赛道的信息密度标准 +- **留人密度优先**:信息更新和视觉刺激频率参见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 中对应当前赛道的留人密度标准 - **轻量多通道**:关键信息点用2个通道表达即可(如"字幕+画面"、"口播+手势"),不要求全场多维度 - **不强制留白**:弱情感铺垫内容节奏紧凑,留白会打断信息流,不要求每场留白 - **不要求蓄力释放**:弱情感铺垫内容的情感目标是"获得信息"而非"获得情感释放" @@ -438,7 +451,7 @@ **_通用(所有等级):_** - □ 钩子场次(前3秒):按账号调性执行——强钩子类=信息前置画面法(首帧身份画面→反差/机制信息→动作高潮第1秒,口播≤2句);氛围铺垫类=情绪画面+旁白但前3秒有明确信息锚点;**无渐进式铺垫/闲谈/空镜** -- □ 信息密度:每10秒至少1个新信息(**所有等级必查**,参见知识库 `03_框架节奏/04_` 对应当前赛道标准) +- □ 留人密度:每10秒至少1个留人点(**所有等级必查**,判据与分赛道分档见知识库 `03_框架节奏/04_节奏控时叙事套路.md` 1.3) - □ 广告植入:口播台词严格对齐广告植入大纲 - □ 人设一致性:说话风格、口头禅贯穿全片 - □ 场景可执行:每个场次有明确的行为推进(角色在哪里、做了什么、情绪如何变化),无空洞叙述 diff --git a/project/短视频脚本创作/V1.0/references/接口调用/WeKnora_极致事件检索.md b/project/短视频脚本创作/V1.0/references/接口调用/WeKnora_极致事件检索.md new file mode 100644 index 0000000..c70186e --- /dev/null +++ b/project/短视频脚本创作/V1.0/references/接口调用/WeKnora_极致事件检索.md @@ -0,0 +1,150 @@ +# WeKnora 极致事件检索规范 + +> 维度:接口调用 | 定位:**S7「极致触点素材检索」的调用契约** +> 依赖 MCP 服务:`weknora`(工具 `hybrid_search`);**不可用时静默降级**(见 §5),不影响 S1-S11 核心创作流程 +> 上游串联:`../知识库/05_极致事件/00_极致事件总纲.md`(类型层判定)→ `../知识库/05_极致事件/01_极致类型-素材标签映射表.md`(类型↔标签)→ **本文件(检索取条)** +> 变更(2026-09-24):新建。素材层由「读 md 文件 + 四维标签筛条」切换为「WeKnora 语义检索(主)+ md 源文件(降级)」;实测依据见 §7。 + +--- + +## 一、定位:本规范解决什么 + +| 层 | 文件 | 回答 | +|:--|:--|:--| +| 方法层 | `../知识库/05_极致事件/` 各创作体系 + `../知识库/03_框架节奏/02_冲突叙事套路.md` | 这场**用什么手法**制造极致感 | +| 判定层 | `00_总纲` / `01_映射表` / `02_赛道形态` / `03_评估标准` | 这**是什么**极致、定哪个库 | +| **检索层** | **本文件** | **怎么取到**可参考的事件素材 | +| 素材层 | WeKnora 容器(主)+ `../素材库/*.md`(源与降级) | 取到**什么材料** | + +> 🔴 **调用方向自上而下**:方法 → 判定 → 素材。**不得反向**(先看有什么素材再想故事=素材驱动,会导致内容与账号人设脱节)。 + +--- + +## 二、调用:工具与参数 + +``` +工具:hybrid_search(MCP 服务 weknora) +``` + +| 参数 | 取值 | 说明 | +|:--|:--|:--| +| `kb_id` | `MCN极致事件素材库` | **用库名**(服务自动解析),**禁写死 UUID** | +| `query` | 镜像式五要素问法(见 §3) | 唯一召回杠杆 | +| `match_count` | **3** | 默认 5;压到 3 以控上下文(见 §6) | +| `vector_threshold` | **0.5**(显式传) | 默认恰为 0.5,仍显式传以防版本变化;**不得调高**(提到 0.6 会大面积漏召) | +| `keyword_threshold` | ❌ **不传** | FAQ 库恒为**纯向量**召回,关键词不参与 | + +> ⚠️ **禁用 `chat` / `agent_chat` 替代**:二者走 RAG+LLM 总结,会把卡片**摘要化**——而卡片的价值恰在不可概括的细节(原话、微反应、铺垫量级、镜头语言)。**必须用 `hybrid_search` 取卡片原文。** + +--- + +## 三、问法:镜像式五要素 + +> 核心原则:**问法要与库内标准问的语域同构**(库内标准问即"编导检索意图句")。 + +``` +「找一条 {①落差对象} {②打破方式} {③具象锚点} 的 {④段落功能} 型事件素材」 +``` + +| 要素 | 来源 | 示例 | +|:--:|:--|:--| +| ① 落差对象 | S7 布位表节点 + S6 场次事件 | 被当场刁难的人 / 等了一整天的人 | +| ② 打破方式 | **方法层**(见 §一 表格左列) | 用一连串专业细节把对方顶回去 | +| ③ 具象锚点 | **必须有**,取自本账号赛道与人设 | 厨房 / 接送孩子 / 试妆镜前 | +| ④ 段落功能 | 布位表四型之一 | 钩子型 / 留人型 / 转粉型 | + +### 3.1 三条禁忌(实测支撑) + +| 禁忌 | 后果 | +|:--|:--| +| ❌ 纯抽象机制词("制造反差""引起共鸣") | **零命中**(实测:"一句话让所有人都沉默了,因为谁都没法反驳" → `data: null`) | +| ❌ 赛道词当主检索词("亲子""美妆") | 库内 **77.5% 为剧情赛道**,赛道词检索只会落到极少数条且分数低。赛道词只作为③具象锚点的一部分 | +| ❌ 依赖 `CustomMetadata` 过滤 | **不参与过滤**(实测)。想收敛范围只能靠 query 语义 + 检索后复筛 | + +--- + +## 四、返回值判据(三个必知行为) + +### 4.1 零命中不是错误 + +```json +{ "data": null, "success": true } ← 零命中 +``` + +> 判据:**`success == true 且 data == null` → 零命中**。 +> ❌ 不得判为"调用失败";✅ 不重试、不报错,直接走 §5 降级。 + +### 4.2 同一张卡内容返回三份 + +| 字段 | 内容 | 处理 | +|:--|:--|:--| +| `chunk_metadata.answers[0]` | **卡片原文** | ✅ **只读这一份** | +| `content` | 标准问 + 相似问 + Answers 拼接 | ❌ 噪声 | +| `matched_content` | 又一份全文 | ❌ 噪声 | +| `chunk_metadata.standard_question` / `similar_questions` / `negative_questions` | 问法(生产信息) | ❌ 创作时无用 | + +### 4.3 复筛与转译 + +| 步 | 动作 | 判据 | +|:--:|:--|:--| +| 1 | 读 `chunk_metadata.answers[0]` | 只读这一份 | +| 2 | **复筛** | 看卡片 `内容含义` 的落差结构 `[期待A]—被X打破→[结果B]` 是否与本节点**同构**;不同构直接弃。**分数不参与判断**(存在「泛化磁铁卡」会挤占 top1) | +| 3 | 保留 | **≤2 条/节点** | +| 4 | **转译** | 只取落差结构 / 手法类别 / 铺垫量级(短≤3s·中3-10s·长>10s)/ 镜头逻辑;**禁搬**人物·身份·台词·道具(取材不取形,硬规则见 `../创作流程规范.md` 六) | + +> 🔴 卡片来自**他人账号**的具体桥段,直接搬用 = 抄袭且违反硬编码禁止规则。转译产物必须换成本账号的具象锚点(人设卡身份 + 本赛道物品),写入大纲时不留原卡痕迹。 + +--- + +## 五、降级矩阵(P0) + +| 情形 | 判据 | 行为 | +|:--|:--|:--| +| 会话未挂载 weknora MCP | 工具不可用 | 静默回退读 `../素材库/*.md`(**md = 权威源,永不删除**) | +| 服务不可用(容器未启动 / 用户环境无服务) | 调用报错或超时 | 同上 | +| 库不存在 | 返回错误 | 视为未启用,全流程与原行为一致 | +| **零命中** | `success=true 且 data=null` | 退化为「仅用判定层类型子类」指引;**不编造素材**、不重试 | + +> **能力探测式**:先试图检索 → 失败/零命中 → 降级。**既不假定可用,也不假定不可用。** +> 与 `SKILL.md`「MCP 不可用时不影响核心创作流程(步骤 1-11)」原则一致。 + +--- + +## 六、上下文成本控制 + +单条卡约 3.5–4KB(因 §4.2 的三份重复)× `match_count`: + +| `match_count` | 单次返回 | 一视频 3 节点 | 一视频 5 节点 | +|:--:|:--:|:--:|:--:| +| 5(默认) | ~18KB ≈ 6K tokens | ~18K | ~30K | +| **3(本规范取值)** | **~11KB ≈ 3.5K tokens** | ~10K | ~18K | + +**三条控制规则**: + +1. **`match_count=3`**,复筛后留 ≤2 —— 不追求多召回(泛化磁铁卡会挤进前列); +2. **按需检索** —— 只对「规划时想不出具体桥段的节点」检索;**已有明确桥段的节点跳过**(通常一视频 1–3 次,而非每节点必检); +3. **串行、读后即弃** —— 一次只检索一个节点,读卡 → 转译 → 丢弃原文,不把多节点结果堆积在上下文里。 + +--- + +## 七、实测依据(2026-09-24) + +| 项 | 结果 | +|:--|:--| +| MCP 可召回 FAQ 库 | ✅ `hybrid_search(kb_id="MCN极致事件素材库", query="被当场刁难的人,用一连串专业细节一步步把对方顶回去")` → 命中 `28325-3`,`score=0.6058205716953738` | +| 与 REST 路径等价 | ✅ 同 query 分数与 `POST /api/v1/knowledge-bases/{KB}/faq/search` **完全一致** | +| `kb_id` 支持库名 | ✅ 无需 UUID | +| 纯抽象问法 | ❌ `data: null`(零命中) | +| 具象机制问法 | ✅ 0.50–0.61 区间,最高 0.6058 | +| 库内库存 | 240 条事件卡;赛道分布剧情 186(77.5%)/ 生活vlog 38 / 旅行 6 / 小剧场 3 / 亲子 3 / 明星娱乐 3 / 搞笑短剧 1;**感官沉浸、氛围沉浸 = 0 条** | + +--- + +## 八、与其他接口的分工 + +| 路径 | 使用者 | 场景 | +|:--|:--|:--| +| **MCP `hybrid_search`** | AI 会话(S7 执行时) | 创作端单次检索,每视频 1–3 次 | +| REST `/faq/search` | `tools/weknora-ingest/*.py`(项目侧,**不入技能包**) | 生产端:批量导入 + 检索终验;导入通道独占(dry_run 须轮询 completed) | + +> 🔴 MCP 服务地址与 API Key 属**环境配置**,只存在于 `~/.workbuddy/mcp.json`(项目侧 `tools/` 文档内),**不得写入本技能任何文件**。 diff --git a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/抽象化创作体系(星爷 + 沈腾喜剧手法)_通用_内容设计.md b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/抽象化创作体系(星爷 + 沈腾喜剧手法)_通用_内容设计.md index 965d7a9..9086484 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/抽象化创作体系(星爷 + 沈腾喜剧手法)_通用_内容设计.md +++ b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/抽象化创作体系(星爷 + 沈腾喜剧手法)_通用_内容设计.md @@ -28,3 +28,8 @@ - 金句:「寻常的事件用不寻常的行为去做,就是爆款的密码」 --- + +> **素材供给**(配合 `接口调用/WeKnora_极致事件检索.md` 检索取条) +> · **极致标签**:`自嘲反差` · `反差` —— 映射依据 `01_极致类型-素材标签映射表.md`「喜剧 / 荒诞」行 +> · **定库(检索入口)**:`04 对话库` / `03 生活仪式库`;跨库时按事件标签在 03/04 找载体 +> · **问法「② 打破方式」填法**:用**不寻常的行为处理寻常的事**(抽象化的落差发生在"行为 × 事情"的错配上) diff --git a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/无厘头创作体系(卓别林喜剧手法)_通用_内容设计.md b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/无厘头创作体系(卓别林喜剧手法)_通用_内容设计.md index c58e422..71164b8 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/无厘头创作体系(卓别林喜剧手法)_通用_内容设计.md +++ b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/无厘头创作体系(卓别林喜剧手法)_通用_内容设计.md @@ -49,3 +49,8 @@ > 没有内核的反差只是哗众取宠,用户看完就忘;有内核的反差才能形成记忆点。 --- + +> **素材供给**(配合 `接口调用/WeKnora_极致事件检索.md` 检索取条) +> · **极致标签**:`自嘲反差` · `反差` —— 映射依据 `01_极致类型-素材标签映射表.md`「喜剧 / 荒诞」行 +> · **定库(检索入口)**:`04 对话库` / `03 生活仪式库`;肢体/物理层面的失序以 `03` 场景为载体 +> · **问法「② 打破方式」填法**:用**肢体与物理层面的荒诞失序**(无厘头靠动作本身,不靠台词逻辑) diff --git a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/极致行为创作法_通用_内容设计.md b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/极致行为创作法_通用_内容设计.md index ab8a856..6df235c 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/极致行为创作法_通用_内容设计.md +++ b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/极致行为创作法_通用_内容设计.md @@ -9,6 +9,10 @@ 用打破赛道常规展示形式的**强差异化动作/表达**,3秒抓眼。极致行为是「3秒抓注意力」的功能位极致,横跨戏剧/感官两大类型。 +> ⚠️ **3 秒抓眼是必要非充分条件**:还须满足**「行为与身份/赛道的强绑定」**——行为必须真的**打破该赛道的常规展示形式**。 +> 判据:**把同样的动作搬到另一个赛道还成立吗?** 成立 → 不构成极致行为。 +> 反例:咆哮式讲留学 = 极致行为(知识赛道本应平静输出);咆哮式卖货 ≠ 极致行为(直播带货赛道本就允许高音量)。 + ### 四分类(对应4种注意力触发逻辑) | 细分类型 | 核心逻辑 | 触发机制 | 典型案例 | 适用场景 | @@ -35,3 +39,11 @@ | 突破公序良俗 | 虐动物/浪费粮食/挑战道德底线 | 会被平台限流甚至封号,动作必须在底线内 | | 与人设脱节 | 温柔治愈系博主突然咆哮 | 极致行为须符合人设底层逻辑,否则掉粉 | | 形式大于内容 | 只有夸张动作,无干货/情感/价值 | 动作必须有价值锚点,否则赞高但涨粉不动 | + +--- + +> **素材供给**(配合 `接口调用/WeKnora_极致事件检索.md` 检索取条) +> · **极致标签**:**不映射** —— 极致行为属**表达形式层**,是对素材的「用法」而非素材的形态标签(见 `01_极致类型-素材标签映射表.md`「极致行为」行) +> · **定库(检索入口)**:`—(横切未定)`;**按事件标签跨库找载体**(如旅游事件按 `反常识 + 反差` 在 03 / 04 库找) +> · **问法「② 打破方式」填法**:本方法提供的是"用法"而非"机制",检索时改填**载体事件自身的打破方式**;布位(钩子型等)交由 S7 布位表判定 +> · ⚠️ **反例**:不得把「极致行为」当标签值去检索 —— 标签层(12 维)无此值 diff --git a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/荒诞化创作体系(沈腾喜剧手法)_通用_内容设计.md b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/荒诞化创作体系(沈腾喜剧手法)_通用_内容设计.md index 27f4afb..5c2eb14 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/荒诞化创作体系(沈腾喜剧手法)_通用_内容设计.md +++ b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/荒诞化创作体系(沈腾喜剧手法)_通用_内容设计.md @@ -47,3 +47,8 @@ | 20-25s | 互动留钩 | 引导评论或留追更钩子 | 用户看完有强烈的评论/追更欲望 | --- + +> **素材供给**(配合 `接口调用/WeKnora_极致事件检索.md` 检索取条) +> · **极致标签**:`自嘲反差` · `反差` —— 映射依据 `01_极致类型-素材标签映射表.md`「喜剧 / 荒诞」行 +> · **定库(检索入口)**:`04 对话库` / `03 生活仪式库`;荒诞情境多挂 03 的日常场景 +> · **问法「② 打破方式」填法**:用**前置抛出的荒诞情境**(荒诞化的落差在"情境合理性"被 0-3s 直接击穿) diff --git a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/错位化-反常化创作体系(本山 + 憨豆喜剧手法)_通用_内容设计.md b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/错位化-反常化创作体系(本山 + 憨豆喜剧手法)_通用_内容设计.md index eb42a9f..a73a392 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/错位化-反常化创作体系(本山 + 憨豆喜剧手法)_通用_内容设计.md +++ b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/错位化-反常化创作体系(本山 + 憨豆喜剧手法)_通用_内容设计.md @@ -32,3 +32,8 @@ | 反转 × 荒诞 × 无厘头 | 超级爆款组合 | @疯狂小杨哥「预期反转 + 兄弟荒诞 + 无厘头带货」 | --- + +> **素材供给**(配合 `接口调用/WeKnora_极致事件检索.md` 检索取条) +> · **极致标签**:`反常识` · `反差` —— 映射依据 `01_极致类型-素材标签映射表.md`「猎奇 / 错位」行 +> · **定库(检索入口)**:`04 对话库` / `03 生活仪式库` / `07 穿搭库` / `08 妆容库` / `11 造型库` +> · **问法「② 打破方式」填法**:用**身份或场景与行为的错位**(错位化的落差发生在"本该如此"被违背的那一刻) diff --git a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/预期反转创作体系(星爷喜剧手法)_通用_冲突设计.md b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/预期反转创作体系(星爷喜剧手法)_通用_冲突设计.md index c7f9f1a..daf1713 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/预期反转创作体系(星爷喜剧手法)_通用_冲突设计.md +++ b/project/短视频脚本创作/V1.0/references/知识库/05_极致事件/预期反转创作体系(星爷喜剧手法)_通用_冲突设计.md @@ -58,3 +58,9 @@ | 为反转而反转 | 反转与核心内容无关 | 反转服务于内容主题,不能脱离赛道定位 | --- + +> **素材供给**(配合 `接口调用/WeKnora_极致事件检索.md` 检索取条) +> · **极致标签**:`反差` · `反常识` · `价值观冲击` —— 映射依据 `01_极致类型-素材标签映射表.md`「反转 / 冲突」行 +> · **定库(检索入口)**:`04 对话库` / `03 生活仪式库` / `07 穿搭库` / `08 妆容库` / `11 造型库` +> · **问法「② 打破方式」填法**:**四载体任选其一作落差来源** —— 语言误导 / 行为误导 / 道具误导 / 环境误导(对应本文 §2.2 十二种细分玩法),如"用道具的错位用途把期待砸掉" +> · **铺垫量级**:本文 §2.3 指定「前 3 秒铺垫 + 7-15 秒黄金反转节点」→ 检索时按 **铺垫 中(3-10s)** 取条 diff --git a/project/短视频脚本创作/V1.0/references/知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md b/project/短视频脚本创作/V1.0/references/知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md index e78693d..df80c2b 100644 --- a/project/短视频脚本创作/V1.0/references/知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md +++ b/project/短视频脚本创作/V1.0/references/知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md @@ -41,7 +41,7 @@ | 检查项 | 判断标准 | 判定 | 对应创作维度 | |--------|---------|------|-------------| | 开头钩子 | 前3秒有画面+动作+钩子 → 空泛叙述=不过 | 通过/不过 | 05_开场钩子 | -| 爆点贯穿 | 全片至少2次爆点(开头+至少1次中后段)→ 仅开头有=不过 | 通过/不过 | 13_极致事件 | +| 爆点贯穿 | ① **次数**:全片至少2次爆点(开头+至少1次中后段),仅开头有=不过;② **可溯源**:每个 L1 极致触点须能指到来源(检索卡/类型层子类/素材库条目),无来源=编造爆点;③ **落差三件套**:每个 L1 节点须写得出 `[期待A] —被X打破→ [结果B]`,写不出则降级为普通情节、不计入爆点次数;④ **转译合规**:检索卡的人物/身份/台词/道具不得原样出现(命中=P0 抄袭·硬编码) | 通过/不过 | 13_极致事件 | | 结尾收口 | 有明确的总结/话题/互动引导 → 戛然而止=不过 | 通过/不过 | 10_传播元素 | | 逻辑链条 | 前后因果关系清晰,无明显跳跃 → 逻辑混乱=不过 | 通过/不过 | 04_内容结构 | | 设定承接 | 人设卡中的记忆符号、行为决策、内容规则(含开场机制)在脚本中有体现 → 缺关键机制=不过 | 通过/不过 | 13_极致事件 | @@ -69,9 +69,9 @@ | 检查项 | 判断标准 | 判定 | 对应创作维度 | |--------|---------|------|-------------| -| 钩子密度 | 每15秒至少1个小钩子/转折点 → 平铺直叙段=不过 | 通过/不过 | 06_叙事节奏 | -| 信息密度 | 每10秒有新的有效信息 → 同信息重复=不过 | 通过/不过 | 06_叙事节奏 | -| 节奏变化 | 有快慢交替(短句轰炸↔长句铺陈)→ 全程一个节奏=提醒 | 提醒 | 06_叙事节奏 | +| 留人密度 | 每10秒至少1个留人点(新信息 + 至少一类留人机制;判据与分赛道分档见 `知识库/03_框架节奏/04_节奏控时叙事套路.md` 1.3)→ 平铺直叙段=不过 | 通过/不过 | 03_框架节奏 | +| 留人点类型覆盖 | 全片留人点覆盖「五类留人机制」中至少2类(悬念提问/反差画面/直击痛点/身份共鸣/利益承诺)→ 只有1类=提醒 | 提醒 | 03_框架节奏 | +| 节奏变化 | 有快慢交替(短句轰炸↔长句铺陈)→ 全程一个节奏=提醒 | 提醒 | 03_框架节奏 | #### 类5:画面具体性 diff --git a/project/短视频脚本创作/V1.0/references/索引_知识素材库.md b/project/短视频脚本创作/V1.0/references/索引_知识素材库.md index a23da06..111b5f5 100644 --- a/project/短视频脚本创作/V1.0/references/索引_知识素材库.md +++ b/project/短视频脚本创作/V1.0/references/索引_知识素材库.md @@ -55,10 +55,13 @@ | 09_行业轻揭秘开场.md | 学习教育/财富理财 | 口播/盘点 | 行业揭秘引发好奇的开场 | | 10_承诺收益开场.md | 学习教育/财富理财 | 口播/教程 | 直接承诺信息收益的开场 | -### 05_极致事件(7个) +### 05_极致事件(10个) | 文件名 | 适用赛道 | 适用叙事 | 核心内容 | |--------|---------|---------|---------| -| 00_极致事件总纲.md | 全赛道 | 全叙事 | 极致类型定义与索引(双重类型+极致行为,类型判定权威入口) | +| 00_极致事件总纲.md | 全赛道 | 全叙事 | 极致类型定义与索引(双重类型+极致行为,类型判定权威入口;含与素材库的层级关系说明) | +| 01_极致类型-素材标签映射表.md | 全赛道 | 全叙事 | **类型层↔标签层的桥**:知识库极致类型 → 素材库 12 维度的映射 + 反向检索索引 + 4 条边界裁决(视觉冲击 / 两个沉浸分工 / 三个反差类分工 / 戳中人心归属) | +| 02_赛道极致形态对照表.md | 全赛道 | 全叙事 | 12 个赛道的默认极致形态(味觉想象/认知颠覆/耗时精度…)及其归属类型层 | +| 03_极致事件评估标准.md | 全赛道 | 全叙事 | 事前判定 5 步(边界排除/路径判定/赛道对标/密度校验/真实性校验)+ 事后评分 5 维 25 分 + 避坑清单 5 条 | | 极致行为创作法_通用_内容设计.md | 全赛道 | 全叙事 | 极致行为四分类(感官刺激/身份反差/强度拉满/专属符号) | | 预期反转创作体系(星爷喜剧手法)_通用_冲突设计.md | 小剧场/明星娱乐 | 剧情演绎 | 预期反转式喜剧冲突设计 | | 荒诞化创作体系(沈腾喜剧手法)_通用_内容设计.md | 小剧场/明星娱乐 | 剧情演绎 | 荒诞化情境喜剧内容设计 | @@ -126,37 +129,50 @@ ## 二、素材库(references/素材库/) -### 美食赛道素材 -| 文件名 | 适用赛道 | 适用场景 | 核心内容 | -|--------|---------|---------|---------| -| 01_美食库_中式家常菜.md | 美食 | 日常/家庭/下饭 | 8道中式家常菜(红烧排骨/清蒸鲈鱼/糖醋里脊/番茄炒蛋/回锅肉/麻婆豆腐/干煸四季豆/蒜蓉西兰花),每道15字段(含镜头/画面维度) | -| 01_美食库_煲汤类.md | 美食 | 关怀/暖身/补身体 | 5道汤类(花胶炖土鸡汤/排骨莲藕汤/菌菇土鸡汤/番茄牛尾汤/冬瓜排骨汤),每道15字段(含镜头/画面维度) | -| 01_美食库_仪式感美食.md | 美食 | 仪式感/犒劳/庆祝 | 5道高颜值美食(和牛寿喜烧/和牛窝蛋煲仔饭/花青梅熟醉罗氏虾/刺身拼盘/战斧牛排),每道15字段(含镜头/画面维度) | -| 01_美食库_深夜宵夜.md | 美食 | 深夜/放松/社交 | 3道宵夜(葱油拌面/小龙虾/烤串拼盘),每道15字段(含镜头/画面维度) | +> 🔴 **素材双层源(09-24 起切换)**: +> · **主源 = WeKnora 检索**——容器 `MCN极致事件素材库`(**极致事件卡 = 事件类素材**,"期待→打破"完整闭环),调用契约见 `接口调用/WeKnora_极致事件检索.md`; +> · **源与降级 = 本目录文件**——检索不可用或零命中时**静默回退**至此,按四维标签筛条。**md 是素材权威源,永不删除**(用户环境无 WeKnora 服务); +> · **现有存量**:实素材仅 `01 美食库` 4 个文件共 **21 条**;**03/05/06/07/08/11 六个库只有字段结构、尚无实素材条目**(下表已逐一标注);04 对话库为账号专属(实体存账号产出目录)。 +> · **调用方向**:方法定手法 → 类型定判定 → 检索/筛条取素材(`05_极致事件` 类型↔标签映射见 `知识库/05_极致事件/01_极致类型-素材标签映射表.md`)。 -### 生活vlog/居家装修赛道素材 +### 美食赛道素材(✅ 有实素材) | 文件名 | 适用赛道 | 适用场景 | 核心内容 | |--------|---------|---------|---------| -| 03_生活仪式库.md | 生活vlog/居家装修 | 关怀/日常 | 生活仪式化行为选型(安睡/做饭/按摩) | -| 05_装修布局库.md | 生活vlog/居家装修 | 场景搭建 | 拍摄空间装修布局选型(灯光/机位/空间) | -| 06_生活服务库.md | 生活vlog/居家装修 | 教学/技能 | 生活技能教学步骤选型(护肤/健身/收纳) | +| 01_美食库_中式家常菜.md | 美食 | 日常/家庭/下饭 | 8道中式家常菜(红烧排骨/清蒸鲈鱼/糖醋里脊/番茄炒蛋/回锅肉/麻婆豆腐/干煸四季豆/蒜蓉西兰花),每道15字段(含镜头语言/画面风格) | +| 01_美食库_煲汤类.md | 美食 | 关怀/暖身/补身体 | 5道汤类(花胶炖土鸡汤/排骨莲藕汤/菌菇土鸡汤/番茄牛尾汤/冬瓜排骨汤),每道15字段(含镜头语言/画面风格) | +| 01_美食库_仪式感美食.md | 美食 | 仪式感/犒劳/庆祝 | 5道高颜值美食(和牛寿喜烧/和牛窝蛋煲仔饭/花青梅熟醉罗氏虾/刺身拼盘/战斧牛排),每道15字段(含镜头语言/画面风格) | +| 01_美食库_深夜宵夜.md | 美食 | 深夜/放松/社交 | 3道宵夜(葱油拌面/小龙虾/烤串拼盘),每道15字段(含镜头语言/画面风格) | -### 时尚美妆赛道素材 +### 生活vlog/居家装修赛道素材(⚠️ 仅字段结构,待填充) | 文件名 | 适用赛道 | 适用场景 | 核心内容 | |--------|---------|---------|---------| -| 07_穿搭库.md | 时尚/美妆 | 穿搭展示 | 穿搭方案选型(风格标签+极致维度) | -| 08_妆容库.md | 美妆 | 妆容展示 | 妆容方案选型(妆型标签+极致维度) | -| 11_造型库.md | 时尚/美妆 | 造型展示 | 造型方案选型(发型/美甲/配饰/香氛) | +| 03_生活仪式库.md | 生活vlog/居家装修 | 关怀/日常 | ⚠️ **仅含字段结构模板,尚无实素材条目**——定义 仪式名称/极致标签/极致类型/极致触点/锚定场景/镜头语言/画面风格/服务步骤/角色/极致标准/常见错误 | +| 05_装修布局库.md | 生活vlog/居家装修 | 场景搭建 | ⚠️ **仅含字段结构模板,尚无实素材条目**——定义 空间名称/极致标签/极致触点/镜头语言/画面风格等(灯光·机位·空间) | +| 06_生活服务库.md | 生活vlog/居家装修 | 教学/技能 | ⚠️ **仅含字段结构模板,尚无实素材条目**——定义 服务名称/步骤链(≥3步含执行标准)/极致标准等 | + +### 时尚美妆赛道素材(⚠️ 仅字段结构,待填充) +| 文件名 | 适用赛道 | 适用场景 | 核心内容 | +|--------|---------|---------|---------| +| 07_穿搭库.md | 时尚/美妆 | 穿搭展示 | ⚠️ **仅含字段结构模板,尚无实素材条目**——定义 穿搭方案名称/极致标签/极致触点/风格标签/单品清单/造型故事等 | +| 08_妆容库.md | 美妆 | 妆容展示 | ⚠️ **仅含字段结构模板,尚无实素材条目**——定义 妆容方案名称/极致标签/极致触点/妆型与步骤等 | +| 11_造型库.md | 时尚/美妆 | 造型展示 | ⚠️ **仅含字段结构模板,尚无实素材条目**——定义 造型方案名称/极致标签/极致触点(发型/美甲/配饰/香氛)等 | ### 全赛道通用素材 | 文件名 | 适用赛道 | 适用场景 | 核心内容 | |--------|---------|---------|---------| -| 04_对话库(账号专属) | 按关系类型 | 台词/口播 | 台词按「对话关系×对话场景」组织(情侣/亲子/职场/自我独白),账号层命名 `04_素材库_{关系}对话.md`。不设通用对话库 | +| 04_对话库(账号专属) | 按关系类型 | 台词/口播 | 台词按「对话关系×对话场景」组织(情侣/亲子/职场/自我独白),账号层命名 `04_素材库_{关系}对话.md`。不设通用对话库。**账号专属 → 不进共享检索容器**(FAQ 无账号隔离能力,多账号会串号) | + +### 极致事件素材(事件类 · 主源在 WeKnora) +| 来源 | 类型 | 核心内容 | +|--------|---------|---------| +| WeKnora 容器 `MCN极致事件素材库` | 事件类 | 极致事件卡(10 字段:极致内容/内容含义/极致触点/事件标签/极致类型/创作手法/镜头语言/画面风格/复用场景/适用场景),承载「期待→打破」完整闭环 + 铺垫量级。**检索契约见** `接口调用/WeKnora_极致事件检索.md`;当前库存 240 条,赛道分布偏剧情(77.5%),**感官沉浸/氛围沉浸为 0** | + ### 分块定义 | 文件名 | 适用范围 | 核心内容 | |--------|---------|---------| | 分块定义/00_通用维度_分块定义.md | 全类型通用 | 通用分块维度定义 | +| 分块定义/00_模板-各库分块模板.md | 全类型通用 | 8 库可直接复制的填空模板(通用 5 字段 + 各库专属字段),含极致内容分类 3 类 15 子类与 12 维取值域 | | 分块定义/01_美食库_分块定义.md | 美食 | 美食库分块定义 | | 分块定义/03_生活仪式库_分块定义.md | 生活vlog/居家装修 | 生活仪式库分块定义 | | 分块定义/04_对话库_分块定义.md | 按关系类型 | 对话库分块定义 | @@ -165,3 +181,17 @@ | 分块定义/07_穿搭库_分块定义.md | 时尚 | 穿搭库分块定义 | | 分块定义/08_妆容库_分块定义.md | 美妆 | 妆容库分块定义 | | 分块定义/11_造型库_分块定义.md | 时尚/美妆 | 造型库分块定义 | + +--- + +## 三、接口调用(references/接口调用/) + +> 素材检索与联网检索的调用契约。**调用方向**:方法定手法 → 类型定判定 → 检索取素材(禁止反向)。 + +| 文件名 | 用途 | 触发环节 | +|--------|---------|---------| +| WeKnora_极致事件检索.md | **极致事件卡检索契约**:MCP `hybrid_search` 调用与参数(`kb_id` 用库名 / `match_count=3` / `vector_threshold=0.5` 显式 / 不传 `keyword_threshold`)· 镜像式五要素问法 · 返回判据(`data:null` 为零命中而非调用失败)· 复筛 ≤2 条每节点 · 取材不取形转译 · 静默降级 · 上下文成本控制 | **S7** 极致触点素材检索 | +| MCP_工具调用规范.md | MCN MCP 服务依赖表 / 环境判定 / 安装引导流程 / 登录检查 / 降级策略 | S1-S11(首次交互检查) | +| MCN_CYLG_python.md | Dify 选题联网检索接口(三层递进搜索策略) | S5 生成选题 | +| Douyin_Video_Analysis.md | 抖音视频解析接口 | S3 对标拆解 | +| 自动化任务清理规范.md | 后台任务盘点与清理 | 用户发起清理时 | diff --git a/技能接入WeKnora实施规范_V1.0_20260924.md b/技能接入WeKnora实施规范_V1.0_20260924.md new file mode 100644 index 0000000..3fa550d --- /dev/null +++ b/技能接入WeKnora实施规范_V1.0_20260924.md @@ -0,0 +1,245 @@ +# 技能接入 WeKnora 实施规范 V1.0 + +> 日期:2026-09-24 | 类型:技术实现方案(**未改动技能文件**,待授权) +> 配套:`极致事件素材接入创作流程方案_V1.1_20260924.md`(架构与范围) +> 本文件回答"**技能具体怎么调 WeKnora**",含可直接复制进技能文件的调用契约草稿。 + +--- + +## 〇、结论:走 MCP 工具,不写脚本 + +| 接入方式 | 结论 | 依据(2026-09-24 实测) | +|:--|:--|:--| +| **MCP 工具 `hybrid_search`** | ✅ **主路径** | 会话内可直接调用,零脚本;`kb_id` 支持**库名**;已实测可召回 FAQ 条目,分数与 REST 完全一致 | +| REST 脚本 `/faq/search` | 仅批量场景 | 需 py + Key + 代理处理;用于**生产端**(批量导入/终验),不是创作端 | + +> **实测证据**:`mcp__weknora__hybrid_search(kb_id="MCN极致事件素材库", query="被当场刁难的人,用一连串专业细节一步步把对方顶回去")` → 命中 `28325-3`,`score=0.6058205716953738`,`chunk_type=faq`,与 REST `/faq/search` 同 query 同分。 + +### 0.1 两条路径的分工 + +| | MCP `hybrid_search`(创作端) | REST `/faq/search`(生产端) | +|:--|:--|:--| +| 使用者 | AI 会话(S7 执行时) | `tools/weknora-ingest/*.py` 批量脚本 | +| 频次 | 每视频 1-3 次(按节点) | 每批 5 视频 + 15 条终验 | +| 依赖 | `mcp.json` 的 `weknora` 服务 + 已授信 | python + 显式 `unset` 代理 | +| 留痕 | 无(会话内) | 日志落 `out/*.txt` | +| 冲突 | 无 | 导入通道独占(dry_run 必须轮询 completed) | + +--- + +## 一、调用契约(可直接复制进技能文件) + +### 1.1 工具与参数 + +``` +工具:hybrid_search(MCP 服务 weknora) +必填:kb_id = "MCN极致事件素材库" ← 用库名,禁写死 UUID + query = 镜像式五要素问法(见 §1.3) +建议:match_count = 3 ← 默认 5,降到 3 控上下文(见 §三) + vector_threshold = 0.5 ← 默认恰为 0.5,但仍显式传 +``` + +| 参数 | 实测行为 | 技能侧写法 | +|:--|:--|:--| +| `kb_id` | **支持库名或 UUID**,自动解析 | 写库名 `MCN极致事件素材库`(不硬编码 UUID) | +| `vector_threshold` | 默认 **0.5**(与要求一致) | 显式传 `0.5`(防版本变化) | +| `match_count` | 默认 5 | 传 **3**(返回体很大,见 §三) | +| `keyword_threshold` | **对 FAQ 库无效** | ❌ 不传(FAQ 恒为**纯向量**召回,关键词不参与) | + +### 1.2 返回值判据(三个必须写进技能的坑) + +**坑 1 · 零命中不是错误** —— 实测: + +```json +{ "data": null, "success": true } ← 零命中 +``` + +> ❌ 不得判为"调用失败"。判据:`success == true 且 data == null` → **零命中**,走 §二降级,不重试、不报错。 + +**坑 2 · 同一张卡内容返回三份** —— 每条命中同时出现在: + +| 字段 | 内容 | +|:--|:--| +| `content` | 标准问 + 相似问 + Answers 拼接 | +| `chunk_metadata.answers[0]` | 卡片原文 | +| `chunk_metadata.standard_question` / `similar_questions` / `negative_questions` | 问法(生产信息,创作时**无用**) | +| `matched_content` | 又一份全文 | + +> 创作端**只读 `chunk_metadata.answers[0]`**(= 卡片原文),其余字段视为噪声。读卡 → 提取 → 丢弃,不累积。 + +**坑 3 · `chat` 不能替代 `hybrid_search`** —— `chat`(RAG+LLM 总结)会把卡片**摘要化**,而卡片的价值恰在不可概括的细节(原话、微反应、铺垫量级、镜头语言)。→ **S7 用 `hybrid_search` 取原文,禁用 `chat`/`agent_chat`。** + +### 1.3 问法:镜像式五要素 + +``` +「找一条 {①落差对象} {②打破方式} {③具象锚点} 的 {④段落功能} 型事件素材」 +``` + +| 要素 | 来源 | +|:--:|:--| +| ① 落差对象 | S7 布位表节点 + S6 场次事件 | +| ② 打破方式 | **方法层**(预期反转·道具误导 / 错位化 / 荒诞化…)+ 判定层类型 | +| ③ 具象锚点 | **必须有**,取自本账号赛道与人设 | +| ④ 段落功能 | 钩子型 / 留人型 / 转粉型 / 传播型 | + +**实测对照**(同 threshold=0.5): + +| 问法 | 结果 | +|:--|:--| +| 「一句话让所有人都沉默了,因为谁都没法反驳」(纯抽象) | ❌ **零命中**(`data: null`) | +| 「被当场刁难的人,用一连串专业细节一步步把对方顶回去」(具象机制) | ✅ 0.6058 对口 | +| 「找一条对方还没开口就已经做好的极致事件素材」(镜像库内标准问形态) | ✅ 命中 | + +**禁忌**:纯抽象机制词(零命中)/赛道词当主检索词(库内 77.5% 为剧情赛道,会落到极少数条且低分)/依赖 `CustomMetadata` 过滤(不参与过滤)。 + +### 1.4 结果处理:读卡 → 复筛 → 转译 + +| 步 | 动作 | 判据 | +|:--:|:--|:--| +| 1 | 读 `chunk_metadata.answers[0]` | 只读这一份 | +| 2 | 复筛 | 看 `内容含义` 的落差结构是否与本节点**同构**;不同构直接弃(分数不参与判断,泛化磁铁卡会挤占 top1) | +| 3 | 保留 | **≤2 条/节点** | +| 4 | 转译 | 只取落差结构 / 手法类别 / 铺垫量级 / 镜头逻辑;**禁搬**人物·台词·道具 | + +--- + +## 二、降级矩阵(P0) + +| 情形 | 判据 | 行为 | +|:--|:--|:--| +| 会话未挂载 weknora MCP | 工具不可用 | 静默回退读 `references/素材库/*.md`(md = 权威源) | +| 服务不可用(Docker 未启动 / 用户环境无服务) | 调用报错/超时 | 同上 | +| 零命中 | `success=true 且 data=null` | 退化为「仅用判定层类型子类」指引;**不编造素材**、不重试 | +| 库不存在 | 返回错误 | 视为未启用,全流程与原行为一致 | + +> 设计定位:**WeKnora 是可选增强层**,与 SKILL.md「MCP 降级不影响核心创作流程(S1-S11)」一致。 +> ⚠️ **md 素材源文件永不删除** —— 用户环境无 WeKnora 服务,删则用户环境零素材。 + +--- + +## 三、上下文成本控制(实测推导) + +单次 `hybrid_search` 返回体 = 每条卡约 3.5-4KB(**因三份重复**)× `match_count`: + +| `match_count` | 单次返回 | 一视频 3 个节点 | 一视频 5 个节点 | +|:--:|:--:|:--:|:--:| +| 5(默认) | ~18KB ≈ 6K tokens | ~18K tokens | ~30K tokens | +| **3(建议)** | **~11KB ≈ 3.5K tokens** | ~10K tokens | ~18K tokens | +| 2 | ~7KB ≈ 2.3K tokens | ~7K tokens | ~12K tokens | + +**三条控制规则**: + +1. **`match_count=3`**,复筛后留 ≤2 —— 不追求"多召回",泛化磁铁卡都会挤进前列; +2. **按需检索** —— 只对"规划时想不出具体桥段的节点"检索;已有明确桥段的节点**跳过**(通常一视频 1-3 次,而非每节点必检); +3. **串行、用完即弃** —— 一次只检索一个节点,读卡→转译→丢弃原文,不把多节点结果堆积在上下文里。 + +--- + +## 四、技能文件改动落点(每条:改哪个文件、加什么) + +### 4.1 新建 `references/接口调用/WeKnora_极致事件检索.md` + +> 定位:与 `MCP_工具调用规范.md` 同级(它就是一份 MCP 工具使用规范)。 +> 内容 = 本文件 §一 + §二 + §三 的成稿版。 + +**草稿(可直接落地)**: + +```markdown +# WeKnora 极致事件检索规范 + +> 定位:S7「极致触点素材检索」的调用契约。与 `知识库/05_极致事件/01_极致类型-素材标签映射表.md` +> (类型→标签)串联使用:方法定手法 → 类型层定判定 → 本规范定检索 → 素材库取条。 +> 依赖:MCP 服务 `weknora`(`hybrid_search`);不可用时静默降级(见 §4)。 + +## 1. 调用 +工具 `hybrid_search`: +- `kb_id` = `MCN极致事件素材库`(用库名,禁写死 UUID) +- `query` = 镜像式五要素问法(§2) +- `match_count` = 3 | `vector_threshold` = 0.5(显式) +- 禁用 `keyword_threshold`(FAQ 库恒为纯向量召回) + +## 2. 问法:镜像式五要素 +「找一条 {落差对象} {打破方式} {具象锚点} 的 {段落功能} 型事件素材」 +- 落差对象 ← 布位表节点 / S6 场次事件 +- 打破方式 ← 方法层(预期反转·道具误导 / 错位化 / 荒诞化…) +- 具象锚点 ← 本账号赛道与人设(**必须有**) +- 段落功能 ← 钩子型 / 留人型 / 转粉型 / 传播型 +禁忌:纯抽象机制词(实测零命中);赛道词作主检索词;依赖 metadata 过滤。 + +## 3. 返回值判据 +- 只读 `chunk_metadata.answers[0]`(卡片原文);其余字段为噪声,同一内容重复出现三份 +- **`success=true 且 data=null` = 零命中,不是调用失败** → 走降级,不重试 +- 复筛:看 `内容含义` 落差结构是否与节点同构;保留 ≤2 条/节点 +- 转译:只取落差结构 / 手法类别 / 铺垫量级 / 镜头逻辑;**禁搬**人物·台词·道具(取材不取形) + +## 4. 降级 +MCP 未挂载 / 服务不可用 / 库不存在 / 零命中 → 静默回退读 `references/素材库/*.md` +(md 为权威源,永不删除);零命中时退化为「仅用类型层子类指引」,**不编造素材**。 + +## 5. 成本控制 +`match_count=3`;**按需检索**(只检想不出桥段的节点,通常一视频 1-3 次); +串行、读后即弃,不堆积多节点结果。 +``` + +### 4.2 `SKILL.md` —— 两处 + +| 位置 | 加什么 | +|:--|:--| +| 「MCP 依赖(摘要)」章节 | 增一条:**WeKnora 检索层**(服务 `weknora` / 工具 `hybrid_search` / 库 `MCN极致事件素材库`),不可用降级不影响 S1-S11 | +| S7 小节目的行 | 「按知识库/05_极致事件 指引调取素材」补全调用链:**类型层 →(映射表)→ 方法层 →(检索规范)→ 素材(WeKnora 检索 + md 源降级)** | + +### 4.3 `references/创作流程/7_生成短视频大纲.md` —— 四处 + +| 位置 | 加什么 | +|:--|:--| +| 「输入」素材库条目 | 素材库定义改**双层源**:WeKnora 检索(主)+ `references/素材库/*.md`(源与降级) | +| 「极致触点节点布位」表 | **新增一列「候选创作方法」**(钩子型→极致行为四分类;留人型→预期反转/冲突套路;转粉型→克制/荒诞化/抽象化;传播型→无厘头/专属符号) | +| 处理规则**新增第五步**「极致触点素材检索」 | 引用 `接口调用/WeKnora_极致事件检索.md`;写明按需触发 + `match_count=3` + 复筛 ≤2 + 转译 | +| User Prompt 的 `{material_content}` | 换成定死结构(见 4.4);深度自检增「极致触点机制自检」:每个 L1 节点须写得出 `[期待A]—被X打破→[结果B]` | + +### 4.4 `{material_content}` 定死结构 + +``` +【素材内容 · 来源:极致事件机制检索】 +(检索不可用时此段留空,按 references/素材库/ 源文件填充) + +■ 节点① 开场钩子(0-3s)|钩子型|方法:{极致行为·感官刺激}|机制来源:{卡编号 或 类型层子类} + · 落差结构:[期待A] —被X打破→ [结果B] + · 手法与铺垫量级:{手法类别} + 铺垫 短/中/长 + · 拍摄参考:{镜头语言} | {画面风格} + · 本账号转译:{换成本账号人/物/场景后的桥段} +``` + +> ⚠️ 注入内容**不含原卡人物名与台词**(转译已在读卡后完成),避免污染 S9/S10/S11 与产出文件。 + +### 4.5 其余落点 + +| 文件 | 加什么 | +|:--|:--| +| `references/索引_知识素材库.md` | ① 修正 03/05/06/07/08/11 定性("字段结构模板"非"素材库");② 补检索规范条目 | +| `references/创作流程/9_生成短视频脚本.md` | 输入增补 `{material_cards}`;补「台词毛边三档参考」(原话/微反应/意外) | +| `references/创作流程/11_脚本检查和诊断.md` | 「爆点贯穿」升级为爆点溯源三判据 | +| 6 个方法文件 | 各补一行「素材供给:本方法需用极致标签 X / 到 Y 取 Z」 | +| **不入技能包** | REST 脚本与 Key 只留 `tools/weknora-ingest/`;技能内**只写 MCP 契约与降级** | + +--- + +## 五、环境矩阵 + +| 环境 | `mcp.json` 有 weknora | 服务 31607 | 实际行为 | +|:--|:--:|:--:|:--| +| **开发机**(当前) | ✅ | ✅ Up 4 days | 检索生效 | +| 用户环境(技能软链分发) | 取决于用户是否配 | ❌ 无 | 调用失败 → **静默降级读 md** | +| 未来若在用户机部署 WeKnora | 需配 | 需起 | 检索生效(技能无需改动) | + +**因此技能文案必须写成"能力探测式"**:先试图检索 → 失败/零命中 → 降级,而非"假定可用"或"假定不可用"。 + +--- + +## 六、待验证项(落地前建议补测) + +| # | 项 | 方法 | +|:--:|:--|:--| +| 1 | 载体类素材(21 条菜品)进同容器后,与事件卡是否互相挤占 | 补问法导入后,用「找一道深夜吃很治愈的面」测是否召回菜卡 | +| 2 | `match_count=3` 对小众赛道是否够用(亲子/沉浸类库存极少) | 用亲子问法实测 top3 质量 | +| 3 | 零命中率在真实 S7 场景下的比例 | 按镜像问法跑 10 组节点级问法,统计 `data:null` 次数 | diff --git a/极致事件卡片_WeKnora适配性评估_V1.0_20260923.md b/极致事件卡片_WeKnora适配性评估_V1.0_20260923.md new file mode 100644 index 0000000..d54a075 --- /dev/null +++ b/极致事件卡片_WeKnora适配性评估_V1.0_20260923.md @@ -0,0 +1,180 @@ +# 极致事件卡片 × WeKnora 适配性评估 V1.0 + +> 日期:2026-09-23 | 评估对象:`极致事件卡片`(V1.3 口径,10 固定字段 + 所属库专属 N)能否存放在 WeKnora 的知识库模式下 +> 方法:**本机 WeKnora 0.8.0 实例实测**(含 5 轮真实调用,非纯推演)+ 源码取证(file:line) +> 性质:**评估与方案,未改动任何技能文件,未改动你已有的 `mcnvideoprompt` 知识库**(实验全部用临时库,跑完即删) + +--- + +## 一、结论先行 + +**适合,但必须换容器:这类卡片要的是「卡片库」,不是「文档库」。** + +| 判断 | 内容 | +|:--:|------| +| ✅ **适合** | 卡片天然是「可被检索调用的素材单元」——WeKnora 的 标签 + 检索信道 + 生成式问法 三件套正好对上「定库 → 圈范围 → 召回」这个链路 | +| ❌ **不适合** | **不要走文档分块那条路**。实测同一批卡,512 字粒度下**一张卡被切成 4 块、字段组打散、重叠导致字段重复、块还跨越两张卡**(详见第二节矩阵 A/B) | +| ⭐ **最优容器** | **FAQ 型知识库**:一条目 = 一分块,不走文档分块器 → 一张卡一个原子单元,字段不打散(实测答案长度 691 / 1149 与原文完全一致) | +| ⚠️ **前提** | FAQ 型库有 **3 个默认坑**:索引管线默认关闭(会导致"入库成功但永远检不到"的静默失败)、必须绑 embedding 模型、dry_run 是异步任务。三个都已实测并给出规避参数(第五节) | +| 🔒 **边界** | **git 仍是唯一权威源**,WeKnora 只做派生的检索层;**规则类文本(S1-S11 流程 / 35 项清单 / 映射表 / 评估标准)不要进**(第七节) | + +一句话:**素材进检索层,规则留在文件里;卡片走 FAQ 容器,不走文档分块。** + +--- + +## 二、实测矩阵(核心证据) + +同一批 3 张真实卡(691 / 952 / 1150 字,取自 `极致事件提取_多类别样本_20260922.md`),同一台 WeKnora,只换容器与参数: + +| # | 路线 | 切成几块 | 字段完整性 | 卡片原子性 | 检索 | +|:--:|------|:--:|------|------|------| +| **A** | **你当前 `mcnvideoprompt` 的配置**
512 / overlap 80 / auto / 父子 4096-384 | **9 块** | ✗ 卡被拆成「内容层 4 字段 + 3 字段 + 呈现层 4 字段」三片 | ✗ 一卡跨 4 块 | 需靠父子回补+重排,易半卡 | +| **B** | heading 策略 512/80 | **9 块** | ✗ 与 A 逐块完全相同 | ✗ 同上 | 同上 | +| **C** | 结构化档 1200 / overlap 0 / legacy | 4 块 | △ 字段基本齐全,但仍有跨块 | ✗ 一块含 2 张卡;卡 2 仍被切开 | 一块多卡 | +| **D** | 长档 2000 / overlap 0 | 2 块 | ✓ 每块 10/10 字段 | ✗ 一块含 2 张卡 | 一块多卡 | +| **E** | ⭐ **FAQ 容器**(一条目 = 一分块) | **2 条目 = 2 单元** | ✓ 10/10 字段整张保留 | ✓ **答案长度 691 / 1149,与卡片原文一致** | ✓ 标准问命中 score **0.8219**;通用 hybrid-search 亦可命中 | + +**A 的翻车细节(值得记住)**: +- 691 字的卡被切成 → `[31 字:只剩卡头 + 元信息行]` + `[4 字段]` + `[3 字段]` + `[4 字段]` +- **overlap 80 导致同一字段出现在两块**(`事件标签` 同时出现在第 2、3 块)→ 检索可能返回"同一张卡的两片" +- **第 4 块里既装着上一张卡的尾部字段、又装着下一张卡的卡头** → 跨卡污染 +- **不可预测**:1150 字的卡反而整块未切(1231 字单块,超过 chunk_size) + +> 复现脚本与原始输出:`tools/weknora-fit/1_docchunk_fit.py` → `out/1_docchunk.txt`(A/B/C/D);`4_pipeline_verify.py` → `out/4_pipeline.txt`(E) + +--- + +## 三、逐项对齐:卡片契约 ↔ WeKnora 数据模型 + +### 3.1 对得上的(可直接支撑) + +| 卡片侧需求 | WeKnora 对应能力 | 证据 | +|------|------|------| +| 定库:主标签决定落哪个库 | **`KnowledgeTag`**:KB 内**同名唯一**、可排序、可着色;多对多关系表 | `internal/types/tag.go:12-88` | +| 筛条:按标签圈定检索范围 | **`SearchParams.TagIDs` / `ScopeTagIDs`**;`DisableRecallThresholds` 保证圈定范围内不被阈值抹掉 | `internal/types/search.go:20-55, 232-246` | +| 主标签优先 / 辅助标签次级 | FAQ 检索的 **两级标签优先** `first_priority_tag_ids` / `second_priority_tag_ids` | `internal/types/faq.go:376-386`、`service/knowledge_faq.go:949-960` | +| 一条卡的「多种检索说法」 | FAQ 的 **标准问 + 相似问 + 反例问**;且**反例不参与索引**(只做精度控制) | `service/knowledge_faq.go:1633-1647` | +| 卡片正文保真(原话不概括) | FAQ 的 **`Content`(返回给模型的卡面)与 `IndexContent`(向量化内容)分离** | `service/knowledge_faq.go:1633-1647 / 1890-1901` | +| 一卡一单元、字段不打散 | FAQ 条目**不走文档分块器**,`Content: buildFAQChunkContent(meta, mode)` 逐条构建 | `service/knowledge_faq.go:189、192` | +| 治理:批量改名/换标签/停用 | **按 ID 或按 Tag 批量改字段**(含 `ExcludeIDs`)、导出→编辑→重新导入、append/replace 合并 | `internal/types/faq.go:389-410`、`router/routes_knowledge.go:151-180` | +| 入库门禁(10 字段硬规则) | **`dry_run` 批量预校验**:实测 3/3 通过、返回 `success_count / failed_count / 部分失败明细` | `internal/types/faq.go:322-330、367-375`;实测见 `out/2_faq.txt` | +| 召回增强(不必手写全部问法) | 文档侧**每 chunk 自动生成 3 个问题并独立索引**(该库已开启) | 实例配置 `question_generation_config` | + +### 3.2 对不上的(要么绕、要么放弃) + +| 卡片侧需求 | 现实 | 处置 | +|------|------|------| +| **多字段联合硬过滤**(如"铺垫量级=短 **且** 极致类型=反转") | **做不到**。`CustomMetadata`(JSON)**不参与检索过滤**,只在结果里作为 `KnowledgeCustomMetadata` 暴露给模型 | 压成 Tag(把枚举值做成标签)→ 只能两级;或靠 rerank 排序 | +| 10 字段顺序 + N 的结构化契约 | WeKnora 无"字段"概念,只有条目/分块/标签/元数据 | 契约由**卡面文本自身**承载(写入时校验,读出不解析) | +| 沿革句 / diff / 双向同步 | 没有 git 语义;改动是"重新解析"的异步任务 | **git 保源,WeKnora 保检索**(单向下沉) | +| 12 维闭集、禁自造词 | **`auto_tag_config` 会 LLM 自动打 ≤3 个标签**,会破坏闭集 | **必须保持 `enabled=false`**(你的实例当前已是 false,属既有隐性正确配置) | + +--- + +## 四、卡片为什么"天生适合 FAQ 容器"(语义再对齐一次) + +FAQ 容器常被理解为"用户提问 → 客服答复",但把字段摊开看,它和卡片其实是同构的: + +| FAQ 条目字段 | 映射到卡片 | 说明 | +|------|------|------| +| `standard_question` | 这张卡的**主检索意图**(一句话问法) | 如「找一个高温把人打脸的反差事件」 | +| `similar_questions` | 这张卡的**其他问法** | 就是 S7 在布位时可能说出的不同措辞 | +| `negative_questions` | **不该命中这张卡**的边界(不入索引) | 天然承载"伪极致 / 无效召回"的边界控制 | +| `answers[0]` | ⭐ **整张卡正文(10 字段 + N)** | 实测 1149 字整张放入无损 | +| `tag_name` | **主标签**(定库依据) | 对应 12 维取值 | +| `is_recommended` | 是否进推荐位 | 可对应"爆点级/常规级" | + +**唯一需要声明的语义错位**:FAQ 有"直接回答"通道(`FAQPriorityEnabled` / `FAQDirectAnswerThreshold`),若素材库与问答库混用,素材卡会被当成"直接答案"抛给用户。→ **素材库必须独立成库**(你已建的 `mcnvideoprompt` 正好空着,但它是 `document` 型,需另建 `faq` 型的素材库)。 + +--- + +## 五、落地配方(已实测可复现) + +### 5.1 三个默认坑(全部实测踩到) + +| # | 坑 | 现象 | 规避 | +|:--:|------|------|------| +| **P1** ⭐ | **FAQ 型库默认 `vector=false / keyword=false`** | 入库 100% 成功、条目/分块/标签都在,但**检索永远返回空**(`success:true, data:[]`)—— 静默失败,不报错 | 建库时显式传 `indexing_strategy.{vector_enabled,keyword_enabled} = true` | +| **P2** | **建库/建条目不绑 embedding 模型** | 导入任务卡在 `processing / 0%`,`progress` 接口的 `error` 字段**为空**,只能翻容器日志看到 `failed to get embedding model: model ID cannot be empty` | 建库时传 `embedding_model_id`(用 `03f0cf45-…` bge-m3) | +| **P3** | **`dry_run` 是异步任务,会占用导入通道** | dry_run 之后立刻发起正式导入 → `400 该知识库已有导入任务正在进行中` | dry_run 后轮询其 task 至 `completed`,再发正式导入(实测各约 2 秒) | + +> P1 的根因日志:`knowledgebase_search.go:195 [HybridSearch] | No retrievable indexing pipelines across 1 KBs` —— FAQ 检索复用 HybridSearch,管线为空就直接短路。 + +### 5.2 终验通过的一组参数(实测结果见 `out/4_pipeline.txt`) + +``` +POST /api/v1/knowledge-bases +{ + "name": "<账号>-极致事件库", + "type": "faq", ← FAQ 型容器 + "embedding_model_id": "03f0cf45-38dd-4330-aed9-38e394e66160", ← P2 必须 + "faq_config": { "index_mode": "question_answer", "question_index_mode": "combined" }, + "indexing_strategy": { "vector_enabled": true, "keyword_enabled": true, + "graph_enabled": false, "wiki_enabled": false } ← P1 必须 +} +``` + +- 标签:`POST /knowledge-bases/{id}/tags`,把 **12 维取值**建成标签(闭集由人工维护,禁 auto_tag) +- 入库:`POST /knowledge-bases/{id}/faq/entries`,`{entries:[…], mode:"append", dry_run:true}` → 轮询 `GET /faq/import/progress/{task_id}` → 再正式导入 +- 检索:`POST /knowledge-bases/{id}/faq/search`,可带 `first_priority_tag_ids` + +**终验实测**:2 条卡 → 导入 2/2 → 排查式检索命中 1 条 `score=0.8219`,返回**答案长度 691 = 整张卡**。 + +### 5.3 已知待调项(如实记录) + +| # | 观察 | 待办 | +|:--:|------|------| +| 1 | **用"语义改写问法"检索命中 0**(「我需要一个反差感强的事件,人物被高温天气打脸的」→ 0;而标准问原句 → 0.82) | 相似问需覆盖**真实检索口径**(S7 实际会怎么问),或降 `vector_threshold`、或改走通用 `/hybrid-search`(实测该通道对 FAQ chunk 可命中) | +| 2 | 按标签优先检索那一次命中 0 | 需在问法匹配成立的前提下复测,标签优先级是否生效尚未独立验证 | +| 3 | 当前实例只有 `document` 型的 `mcnvideoprompt`(0 条目),无 FAQ 型库 | 落地需新建 FAQ 型素材库 | +| 4 | **MCP 通道拿不到标签能力** | MCP 暴露 40+ 工具,但**无 FAQ / Tag 工具**,`hybrid_search` 参数也没有 `tag_ids` → 走 MCP 无法"按标签圈定 + 建卡",必须走 HTTP API 或扩展 MCP | + +--- + +## 六、推荐的落地形态(三档) + +| 档 | 做法 | 适用 | +|:--:|------|------| +| **A(推荐)** | **FAQ 型库 + 一卡一条目 + 12 维做成标签 + 索引管线显式开启**;标准问写主检索意图、相似问写 3 种真实问法、答案放整张卡原文、反例问放"不该命中"的边界 | 要让 S7 在创作时"按需召回素材" | +| **B(保守)** | `manual` 型条目(markdown 正文 + `FolderPath`=所属库 + `TagIDs`=主标签),chunk_size 提到 **≥1200 / overlap 0** | 想要原文保真 + 可 diff,能接受"一块多卡" | +| **C(不推荐)** | 把整份实测报告/清单文件直接入库 | 实测 A/B 路线:字段打散、跨卡污染、overlap 重复 | + +> 注:B 档的 `manual` 型也支持 `TagIDs`、`FolderPath`、标题/描述,且有条目级版本(`ManualKnowledgeMetadata`,`types/knowledge.go:288-300`)—— 是"要版本感"时的次优解。 + +--- + +## 七、边界:什么**不**该进 WeKnora + +| 内容 | 为什么不进 | +|------|------| +| **规则类文本**:S1-S11 流程、35 项检查清单、`01_极致类型-素材标签映射表`、`03_极致事件评估标准` | RAG 是"检索回来给模型看",召回率不是 100%(`vector_threshold` 默认 0.5 / `keyword_threshold` 0.3 会直接滤掉)。**规则必须 100% 生效 → 只能走技能文件的硬闸门**,进检索层等于把硬约束降级成软建议 | +| **沿革句 / 变更日志** | 无 git 语义,且本来就是给人和 git 看的 | +| **闭集词表本身**(12 维定义) | 词表要能被机械校验(禁自造词),进 RAG 就变成"参考建议"。**词表留文件,取值做成标签** | + +一句话判据:**要"被翻出来看"的进 WeKnora;要"必须遵守"的留文件。** + +--- + +## 八、待你决策 + +| # | 事项 | 我的建议 | +|:--:|------|------| +| 1 | 是否落地 WeKnora 作为卡片检索层 | 建议**试跑**:新建 FAQ 型素材库,先灌 12 张存量卡(`mode=append`,实测 3 秒内完成) | +| 2 | 素材库与 `mcnvideoprompt` 的关系 | **独立成库**(FAQ 型专库);`mcnvideoprompt` 保持 document 型不动 | +| 3 | 落地前是否先修 §5.3-1 的语义问法召回 | 建议先补"真实检索问法"到相似问,再灌量 | +| 4 | 是否扩 MCP(补 FAQ / Tag 工具) | 若不扩,S7 只能走 HTTP API —— 需确认技能侧是否允许调用本机 HTTP | + +--- + +## 附:证据索引 + +| 类别 | 位置 | +|------|------| +| 实测脚本 | `tools/weknora-fit/1_docchunk_fit.py`(A/B/C/D)・`2_faq_container.py`・`3_search_diag.py`・`4_pipeline_verify.py`(E) | +| 原始输出 | `tools/weknora-fit/out/*.txt` | +| WeKnora 源码 | `\\wsl.localhost\Ubuntu-24.04\home\maidou\weknora\`(0.8.0) | +| 分块规格 | `docs/CHUNKING.md`(512/80 默认;结构化记录建议 overlap 0) | +| 实例 | `localhost:31607`;容器 `WeKnora-app / docreader / postgres / redis / frontend` 均已运行 3 天 | +| 模型 | `glm-5.3-flash`(KnowledgeQA) ・ `BAAI/bge-m3`(Embedding) ・ `BAAI/bge-reranker-v2-m3`(Rerank) | + +**未改动**:本评估未修改任何技能文件;未向 `mcnvideoprompt` 写入任何数据;4 个临时实验库已全部删除(删除均有 HTTP 200 回执)。 diff --git a/极致事件素材库_WeKnora容器交付说明_V1.0_20260923.md b/极致事件素材库_WeKnora容器交付说明_V1.0_20260923.md new file mode 100644 index 0000000..f0636b4 --- /dev/null +++ b/极致事件素材库_WeKnora容器交付说明_V1.0_20260923.md @@ -0,0 +1,146 @@ +# 极致事件素材库 · WeKnora 容器交付说明 V1.0 + +> 一句话:容器已建好,11 张卡全部灌入并验证可检索。**唯一必须记住的参数是 `vector_threshold = 0.5`** —— 不传它(默认 0.7)口语问法几乎召不回来。 +> 日期:2026-09-23 | 环境:本机 WeKnora 0.8.0(Docker,`localhost:31607`) +> 配套脚本:`tools/weknora-fit/5_build_event_lib.py`(建库+灌卡)、`6_threshold.py`(阈值扫描) + +--- + +## 一、容器信息 + +| 项 | 值 | +|:--|:--| +| 库名 | **MCN极致事件素材库** | +| 库 ID | `e6772e41-7b72-499d-b46c-e5ca7c9d1740` | +| 类型 | **FAQ 型**(`type=faq`,一条目 = 一分块,不走文档分块器) | +| embedding | `03f0cf45-38dd-4330-aed9-38e394e66160`(BAAI/bge-m3,remote) | +| summary | `a2de7804-1a1b-4940-800a-bf877f64b5be`(glm-5.3-flash) | +| 索引策略 | `vector=true` / `keyword=true` / `graph=false` / `wiki=false` | +| faq_config | `index_mode=question_answer`、`question_index_mode=combined` | +| 条目数 | **11**(导入 11 / 成功 11 / 失败 0) | +| 地址 | `http://127.0.0.1:31607` | 鉴权头 `X-API-Key` | + +> ⚠️ 建库时三件事必须一起给:`type=faq` + `embedding_model_id` + `indexing_strategy{vector,keyword}`。缺 embedding → 导入卡在 `processing/0%` 且 error 字段为空;缺 indexing_strategy → **入库 100% 成功但检索永远返回空**(静默失败)。 + +--- + +## 二、库内 11 条条目 + +| # | 事件卡 | 主标签(tag_name) | 答案长度 | 相似问 | 反例问 | +|:--:|:--|:--|:--:|:--:|:--:| +| 100000017 | 高温实物证言 · 手机壳被晒化 | 反常识 | 678 字 | 4 | 2 | +| 100000018 | 沙疗活埋 · 从挑战者到沙漠「炮塔」 | 反差 | 679 字 | 4 | 2 | +| 100000019 | 番茄牛腩(红烧牛腩) | 食材极致 | 978 字 | 4 | 2 | +| 100000020 | 蒜香辣鸡爪 | 难度极限 | 969 字 | 4 | 2 | +| 100000021 | 皮蛋炒饭 | 难度极限 | 955 字 | 4 | 2 | +| 100000022 | 「随地大小睡」 | 反常识 | 623 字 | 4 | 2 | +| 100000023 | 浴室盲拍 · 只拍门,只听惨叫 | 自嘲反差 | 621 字 | 4 | 2 | +| 100000024 | 「雷霆发型」怼脸 | 反差 | 576 字 | 4 | 2 | +| 100000025 | 端着饭追过 5 个空间 | 反差 | 677 字 | 4 | 2 | +| 100000026 | 「我还给你带瓶水」的预判 | 预见式服务 | 654 字 | 4 | 2 | +| 100000027 | 一阵凉风,执念光速漂移 | 反差 | 609 字 | 4 | 2 | + +**标签分布**:反差 4 | 反常识 2 | 难度极限 2 | 自嘲反差 1 | 食材极致 1 | 预见式服务 1(全部为 **12 维词表原样值**,无自造词) + +**标签 seq_id**(标签优先检索要用):反差 `10000009` | 反常识 `10000010` | 自嘲反差 `10000011` | 难度极限 `10000012` | 预见式服务 `10000013` | 食材极致 `10000014` + +--- + +## 三、检索参数(本轮最重要的发现) + +### 3.1 默认阈值 0.7 让口语问法基本召不回来 + +`SearchFAQEntries` 里 `if req.VectorThreshold <= 0: VectorThreshold = 0.7` —— **0.7 是硬编码默认值**,且 FAQ 检索恒为 `DisableKeywordsMatch: true`(**纯向量,关键词完全不参与**)。 + +阈值扫描(33 个探针 × 7 档阈值,脚本 `6_threshold.py`): + +| 探针组 | 条数 | 0.7(默认) | **0.5** | 0.45 | 0.4 | +|:--|:--:|:--:|:--:|:--:|:--:| +| A 标准问原句 | 11 | 11 命中(各 1 条) | **11/11,top1 全对** | 同 | 同 | +| B 相似问原句 | 11 | 8 命中 / 3 条 0 | **11/11,top1 全对** | 同 | 同 | +| **C 未登录新口语问法** | 11 | **仅 1/11** | **11/11,top1 全对** | 11/11(召回满 5 条) | 同 | + +> C 组才是 S7 的实际使用方式(说人话去要素材)。**0.7 下 10 条召不回来;0.5 下 11 条全中且 top1 就是期望的那张卡。** + +### 3.2 推荐参数 + +| 场景 | 参数 | +|:--|:--| +| 常规检索 | `vector_threshold = 0.5`,`match_count = 3~5` | +| 要更多候选 | `vector_threshold = 0.45`(召回更满,top1 不变) | +| 圈定标签范围 | 加 `first_priority_tag_ids: [seq_id]`(0.5 阈值下工作正常,见 §3.3) | + +### 3.3 标签优先检索实测(阈值 0.5) + +| 标签(seq_id) | 限定后命中 | 库内该标签条目数 | +|:--|:--:|:--:| +| 反差(10000009) | 4 | 4 ✅ | +| 反常识(10000010) | 2 | 2 ✅ | +| 难度极限(10000012) | 2 | 2 ✅ | +| 自嘲反差(10000011) | 1 | 1 ✅ | +| 预见式服务(10000013) | 1 | 1 ✅ | +| 食材极致(10000014) | 1 | 1 ✅ | + +> 0.7 阈值下这 6 项**全部返回 0** —— 说明标签优先的失败也不是标签机制的问题,同样是阈值。 + +--- + +## 四、调用方式 + +**只能用 HTTP API** —— MCP 通道暴露 40+ 工具但没有 FAQ / Tag 工具(`hybrid_search` 也不带 `tag_ids`)。 + +```python +import requests +BASE = "http://127.0.0.1:31607/api/v1" +H = {"X-API-Key": "", "Content-Type": "application/json"} +KB = "e6772e41-7b72-499d-b46c-e5ca7c9d1740" + +r = requests.post(f"{BASE}/knowledge-bases/{KB}/faq/search", headers=H, timeout=60, json={ + "query_text": "找一条反差感强的事件,人物前面很狂、后面被打脸", + "match_count": 5, + "vector_threshold": 0.5, # ← 必须显式传,默认 0.7 召不回 + # "first_priority_tag_ids": [10000009], # 可选:圈定「反差」范围 +}) +for e in r.json()["data"]: + print(round(e["score"], 4), e["tag_name"], e["answers"][0][:60]) +``` + +**调用注意(踩坑记录)**: +1. `dry_run` 是**异步任务且占用导入通道** —— 紧接正式导入会 `400 已有导入任务进行中`。 +2. 沙箱内 `curl localhost` 必须 `--noproxy '*'`,否则代理返回 502。 +3. 导入是异步任务,要轮询 `/faq/import/progress/{task_id}` 等 `completed`。 + +--- + +## 五、字段映射(卡片 → FAQ 条目) + +| 卡片字段 / 结构 | FAQ 条目字段 | 说明 | +|:--|:--|:--| +| 主检索意图(本轮设计) | `standard_question` | 一句话「我要什么素材」 | +| 其他问法(4 条/卡) | `similar_questions` | **唯一召回杠杆**(关键词不参与检索) | +| 不该命中的边界(2 条/卡) | `negative_questions` | 不入索引,用于界定 | +| **整张卡正文** | `answers[0]` | 不切分,576–978 字完整保留(原子性) | +| 主标签(12 维之一) | `tag_name` | 条目唯一标签,用于圈定范围 | + +--- + +## 六、已知限制(如实说明) + +| # | 限制 | 影响 | +|:--:|:--|:--| +| 1 | **条目单标签** | 次标签(如 T1 的 `视觉冲击`)只存在于答案正文,`tag_name` 只能是主标签 → 按次标签圈定做不到 | +| 2 | **关键词完全不参与检索** | 相似问里塞的「反常识 实物证言 手机壳晒化」这类关键词串**无效**;召回全靠向量语义 | +| 3 | `CustomMetadata` 不参与过滤 | 「铺垫量级=短 且 极致类型=反转」这类多字段硬过滤做不到 | +| 4 | **T3「石榴籽」未入库** | 按 4.4 条款属情绪效果、不设标签,故无卡无条目(正确行为,非遗漏) | +| 5 | 阈值 0.5 是**11 条样本的经验值** | 扩样本后需复扫(脚本可复用) | +| 6 | `MCN极致事件素材库` 与 `mcnvideoprompt` **互相独立** | 未混库;本轮未碰 `mcnvideoprompt` | + +--- + +## 七、待定(需你决策) + +| # | 事项 | 说明 | +|:--:|:--|:--| +| 1 | **技能是否接入** | 是否在 `7_生成短视频大纲.md` 的极致触点布位处加「素材检索入口(WeKnora FAQ 库,阈值 0.5)」——动了就是技能文件变更,需你确认 | +| 2 | 扩样本 | 33 条热门清单里还剩约 28 条未提炼;扩量后建议复扫阈值 | +| 3 | 次标签承载 | 若要按次标签圈定,需改为「按标签拆条目」或「标签名写入相似问(但关键词不参与,效果有限)」 | diff --git a/极致事件素材接入创作流程方案_V1.0_20260924.md b/极致事件素材接入创作流程方案_V1.0_20260924.md new file mode 100644 index 0000000..89414bc --- /dev/null +++ b/极致事件素材接入创作流程方案_V1.0_20260924.md @@ -0,0 +1,281 @@ +# 极致事件素材接入创作流程 · 方案 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 不动 | diff --git a/极致事件素材接入创作流程方案_V1.1_20260924.md b/极致事件素材接入创作流程方案_V1.1_20260924.md new file mode 100644 index 0000000..d2d2721 --- /dev/null +++ b/极致事件素材接入创作流程方案_V1.1_20260924.md @@ -0,0 +1,232 @@ +# 极致事件素材切换 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` + 失误记录(如有)