From 35778e09be07571921596082e14c778af897b671 Mon Sep 17 00:00:00 2001 From: maogeigei Date: Wed, 2 Sep 2026 17:14:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(workshop):=20AI=E5=88=9B=E4=BD=9C=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=8F=90=E4=BA=A4=E4=BB=BB=E5=8A=A1=E8=A1=A5=E6=8B=BC?= =?UTF-8?q?SKILL=5FHINT=5FCREATE=E8=87=AA=E5=8A=A8=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=A3=B0=E6=98=8E(=E9=98=B2S1-S11=E8=B7=B3=E6=AD=A5=E7=9B=B4?= =?UTF-8?q?=E5=87=BAS9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 根因: 弹窗 reqCreate 提交(L386)只调 buildCreatePrompt() 裸需求 prompt, 漏拼 SKILL_HINT_CREATE 流程约束前缀(详情页入口 L711/L920 从 ef98395 起都拼了, 弹窗 v2-v6 迭代漏跟) - 导致: 创作指令任务收到无流程约束的 prompt → 模型按自动模式语义误读'后台静默=可跳步' → 只读 S9 规范一步直出, S5-S8 脑内带过 - 修复①: SKILL_HINT_CREATE 补'本任务以⚡自动模式执行: 严格按 S1-S11 步骤顺序逐步走完...禁止跳过或合并中间步骤一步直出成品'声明(对齐创作流程规范'后台静默≠跳步'P0) - 修复②: 弹窗 reqCreate 提交拼 ${SKILL_HINT_CREATE}\n 前缀, 与详情页入口对齐 --- .workbuddy/memory/2026-09-02.md | 7 +++++++ .../短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.workbuddy/memory/2026-09-02.md b/.workbuddy/memory/2026-09-02.md index 3c47f85..2e0a055 100644 --- a/.workbuddy/memory/2026-09-02.md +++ b/.workbuddy/memory/2026-09-02.md @@ -306,3 +306,10 @@ - **CDP 验证 v6.2**(`tmp/cdp-req-v6_2-twolines-check.mjs`):rows=2/heightPx=60/lineHeight=21px/paddingTop=10/paddingBottom=6 ✓ - **截图** `tmp/reqv6-2-twolines-empty.png`(zoom 入参框:占位符一行 + 预留第二行 + 底部工具栏)/ `tmp/reqv6-2-full-modal.png`(整体) - 工作台页面重开 `?v=20260902-v62#/accounts`(与 v6 不共存,最新版本号) + +## 排查「创作指令」测试任务严重问题:根因=弹窗入口漏拼 SKILL_HINT_CREATE(17:09 定稿) +- **问题现象**(用户贴续聊记录):16:25 测试 AI 会话任务「创作指令」产出脚本,用户追问发现 AI 承认「没按 S1-S11 逐步执行、直接一步到 S9」,S5-S8 脑内带过 +- **根因定位(代码级)**:`data-pages.js` AI创作弹窗 reqCreate 提交(L386)只调 `buildCreatePrompt()` 拼 prompt,**没拼 SKILL_HINT_CREATE**("遵循 S1-S11 完整创作流程(选题→框架→大纲→情绪→结构→脚本)禁止跳步"那段);而详情页 rewrite 入口(L711/L920)在 ef98395 提交时都加了 SKILL_HINT_CREATE 前缀——弹窗是新入口(v2/v3/v4/v5/v6 系列迭代),漏加 +- **证据链**:① trace 19064 toolInput 提取任务实际收到 prompt 原文=只有「请为达人创作+人设卡+需求+附件」,无 SKILL_HINT_CREATE;② git ef98395 只在 L711/L920 两处加前缀,未覆盖弹窗路径;③ 任务执行时模型只读 S9 规范直出(工具调用序列:Skill→读memory→Glob俊希→ls outputs) +- **次生问题**:任务头部人设卡挂「旧梦留声机」(数据库账号ID 1629),但【创作需求】+【附件素材】=俊希亲子Vlog煎蛋(模板错配,任务创建时写死,AI 自纠按俊希卡创作)——用户确认非此问题 +- **修复方向(待用户确认)**:弹窗 reqCreate 提交处 prompt 加 `${SKILL_HINT_CREATE}\n` 前缀(对齐详情页入口) diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js b/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js index 1d99b85..9dc64b1 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js @@ -4,7 +4,7 @@ /* AI创作技能指令(09-01 修复:任务必须按「短视频脚本创作」技能执行,禁止模型自由发挥导致分镜表格/TXT/MD 格式混杂。 定位方式跨环境:优先用 Skill 工具按技能名加载;技能位于用户技能目录 ~/.workbuddy/skills/短视频脚本创作/(部署到用户环境时同此标准位),不写死机器绝对路径 */ -const SKILL_HINT_CREATE = '请调用 Skill 工具加载「短视频脚本创作」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。遵循 S1-S11 完整创作流程(选题→框架→大纲→情绪→结构→脚本),最终输出 S9 标准脚本格式(按场次+对白组织,画面标注【景别|环境|光线|场景|场景元素】),禁止输出分镜头表格、禁止偏离脚本格式。创作时必须逐条读取并严格执行 SKILL.md 的「开场钩子铁律」与【账号设定】的「内容规则」(如果…则…)——二者为硬约束,不得自由发挥、不得跳过,具体标准一律以 SKILL.md 与内容规则原文为准。'; +const SKILL_HINT_CREATE = '请调用 Skill 工具加载「短视频脚本创作」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。本任务以技能 ⚡自动模式 执行:严格按 SKILL.md 的 S1-S11 步骤顺序逐步走完完整创作流程(选题→框架→大纲→情绪→结构→脚本)——中间步骤后台静默 = 各步产物在对话上下文中按序完整产出但不逐个展示,禁止跳过或合并中间步骤一步直出成品。最终输出 S9 标准脚本格式(按场次+对白组织,画面标注【景别|环境|光线|场景|场景元素】),禁止输出分镜头表格、禁止偏离脚本格式。创作时必须逐条读取并严格执行 SKILL.md 的「开场钩子铁律」与【账号设定】的「内容规则」(如果…则…)——二者为硬约束,不得自由发挥、不得跳过,具体标准一律以 SKILL.md 与内容规则原文为准。'; const fmt = (v) => (v == null || v === '') ? '-' : String(v); /* 过万数字以"万"为单位,保留一位小数(如 57141 → 5.7万);已是"x.x万"文本(like_display 抖音原生格式)直接透传(09-01 修复:旧实现 Number('7.8万')=NaN→'-') */ @@ -383,7 +383,7 @@ async function confirmAiScript(accountName, btn) { q('#reqCreate').addEventListener('click', async () => { if (busy) return; await loadPersona(); - const prompt = buildCreatePrompt(accountName, w, personaBlock(), pHas, attach.text); + const prompt = `${SKILL_HINT_CREATE}\n${buildCreatePrompt(accountName, w, personaBlock(), pHas, attach.text)}`; close(); executeTask({ prompt, label: '创作指令', btn, skills: ['短视频脚本创作'] }); });