淘天AI设计平台 · 多行业视频自动生成 Agent
本项目把视频生成能力构建为通用底盘 + 行业包的架构。通用底盘由「引擎 + 两层能力规范 + 横向词典 + 全局硬纪律」组成,管住视听语法与叙事结构;行业包只声明该类目的生产管线、业务形式与资产逻辑,并在需要时对底盘做少量 override。新增行业不改引擎、不改底盘定义。
两层能力规范是底盘的核心:
- 创作角色规范(creator-role):UGC / PGC / OGC 三种创作角色,由 orchestrator 后台路由判定(不向用户明示),管视听语法——器材边界、镜头语言允许范围、光线红线、真实感强度、变焦/稳定器禁用等。
- 内容形式规范(content-format):展示 / 讲解 / 开箱 / 教程 / 生活 / 氛围 / 品牌共 7 类核心形式,管叙事结构——每类形式的镜头骨架与叙事目的。
创作角色 × 内容形式共同决定一条视频的底层语法与结构,行业包在其上叠加"这个类目的这个形式具体长什么样"。
核心设计原则:
- 定义归词典,选择归使用方:每个概念(镜头术语、节奏模板、开场结尾原型、角色策略)只定义一次,写在唯一事实源里;"谁能用、怎么选"写在使用方(角色/形式/行业包),杜绝双写漂移。
- 引擎极简,底盘统一,行业包轻量:引擎(orchestrator + video-gen)类目无关;底盘规范全行业共用;行业包只写差异。
- pipeline.md 驱动:行业包通过 pipeline.md 声明生产步骤,orchestrator 按声明执行,不硬编码任何行业流程。
- 横向 override 走 patch 钩子:行业包若要在花字/字幕/节奏/镜头语言/开场/结尾/配乐/音色 8 个横向维度上定制,通过
_local/下的 override patch 钩子增量声明,先读 universal 基线再叠加本地覆盖,绝不复制基线。 - 渐进式上下文 + Gotchas 驱动迭代:Skill 按需加载;从生产失败中持续积累的 Gotchas 是最高价值内容。
video-agent/
├── SKILL.md ← ★ 包入口(唯一),带 frontmatter
├── README.md ← 你正在看的文件
├── docs/
│ ├── doc-conventions.md ← 文档命名与格式约定 + 术语表
│ ├── platform-authoring-sop.md ← 平台设计师:改 universal 底盘的 SOP
│ └── industry-authoring-sop.md ← 行业设计师:写/改行业包 + 8 维 override 的 SOP
│
├── skills/
│ │
│ │ ── 通用底盘(所有行业共用,类目无关)──
│ │
│ ├── universal/
│ │ ├── video-orchestrator/ ← 引擎:总调度(pipeline 驱动 + 角色/形式路由)
│ │ │ └── video-orchestrator.md
│ │ ├── video-gen/ ← 引擎:视频模型调用与切段拼接
│ │ │ ├── video-gen.md
│ │ │ └── references/model-params.md ← 模型参数 + reference_images 角色映射(唯一事实源)
│ │ │
│ │ ├── creator-roles/ ← 第一层能力规范:创作角色(视听语法)
│ │ │ ├── role-ugc.md
│ │ │ ├── role-pgc.md
│ │ │ └── role-ogc.md
│ │ ├── content-formats/ ← 第二层能力规范:内容形式(叙事结构)
│ │ │ ├── display.md 展示型
│ │ │ ├── explain.md 讲解型
│ │ │ ├── unboxing.md 开箱型
│ │ │ ├── tutorial.md 教程型
│ │ │ ├── lifestyle.md 生活型
│ │ │ ├── lifestyle-atoms.md ← 生活型中段分镜原子库(跨行业复用的招牌机制镜头;机制内核+参数槽位+验证注记三段式)
│ │ │ ├── mood.md 氛围型
│ │ │ ├── brand.md 品牌型
│ │ │ └── opening-ending-primitives.md ← 开场/结尾原型池(打 roles 标签)
│ │ │
│ │ ├── camera-grammar/camera-grammar.md ← 横向词典:镜头语言(景别/运镜/景深/焦段/转场)
│ │ ├── rhythm-templates/rhythm-templates.md ← 横向词典:8 个抽象节奏模板
│ │ ├── text-rules/ ← 横向词典:花字 + 字幕视觉规范
│ │ │ ├── huazi-rules.md
│ │ │ └── zimu-rules.md
│ │ ├── music-style/music-style.md ← 横向词典:配乐执行基线(L1=纯音乐 + L2 三类为顶层检索键;描述→匹配,禁模型生成 BGM)
│ │ ├── voice-style/voice-style.md ← 横向词典:音色执行基线 + 活人感红线(声音语速基线 150-170 字/分)
│ │ ├── person-triview/person-triview.md ← 人物三视图通用底盘(global-disciplines #14 兜底实现;行业专用版 outfit/portrait-triview 满足即不重复)
│ │ ├── asset-matching/ ← 资产匹配基线:portrait/scene 按 UGC/PGC/OGC 的人物气质/场景基调总领标准
│ │ │ ├── portrait-rules.md
│ │ │ └── scene-rules.md
│ │ └── global-disciplines.md ← 全局硬纪律(跨角色/形式/行业无条件成立)
│ │
│ │ ── 行业包(每个类目一个,只写差异)──
│ │
│ └── categories/
│ ├── fashion/ ← 时尚服饰(female/male 性别分支,当前 female 落地)
│ │ ├── pipeline.md ← ★ 生产管线定义
│ │ ├── gender-rules/ ← 性别规则层(female/male,管体态/姿态/动作性别归属)
│ │ ├── product-type-routing/ ← 商品类型路由层(上衣/下装/鞋/帽/套装/裙装 → 镜头映射)
│ │ ├── outfit-styling/ ← 穿搭提示词生成
│ │ ├── outfit-triview/ ← 穿搭三视图生成
│ │ ├── storyboard/storyboard.md ← 分镜脚本生成(形式路由)
│ │ ├── references/ ← style-*.md 风格规则书 + format-*.md 形式规范 + cinematography-tiers + 开场结尾池 + 道具库
│ │ ├── asset-matching/ ← portrait/scene 行业细化 override(叠加 universal/asset-matching 基线)
│ │ └── _local/ ← 8 维 override patch 钩子(music-style 配乐曲风偏好 + voice-style 风格→音色映射均有覆盖,其余维度仅存钩子)
│ │
│ └── snack/ ← 零食(业务域:天猫超市)
│ ├── pipeline.md
│ ├── storyboard/storyboard.md
│ ├── references/ ← format-kaixiang(开箱)+ 拍摄分层 + 开场结尾池 + 道具库 + 参考节奏匹配 + 人像三视图
│ ├── asset-matching/ ← portrait/scene 行业细化 override(叠加 universal/asset-matching 基线)
│ └── _local/ ← 8 维 override patch 钩子(仅 music-style 有配乐曲风偏好;voice-style 覆盖为空,其余维度仅存钩子)
│
└── asset-library/ ← 实体资产层(全行业共享,不按行业切分)
├── negative-prompts/common.md ← 通用负面约束库(video-gen 加载)
├── music/index.json ← 版权音乐共享池索引(行业 _local/music-style 映射后来此筛选)
└── voice-samples/index.json ← 音色参考共享池索引(按性别/音质/语速/语言打标;行业 _local/voice-style 映射后来此筛选)
类目无关,对所有行业完全相同。
| Skill | 职责 |
|---|---|
| video-orchestrator | 总调度:解析输入 → 识别类目 → 后台路由创作角色/内容形式 → 加载 pipeline.md → 资产准备 → 确认 → 按步骤编排;未命中类目走通用兜底(非报错) |
| video-gen | 视频生成:调用 DSD 2.0(单次 ≤15s),>15s 切段拼接 + 色彩校正,加载负面提示词;reference_images 角色映射见 model-params |
| 层 | 目录 | 管什么 | 事实源纪律 |
|---|---|---|---|
| 创作角色 | creator-roles/role-{ugc,pgc,ogc}.md |
视听语法:器材/镜头/光线/真实感/变焦禁用等允许范围 | 由 orchestrator 后台路由,不向用户明示;VOC(买家秀)只是路由到 UGC 的语境之一,不设特殊字段 |
| 内容形式 | content-formats/*.md(7 类核心 + 开场结尾原型) |
叙事结构:每类形式的镜头骨架与叙事目的 | 行业业务形式(FitCheck/开箱/美妆试色…)是核心形式的行业实例,不新增核心形式除非有独立镜头骨架 + 独立叙事目的 |
镜头语言、节奏模板、花字、字幕是跨角色跨形式复用的"名词定义",各自单一事实源:
| 维度 | 事实源 |
|---|---|
| 镜头语言 | camera-grammar/camera-grammar.md(术语定义;允许集在 creator-roles) |
| 节奏 | rhythm-templates/rhythm-templates.md(8 个抽象模板 R-EVEN/R-HEAD/R-DETAIL/R-MID/R-TAIL/R-BREATH/R-BEAT/R-DOUBLE) |
| 花字 | text-rules/huazi-rules.md |
| 字幕 | text-rules/zimu-rules.md |
global-disciplines.md——跨角色、跨形式、跨行业都无条件成立的质量地板,行业 storyboard 只在其上叠加行业专有纪律。
行业包若要在 花字 / 字幕 / 节奏 / 镜头语言 / 开场 / 结尾 / 配乐 / 音色 上做定制,不修改 universal 基线,而是在本包 _local/ 下对应维度写 override patch。加载遵循「基线 + override」两段式:先读 universal/ 基线,再叠加 _local/ 同名 patch 的覆盖项。
每个行业包统一带一套 7 文件钩子(8 个维度,开场/结尾共用一文件;服饰与零食形态一致):
_local/
├── text-rules/huazi-rules.md ← 花字 override
├── text-rules/zimu-rules.md ← 字幕 override
├── rhythm-templates/rhythm-templates.md ← 节奏 override
├── camera-grammar/camera-grammar.md ← 镜头语言 override
├── content-formats/opening-ending-primitives.md ← 开场/结尾 override
├── music-style/music-style.md ← 配乐曲风偏好 override
└── voice-style/voice-style.md ← 音色映射 override
当前服饰与零食的 8 维 override 覆盖很轻:服饰在配乐(曲风偏好)与音色(风格→音色映射)两维有实质覆盖,零食仅配乐维度有曲风偏好,其余维度等价于纯用基线。钩子常驻是为守住统一的扩展入口——未来任一行业需要专属规则时,在对应文件的「覆盖项」里增量声明即可,绝不整篇复制基线。引擎(video-gen / video-orchestrator)无行业定制,不设 _local 副本,一律直接共享 universal。
按 female / male 性别分支组织(性别规则层 gender-rules/gender-rules.md),当前 female 分支完整落地、male 为扩展槽位。商品类型 → 镜头映射抽为独立路由层 product-type-routing/product-type-routing.md(上衣/下装/鞋/帽/套装/裙装类)。两层正交:性别层管"谁在穿、怎么摆",商品类型层管"拍什么部位",storyboard 先按性别分支收窄动作池再叠加品类主体纪律。
管线:资产准备 → 【确认卡片】→ 穿搭生成 → 三视图生成 → 分镜脚本 → 视频生成 → (配乐)
- female 分支 3 个风格规则书覆盖 6 种视觉风格:纯欲/甜美(柔软)、法式(柔软)、潮酷/机能/户外(硬朗)
- 12 个业务形式(映射到核心内容形式 + 创作角色):FitCheck / 生活Vlog / 穿搭分享(UGC)、氛围街拍 / 潮流街拍 / 情绪街拍 / 自然系 / 杂志棚拍 / 态度棚拍 / 商品讲解(PGC)、品牌大片 / 品牌叙事(OGC)
- 资产逻辑:淘天影像人物库(必须,无命中兜底 GPT image 2)+ 场景库(优先,无命中不做图片兜底、文字直进分镜)+ 音乐库(>15s 触发);音色冻结待建库
管线精简:无独立穿搭步骤,直接从资产准备进入分镜;但凡画面出现人物(上传人像或人物库命中),必先走人物三视图步骤(references/portrait-triview.md 居家便装 T1-T4 模板),满足 global-disciplines #14。
- 1 个业务形式:开箱(kaixiang,路由到 UGC,含结构模板 + 节奏模板 + 10 子品类差异化镜头规则)
- 业务红线:真实评价、必含一句不完美、禁品牌口吻/禁强 CTA(由行业包声明并打入 state)
- 人物三视图:凡画面出现人物即走
references/portrait-triview.md(横版,居家便装默认),作为零食行业对 #14 的专用实现 - 编写/修改指南见
docs/industry-authoring-sop.md(全行业统一)
Agent 平台需实现:
- Skill 索引注入:引擎 Skill 的 name + description 常驻 system prompt。
- 角色/形式路由:orchestrator 后台判定 creator_role 与 content_format,写入 state,不向用户明示。
- pipeline.md 解析:识别类目后加载 pipeline.md,解析步骤序列;未命中类目走通用兜底而非报错(仅
state.pipeline.strict_category = true时报错)。 - Skill 按需加载:按 pipeline 声明顺序加载对应 Skill 内容文件;Skill 可能在行业包内或 universal 内。
- 横向维度加载:花字/字幕/节奏/镜头语言/开场/结尾按「基线 +
_local/override」两段式加载。 - 资产准备:用户上传则解析沿用;无上传则按 asset-matching 生成描述作为库检索 query。人物走淘天影像人物库(必须,无命中兜底 GPT image 2 最高质量模式),场景走场景库(优先,无命中不做图片兜底、文字直进分镜)。人物兜底、场景文字回落均打日志喂资产库补齐团队。
- 模型调用:图像 = GPT image 2(最高质量模式,显式
quality:"highest");视频 = DSD 2.0(单次 ≤15s,>15s 切段拼接)。参数唯一事实源skills/universal/video-gen/references/model-params.md。
编写或修改任何文档前,先按角色读对应 SOP:
- 改 universal 底盘(创作角色 / 内容形式 / 横向词典 / 全局纪律)→ 读
docs/platform-authoring-sop.md - 写或改行业包(新类目 / 新业务形式 / 8 维 override)→ 读
docs/industry-authoring-sop.md - 文档命名、格式约定、术语表 → 见
docs/doc-conventions.md
核心格式原则:查表用表格,描述用段落。 给 Agent/模型看的规则文档,描述型内容用连贯自然语言段落,表格只用于查表找值(路由映射、参数对照、标签映射)。