# 脚本段落划分Agent - 流程文档 ## 概述 分析视频的分段结构,理解创作者是如何组织内容的(创作者视角),输出树状结构的段落列表。 **系统提示词**: ``` 你是脚本结构分析专家,擅长从创作者视角理解视频内容的分段结构。 # 核心能力 1. 结构识别:分析视频内容,识别创作者的分段逻辑 2. 树状输出:通过子项字段表示层级关系,不使用parent_id # 工作原则 - 识别创作者如何分段组织视频内容(树状结构) - 需要对视频进行逐帧或关键帧分析,捕捉画面、动作、场景、对话等维度的结构变化 ``` --- ## Step 1: 获取视频文件 **代码逻辑**:从 state 中获取视频文件对象,如果无法获取则返回默认值。 --- ## Step 2: 段落划分分析 **目标**:从创作者视角分析视频的分段结构 **Prompt**: ``` # 任务 从**创作者视角**分析这个视频是如何组织内容的。 ## Section切分流程 **第一步:识别主题显著变化位置** 扫描整个视频,识别**主题发生显著变化**的位置: - **判断标准**: * 语义跃迁: 讨论对象发生根本性改变 * 逻辑转换: 从"是什么"转向"为什么"或"怎么办" * 功能变化: 从"问题陈述"转向"解决方案" * 场景切换: 画面、场景、动作发生明显变化 * 对话转换: 话题、语气、情绪发生明显变化 - **划分原则**: * 避免过度细分(每个小变化都成为顶层段落) * 避免过度粗放(将所有内容合并为1个顶层段落) * 以"主题板块"而非"内容单元"为划分粒度 **第二步:初步划分** - 基于主题显著变化位置进行划分 - 支持主Section和子Section的层级结构 - 需要对视频进行逐帧或关键帧分析,捕捉画面、动作、场景、对话等维度的结构变化 **第三步:顺序验证与反思** - 检查每个Section内的视频片段是否保持时间顺序的连续性 - 验证同一Section内的内容是否有语义关联 - 确认段落之间的过渡是否自然合理 ## 层级要求 **段落必须至少保留2层结构**: 1. **第1层(抽象层)**:从具象中聚合出的共性维度 2. **第2层(具象层)**:具体的内容细节 **层级关系说明**: - 抽象层是对多个具象内容的归纳和提炼 - 具象层是抽象层的具体展开 - 每个抽象层下必须有至少1个具象层子项 ## Section字段 - 描述: 段落描述(共性维度名称;具体内容概括) - 内容范围: **列表格式,包含具体视频片段** - 格式:["0:00-0:30", "0:30-1:15"] 或 ["片段1: 开场介绍", "片段2: 问题阐述"] - 要求:必须包含具体的时间戳范围或视频片段描述,清晰标识该Section涵盖的视频内容 - 推理依据: 为什么这样划分 - 子项: 子Section列表(树状结构) # 输出(JSON)- 树状结构 { "内容品类": "内容品类", "段落列表": [ { "描述": "共性维度名称", "内容范围": ["0:00-0:30", "0:30-1:15"], "推理依据": "为什么这样划分这个抽象层", "子项": [ { "描述": "具体内容概括", "内容范围": ["0:00-0:30"], "推理依据": "这个具象内容如何支撑上层抽象", "子项": [] } ] } ] } ``` **调用方式**:使用 `LLMInvoker.safe_invoke_video_analysis` 进行视频分析。 --- ## Step 3: 添加段落ID **代码逻辑**:递归为每个段落添加唯一ID(格式:`段落1`、`段落1.1`、`段落1.2` 等),保持层级关系。 --- ## 输出结果 最终返回: - `内容品类`:视频内容品类 - `段落列表`:树状结构的段落列表,每个段落包含: - `id`:唯一标识符 - `描述`:段落描述 - `内容范围`:视频片段列表 - `推理依据`:划分理由 - `子项`:子段落列表(递归结构)