# 自动化执行记忆 · MCN极致事件素材库·定向补采(每小时3批) 任务 id:`c4d5eae8-e2ff-427a-99aa-d027d354bc19` | 频率:每小时 1 次,单次连跑 3 批 | cwd `D:/AI技能/mcn-short-video` ## 目标与口径 - 目标:12 个极致标签每标签 ≥100 条**主标签**卡(主标签独占口径)。 - 用户决策:**难度极限暂不处理**;**食材极致优先**;**严格主角判据**(难度/食材本身是主角才算)。 - 库:`MCN极致事件素材库`(`e6772e41-7b72-499d-b46c-e5ca7c9d1740`,`127.0.0.1:31607`)。 - 作业手册:`tools/weknora-ingest/RUNBOOK.md`(执行前必读)。 ## 执行历史 | 时间 | 批次 | 标签 | 库内 | 导入/终验 | 目标标签增量 | |:--|:--:|:--|:--:|:--:|:--| | 2026-09-28 12:0x | 36 | 食材极致 | 526→541 | 15/15 · 15/15 | 食材极致 7→8(+1) | | 2026-09-28 12:3x | 37 | 品质对比 | 541→556 | 15/15 · 15/15 | 品质对比 7→10(+3) | | 2026-09-28 12:49 | 38 | 氛围沉浸 | 556→571 | 15/15 · 15/15 | 氛围沉浸 9→13(+4) | | 2026-09-28 13:56 | 39 | 品质对比(2轮) | 571→586 | 15/15 · 15/15 | 品质对比 10→19(**+9**) | | 2026-09-28 13:59 | 40 | 预见式服务(1轮) | 586→601 | 15/15 · 15/15 | 预见式服务 9→19(**+10**) | | 2026-09-28 14:22 | 41 | 氛围沉浸(2轮) | 601→616 | 15/15 · 15/15 | 氛围沉浸 14→25(**+11**) | | 2026-09-28 14:25 | 42 | 感官沉浸(1轮) | 616→631 | 15/15 · 15/15 | 感官沉浸 15→26(**+11**) | | 2026-09-28 15:3x | 43 | 反差 | — | **暂存未导入** | 反差 +4(预期) | | 2026-09-28 15:3x | 44 | 氛围沉浸 | — | **暂存未导入** | 氛围沉浸 +4(预期) | | 2026-09-28 15:3x | 45 | 感官沉浸 | — | **暂存未导入** | 感官沉浸 +7(预期) | | 2026-09-28 16:45 | 46 | 品质对比 | — | **暂存未导入 · v3已过** | 品质对比 +10(预期) | 累计:`batches` 42 | `done` 207 | 库内 631 条 | **暂存待导入 4 批 / 60 卡**(batch_0043–0046)。 ## ⭐ 暂存模式(2026-09-28 15:3x 起生效 · 防返工关键机制) - 背景:全量卡片回炉窗口期(526 条删旧重导),补采与回炉写同一 KB → 用户指示补采改**暂存模式**。 - **A+ 双改**:① 只产 `batches/pending_import/{md,spec.json,meta.json}`,**禁跑 `2_import_batch.py` / `3_done_batch.py`、禁改 `state.json`**;② 卡片写作同步升级 v2「吸引力优先」口径。 - 回炉全完成后统一入库 = **`13_import_pending.py --dry|--run|--sync`**(discover→precheck→逐批导入→register_state,幂等可重跑)。 - **安全结论**:回炉删除按 `polish_plan.json` 冻结的 526 id → 新采卡**不会被误删**;唯一真风险 = 回炉期间**重跑 `9_polish_plan.py` 会让计划漂移**(已禁)。 - 本 3 批(43/44/45)为暂存模式首轮,mismatch 全 0,共 45 卡。 ## 关键结论(下次执行必看) 1. ✅ **中转丢失坑本轮 4 批全部未复发**(39–42 输出均 `已登记:[…] | 跳过:无`)——反证批次 36–38 的 `已登记:[]` 纯由**跨会话中断**导致。 **规则:只要「取批 → 收尾」在同一次 shell 会话内完成并显式传 `--ids`,中转不丢。收尾后仍须无条件核对 `state.json` 末条 `ids`,不依赖脚本输出。** 2. ⛔ **候选池告警(下轮第一件事)**:`食材极致`(候选 **0**)、`预见式服务`(候选 **3**)定向池即将/已耗尽 → **须先跑 `6_target_candidates.py` 重建候选池**再取批。另:`感官沉浸`(候选 14,取 5 余 9)、`氛围沉浸`(候选 23,取 5 余 18)亦已偏紧,下轮起须盯余量。 3. ⭐ **定向批连跑 4 批、4 标签全部 +9 以上**(+9/+10/+11/+11)——「`7_dispatch_next.py --plan 3` 算缺口 → `--target <标签> 5` 定向取批」链路在连跑场景稳定可复现,是补齐的最大功臣。 4. ⭐ **「每标签 ≥100 条」的根本矛盾仍未消解**:主队列按点赞降序,感官型标签(食材极致 / 难度极限 / 氛围沉浸)素材点赞天然偏低,**永远排不上主队列**;定向池是唯一解,但会耗尽 → 每次执行前先跑 `7_dispatch_next.py --plan 3` 看缺口与候选余量,余量为 0 就重建。 5. 严格主角判据可执行且必须坚持:批次 36 中 5 条仅 1 条达标「食材极致」;批次 41 中 30455 蹲车尾吃泡面段、批次 42 中 28339 按个买虾段均据实改挂其它标签(不硬塞)。 6. ⭐⭐ **v3 双任务回路在暂存批已跑通(批次 46 首跑,接受 15/退回 0)**: `10_polish_batch.py build-pending 46` → doubao-seed-2-1-pro(`Agent(model="doubao-seed-2-1-pro")` 喂 `PROMPT_polish_v3.md` + 载荷)→ 存 `out/polish_result/pending_00NN.json` → `apply-pending 46`。 ⚠️ **「问法平均 +N 字」在本批为 −1**:因源问法已按 v3 口径直写(133–210 字),模型无可搬运新信息 → 增厚退化为「不缩水」校验。**这不是失败**;若要验证增厚效果须拿旧口径批做基线。 ⚠️ **「编造粗筛」告警本批 100% 误报**(告警项都是源问法里已有的括注/摘要短语)→ **判定口诀:先查该引语是否已在 `old_std`/`old_sim` 里,在即误报。** 7. ⚠️ **候选池余量(批次 46 后)**:品质对比 13→8;氛围沉浸 18;感官沉浸 9;食材极致 0(须重建);预见式服务 3(须重建)。 ## 环境前置(每条 shell 必带) ``` unset HTTP_PROXY HTTPS_PROXY ALL_PROXY http_proxy https_proxy && export no_proxy=127.0.0.1,localhost ``` Python 一律 `D:/miniconda3/python.exe`。MCP 拉解析用 `mcp__myai-mcp-production__short_video_detail(id)`(登录过期先 `feishu_login`)。 ## 标准链路(8 步) `7_dispatch_next.py --plan 3` → `1_next_batch.py --target <标签> 5` → MCP 拉 5 条解析 → 拆 15 卡写 `batches/batch_00NN.md` → 临时 py 生成 `.spec.json`(比对 mismatch 必须 0,用完即删)→ `2_import_batch.py` → `3_done_batch.py`(**+手动核对 state.json**)→ `5_tag_coverage.py`。 收尾后:RUNBOOK.md 追加批次记录 + `.workbuddy/memory/YYYY-MM-DD.md` 追加纪要(本次已完成)。