
学完95分钟AI电影运镜课程后真正有价值的不是草稿箱里那堆零散术语而是把这些镜头语言整理成可以被AI Agent反复调用的Skill。很多人用AI生成视频时只会写“镜头缓慢推进、人物特写、背景虚化”但同一个提示词在不同场景下生成结果差异很大。原因在于镜头语言并不是几个装饰词它由景别、镜头运动、拍摄角度、节奏和情绪共同决定。如果只把“运镜”当作一句话塞进聊天框AI很难稳定复现电影感。我在下面的内容里会完整梳理这次实践从电影运镜的核心概念出发说明为什么要把知识做成Skill而不是普通提示词然后给出一个可直接落地的camera-skill目录结构、SKILL.md内容、知识库文件和示例最后介绍如何安装验证、排查问题以及在团队和生产环境中继续演进。这套方法同样适合你处理课程笔记、文档片段、领域术语表等任何需要让AI稳定消费的知识资产。1. 为什么AI视频必须先听懂运镜再写Skill1.1 运镜是AI视频叙事的底层语法运镜是镜头运动的统称包含机位移动、镜头转动、焦距变化和运动方式。它解决的问题不是“镜头里有什么”而是“观众应该怎么感受画面里的内容”。同样的雨夜街道固定机位拍出来是冷静观察手持跟拍会带来紧张慌乱航拍俯视则变成上帝视角的宿命感。AI视频模型真正理解的不是“氛围”“紧张”“宏大”这类抽象词而是由镜位、运动方向和速度组成的描述。所以使用文生视频或图生视频工具时运镜描述越接近镜头语言的底层语法生成结果越可控。比如“镜头从地面仰视缓慢上摇到主角脸部背景是霓虹灯牌”比“主角站在霓虹灯下很酷”稳定得多。1.2 95分钟课程里真正值得沉淀的五组镜头语言课程内容可以归纳成五组景别、镜头运动、拍摄角度、镜头效果和节奏控制。这五组不是并列关系而是层级关系。景别决定观众看什么镜头运动决定观众怎么感受角度决定观众站在哪里效果决定视觉记忆点节奏决定情绪密度。分组核心变量典型例子在AI提示词中的体现景别主体在画面中的占比远景、全景、中景、近景、特写确定主体大小和环境交代程度镜头运动机位是否移动、如何移动推、拉、摇、移、跟、升降、手持、航拍确定视频的动态方向和速度拍摄角度镜头相对主体的高度和视点平视、俯视、仰视、过肩、主观确定观众对主体的情感倾向镜头效果特殊光学或运动技巧推拉变焦、甩镜、慢速跟随确定视觉冲击点和关键记忆点节奏控制镜头时长和切换密度固定镜头、快切、长镜头确定片段的紧张感或舒缓感课程里反复强调的一句话是每一个镜头都要有目的。做Skill时我也沿用这个原则每个术语都必须附带“视觉特征、情绪意图、提示词模板”三样信息而不是孤立地放一个名词解释。1.3 为什么要做成Skill而不是普通提示词普通提示词的问题在于它是一次性的。用户在聊天框里输入“用推镜生成一个紧张片段”这次有效下一次换一种说法AI给出的镜头脚本可能完全不同。更麻烦的是如果团队里每个人积累的运镜经验不一致输出质量会非常不稳定。Skill解决的是“知识的结构化沉淀和稳定复用”问题。它把运镜知识从聊天记录中抽离出来放到一个固定目录里包含触发条件、工作流程、知识库和示例。AI Agent在遇到相关需求时会按固定流程读取这批资料再生成镜头脚本。这样即使措辞变化输出结构也是统一的。从学习角度看把知识做成Skill本身就是一次高质量的复习。95分钟的课程听完后如果不整理一周后只剩下“推拉摇移”四个字整理成Skill时我必须为每个术语写出视觉特征、情绪用途和提示词模板这个动作远比重复看视频有效。2. Skill是什么一个可复用、可审查、可扩展的能力包2.1 Skill、提示词、插件和MCP的边界刚开始接触Skill时容易混淆它和提示词、插件、MCP的关系。简单理解是提示词是一次性指令Skill是结构化的知识包插件是外部能力封装MCP是让AI连接外部工具和数据的协议。类型核心内容解决什么问题典型例子提示词一段对话指令当前问题的临时指引让AI写一个推镜运镜描述SkillSKILL.md 知识库 示例特定领域知识的可复用调用camera-skill分镜脚本SkillVue组件规范Skill插件可执行工具或功能扩展增强Agent的原子能力图片处理插件视频生成插件MCP外部数据源或工具的统一接入协议让Agent访问数据库、API、文件系统视频生成API的MCP服务端一个常见误区是认为装了MCP就能获得领域知识。MCP只负责连接能力比如把一段画面描述发送给视频生成API但“如何把雨夜追车写成电影级运镜描述”这类知识仍然需要Skill来提供。知识调用和能力调用要分开这也会影响后面的目录设计。2.2 Skill的目录结构为什么是“SKILL.md references examples”一个标准的Skill目录包含三个部分入口文件SKILL.md、参考资料references、示例examples。SKILL.md是Agent首先读取的文件它描述这个Skill的名称、触发条件、工作流程和输出约定references保存领域知识比如运镜术语表、景别解释、角度对照examples保存完整示例用于让AI模仿输出格式也方便人工做回归测试。camera-skill/ ├── SKILL.md ├── references/ │ ├── shot-types.md │ ├── camera-movements.md │ └── angle-and-mood.md └── examples/ ├── rain-night-chase.md ├── farewell-morning.md └── aerial-opening.md这种拆分有两个好处。一是SKILL.md保持精简Agent可以在不读完整知识库的情况下快速理解任务二是references和examples可以按需加载当用户要生成“航拍开场”时Agent不需要读完整个运镜术语表。2.3 Agent怎么决定是否加载一个SkillAgent通常根据Skill的元信息尤其是description字段来判断当前用户输入是否匹配。匹配后它会读取SKILL.md再根据SKILL.md中的工作流决定是否需要进一步读取references和examples。因此description和SKILL.md开头的触发条件写得好不好直接决定了Skill能不能被正确激活。如果description写得过于宽泛例如“包含多种视频知识”Agent难以判断何时启用写得太狭窄例如“只处理雨夜追车镜头”则在面对类似场景时不会激活。实践中的做法是明确列出至少三类触发场景、两到三个明确不触发的场景并把最核心的使用动词写进description。3. 拆解电影运镜知识库先有规则再有代码3.1 景别决定观众看什么景别描述主体在画面中的大小。常见的几个档位是远景、全景、中景、近景和特写。景别直接影响观众注意力的分配。远景中人物占比很小观众注意力集中在环境特写中主体占满画面观众被迫观察细节表情或物体纹理。做AI视频提示词时景别必须放在前面因为生成模型的第一任务是确定画面构图关系。景别英文视觉特征情绪/用途AI提示词要点远景Extreme Long Shot人物小环境大宏大、孤独、宿命感强调地理环境、高空或低机位、人物剪影全景Long Shot人物全身与环境交代动作和空间关系强调人物完整姿态和背景广度中景Medium Shot膝盖或腰部以上对话、动作、表演强调身体语言和互动关系近景Close-up面部或肩部情绪、内心活动强调面部表情、眼眶、嘴角、呼吸感特写Extreme Close-up局部细节填充画面强烈情绪、关键信息强调瞳孔、手势、物品纹理3.2 镜头运动决定观众怎么感受镜头运动是运镜的核心。它描述的是机位或镜头本身的变化而不是画面里物体自己的动作。同一个画面内容用推镜还是拉镜用固定机位还是手持观众的感受完全不同。下面是课程里最常用的一组运动术语我同时把它们编成了AI提示词模板。术语英文镜头行为典型情绪提示词模板推镜Dolly In / Push In机位向前移动主体逐渐放大专注、压迫、发现镜头从全景缓慢推进至面部特写背景逐渐虚化拉镜Dolly Out / Pull Back机位向后移动画面逐渐开阔释放、孤独、真相暴露镜头从面部缓慢后拉逐渐暴露整个房间摇镜Pan / Tilt机位固定镜头左右旋转或上下俯仰交代环境、跟随视线机位固定镜头从左侧向右缓慢摇动扫过整条街道移镜Track / Truck机位与主体平行移动速度感、穿越感镜头与人物平行移动人物保持在画面中央背景横向快速流动跟镜Follow机位跟随主体运动沉浸、临场感镜头跟随角色后背向前移动周围环境向后掠过升降镜Crane / Pedestal机位整体上升或下降力量对比、环境压迫镜头从地面缓慢上升到高空人物逐渐变小手持Handheld画面出现轻微抖动纪实、慌乱、紧张手持镜头跟随角色奔跑画面轻微抖动背景快速移动航拍Aerial / Drone高空俯瞰自由移动宏大、宿命、地理关系无人机从高空缓慢下降并向建筑群推进旋转镜Orbit镜头围绕主体弧形运动眩晕、审视、仪式感镜头围绕主角缓慢旋转背景以圆环轨迹流动3.3 角度和视点决定观众站在哪里角度决定了观众与画面主体之间的权力关系。平视镜头让观众觉得和中立仰视让主体显得强大俯视让主体显得弱小过肩镜头把观众安排在对话的另一侧主观镜头则完全代入主体的眼睛。AI生成时如果不指定角度模型默认会选择最平淡的平视机位这也导致很多AI视频缺乏电影感。角度英文视点效果适用场景AI提示词要点平视Eye Level中立、自然常规对话、记录镜头与人物视线平齐俯视High Angle主体弱小、被观察困境、决策、宿命镜头从上方俯拍人物背景压迫仰视Low Angle主体强大、有压迫感英雄出场、巨大建筑镜头从低处向上拍摄人物显得高大过肩Over Shoulder带入对话关系双人对话镜头越过一侧肩部拍摄对面人物主观POV完全代入主体视角追逐、发现、惊悚以主角第一人称视角向前移动3.4 把知识映射成提示词模板时要给出完整句式在整理知识库时我要求每一行都能直接变成AI视频工具的提示词而不是只写“适用场景”这种抽象描述。一个可用的提示词模板至少要包含四个要素镜头运动、景别、画面主体、氛围描述。有些模板还要加入光影和时间信息例如“黄昏”“霓虹灯”“雨丝反光”。以推镜为例完整模板可以是镜头从街道全景缓慢向前推进景别逐渐从全景过渡到近景最终聚焦在主角湿润的侧脸上背景霓虹灯在景深中虚化雨丝在路灯下反光画面整体偏冷蓝色调情绪紧张而压抑。这个写法是直接给生成式视频模型用的。它既有运镜又有景别变化还有光影和情绪。编写运镜知识库时每个术语都应该配套一到两种完整句式而不是只给术语定义。4. 亲手构建camera-skill完整结构与核心文件4.1 创建目录结构在本地任意目录初始化这个Skill。假设项目文件夹名为camera-skill执行以下命令创建目录。mkdir -p camera-skill/references mkdir -p camera-skill/examples目录结构建立后依次创建SKILL.md、references/camera-movements.md和examples/rain-night-chase.md。文件命名统一使用小写字母和短横线符合多数Agent工具的Skill命名习惯。4.2 SKILL.md触发条件、工作流程、输出约定SKILL.md是这个能力包的入口它不应该承载全部知识只负责告诉Agent“这个Skill是做什么的”“什么时候用”“按什么流程工作”“最终输出什么格式”。下面是camera-skill的SKILL.md完整内容--- name: camera-skill description: 为AI视频生成提供电影级运镜脚本设计能力。当用户需要生成分镜脚本、运镜描述、AI视频提示词、镜头语言设计时使用。 version: 0.1.0 --- # Camera Skill 根据用户提供的场景内容设计一套包含景别、镜头运动、拍摄角度和视觉情绪的电影级镜头脚本并输出可直接用于文生视频或图生视频的提示词。 ## 触发条件 ### 应当使用 - 用户要求设计AI视频的镜头运动或运镜脚本 - 用户给出场景文字需要转成多镜头分镜 - 用户需要为一段短剧、漫剧或电影片段生成画面提示词 - 用户希望在已有画面描述基础上增加电影感 ### 不应使用 - 用户只是询问运镜理论名词不需要生成脚本 - 用户要求的是图像生成而不是视频生成 - 用户需要的是音频、配乐或台词设计 ## 工作流程 1. 澄清需求。如果用户没有说明视频时长、氛围、主体先识别是否可以在合理范围内使用默认值或者主动补问关键信息。 2. 提取核心要素。从用户原始描述中抽取主体、动作、环境、情绪、时间。 3. 选择景别。判断当前镜头应该让观众看到什么。 4. 选择镜头运动。为这个镜头确定机位变化方式。 5. 选择角度与视点。决定观众与主体之间的权力关系。 6. 输出镜头脚本。按照固定格式给出镜头表并为每个镜头附带一段可粘贴的AI视频提示词。 ## 输出格式 所有输出必须包含以下字段 | 字段 | 说明 | | --- | --- | | 镜头编号 | 每次输出使用 01 开始递增 | | 景别 | 远景/全景/中景/近景/特写 | | 镜头运动 | 推/拉/摇/移/跟/升降/手持/航拍/旋转/固定 | | 角度 | 平视/俯视/仰视/过肩/主观 | | 画面描述 | 描述主体、环境、光线、情绪 | | AI提示词 | 可直接粘贴到视频工具的完整中文提示词 | ## 注意事项 - 涉及复杂运镜术语时必须参照 references/camera-movements.md 中的定义避免直译。 - 镜头数量未说明时默认输出 4 到 8 个镜头。 - 如果用户指定的氛围与运镜冲突优先解释冲突原因再给出替代方案。这段内容把Agent的行为边界和输出规范都定义清楚了。要点是不要把运镜知识全部堆进来而是告诉Agent去references里找定义。这样SKILL.md保持在一屏以内Agent加载成本低调用更稳定。4.3 references/camera-movements.md让术语落地references目录里保存的是知识库。下面是camera-movements.md的一个简版包含运镜术语、视觉特征、情绪意图和提示词模板。实际工程中可以继续补充景别表、角度表和光影模板。# 常用镜头运动速查表 | 术语 | 视觉特征 | 情绪意图 | 提示词模板 | | --- | --- | --- | --- | | 推镜 Dolly In | 机位前移主体逐渐放大 | 专注、压迫、发现 | 镜头从全景缓慢推进至主体面部背景逐步退后并虚化 | | 拉镜 Dolly Out | 机位后移画面开阔 | 释放、孤独、真相暴露 | 镜头从主体面部缓慢后拉逐渐露出整个环境和人物全景 | | 摇镜 Pan | 机位固定镜头左右转动 | 交代环境、跟随视线 | 机位固定镜头从左侧向右缓慢摇动逐一扫过场景中的人物 | | 移镜 Track | 机位平行移动主体景别不变 | 速度感、穿越感 | 镜头与人物平行移动人物保持在画面中央背景横向流动 | | 跟镜 Follow | 机位跟随主体运动 | 沉浸、临场感 | 镜头在角色身后跟随移动主体保持稳定背景向后掠过 | | 升降镜 Crane | 机位整体上升或下降 | 力量对比、环境压迫 | 镜头沿建筑外立面从下向上缓慢升起人物逐渐缩小 | | 手持 Handheld | 画面轻微抖动 | 慌乱、纪实、紧张 | 手持镜头跟随角色奔跑画面轻微抖动呼吸感明显 | | 航拍 Aerial | 高空俯视并自由移动 | 宏大、宿命、地理关系 | 无人机从高空下降以俯视角度向公路上的车辆推进 | | 旋转镜 Orbit | 镜头围绕主体弧形运动 | 眩晕、审视、仪式感 | 镜头围绕主角缓慢旋转背景以圆环轨迹流动 | | 推拉变焦 Dolly Zoom | 前移与反向变焦同时发生 | 眩晕、悬疑、世界观崩塌 | 镜头向前移动同时缩小焦距主体大小不变背景被强烈拉伸 |知识库里的每一行都是为了被Agent查询而存在的。当用户说“想要眩晕和悬疑感”时Agent可以查到“推拉变焦”这个术语并直接给出提示词模板不需要再次猜测。4.4 examples给Agent一个可以模仿的模板示例文件的价值是让Agent看到一个“完整输入到完整输出”的转换过程。下面是一个“雨夜追车”场景的示例输出是6个镜头的脚本。# 示例雨夜追车 输入场景雨夜主角在狭窄巷子里奔跑身后有车辆追来整体氛围紧张。 镜头脚本 | 镜头 | 景别 | 镜头运动 | 角度 | 画面描述 | AI提示词 | | --- | --- | --- | --- | --- | --- | | 01 | 远景 | 航拍 | 俯视 | 雨夜城市主角在巷口奔跑车灯从左侧驶入 | 无人机高空俯拍雨夜街区一个穿深色外套的人在窄巷中奔跑一辆车从画面左侧驶入镜头缓慢下降雨丝密集 | | 02 | 中景 | 手持 | 平视 | 主角回头表情紧张 | 手持镜头跟随主角回头动作景别为中景画面轻微抖动雨水打在脸上背景路灯虚化 | | 03 | 近景 | 推镜 | 平视 | 车辆前灯照亮主角的背影 | 镜头从主角背影后面匀速推进车灯亮光逐渐占据画面主体背影变小紧张感增强 | | 04 | 特写 | 固定 | 俯视 | 主角踩到水洼水花溅起 | 固定机位俯拍地面一只脚踩过水洼水花四溅雨滴连续落入水面 | | 05 | 中景 | 摇镜 | 过肩 | 主角看向后方车辆 | 过肩镜头主角在画面右侧镜头向左缓慢摇动车辆大灯出现在背景中 | | 06 | 全景 | 拉镜 | 仰视 | 主角跑到巷口背后车灯光线拉长 | 镜头从主角脚部缓慢上拉成全景仰视两侧楼宇向后退去背景车灯形成光柱 |这个示例包含完整的输出字段Agent调用时可以直接参考其格式。后续新增场景时可以继续往examples目录里补充比如“清晨告别”“航拍开场”“室内审讯”等高频场景。5. 安装、调用和验证把这个Skill真正用起来5.1 不同Agent环境的Skill目录不同AI Agent工具对Skill目录的约定略有差异。以常见情况为例工具常见Skill目录说明Claude Code~/.claude/skills/skill-name/或项目.claude/skills/skill-name/项目级目录更利于团队共享Codex~/.codex/skills/skill-name/用户级能力复用OpenCode~/.config/opencode/skill/skill-name/部分版本支持用户级加载具体安装路径应以你实际使用的工具版本为准不要盲信网络资料。我的建议是优先使用项目级目录因为项目级目录可以通过Git管理和评审团队成员克隆项目后就能获得一致的Skill。安装操作可以从临时目录复制到目标目录mkdir -p ~/.claude/skills/camera-skill cp -r camera-skill/* ~/.claude/skills/camera-skill/安装后检查目录ls -R ~/.claude/skills/camera-skill如果能看到SKILL.md、references和examples均出现在目标目录下说明文件就位。5.2 第一次调用输入、过程和输出完成安装后重新启动Agent会话让工具重新扫描Skill目录。然后输入这样一段指令帮我把“雨夜追车”的片段设计成6个镜头的运镜脚本包含可直接用的AI视频提示词氛围要紧张。正常情况下Agent应该激活camera-skill并输出符合SKILL.md约定的镜头表。输出中应该包含镜头编号、景别、镜头运动、角度、画面描述和AI提示词六个字段。如果Agent没有按这个结构输出说明Skill没有被正确加载或者SKILL.md中的输出约定不够强。5.3 用验证清单判断Skill是否生效不要只检查“Agent有没有回话”要从结构、术语、可执行性三个维度验证。下面这份清单可以直接复用检查项通过标准触发成功Agent明确提到正在使用camera-skill或输出结构与SKILL.md一致字段完整每个镜头都有镜头编号、景别、镜头运动、角度、画面描述、AI提示词术语准确使用了references里的术语没有出现“推拉镜头”这种模糊表达提示词可执行AI提示词中包含运动方式、景别、主体、环境和光线信息数量符合镜头数量与用户要求一致未说明时在4到8个之间情绪匹配紧张场景不会出现大量舒缓的拉镜和长镜头把这份清单做成Markdown表格放到项目根目录的README.md中每次修改Skill后按照清单回归一次。6. 常见坑与排查链路6.1 坑一Skill明明创建了Agent却不加载现象是输入触发指令后Agent回答“我没有找到相关能力”或者表现得像完全不知道这个Skill存在。常见原因是目录位置不对、文件名大小写错误、或者Agent会话没有重启。检查顺序先运行目录扫描命令确认SKILL.md的确存在再检查目录名是否是camera-skill而不是camera_skill最后重启会话并观察是否有加载日志。部分CLI工具还提供skills列表命令可以直接查看当前可用Skill。6.2 坑二运镜术语被机械翻译视觉意图丢失现象是Agent输出了“推镜”“拉镜”这种名词但生成的画面描述只是普通的“镜头靠近了主角”完全没有表现出推镜带来的心理压迫感。原因是知识库里只有术语和它的字面翻译没有说明视觉特征和情绪意图。解决方法是把references中的术语表补成“视觉特征情绪意图提示词模板”三件套再在SKILL.md的注意事项中明确要求Agent查询术语定义。缺少情绪信息时模型只能靠上下文猜测运镜效果自然不稳定。6.3 坑三把知识库和输出模板全塞进SKILL.md现象是SKILL.md越来越长承载了术语表、示例、提示词规范Agent每次调用都要读几百行内容输出漂移越来越严重。原因是把Skill当成了普通长文档。Skill的核心是“入口 按需加载的知识”SKILL.md应该只负责流程和输出约定references负责承载领域知识examples负责提供固定格式样例。给SKILL.md设一个长度上限比如150行到200行超过部分必须拆分。6.4 四层排查链路当Skill表现异常时不要直接怀疑算法或工具按下面四层顺序排查层级检查点操作通过标准第一层输入触发用不同措辞重新描述需求多种表述都能激活Skill第二层文件位置ls -R检查Skill目录SKILL.md位于正确路径第三层文件内容检查frontmatter和引用路径description明确引用路径正确第四层输出质量对照验证清单逐项检查字段完整术语准确提示词可执行实际项目中大多数“Skill没生效”问题都卡在第一层和第二层。先确认文件能被工具发现再考虑知识内容和输出质量问题。7. 从个人项目到可维护能力包最佳实践与扩展7.1 可复用最佳实践清单这次做完camera-skill之后我总结出以下清单同样适用于其他Skill的制作每个Skill只解决一个任务域不要做一个“全能视频知识包”。SKILL.md只放触发条件、工作流程、输出约定不放完整知识库。每个术语都要有“视觉特征情绪意图提示词模板”三件套缺一不可。至少准备一个examples文件作为输出格式参考。修改知识库后用固定的三个测试输入回归验证观察输出是否稳定。使用Git管理Skill版本和变更记录要可追溯。团队协作时增加评审流程重点评审术语表是否有歧义。输出格式必须结构化字段缺失要在SKILL.md中说明。7.2 学习环境与生产环境的差异个人学习阶段一个SKILL.md加一个references文件就能跑通。生产环境至少要补三样东西版本控制、测试集、与MCP工具的联动。版本控制解决的是“谁改了什么、什么时候改的、为什么改”。测试集解决的是“改完知识库到底变好了还是变差了”。联动MCP解决的是“镜头脚本生成后如何自动调起视频生成API”。在生产环境里Skill生成的提示词可能要经过长度校验、敏感词过滤、参数格式化之后才传给外部服务这套链路不能只靠手工复制粘贴。个人使用时生成结果不满意可以直接改团队或生产环境使用时任何输出格式变化都要通过回归测试再发布。7.3 扩展方向从运镜到分镜、节奏和AI短剧流程运镜Skill是镜头语言能力包的地基。继续扩展可以做三件事第一在references中追加“景别优先级”和“情绪-运镜对照表”。比如“焦虑”对应手持和快速摇镜“宏大”对应航拍和拉镜“悬疑”对应推拉变焦和缓慢推镜。这样用户只要给出情绪词Agent就能自动匹配镜头运动。第二把它扩展成“分镜脚本Skill”。在运镜基础上新增台词、音效、转场、镜头时长字段输出从“镜头表”升级为“可拍摄分镜脚本”这对AI短剧、漫剧生产的价值更大。第三做一个自动评估集。准备比如10个典型场景作为测试输入每次更新Skill后将输出结果与预期字段比对能自动发现问题。这个评估集是生产环境最值得投入的部分因为AI Agent的输出有随机性没有评估集就无法判断知识库改动是提升还是回退。从95分钟课程到可复用Skill本质是把一次性的学习经历转化成可持续使用的工程资产。镜头语言的核心判断没有变先想清楚要让观众感受什么再决定使用哪一种运镜而让AI稳定执行这套判断靠的就是边界明确、知识结构清晰、输出格式强约束的Skill。