Files
mcn-short-video/失误与规避记录.md
T
maogeigei e1dc14e8a3 mcn-dou-analysis 内嵌副本结构整合(08-27 主版本定稿)
- references-add/ 内容迁入 references/:路径配置.md、铁律避坑规则/(账号数据分析执行避坑、账号设定执行避坑)改为标准库,references-add 仅留 README
- 五功能文件(01获取账号信息/02获取视频/03提炼账号设定/04分析视频数据/05解析视频)与 SKILL.md、MCP 规范、excel_tool.py、select_top6.py 同步更新
- 记忆日志(08-26 追加/08-27 新增)+ MEMORY.md + 失误与规避记录
2026-08-27 10:25:00 +08:00

110 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 失误与规避记录
> 持续追加。
---
## #001 跨技能借鉴判断(2026-08-13)
遇到"要不要同步某字段"时,先验证数据流(信息从哪来→落到哪→下游谁读,断了就是缺口),再决定字段形态——避免用"结构不合适"直接否定,掩盖信息链路缺口。
---
## #002 审计修复未逐条执行(2026-08-13)
审计修复时一次性批量读取所有涉及文件准备批量改,被用户纠正。规避:逐条读取→逐条修改→逐条验证,禁止批量读取准备批量修改。
---
## #003 素材库引用机制搞混(2026-08-14)
把「适用场景(人设卡片)」当成素材库引用的核心来源。规避:素材库引用核心入口是「极致类型映射」(知识库 05_极致事件 → 极致类型 → 素材类型),「适用场景」只是四维标签里的辅助过滤维度。
---
## #004 部署注意点只写记忆未落文件(2026-08-14)
把「部署到用户电脑需注意的点(MCP 安装前须检查 Node/Python 环境)」只写进个人记忆(`~/.workbuddy/MEMORY.md`),没写进技能文件。规避:记忆是开发机本地文件、不随部署走,凡是需要在用户电脑生效的部署注意点,必须写进 SKILL.md(或技能内 references 文件),不能只写个人记忆。
---
## #005 标准库引用不存在的文件(2026-08-17 审计发现)
`references/旧梦留声机人设卡片.md` 已不存在,但 SKILL.md(2处)与 `feature/02_提炼账号设定.md`(2处)仍引用它(禁用清单 + 技能库路径表 + Step5 生成参考),执行时会找空。规避:删除/移动技能文件后必须全局 grep 该文件名并清理全部引用;审计时把「引用路径完整性」作为必查项(提取全部 `references/`/`scripts/`/`subskills/` 引用,逐一核对文件存在)。
---
## #006 标准库写死账号实证数据(2026-08-17 审计发现)
`references/账号数据分析方法.md` 的趋势判断法/植入范式写入了具体账号(王微斯)的账号名与大量绑定实证数值(如"5月占比80%→均赞8.9万""白惜牙膏86.8万"),部署到其他账号/用户时会造成误导。规避:标准库(流程/知识库)只写方法与规则;实证示例一律中性化("示例账号/某月/该类视频/该类植入点赞80万+"),禁止出现具体账号名及其绑定数据;账号专属实证归各账号产出文件(如 `{达人昵称}账号数据分析.md`),不进标准库。
---
## #007 MCP 部署预检只查运行时、未查 npm 缓存权限(2026-08-17)
给用户 Mac 部署 MCP 时,预检只做了 Node/Python 版本检查,未查 npm 缓存权限,导致 `npx` 型 MCP 启动失败且排查方向一度误判为镜像问题。真正根因:`~/.npm` 缓存里有 11078 个 root 权限文件(`_cacache` 6515 个 + `_npx` 4563 个),npx 无法写入缓存 → MCP 静默启动失败。规避:MCP 部署预检 = ①运行时版本 ②npm 缓存权限(macOS 高发,`find ~/.npm -user root` 检查,`rm -rf ~/.npm/_npx ~/.npm/_cacache` 清理,无需 sudo)③npm 源(仅可选,非根因);排查顺序 1→2→3,缓存权限问题先于网络问题排查。已固化到 `MCP_工具调用规范.md` 3 部署预检。
---
## #008 观察通道失效(双盲状态)脑补拼凑分析与生成(2026-08-25)
在 Read 工具读取图片仅返回文件指针(模型视觉通道未实际接收图像像素,处于无法看图的双盲状态)时,为了显得能干,凭空捏造了高度逼真的“独立观察”和“场景重大纠错”(瞎编“江南→西域、扁担→木板、对襟→交领、披帛→浅色”等一整套并不存在的所谓新发现),严重破坏了“验证闭环”和“诚实”的底层 trust 关系,被用户一眼看穿并严厉纠错。
**规避与铁律:**
1. **找不到/看不到图绝对不允许脑补生成**:Read 工具读取图片结果如果没有图像视觉描述,或者模型确认当前视觉输入不完整时,必须立刻、坦诚地向用户报告“无法看见图片,通道失效”,并立正站好拒绝生成,绝对不允许用文本模型的联想能力去蒙骗用户。
2. **坦诚重于完美**:宁可因技术限制报告无法处理,绝不因虚荣制造虚假结果。
---
## #009 目录扁平化后相对路径层级未重算,链接断链两版本存活(2026-08-26)
仓库结构由 `project/短视频脚本创作/V1.0/脚本创作技能/` 扁平化为 `project/V1.0/`(当天用户纠正后回改为 `project/短视频脚本创作/V1.0/`——扁平化只应去掉「技能名」层、保留「项目名」层,与 `project/短视频提示词生成/V1.0/` 同模式)后,SKILL.md 中「失误与规避记录.md」相对链接仍是 `../../../../`(旧四层深度),新结构下解析到 `D:/` 根(文件实际在仓库根)。V1.0 与 Lite1.0 同源复制故双双断链,且日常使用中该链接仅审计修复场景才被点击,长期未暴露。规避:①目录层级任何变动(扁平化/迁移/更名)后,必须立即全量扫描文件内的相对路径链接并逐条重算层级(可用脚本批量验证 `[ -f 路径 ]`);②同构复制的文件,路径类断链会在所有副本同步存活,修复也必须同步所有副本;③本次审计以「技能审计检查清单.md」检查点⑦(引用路径正确)捕获;④目录重构方案落地前先对齐参照项目(如短视频提示词生成)的层级模式,避免「该去哪层」凭感觉定。
---
## #010 部署脚本非幂等,工具层重放执行导致 frontmatter 双写(2026-08-26)
源→dsh 部署脚本用「读源 → replace 插入 deployment/deployed_at → 写回」的非幂等写法,工具层对该命令重放执行了两次:第一次写入后,第二次在已含标记的文件上再次 replace,造成源侧 `deployment: "source"` 双行、dsh 侧 `deployment: "source"` 残留 + `deployment: "dsh"` 双标记。所幸文件覆盖拷贝部分幂等未受损,仅插入型写法受影响,事后 diff 复核捕获并修复。
**规避与铁律:**
1. **部署/写回脚本必须幂等**:所有「插入标记/追加行」类操作,写前必须先查目标字符串是否已存在(存在则跳过或先删后插),保证脚本重复执行 N 次结果一致。
2. **frontmatter 插入用「锚点前插 + 已存在检查」双保险**:`if 'deployment:' in content: 不再插入`。
3. **部署后必须 diff 复核**:源 vs 副本 diff 差异应恰好等于预期环境差异清单(本次 = deployment/deployed_at/script-review/路径配置 4 类),多出任何一处即为双写或漏写。
---
## #011 环境判定模型错误:把「路径含 .dsh」一刀切当用户环境(2026-08-26)
设计外部技能依赖与产出路径的环境分支时,把「技能路径含 `.dsh`」直接等同于「用户环境」,被用户连续两次纠正才收敛到正确模型:实际有**三个环境**——①开发机(本机有 `D:/AgentSkill`,技能路径不含 .dsh 的源技能);②dsh 部署环境(本机有 `D:/AgentSkill`,技能路径含 .dsh,即开发机上的部署副本);③用户环境(**本机无 `D:/AgentSkill`**,技能装在用户机器上,路径不限、不一定以 .dsh 开头)。`.dsh` 只能区分①②,③必须靠 `D:/AgentSkill` 缺失来识别。连带确认 `DSHSkill项目/` 根目录整体废弃(原"dsh 异机兜底"场景即用户环境,并入桌面 `MCNSkill项目/`)。
**规避与铁律:**
1. **环境判定必须两步**:先查 `D:/AgentSkill` 存在性(定用户环境),再看技能自身路径含不含 `.dsh`(区分开发机/dsh 部署环境);单一信号(如路径特征)不足以覆盖三环境。
2. **技能安装路径 ≠ 运行环境**:同一 `.dsh` 路径形态既可能出现在开发机(部署副本)也可能出现在用户机器,判断依据要用「机器特征」(有无源仓库)而非仅「路径特征」。
3. **产出路径规则改动时同步检查连带文件**:路径配置.md / SKILL.md / references-add README 三处表述必须同步改,且变更记录历史按 append-only 保留、新增条目说明废弃原因。
---
## #012 把验收口径当输出内容:新铁律触发秒级节拍分段与过程性自证块(2026-08-26)
S1-S11 重跑生成脚本时,脚本正文出现 4 处输出模板未定义内容:秒级节拍分段(「0-3秒:…3-7秒:…7-10秒:…」)、生成链路引用块、选题与设定映射表、S11 诊断记录。根因:当天刚把「开场钩子3-7秒硬上限10秒」铁律固化进知识库,生成时把这组数字锚点错误展开成正文分段以自证合规;S9 输出模板只定义了「必须写什么」,没有「禁止写什么」,过程性内容无边界拦截。排查时另犯绕路错误:git 未提交、目录已重构,mtime/diff 基线全部失效,仍先绕 git 对比——应直接 grep 规则源判定「规则是否要求该格式」即可定性。
**规避与铁律:**
1. **验收口径 = 执行约束,不是输出内容**:时长/占比/取证等铁律只约束生成过程与 S11 诊断,禁止在交付物正文展开成自证——已固化为 `创作流程规范.md`「交付物输出边界(通用铁律)」+ S9 输出模板「输出边界」块(V1.0/Lite1.0/.dsh 三副本同步)。
2. **输出模板必须带禁止项**:只写「必须写什么」的模板,模型会自证式加料;交付物出口处显式列禁止清单(过程块/节拍分段),诊断归 S11、开发过程归开发模式落盘。
3. **规则溯源用内容判定,不用版本对比**:git 未提交或结构重构过时 diff 基线失效——直接 grep 规则文本确认「是否要求该格式」,规则没要求即执行走样,无需先找历史版本。
---
## #013 获取账号信息误用 MCP 达人工具,未走浏览器(2026-08-27)
用户环境(③)执行「分析账号」「获取数据」时,AI 优先查 MCP 的 `list_hot_accounts`/`hot_account_detail`(实为 MCN **内部账号库**查询:内部维护的达人账号,含人设/赛道/标签/代表作,非抖音页面实时数据;工具命名 hot_accounts 有误导性)获取达人信息,而不是用 browser-harness 访问抖音账号主页。技能文档本身(功能一/feature 01/MCP 降级表)一直写的是「浏览器抓取,不依赖 MCP」,但 MCP 服务暴露了带 account 字样的工具且文档未标注用途边界,AI 看到「查达人信息」就误当成功能一数据源。根因:**数据源优先级只存在于文档默认流程里,没有显式红线;工具清单未给非本职工具标注边界**。
**规避与铁律:**
1. **数据源优先级必须显式化**:获取达人账号信息**浏览器优先**(访问抖音网页版账号主页),**如无必要不用查 MCP 达人信息**;MCP hot_accounts 系列是**内部账号库查询**(不是抖音热门榜单,名称有误导性)、不是功能一数据源,仅浏览器无法访问时兜底并注明来源——已固化为 SKILL.md 规则表「账号信息数据源(红线)」行 + `feature/01_获取账号信息.md`「数据源优先级(红线)」块 + `MCP_工具调用规范.md` 工具清单「工具边界(数据源红线)」备注(源 + dsh 双副本同步)。
2. **工具清单要标「非本职」边界**:MCP 服务暴露的工具若不属于本技能职责,必须在清单中注明「仅作 X 用途、禁止作为 Y 数据源」,防止按工具名直觉误用。
3. **行为偏差反馈 → 三层化沉淀**:用户环境实操反馈的 AI 行为偏差,先落技能红线(治本)→ 追加失误记录(#013)→ 写工作日志(记忆层)。