- skill: 素材库分块定义(00~11)、05_极致事件知识库 4 篇、08_对话风格总纲、mcn-video-prompt 提示词质量门禁与外部语料检索流程 - workbench: mcn-work-shop 新增 cli-backend.js(本地 CLI 接入)、工作台视觉交互规范;移除旧 UI 规范 - docs: 根目录极致事件/素材卡/审计方案报告与热门短视频清单入库 - memory: 补 09-14~09-29 日志与自动化任务记忆 - chore: .gitignore 排除 tools/、.tmp-chrome-*/、_k_test.cjs
193 lines
37 KiB
Markdown
193 lines
37 KiB
Markdown
# 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 已重建**(14:46,用户授权):`~/.workbuddy/skills/短视频工作台` → `D:\AI技能\mcn-short-video\project\短视频脚本创作\V1.0`(children=7,SKILL.md 可读)。
|
||
- 做法沉淀:**写临时 UTF-8 js 文件**(路径硬编码在文件内,不走 argv)→ `node fs.symlinkSync(target, link, 'junction')` → 用完即删。**避开两个坑**:① PowerShell 沙箱报 `cmd decisionRecord missing actual resource subject` 直接不可用;② `node -e "…中文路径…"` 走 argv 有编码风险。
|
||
- ✅ **git 已提交**:`6e4ce94`(20 files changed / 1701 insertions(+) / 67 deletions(-)),仅含本次范围(技能 14 + 仓库根文档 5 + 记忆 1)。**未 push**。工作区仍有 **137 个**其他工作线未提交改动(mcn-work-shop / 03_框架节奏 / 04_爆款开场 等),未动。
|
||
- **方案 §六 未执行项(本次范围外,待另行授权)**:6 个空壳库字段结构并入 `分块定义/` 后原文件退役;21 条载体素材补问答对入库;清 15 条泛化磁铁卡 + 6 条标签污染;240 条卡补「方法归属」字段。
|
||
|
||
## 16:2x · 俊希视频列表刷新(mcn-dou-analysis 功能二)✅
|
||
- **产出**:桌面 `MCNSkill项目/俊希/短视频表格.xlsx` 重写为 **138 条**(原 136 条全部覆盖、零丢失 + **新增 2 条**:09-19「70元做酸辣菜」2.9万赞、09-07「开学前一天400块做大餐」11.6万赞);13 列标准格式(序号/视频ID/标题/地址/点赞/点赞显示/评论/分享/收藏/播放/时长/发布时间/标签),按「点赞+分享」降序。字段零缺失(createTime / duration / desc 全 138/138)。原表已备份 → `mcn-dou-analysis/tmp/_backup_短视频表格_20260831.xlsx`。
|
||
- **账号表刷新**(`达人账号表.xlsx` 俊希行,数据源 = 页面 Fiber `userInfo` 实时值):粉丝 **281.0万**(原 281.9万)、获赞 **3694.4万**(原 3658.9万)、关注 11、作品 **138**(原 136)、更新时间 2026-09-24。
|
||
- **抓取路径**:9333 CDP(browser-harness)→ 搜索页 `JJX0827?type=user` → 卡片坐标点击进主页(守规范:不直连 `/user/` 地址)→ Fiber `defaultDataList` 提取 → 滚动 3 轮(54 → 90 → **138**)。全程守 5.6 浏览器锁(工作台目录 `.browser-lock`)并已释放;**未关闭用户 Chrome**(守 5.7)。
|
||
- **三个坑**(已写入 `失误与规避记录.md` **#020**):① `browser-harness.exe` 入口失效(exit=1 零输出)→ 必须改 **venv python `-m browser_harness.run`** + `PYTHONPATH=src`(`python run.py` 会相对导入失败);② **独立调用之间 current tab 漂移回列表第一个** → 每次先 `switch_tab(list_tabs()` 筛出的 target_id`)`,截图差点截到用户页面;③ 规范里的滚动容器 **`.route-sc` 实测已不存在** → 实际是 `[class*="route-scroll-container"]`。
|
||
- 附带发现:`js()` 返回值反序列化为 Python 对象,可直接回传 138 条×10 字段并本地写文件,**不必走 stdout**(避开截断坑)。
|
||
- ⚠️ **待确认(技能规范待修,本次未动技能文件)**:`mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md` ①「滚动容器与加载技巧」写死 `.route-sc`(已失效);② 5.x「调用方式」未说明本机 `.exe` 失效需走 venv `-m`。建议修,待授权。
|
||
|
||
## 极致事件卡片批量生产 · 批次 16(23:10–23:24)
|
||
- 处理 5 条:`27102`(海杰 骑行去新疆 257s)/ `21777`(周小闹 退团购券 139s)/ `26534`(李炮儿 荒野求生 316s)/ `20344`(周小闹 客人自己拿酒 131s)/ `20863`(二孬别闹 反向吵架 75s)→ 15 张卡,导入 15/15,终验 15/15 ✅,库内 240→**255 条**。
|
||
- 产物:`tools/weknora-ingest/batches/batch_0016.md` + `batch_0016.spec.json`;RUNBOOK 追加批次 16 记录。
|
||
- 新增 3 条判据(已写 RUNBOOK):「反常识·被动方反客为主型」「反常识·美德被计价型(坦白从严 9347 元)」「视觉冲击·数量排布替代说明型(洗手台一整排空瓶)」。
|
||
- 主标签分布:反常识 5 / 视觉冲击 3 / 反差 3 / 价值观冲击 2 / 细节专业 1 / 自嘲反差 1,无新建标签。
|
||
- 下一批(第 17 批)单次任务已建:2026-09-24 23:29。
|
||
|
||
## 极致事件卡片批量生产 · 批次 17(23:29–23:41)
|
||
- 处理 5 条:`30075`(李炮儿 一天五份工 335s)/ `28282`(脱缰凯 校园违纪通报 249s)/ `36741`(周小闹 饭店消杀回扣 136s)/ `24462`(竹子买车 找婆婆借2块钱 591s)/ `31545`(猫meme 传承 41s)→ 15 张卡,导入 15/15,终验 15/15 ✅(0.76–0.85),库内 255→**270 条**。
|
||
- 产物:`tools/weknora-ingest/batches/batch_0017.md` + `batch_0017.spec.json`;RUNBOOK 追加批次 17 记录与 4 条新判据。
|
||
- 新判据:「反常识·勤奋反向计价型(把重量当金额收)」「反差·生理不可协商型(扛床垫行、刷马桶崩)」「视觉冲击·关系实物化(满车空瓶倾泻 / 假人残肢)」「591s 超长纪实与 41s 极短猫meme 均只拆 3 卡」。
|
||
- 主标签分布:反差 5 / 反常识 4 / 价值观冲击 3 / 视觉冲击 2 / 自嘲反差 1,无新建标签。
|
||
- 下一批(第 18 批)单次任务已建:2026-09-24 23:46。
|
||
|
||
## 极致事件卡片批量生产 · 批次 18(23:46–23:57,无人值守自动任务)
|
||
- 处理 5 条:`31760`(脱缰凯 魏老师保卫班级荣誉 319s)/ `26469`(侯绿萝 老钱班30 227s)/ `33436`(周小闹 菜品备注 136s)/ `17507`(段俊 晚安 悬浮键盘 36s)/ `37363`(隆隆隆野 多语种检票员 182s)→ 15 张卡,导入 15/15,终验 15/15 ✅(0.76–0.85),库内 270→**285 条**。
|
||
- 产物:`tools/weknora-ingest/batches/batch_0018.md` + `batch_0018.spec.json`;RUNBOOK 追加批次 18 记录 + 3 条新判据,并更新「已用标签」清单。
|
||
- 新建标签「感官沉浸」(12 维闭集第 9 个已用标签);主标签分布:反差 4 / 反常识 3 / 价值观冲击 2 / 视觉冲击 2 / 品质对比 1 / 感官沉浸 1 / 细节专业 1 / 自嘲反差 1。
|
||
- 新判据:① 反常识·自证陷阱掀桌型(31760-2:「你问心无愧为什么不敢重考」→ 拒绝进入游戏,区别于批次 10 的"美德被计价");② 品质对比·预告式翻车(33436-2:「少辣就是不好吃」先声明,最后被自家服务员干呕兑现);③ 细节专业·一句问候四步闭环+收得住(37363-2:国籍→母语→发音纠正→夸奖,够用即止)。
|
||
- 36s 极短才艺视频拆 3 卡成立(17507:召唤奇观/沉浸弹奏+路人反应/停手一指抽奖),判据是三卡打破对象分别为物件/旁观者/观众身份。
|
||
- 「临时 py 按 md 顺序生成 spec」第 10 次一次通过(fences=15、mismatch 空集)。
|
||
- 下一批(第 19 批)单次任务已建:2026-09-25 00:02。
|