🔧 KMC Cinema KB 全量适配报告

5 个 Pipeline Phase · 5 commits · Principle-guided KB adaptation

5
Phase 文件适配
5
Commits
29%
P09 token 减少
3
知识常量→KB
5
流程常量+KB指针
0
误伤文件

📋 Commit 清单

CommitPhase改动策略
a327e37P09-202+101 行知识→KB
2ad9cdcP10+9 行+KB指针
188add3P13+9 行+KB指针
3957765P12+8 行+KB指针
5dcc1e8P11+8 行+KB指针

🎯 P09 _INSTRUCTION 精简详情

InstructionBeforeAfterDelta策略
_CAMERA_MOVE_SELECTION5,8121,750-69%→emotion_camera KB
_DURATION_DECISION4,2722,189-48%→duration KB
_PACING_SHOTTYPE1,7751,230-30%→shot_grammar KB
_CINEMA_KB_QUERY2,5581,580-38%精简 meta-instruction
_FORM_FACTOR606455-24%压缩(无KB对应)
_CROSS_CUTTING2,7983,565+28%流程契约+negative_prompt扩展
_TRANSITION_DESIGN1,8111,8110%流程契约保留
_TIMELINE_ORCHESTRATION1,5791,5790%流程契约保留
_SHOT_INTENT2,5282,5280%Schema 契约保留
TOTAL23,73916,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 指针添加

PhaseInstructionKB category策略
P10_TTS_ENGINEtts_provider + tts_emotion_signature附加 KB 指针(TTS HTTP workflow 保留)
P13_EDITOR_TRANSITION_EXECUTIONcut_density_window + editing_rhythm + murch_dimension附加 KB 指针(执行逻辑保留)
P12_CROSS_SHOT_CONTINUITYaxis_compliance (180° rule + thresholds)附加 KB 指针(连续性规则保留)
P11_H3_ENGINE_ADAPTERengine_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 替代——但这会影响保护质量。