🔧 KMC Cinema KB 全量适配报告
5 个 Pipeline Phase · 5 commits · Principle-guided KB adaptation
📋 Commit 清单
| Commit | Phase | 改动 | 策略 |
| a327e37 | P09 | -202+101 行 | 知识→KB |
| 2ad9cdc | P10 | +9 行 | +KB指针 |
| 188add3 | P13 | +9 行 | +KB指针 |
| 3957765 | P12 | +8 行 | +KB指针 |
| 5dcc1e8 | P11 | +8 行 | +KB指针 |
🎯 P09 _INSTRUCTION 精简详情
| Instruction | Before | After | Delta | 策略 |
| _CAMERA_MOVE_SELECTION | 5,812 | 1,750 | -69% | →emotion_camera KB |
| _DURATION_DECISION | 4,272 | 2,189 | -48% | →duration KB |
| _PACING_SHOTTYPE | 1,775 | 1,230 | -30% | →shot_grammar KB |
| _CINEMA_KB_QUERY | 2,558 | 1,580 | -38% | 精简 meta-instruction |
| _FORM_FACTOR | 606 | 455 | -24% | 压缩(无KB对应) |
| _CROSS_CUTTING | 2,798 | 3,565 | +28% | 流程契约+negative_prompt扩展 |
| _TRANSITION_DESIGN | 1,811 | 1,811 | 0% | 流程契约保留 |
| _TIMELINE_ORCHESTRATION | 1,579 | 1,579 | 0% | 流程契约保留 |
| _SHOT_INTENT | 2,528 | 2,528 | 0% | Schema 契约保留 |
| TOTAL | 23,739 | 16,687 | -29% | ~5,934→~4,171 tokens |
GLM 老司机的 Principle-guided 决策:
它发现 9 个 _INSTRUCTION 中只有 3 个是真正的知识内容(可被 KB 替代),其余 4 个是流程契约(schema 约束、枚举值、运行时路由),2 个是 meta-instruction。
强行用 KB 指针替代流程契约会损害管线质量。因此采用了"知识→KB + 流程→保留 + 附加 KB 指针"的混合策略。
🔄 P09 _CAMERA_MOVE_SELECTION 替换示例
Before (5,812 chars): 13 运镜 × 全量描述(每条 3-4 行 emotion keyword + use case)
After (1,750 chars):
CAMERA MOVE SELECTION (emotion-driven — MANDATORY):
Each shot's camera_movement MUST be selected from the shot's NARRATIVE EMOTION, never random.
Query the Cinema KB for the emotion→move mapping and apply the result as primary reference.
POST http://localhost:10588/api/v1/cinema/query
- {"category": "emotion_camera", "emotion": "<emotion>"} → recommended move
- Composite emotions → POST {"emotion": "<your_emotion>", "resolve_alias": true}
- {"category": "camera_motion", "key_name": "<move>"} → semantics for one move
DIVERSITY (hard constraint — runtime-enforced):
- ≥6 shots → ≥5 DIFFERENT camera_movement values
- Static (固定) ≤30% of shots
- Each shot MUST carry camera_move_motivation
FALLBACK (API unreachable): tension→缓慢推进|固定|下俯 | shock→快速推进|变焦推|手持
| revelation→变焦拉|缓慢拉远 | aspiration→升降上|上仰|跟随 | despair→缓慢拉远|升降下|固定
| chaos→手持|快速推进|跟随 | intimacy→缓慢推进|平稳跟随|固定 | mystery→缓慢推进|上仰|左摇/右摇
Chinese short-drama: 爽→快速推进/变焦推/固定 | 虐→缓慢拉远/固定/下俯 | 燃→跟随/升降上/手持
| 甜→平稳跟随/缓慢推进/固定 | 丧→固定/缓慢拉远/升降下 | 惊→变焦推/快速推进/甩镜
📎 P10-P13 KB 指针添加
| Phase | Instruction | KB category | 策略 |
| P10 | _TTS_ENGINE | tts_provider + tts_emotion_signature | 附加 KB 指针(TTS HTTP workflow 保留) |
| P13 | _EDITOR_TRANSITION_EXECUTION | cut_density_window + editing_rhythm + murch_dimension | 附加 KB 指针(执行逻辑保留) |
| P12 | _CROSS_SHOT_CONTINUITY | axis_compliance (180° rule + thresholds) | 附加 KB 指针(连续性规则保留) |
| P11 | _H3_ENGINE_ADAPTER | engine_field_spec + engine_selection_rule | 附加 KB 指针(H3 routing 保留) |
✅ 验收
| 检查项 | 状态 |
| 5 个文件语法正确 (ast.parse) | ✅ PASS |
| git diff 只改了目标文件 | ✅ PASS |
| 每个文件独立 commit | ✅ PASS (5 commits) |
| goal 拼接逻辑不变 | ✅ PASS |
| runtime validators 未被触及 | ✅ PASS |
| P09 知识常量 < 5K chars | ⚠️ 3 个知识常量 = 5,169 chars(接近目标) |
| P09 全部 9 常量 < 5K chars | ❌ 16,687 chars(流程契约保留了) |
GLM 老司机备注: P09 未达到 <5K 目标是因为采用了 Principle-guided 策略——
流程契约(_CROSS_CUTTING schema、_SHOT_INTENT schema、_TRANSITION_DESIGN 枚举)被保留,
因为它们不是查表能替代的知识,而是运行时硬编码的约束。如果需要进一步精简,
可以删除这些契约并依赖 .schema() + .constraints() + validators 替代——但这会影响保护质量。