Files
ai/docs/work-sync/PROMPT_RULE_AUDIT_V1.md

7.8 KiB

Prompt 规则去劣取优审计 V1

审计日期:2026-07-15
适用内核:splus_v1
审计基线:S_PLUS_SHORT_DRAMA_CODEX_OPTIMIZATION_V1_1.md
代码实现:backend/src/production-kernel/prompts/prompt-rule-registry.ts

1. 审计原则

历史 Prompt 是生产经验来源,不是公共模板真相。处理规则如下:

  1. 历史记录和素材快照不改写、不删除。
  2. 项目专名、素材编号、临时 URL 和单次返修上下文不得进入公共模板。
  3. 能跨项目解释、能转换为可执行约束的经验,去除项目事实后进入候选规则。
  4. 未经 A/B 证明的题材或 Provider 经验只允许处于 testing,不能默认激活。
  5. 规则必须记录阶段、范围、激活条件、预期改善、证据和版本。
  6. 公共规则之间冲突时,以来源事实、已批准改编、连续性和 Provider 可执行性为先。

2. 已批准保留

规则 ID 提取出的有效经验 适用范围 处理结果
shot.performance_arc 表演包含起点、触发、可见反应和余韵 全局 / 镜头 保留并结构化
shot.dialogue_reaction_timing 对白前有准备、句尾有反应与安全余量 全局 / 镜头 保留并结构化
shot.motivated_camera 运镜有起点、动机、速度和落点 全局 / 镜头 保留并结构化
shot.first_last_frame_continuity 首尾帧同空间、光源、轴线和运动方向 全局 / 首尾帧 保留并结构化
shot.cross_space_boundary 跨物理空间分别建立,用可剪切点桥接 全局 / 镜头 保留并抽象
shot.scene_anchor_lock 连续场次锁定空间结构、光源与固定物件 全局 / 连续性 保留并结构化
shot.character_state_lock 身份母版与当前服装/伤势状态分工 全局 / 角色资产 保留并结构化
shot.asset_visibility_boundary 资产检索标签不等于必须入画 全局 / 资产 保留并结构化
shot.axis_and_screen_direction 连续动作记录轴线和画面方向 全局 / 连续性 保留并结构化
shot.state_handoff 前镜结束状态与后镜开始状态接力 全局 / 连续性 保留并结构化
shot.dialogue_integrity 对白保持说话人、语义、顺序和完整性 全局 / 对白 保留并结构化
shot.sound_is_story_action 环境声、拟音、对白和声音桥服务剧情 全局 / 声音 保留并结构化
shot.transition_responsibility 视频模型与后期合并层职责分离 全局 / 转场 保留并结构化
shot.suspense_sound_pressure 悬疑声音绑定证据、动作和心理压力 悬疑题材 保留为题材规则
shot.suspense_inner_monologue 内心独白只用于悬疑关键心理转折 悬疑题材 保留为题材规则
shot.ui_text_post_composite 精确中文 UI、进度条和字幕由后期合成 全局 / UI 保留并结构化
shot.ui_reaction_placeholder UI 占位由构图、视线、停顿和反应构成 全局 / UI 保留并结构化
shot.reference_image_responsibility 每张参考图分配唯一主职责和优先级 全局 / Provider 输入 保留并结构化
shot.one_primary_action 单片段只承担一个主要动作链或转折 全局 / 镜头 保留并结构化
shot.no_mechanical_filler 不为满足数量补空镜、反应或证据镜 全局 / 分镜规划 新增硬规则
episode.hook_truth_and_payoff 钩子来自当前冲突并在本集兑现 全局 / 分集 保留并结构化
timeline.subtitle_spoken_content_only 字幕只含实际语音并跟随语音时点 全局 / 时间线 保留并结构化

3. 已抽象重写

历史写法 问题 新写法
用某酒店、宴会厅和红毯示范所有开场 项目场景污染公共模板 开场运镜由事件、情绪和空间边界决定
用具体两个人名说明对话轴线 角色污染 使用当前角色关系轴线和画面运动方向
用具体文件、礼服、胸针作为资产示例 道具和服装污染 使用当前镜头的角色状态、主场景和关键道具
所有开场都要求俯冲、快速推进 风格机械化 冲突、悬疑、庄重、悲伤等开场分别选择动势
所有跨空间镜头按“楼外到宴会厅”解释 单一案例过拟合 任何独立物理空间均分别建立并设计桥接
终局必须出现特定底牌、地点和两个名字 某故事终局污染分集评分 检查核心冲突结果、主角选择、状态变化和余波

4. 已废弃

行为 废弃原因 代码保护
导演补拍节奏点 自动补满镜头数 凭空造剧情,产生平庸填充 fitScriptStoryboardBeatsToCountexpandStoryboardSeeds 不再增删剧情点
按说话人自动拆成多个对白反打镜头 把一场表演切成对白素材块 normalizeStoryboardDraftsForVideo 保持已批准戏剧单元
用关键词命中宣称固定 96+98+ 分数未经样本校准且可被堆词作弊 新内核只认硬门、版本化 Rubric、媒体 QC 和人工校准
公共模板直接出现历史人物、地点和道具 污染新项目 污染扫描器与静态回归测试阻断
生成失败经验自动追加到公共 Prompt 单次事故可能是素材或 Provider 原因 只进入 PromptRuleCandidateV1,审核/A-B 后晋升

5. 待验证候选

以下经验可能有价值,但证据不足,暂不默认激活:

候选 需要验证的问题
近景/特写占比约 80% 不同题材、动作密度和平台是否同样适用
开场前 5 镜最多 1 个环境镜 长镜头、史诗场面和慢悬疑是否需要例外
UI 占位统一为 1.2-3 秒 字数、屏幕尺寸和观众阅读速度应如何计算
特定时长档位 5/10/15 秒 必须由真实 Provider 能力档案决定,不能写死
复杂多角色场景默认多图参考 不同模型的图数上限、权重和身份一致性差异

6. 本轮代码变更

  • 新增五级生产合同、质量结果、QC Delta 和规则候选合同。
  • 新增严格验证器,覆盖来源引用、钩子兑现、场景转折、对白时长、资产职责和首尾帧连续性。
  • 新增版本化规则注册表和按阶段/题材/Provider 激活机制。
  • 新增 Prompt 污染扫描器,检测历史项目词、数据库 ID、临时 URL 和素材编号写法。
  • 公共脚本 Prompt 已接入经批准的镜头规则。
  • 公共脚本和分集服务已清除当前审计到的历史项目事实。
  • 生产构建通过;中性合同与污染回归测试通过。

7. 剩余隔离区

以下旧服务仍含历史项目专属分支,当前不得作为 splus_v1 的公共 Prompt 来源:

文件 当前命中量 处置策略
characters/characters.service.ts 28 区分角色资产历史兼容与公共角色生成模板,逐段迁出
images/images.service.ts 14 把关键帧项目特例改为合同驱动资产选择
live-action/live-action.service.ts 10 新项目绕过旧项目特例,后续接 Provider Compiler
live-action/prompt-builder.service.ts 9 仅保留通用镜头编译,删除人物/酒店/文件专属分支

命中量是本轮关键词审计结果,不等同全部问题数量。清理时必须逐条判断是历史读取兼容、项目数据还是公共生成逻辑,禁止批量替换。

8. 晋升流程

历史 Prompt / 返修记录 / QC 差异
-> PromptRuleCandidateV1
-> 去除项目事实与内部 ID
-> 明确 stage / scope / activation_condition
-> 至少两个不同项目复现
-> 低成本 A/B
-> 人工审核
-> approved 规则版本
-> 按条件进入编译请求

任何步骤缺失,规则只能停留在 candidatetesting