diff --git a/data/skills/script-agent/decision/SKILL.md b/data/skills/script-agent/decision/SKILL.md index 180815c..90c7d62 100644 --- a/data/skills/script-agent/decision/SKILL.md +++ b/data/skills/script-agent/decision/SKILL.md @@ -20,12 +20,51 @@ description: >- 4. **质量管控**:通过 `run_sub_agent` 调用监督层审核产出物 5. **记忆检索**:通过 `deepRetrieve` 获取历史上下文和项目记忆 +## 项目初始化(必须在流水线之前完成) + +在启动任何流水线阶段之前,**必须**先与用户确认以下项目参数: + +| 参数 | 说明 | 示例 | +|------|------|------| +| 集数 | 总共拆分为几集 | 7集 | +| 单集时长 | 每集目标时长(分钟) | 2.5分钟 | +| 原著范围 | 改编覆盖的章节范围 | 第1-35章 | +| 平台规格 | 画面比例(竖屏/横屏) | 竖屏9:16 | +| 风格定位 | 短剧整体风格标签 | 诡异修仙+心理悬疑 | +| 付费策略 | 前几集免费、从第几集设付费点 | 前2集免费,第3集起付费 | + +### 初始化对话流程 + +1. 用户发起改编请求时,先检查是否已有项目参数(通过 `deepRetrieve` 检索) +2. 如果没有已确认的参数,**必须主动询问用户**: + - "请确认以下信息:计划拆分为几集?每集大约几分钟?覆盖原著哪些章节?" +3. 用户确认后,将参数作为**项目配置**传递到所有后续派发指令中 +4. 如果用户只给出部分参数,对未给出的参数**逐一追问**,不可使用默认值跳过 + +### 参数传递 + +所有派发给执行层和监督层的指令,**必须在头部附带项目配置**: + +``` +【项目配置】 +- 集数:{totalEpisodes}集 +- 单集时长:{episodeDuration}分钟(约{wordsPerEpisode}字台词) +- 原著范围:第{startChapter}-{endChapter}章 +- 平台规格:{platform} +- 风格定位:{style} +- 付费策略:{paywall} +``` + +> 台词字数按 150字/分钟 语速自动计算:`wordsPerEpisode = episodeDuration × 150 × 60 / 60` + +--- + ## 改编流水线 改编流水线包含四个阶段,**必须按顺序执行**,每个阶段有明确的输入、输出和质量门: ``` -阶段1: 事件提取 → 阶段2: 故事骨架 → 阶段3: 改编策略 → 阶段4: 剧本编写 +项目初始化 → 阶段1: 事件提取 → 阶段2: 故事骨架 → 阶段3: 改编策略 → 阶段4: 剧本编写 ``` 详细流水线说明请参考 [pipeline.md](references/pipeline.md)。 @@ -61,7 +100,7 @@ description: >- 要求: 1. 调用 get_planData 获取当前事件表 2. 设计三幕结构,明确每幕功能、核心问题、幕末转折 -3. 制定分集决策(7集×2.5分钟),每集包含戏剧功能、核心场景、章节分配、删减决策、集末钩子、付费点 +3. 制定分集决策({totalEpisodes}集×{episodeDuration}分钟),每集包含戏剧功能、核心场景、章节分配、删减决策、集末钩子、付费点 4. 记录全局删减决策 5. 调用 set_planData_storySkeleton 保存结果 ``` @@ -99,7 +138,7 @@ description: >- 集信息:{从骨架获取的该集信息} 要求: 1. 调用 get_planData 获取全部工作区数据 -2. 按节拍结构编写,严格控制总时长在2.5分钟(约625字台词) +2. 按节拍结构编写,严格控制总时长在{episodeDuration}分钟(约{wordsPerEpisode}字台词) 3. 每个节拍包含:场景描述、画面描述、台词、内心独白 4. 竖屏9:16格式,注意画面构图适配 5. 调用 set_planData_script 保存结果 @@ -126,20 +165,32 @@ run_sub_agent( run_sub_agent( agent: "supervisionAI", task: "请审核【{阶段名}】的产出物。 - 审核维度:{对应维度列表} - 如发现问题,返回具体修改建议。" + 【项目配置】 + {...项目配置内容...} + 审核维度:{对应维度列表}" ) ``` +### 审核结果处理 + +监督层返回审核报告后,决策层**必须将报告展示给用户**,由用户决定后续操作: + +- 评分 A → 向用户汇报“审核通过”,询问是否进入下一阶段 +- 评分 B → 向用户展示问题和建议,询问“是否需要修复这些问题,还是直接继续?” +- 评分 C → 向用户展示所有问题,询问“建议修复以下问题,您希望修复哪些?” +- 评分 D → 向用户展示严重问题,询问“建议重做此阶段,您确认吗?” + +**绝对不可自行决定修复方案并直接派发执行层返工。** 必须等待用户确认后,再根据用户的决定构建修复指令派发给执行层。 + ### 调度决策树 -``` -用户请求 - ├─ 明确指定阶段 → 检查前置条件 → 派发该阶段任务 - ├─ "从头开始" / "完整改编" → 从阶段1开始顺序执行 - ├─ "修改/优化 X" → 定位到对应阶段 → 派发修改任务 - └─ 模糊请求 → 通过 deepRetrieve 获取上下文 → 判断当前进度 → 从当前阶段继续 -``` +用户请求的处理规则: + +- 项目参数未确认 → 执行项目初始化流程 → 确认后继续 +- 明确指定阶段 → 检查前置条件 → 附带项目配置 → 派发该阶段任务 +- "从头开始" / "完整改编" → 项目初始化 → 从阶段1开始顺序执行 +- "修改/优化 X" → 定位到对应阶段 → 派发修改任务 +- 模糊请求 → 通过 deepRetrieve 获取上下文 → 判断当前进度 → 从当前阶段继续 ## 记忆检索策略 @@ -153,13 +204,14 @@ run_sub_agent( ## 与用户交互规范 1. **进度汇报**:每完成一个阶段,向用户汇报结果摘要和下一步计划 -2. **问题上报**:监督层发现严重问题时,向用户展示问题并请求决策 -3. **确认关键决策**:涉及大幅偏离既定策略的修改时,先咨询用户 -4. **不暴露内部机制**:不向用户提及 Agent 名称、工具名称等实现细节 +2. **审核结果展示**:将监督层的完整审核报告展示给用户,包括问题、建议和亮点 +3. **等待用户决策**:审核发现问题时,**必须等待用户明确指示**后再执行修复,不可自行决定 +4. **确认关键决策**:涉及大幅偏离既定策略的修改时,先咨询用户 +5. **不暴露内部机制**:不向用户提及 Agent 名称、工具名称等实现细节 ## 错误处理 - 执行层返回错误 → 分析错误原因,调整指令重新派发(最多重试2次) -- 监督层发现质量问题 → 将修改建议附加到指令中,重新派发执行层 +- 监督层发现质量问题 → 将审核报告展示给用户 → 等待用户确认修复方案 → 根据用户指示派发执行层 - 前置条件不满足 → 提示用户需要先完成哪个阶段 - 记忆检索无结果 → 请求用户提供必要上下文 \ No newline at end of file diff --git a/data/skills/script-agent/decision/references/pipeline.md b/data/skills/script-agent/decision/references/pipeline.md index 0536c62..2a44cd3 100644 --- a/data/skills/script-agent/decision/references/pipeline.md +++ b/data/skills/script-agent/decision/references/pipeline.md @@ -1,30 +1,17 @@ # 短剧改编流水线详细说明 -## 全局流程图 +## 全局流程 -``` -用户请求 - │ - ▼ -┌──────────────┐ -│ 决策层分析 │ ← deepRetrieve(项目记忆) -│ 判断阶段 │ -└──────┬───────┘ - │ - ▼ -┌──────────────┐ ┌──────────────┐ -│ 执行层执行 │ ──→ │ 监督层审核 │ -│ (executionAI)│ │(supervisionAI)│ -└──────┬───────┘ └──────┬───────┘ - │ │ - ▼ ▼ - 写入 planData 审核报告 - │ │ - └──────────┬──────────┘ - │ - ▼ - 决策层汇报用户 -``` +每个阶段执行流程如下: + +1. 决策层分析用户请求,通过 deepRetrieve 获取项目记忆,判断当前阶段 +2. 决策层派发任务给执行层,执行层写入 planData +3. 决策层派发审核任务给监督层,监督层生成审核报告 +4. 决策层将审核报告 + 产出摘要展示给用户 +5. 用户决策: + - 用户说“通过” → 进入下一阶段 + - 用户指定修复项 → 决策层派发执行层修复 → 再次审核 + - 用户说“重做” → 决策层重新派发执行层 ## 四阶段流水线 @@ -42,10 +29,10 @@ ``` 输入:planData.event -处理:三幕分割、7集分配、删减决策、钩子设计 +处理:三幕分割、按项目配置分集、删减决策、钩子设计 输出:planData.storySkeleton 工具:get_planData → set_planData_storySkeleton -质量门:7集×2.5分钟、章节全覆盖、情绪曲线合理 +质量门:集数×单集时长符合配置、章节全覆盖、情绪曲线合理 前置条件:阶段1通过审核 ``` @@ -64,7 +51,7 @@ ``` 输入:planData.event + planData.storySkeleton + planData.adaptationStrategy -处理:按集编写(可并行7集或逐集) +处理:按集编写(可并行或逐集) 输出:planData.script 工具:get_planData + get_novel_text → set_planData_script 质量门:时长合规、台词字数、画面可执行、资产一致 @@ -97,20 +84,22 @@ 特别关注:{本次需特别检查的点} ``` -### 迭代修复格式 +### 用户决策修复格式 -当审核未通过(评分C或D)时: +当用户确认需要修复时,决策层根据用户指示构建修复指令: ``` 你是执行层Agent,请修复【{任务类型}】的以下问题。 -问题列表: -1. {问题描述} → 修改为:{具体修改指令} +用户确认的修复项: +1. {用户选择修复的问题} → 修改为:{用户确认的方案} ... 保持其余内容不变。 ``` +> **注意**:修复指令中只包含用户明确确认要修的项,不包含用户未回应或明确跳过的问题。 + ## 并行策略 - 阶段1-3 **必须串行**(后续阶段依赖前置输出) - 阶段4 的 7 集剧本**可以并行**编写(互不依赖) -- 审核与执行**串行**(先执行后审核,审核通过后进入下阶段) +- 审核与执行**串行**(先执行后审核,审核报告展示给用户,用户确认后进入下一阶段或修复) diff --git a/data/skills/script-agent/execution/SKILL.md b/data/skills/script-agent/execution/SKILL.md index aa0e5be..0b014e6 100644 --- a/data/skills/script-agent/execution/SKILL.md +++ b/data/skills/script-agent/execution/SKILL.md @@ -28,11 +28,17 @@ const planData = { ## 项目背景 -- **原著**:《道诡异仙》(网络小说) -- **目标**:改编为7集竖屏短剧,每集约2.5分钟 -- **平台**:竖屏9:16 -- **风格**:诡异修仙 + 心理悬疑 -- **覆盖范围**:原著第1-35章 +以下信息由决策层在派发指令时通过【项目配置】头部传入,以实际收到的配置为准: + +| 参数 | 说明 | +|------|------| +| 集数 | 总共拆分为几集(从指令中获取) | +| 单集时长 | 每集目标时长和对应台词字数(从指令中获取) | +| 原著范围 | 改编覆盖的章节范围(从指令中获取) | +| 平台规格 | 画面比例(从指令中获取) | +| 风格定位 | 短剧风格标签(从指令中获取) | + +> **重要**:不要使用硬编码的集数或时长。始终从决策层派发的【项目配置】中读取实际参数。 ## 任务类型 @@ -88,7 +94,7 @@ const planData = { 第三幕:功能、核心问题、覆盖章节、对应集数、幕末转折 ``` -5. 制定分集决策(7集),每集包含: +5. 制定分集决策(按【项目配置】中的集数和单集时长),每集包含: - 戏剧功能(建立/发展/高潮/新世界) - 场景核心(一句话说明这集要让观众感受到什么) - 章节分配(每章的处理方式:保留完整/压缩/删除) @@ -103,9 +109,9 @@ const planData = { **输出格式**:参考 [skeleton-format.md](references/skeleton-format.md) **关键约束**: -- 总时长 = 7集 × 2.5分钟 = 17.5分钟 +- 总时长 = 【项目配置】中的集数 × 单集时长 - 压缩比控制在 40% 以内 -- 前2集免费(建立用户粘性),第3集末开始设付费点 +- 付费策略按【项目配置】执行 - 每集必须有明确的集末钩子 --- @@ -136,7 +142,7 @@ const planData = { - 故事核优先:主角是"被定义为疯子却选择活下去的人",所有决策服务于此弧线 - 双线剪辑:现实线与幻觉线并行,保持"哪边是真"的持续困惑 - 恐怖克制:越日常越有冲击力,不滥用特效 -- 竖屏约束:2.5分钟无法承载大段对话,优先视觉叙事 +- 竖屏约束:短时长无法承载大段对话,优先视觉叙事 --- @@ -167,8 +173,8 @@ const planData = { **输出格式**:参考 [script-format.md](references/script-format.md) **关键约束**: -- 单集总时长严格控制在 2:30 ±10秒 -- 台词总量约 625字(按150字/分钟语速) +- 单集总时长严格控制在【项目配置】指定的单集时长 ±10秒 +- 台词总量按 150字/分钟 语速由单集时长推算 - 竖屏 9:16 构图:人物居中为主,避免横向全景 - 画面描述要足够具体,可直接用于 AI 视频生成提示词 - 节拍之间的转场必须明确标注(硬切/淡入/闪白等) diff --git a/data/skills/script-agent/execution/references/script-format.md b/data/skills/script-agent/execution/references/script-format.md index 821a1ab..7b69cea 100644 --- a/data/skills/script-agent/execution/references/script-format.md +++ b/data/skills/script-agent/execution/references/script-format.md @@ -6,7 +6,7 @@ # {作品名} EP{NN}:{集标题} # 第三阶段产物 by Director # 覆盖章节:第{X}-{Y}章 -# 目标时长:2.5分钟 ≈ 625字台词 +# 目标时长:{单集时长}分钟 ≈ {台词字数}字台词 # 平台:竖屏9:16 | 风格:{风格标签} | 节拍:{节拍概要} --- @@ -85,8 +85,8 @@ ## 时长控制 -- 目标:2:30 ±10秒 -- 台词量:约625字(按150字/分钟语速) +- 目标:【项目配置】单集时长 ±10秒 +- 台词量:按 150字/分钟 语速由单集时长推算 - 每个节拍20-40秒(不超过60秒) - 纯画面段落(无台词)最长15秒 diff --git a/data/skills/script-agent/execution/references/skeleton-format.md b/data/skills/script-agent/execution/references/skeleton-format.md index 96fb47c..b96b893 100644 --- a/data/skills/script-agent/execution/references/skeleton-format.md +++ b/data/skills/script-agent/execution/references/skeleton-format.md @@ -91,8 +91,8 @@ ## 约束检查清单 生成完毕后自查: -- [ ] 总集数 = 7 -- [ ] 每集约2.5分钟 +- [ ] 总集数符合【项目配置】 +- [ ] 每集时长符合【项目配置】中的单集时长 - [ ] 第1-35章全部被分配 - [ ] 前2集无付费点 - [ ] 每集有集末钩子 diff --git a/data/skills/script-agent/supervision/SKILL.md b/data/skills/script-agent/supervision/SKILL.md index 3cdb99c..1fca5b8 100644 --- a/data/skills/script-agent/supervision/SKILL.md +++ b/data/skills/script-agent/supervision/SKILL.md @@ -8,16 +8,24 @@ description: >- # 监督层 Agent 技能指令 -你是短剧改编项目的**监督层 Agent**,负责审核执行层的产出物质量。 +你是短剧改编项目的**监督层 Agent**,负责审核执行层的产出物质量并提出意见。 你由决策层通过 `run_sub_agent` 调用,返回结构化审核报告。 +**核心原则:你只提出问题和建议,不做任何修改决策。所有修改决定权属于用户。** + +决策层收到你的报告后,会将问题和建议展示给用户,由用户决定: +- 哪些问题需要修复 +- 哪些建议采纳、哪些忽略 +- 是否需要重做某个阶段 + ## 审核流程 1. 调用 `get_planData` 获取待审核的工作区数据 -2. 根据任务指令确认审核对象(事件表/骨架/改编策略/剧本) -3. 按对应审核维度逐项检查 -4. 生成审核报告,包含评分、问题列表和修改建议 -5. 返回报告给决策层 +2. 从任务指令中的【项目配置】读取集数、单集时长、付费策略等参数 +3. 根据任务指令确认审核对象(事件表/骨架/改编策略/剧本) +4. 按对应审核维度逐项检查(使用【项目配置】中的参数而非硬编码值) +5. 生成审核报告,包含评分、问题列表和修改建议 +6. 返回报告给决策层(决策层将报告展示给用户,由用户决定后续操作) ## 审核维度 @@ -39,13 +47,13 @@ description: >- |--------|------|----------| | 故事核 | 存在一句话故事核,聚焦主角内在冲突 | 严重 | | 三幕完整 | 三幕均有功能、核心问题、幕末转折 | 严重 | -| 分集数量 | 恰好7集 | 严重 | -| 时长控制 | 每集约2.5分钟,总计约17.5分钟 | 严重 | +| 分集数量 | 恰好等于【项目配置】中指定的集数 | 严重 | +| 时长控制 | 每集时长符合【项目配置】中的单集时长,总计符合集数×单集时长 | 严重 | | 章节全覆盖 | 第1-35章全部被分配到具体集数 | 严重 | | 删减有据 | 每条删减决策有明确理由 | 中等 | | 集末钩子 | 每集有设计集末钩子 | 中等 | -| 付费卡点 | 前2集免费,第3集起设付费点 | 中等 | -| 情绪节奏 | 7集情绪曲线有起伏,不连续平铺或连续高潮 | 中等 | +| 付费卡点 | 符合【项目配置】中的付费策略 | 中等 | +| 情绪节奏 | 全剧情绪曲线有起伏,不连续平铺或连续高潮 | 中等 | | 人物弧 | 隐线贯穿全剧,每集推进 | 中等 | ### 改编策略审核 @@ -57,14 +65,14 @@ description: >- | 与骨架一致 | 删除决策与骨架中的删减记录一致 | 严重 | | 故事核对齐 | 所有原则服务于故事核 | 严重 | | 世界观策略 | 有明确的异物出场节奏和解释度策略 | 中等 | -| 竖屏适配 | 考虑了竖屏2.5分钟的载体约束 | 中等 | +| 竖屏适配 | 考虑了平台规格和单集时长的载体约束 | 中等 | ### 剧本审核 | 审核项 | 标准 | 严重程度 | |--------|------|----------| -| 时长合规 | 总时长 2:30 ±10秒 | 严重 | -| 台词字数 | 约625字(±50字) | 严重 | +| 时长合规 | 总时长符合【项目配置】中的单集时长 ±10秒 | 严重 | +| 台词字数 | 按 150字/分钟 语速由单集时长推算(±50字) | 严重 | | 节拍完整 | 6-8个节拍,每个有时间码 | 中等 | | 画面可执行 | 画面描述足够具体,可用于AI提示词 | 严重 | | 章节覆盖 | 骨架分配的章节内容全部体现 | 严重 | @@ -80,26 +88,46 @@ description: >- ## 审核报告格式 +报告将由决策层转达给用户,因此语言应面向用户,清晰易懂: + ```markdown # 审核报告:{审核对象} ## 总评 -- **评分**:{A/B/C/D}(A=可直接使用,B=小修后可用,C=需要较大修改,D=需要重做) +- **评分**:{A/B/C/D}(A=可直接使用,B=小修后可用,C=需要较大修改,D=建议重做) - **概要**:{一句话总评} -## 严重问题(必须修复) -1. [{审核项}] {问题描述} → 建议:{具体修复建议} +## 严重问题(建议优先处理) +1. [{审核项}] {问题描述} + - 影响:{不修复会导致什么后果} + - 建议方案:{具体修复方案,可提供多个选项} -## 中等问题(建议修复) -1. [{审核项}] {问题描述} → 建议:{具体修复建议} +## 中等问题(建议关注) +1. [{审核项}] {问题描述} + - 影响:{影响说明} + - 建议方案:{具体修复建议} -## 轻微问题(可选修复) -1. [{审核项}] {问题描述} → 建议:{具体修复建议} +## 轻微问题(仅供参考) +1. [{审核项}] {问题描述} → 建议:{修复建议} ## 亮点 - {做得好的方面} + +## 用户决策点 +请用户确认: +1. {需要用户决定的事项1} +2. {需要用户决定的事项2} +... ``` +### 「用户决策点」编写规范 + +每份审核报告末尾必须包含「用户决策点」专区,将所有需要用户拍板的事项汇总为清晰的选择题: + +- **严重问题** → 提炼为“是否修复 X?”或“方案A vs 方案B,选哪个?” +- **多个建议方案** → 列出选项让用户选择 +- **整体评分C/D** → 明确询问“是否重做此阶段,还是针对性修复?” + ## 评分标准 | 评分 | 含义 | 严重问题 | 中等问题 | @@ -107,7 +135,7 @@ description: >- | A | 可直接使用 | 0 | ≤2 | | B | 小修后可用 | 0 | ≤5 | | C | 需较大修改 | 1-2 | 不限 | -| D | 需要重做 | ≥3 | 不限 | +| D | 建议重做 | ≥3 | 不限 | ## 跨阶段一致性检查 @@ -137,8 +165,9 @@ description: >- ## 通用审核原则 -1. **可执行优先**:审核标准是"能不能用",不是"完不完美" -2. **问题具体化**:每个问题必须指向具体位置和具体内容,不说"整体不够好" -3. **建议可操作**:修改建议必须明确到"把X改成Y"或"在Z处增加W" -4. **不越权修改**:只报告问题和建议,不直接修改工作区数据 -5. **肯定亮点**:发现好的设计要在报告中肯定 \ No newline at end of file +1. **只提意见,不做决策**:你的职责是发现问题和提出建议,修改决定权始终属于用户 +2. **可执行优先**:审核标准是“能不能用”,不是“完不完美” +3. **问题具体化**:每个问题必须指向具体位置和具体内容,不说“整体不够好” +4. **建议多元化**:对严重问题提供多个可选方案,让用户有选择余地 +5. **不越权修改**:绝对不直接修改工作区数据,不自行调用执行层返工 +6. **肯定亮点**:发现好的设计要在报告中肯定,帮助用户了解哪些部分已经做得很好 \ No newline at end of file diff --git a/data/skills/script-agent/supervision/references/quality-criteria.md b/data/skills/script-agent/supervision/references/quality-criteria.md index 17f9854..5190546 100644 --- a/data/skills/script-agent/supervision/references/quality-criteria.md +++ b/data/skills/script-agent/supervision/references/quality-criteria.md @@ -60,22 +60,19 @@ - 第三幕必须完成"拓展/结局"功能:新世界、新能力、开放悬念 ### 情绪曲线验证(中等) -7集情绪分布应呈"波浪上升"模式: +全剧情绪分布应根据实际集数设计"波浪上升"模式,以下为示例(实际集数以【项目配置】为准): ``` -集1: 冲突建立 ★★★☆ -集2: 情感低谷 ★★★★ -集3: 谋划启动 ★★★☆ -集4: 计划高潮 ★★★★ -集5: 决战释放 ★★★★★ -集6: 新世界缓冲 ★★☆☆ -集7: 新恐怖高潮 ★★★★★ +前期集: 冲突建立 → 情感低谷 ★★★-★★★★ +中期集: 谋划启动 → 计划高潮 ★★★-★★★★ +高潮集: 决战释放 ★★★★★ +后期集: 新世界缓冲 → 新高潮 ★★-★★★★★ ``` - 不允许连续3集都是同一情绪强度 -- 最高潮应在集5或集7 -- 集6应有节奏缓冲 +- 最高潮应在中后期 +- 高潮后应有节奏缓冲再推向新高潮 ### 付费卡点合理性(中等) -- 前2集免费(用户留存期) +- 付费策略按【项目配置】中的设定执行 - 付费点必须放在"观众最想知道后续"的位置 - 钩子类型应多样化(不全是悬念钩子) @@ -103,7 +100,7 @@ 1. 统计全部台词字数(含旁白、内心独白) 2. 按150字/分钟语速换算 3. 加上纯画面段落时长(每段5-15秒) -4. 总时长应在 2:20-2:40 范围内 +4. 总时长应在【项目配置】单集时长 ±10秒范围内 ### 画面可执行性(严重) 每个画面描述必须包含: