構(gòu)告別抽卡式生成)
做AI視頻工具這一年我最大的感受就是提示語模版才是真正拉開差距的東西。于是今年我干了一件挺“笨”的事——把散落在各個(gè)平臺(tái)、群里、教程里的463條AI視頻逐條拆解整理成了一套可復(fù)用的Skill和提示語模版并且全部開源。這篇文章把整個(gè)拆解過程、編碼思路、踩坑經(jīng)歷都寫清楚希望對(duì)同樣被視頻提示詞折磨的朋友有點(diǎn)幫助。做這件事之前我自己也被“提示詞玄學(xué)”坑過無數(shù)次同一個(gè)Prompt上午生成絲滑運(yùn)鏡下午就變成了鬼畜抽搐換個(gè)風(fēng)格詞結(jié)果連主體都變了。后來我意識(shí)到問題不在于AI模型不穩(wěn)定而在于我的提示詞沒有結(jié)構(gòu)。視頻生成和圖片生成最大的區(qū)別是必須同時(shí)控制“空間畫面”和“時(shí)間運(yùn)動(dòng)”這兩條線一旦纏繞在一起生成結(jié)果就完全失控。所以我把463條能跑出好效果的視頻全部拆成了可復(fù)用的Skill和結(jié)構(gòu)化提示語模版開源出來讓更多人直接“抄作業(yè)”不用再?gòu)念^摸索。我的目標(biāo)很簡(jiǎn)單讓一個(gè)完全不懂提示詞的人也能通過這套模版生成80分以上的AI視頻。接下來我按項(xiàng)目實(shí)際推進(jìn)的順序從為什么做、怎么拆、怎么落地到開源后用戶反饋的問題完整復(fù)盤一遍。1. 項(xiàng)目緣起為什么把463條AI視頻變成Skill1.1 視頻生成提示詞是個(gè)體力活先說個(gè)反常識(shí)的結(jié)論AI視頻生成瓶頸早就不在模型了而在提示詞的組織方式上。你看網(wǎng)上那些炫酷的AI短片鏡頭運(yùn)動(dòng)、主體動(dòng)作、環(huán)境光影、風(fēng)格質(zhì)感全都嚴(yán)絲合縫背后幾乎都有一套精心打磨過的提示詞結(jié)構(gòu)。但問題是大部分人拿到一個(gè)視頻片段后只能靠肉眼去猜“它大概用了什么詞”然后自己反復(fù)試錯(cuò)。這個(gè)過程極其低效一條35秒的視頻可能背后是30多次抽卡。我做這個(gè)項(xiàng)目的直接導(dǎo)火索是有一次為了復(fù)刻一個(gè)“雨夜霓虹街區(qū)跟拍”的效果整整花了兩個(gè)晚上。同一組描述詞在A工具里能出效果換到B工具里就完全變味。后來我把那條視頻的提示詞逐幀拆開才發(fā)現(xiàn)人家不僅寫了“雨夜、霓虹燈、潮濕地面”更重要的是寫了“鏡頭跟隨人物從背后緩慢推進(jìn)、前景有車輛經(jīng)過產(chǎn)生動(dòng)態(tài)模糊、光線在濕地面形成拉長(zhǎng)的反射”。真正決定視頻質(zhì)量的是后面這些運(yùn)動(dòng)與時(shí)間維度的描述而大多數(shù)初學(xué)者只寫了前一半。當(dāng)時(shí)我就在想如果能把大量成功視頻的提示詞結(jié)構(gòu)抽出來做成類似“表情包”一樣可以隨時(shí)調(diào)用的Skill和模版是不是就能讓普通人繞開那些坑于是這個(gè)項(xiàng)目就立項(xiàng)了。立項(xiàng)時(shí)我給自己定了幾條硬規(guī)矩第一只收真實(shí)生成出來且效果可驗(yàn)證的視頻不要那種“看起來很美但完全復(fù)現(xiàn)不了”的案例第二,每條必須拆出可復(fù)用的骨架而不是簡(jiǎn)單復(fù)制原視頻的提示詞第三全部開源包括中間的拆解表格和腳本不留獨(dú)家。1.2 從散裝提示詞到結(jié)構(gòu)化Skill“Skill”這個(gè)概念在Agent開發(fā)和大模型應(yīng)用里已經(jīng)不新鮮了。你可以把它理解成一個(gè)封裝好的能力包里面既有觸發(fā)條件、執(zhí)行流程也有寫好的提示詞片段和參數(shù)規(guī)則。我這次做的事情相當(dāng)于把傳統(tǒng)上只屬于文本對(duì)話的Skill模式遷移到了AI視頻生成領(lǐng)域。視頻Skill和平時(shí)大家聊的ChatGPT Prompt最大的區(qū)別在于它必須包含“時(shí)間軸”信息。舉個(gè)直觀的例子普通提示詞寫“一只橘貓?jiān)诖芭_(tái)上打盹”視頻Skill里我會(huì)把它拆成“開場(chǎng)全景交代環(huán)境——推進(jìn)到貓的臉部特寫——貓咪耳朵抖動(dòng)、睜眼、伸懶腰——鏡頭緩慢后拉回到全景”。同樣的主體加了時(shí)間軸和沒有時(shí)間軸出來的視頻完全是兩個(gè)物種。所有463條視頻至少包含三個(gè)維度主體描述、運(yùn)動(dòng)描述、鏡頭描述缺一個(gè)就只能靠運(yùn)氣。這套思路成型之后我立刻意識(shí)到不能只做純文本模板必須做成機(jī)器可讀的Skill文件才能在不同工具之間流轉(zhuǎn)。具體來說我最終把每個(gè)Skill定義成一個(gè)YAML文件里面包含meta信息、適用場(chǎng)景、基礎(chǔ)提示詞、增強(qiáng)參數(shù)、負(fù)面提示詞以及不同視頻工具對(duì)應(yīng)的改寫規(guī)則。這個(gè)決定在后續(xù)的開源傳播中起了很大作用很多人都說“光看提示詞就值了但YAML文件讓我能直接喂給腳本用”。2. 拆解方法論從視頻里挖出可復(fù)用的提示語骨架2.1 數(shù)據(jù)來源與篩選標(biāo)準(zhǔn)463條視頻不是我從一個(gè)地方扒下來的主要來源有四類一是公開的AI視頻大賽獲獎(jiǎng)作品和官方精選集二是創(chuàng)作者主動(dòng)分享的幕后拆解或“提示詞成片”對(duì)照內(nèi)容三是我自己過去一年在可靈、即夢(mèng)、Runway、Pika等工具上跑出來的有效案例四是各個(gè)AI社區(qū)里被反復(fù)轉(zhuǎn)載的“高贊視頻”及其復(fù)現(xiàn)討論。每一條都做了版權(quán)和可復(fù)現(xiàn)性審查凡是無法確認(rèn)來源或明顯是純手工后期硬做的一律剔除。篩選標(biāo)準(zhǔn)我定了三個(gè)硬指標(biāo)可復(fù)現(xiàn)性、通用性、啟發(fā)性??蓮?fù)現(xiàn)性指三次以上用同一套Skill能在合理參數(shù)范圍內(nèi)生成相似視頻通用性指不能只適用于某一個(gè)具體工具至少能在兩類視頻生成器上平移啟發(fā)性則比較主觀就是看完之后能讓人“恍然大悟”的那種結(jié)構(gòu)比如一條視頻里用了特殊的轉(zhuǎn)場(chǎng)技巧或者對(duì)光影的運(yùn)動(dòng)做了非常細(xì)膩的刻畫。最終從2000多條候選案例中篩出463條正好湊夠了第一批數(shù)據(jù)集。這里要提醒一句數(shù)據(jù)篩選千萬別只看點(diǎn)贊量。很多高贊視頻的提示詞其實(shí)高度依賴隨機(jī)種子和后期剪輯拆出來當(dāng)模版反而會(huì)帶偏人。我寧愿選那種“一次生成就很好”的視頻也不要“抽了100次卡選出來1次”的案例因?yàn)楹笳叩奶崾驹~本身不具備復(fù)用價(jià)值更多是運(yùn)氣。2.2 核心拆解模型五層結(jié)構(gòu)拆解階段我反復(fù)迭代了四版最終固定成一套“五層結(jié)構(gòu)”拆解法分別對(duì)應(yīng)主體層、環(huán)境層、鏡頭層、運(yùn)動(dòng)層、風(fēng)格層。每一層都有獨(dú)立的提示詞字段這樣最后合并成Skill時(shí)可以做到任意替換某一層而不影響其他層。這非常關(guān)鍵因?yàn)閷?shí)際生成視頻時(shí)用戶最常做的操作就是“把貓換成狗”或“把白天改成夜晚”如果所有描述混在一坨文字里每次改都是一場(chǎng)災(zāi)難。用“賽博朋克城市追車戲”舉例。主體層寫“銀色改裝跑車、駕駛座穿黑色風(fēng)衣的駕駛員”環(huán)境層寫“雨夜、潮濕柏油路、霓虹燈牌、高樓縫隙間的霧氣”鏡頭層寫“低角度跟蹤鏡頭車頭前方鏡頭隨車轉(zhuǎn)彎而傾斜”運(yùn)動(dòng)層寫“車輪碾過水洼濺起水花、燈光在車身上流動(dòng)、背景建筑快速后退產(chǎn)生速度感”風(fēng)格層寫“電影級(jí)調(diào)色、高對(duì)比度、賽博朋克2077審美、淺景深”。合起來是一個(gè)長(zhǎng)Prompt拆開就是五個(gè)獨(dú)立的可變模塊。這套五層結(jié)構(gòu)也直接影響了我后續(xù)的Skill編碼方式。每個(gè)Skill文件里五層分別用五個(gè)字段存儲(chǔ)并額外生成一個(gè)“融合提示詞”字段方便直接粘貼到生成工具里。這樣做的好處是你想微調(diào)某個(gè)維度時(shí)只需要改一個(gè)字段想完全替換主體時(shí)也不會(huì)連帶把鏡頭和運(yùn)動(dòng)風(fēng)格全都帶偏。我見過太多人為了把“狗追飛盤”改成“小孩追氣球”結(jié)果把運(yùn)鏡和光影也全改了最后出來的東西完全不是想要的。2.3 如何從一條視頻反推成Skill文件具體到單條視頻我的反推流程分四步。第一步是逐幀看運(yùn)動(dòng)軌跡用播放器逐幀拖拽找到畫面里所有“位移”元素包括主體移動(dòng)、鏡頭移動(dòng)、環(huán)境變化比如云在飄、燈光在閃也算。第二步是拆鏡頭語言記錄這個(gè)視頻是固定鏡頭、推拉、搖移、跟拍還是航拍以及是否有變焦或焦點(diǎn)轉(zhuǎn)移。第三步是恢復(fù)風(fēng)格描述這個(gè)最難因?yàn)轱L(fēng)格是主觀的我一般會(huì)列出所有能想到的風(fēng)格詞去掉沖突項(xiàng)再篩出最貼切的3到5個(gè)。第四步是寫成可替換的偽代碼即先用中文寫一套完整提示詞再抽掉具體名詞填上占位符比如把“貓”變成[主體]。邊界情況我會(huì)單獨(dú)標(biāo)記。比如有些視頻是“鏡頭不動(dòng)、主體運(yùn)動(dòng)”有些是“鏡頭運(yùn)動(dòng)、主體靜止”還有一些是“兩者都動(dòng)但方向相反”這些在Skill里要寫清楚運(yùn)動(dòng)關(guān)系否則生成時(shí)很容易出現(xiàn)物理違和感。常見的是把“鏡頭繞主體旋轉(zhuǎn)”和“主體自身旋轉(zhuǎn)”混為一談效果完全不一樣。我自己的經(jīng)驗(yàn)是寧可拆慢一點(diǎn)也不要貪快一條視頻平均拆解時(shí)間大約40分鐘遇到復(fù)雜的可能要一個(gè)半小時(shí)。463條不是我一個(gè)人拆的后期有兩個(gè)朋友加入并且我們用了共享表格來保證拆解口徑一致這也給開源后的協(xié)作打下了基礎(chǔ)。3. 實(shí)操過程如何把463個(gè)視頻逐一轉(zhuǎn)成規(guī)范模板3.1 工具鏈與工作流整個(gè)拆解過程不是靠純手工堆出來的。我的工作流大概長(zhǎng)這樣先用本地表格維護(hù)所有視頻的元數(shù)據(jù)和五層拆解字段然后用一個(gè)Python腳本把表格批量轉(zhuǎn)成YAML格式的Skill文件最后再用一個(gè)自動(dòng)化檢查腳本校驗(yàn)字段完整性、是否有重復(fù)文案、是否有“待補(bǔ)全”占位符。這里向非技術(shù)朋友說明一下YAML就是一種比JSON更易讀的配置格式用縮進(jìn)表示層級(jí)適合保存這類結(jié)構(gòu)化模版。Python腳本的核心功能很簡(jiǎn)單讀取Excel里的Sheet把每一行映射成一個(gè)Skill文件文件名自動(dòng)生成為skill-編號(hào)-英文短名.yaml。過程中最難的不是寫腳本而是統(tǒng)一表格規(guī)范。前100條數(shù)據(jù)我踩了大坑因?yàn)椴煌瑫r(shí)間去填表字段名時(shí)而用“運(yùn)動(dòng)描述”時(shí)而用“鏡頭運(yùn)動(dòng)”格式化腳本跑出來一堆缺失值。后來我寫死了一個(gè)表頭模板只用程序校驗(yàn)凡是字段名不匹配就直接報(bào)警不給任何人手動(dòng)改表頭的機(jī)會(huì)。我建議想復(fù)刻這個(gè)流程的人千萬別一開始就追求自動(dòng)化先手工拆20條把字段定義琢磨清楚了再寫批量腳本。否則你會(huì)在拆到80條的時(shí)候發(fā)現(xiàn)字段設(shè)計(jì)不合理比如忘了區(qū)分“鏡頭內(nèi)部運(yùn)動(dòng)”和“主體運(yùn)動(dòng)”回頭改表格數(shù)據(jù)會(huì)讓你痛不欲生。我們中途就補(bǔ)過一次結(jié)構(gòu)把運(yùn)動(dòng)層拆成“主體動(dòng)作”“鏡頭運(yùn)動(dòng)”“環(huán)境運(yùn)動(dòng)”三個(gè)子字段花了整整兩天才把歷史數(shù)據(jù)遷移完。3.2 編碼體系從skill-001到skill-463開源之后很多人問我的第一個(gè)問題是你的編號(hào)是怎么排的不會(huì)是按時(shí)間順序排的吧確實(shí)不是。我設(shè)計(jì)了一套簡(jiǎn)單的分類編碼大致分為場(chǎng)景類、風(fēng)格類、運(yùn)鏡類、特效類、敘事類、組合類六個(gè)大類每個(gè)Skill的編號(hào)前綴對(duì)應(yīng)分類。比如場(chǎng)景類的編號(hào)是scene-開頭風(fēng)格類是style-開頭運(yùn)鏡類是camera-開頭組合類是mix-開頭。這樣用戶在找模版時(shí)一眼就能判斷這個(gè)Skill大概解決什么問題。網(wǎng)上常有人提到“skill編碼247”其實(shí)就是我第三大類里的第47條運(yùn)鏡Skill它的全稱是camera-047內(nèi)容核心是“低角度環(huán)繞焦點(diǎn)轉(zhuǎn)移”專門用來解決“圍繞靜止主體拍一個(gè)帶情緒感的環(huán)繞鏡頭”這類需求。很多人以為編碼是玄學(xué)其實(shí)純粹是分類索引。我之所以不用純數(shù)字而用帶前綴的編號(hào)就是希望文件名本身就攜帶類別信息否則外網(wǎng)用戶根本分不清skill-123和skill-321有什么差別。為了讓這套體系更好用我還做了一個(gè)README.md里面放了一張完整的索引表列明每個(gè)Skill的五層摘要和適用工具。這個(gè)索引表花了我不少心思因?yàn)樗粌H是給人看的還是給腳本用的。后來有開發(fā)者直接在索引表上做關(guān)鍵詞搜索小程序把“下雨”“追逐”“貓”這種自然語言轉(zhuǎn)成對(duì)應(yīng)的Skill編號(hào)等于又往上疊了一層應(yīng)用。這說明底層數(shù)據(jù)的結(jié)構(gòu)設(shè)計(jì)足夠清晰時(shí)上層創(chuàng)意就會(huì)源源不斷。3.3 模板樣例拆解一個(gè)Prompt和一份Skill文件空談方法沒用直接看樣例。以編號(hào)scene-012為例這個(gè)Skill描述的是“雨夜霓虹燈下的孤獨(dú)人物走過斑馬線”原始視頻來自某次官方征集效果非常穩(wěn)定。我把它拆成五層后寫出的完整提示詞如下主體層一個(gè)穿深色大衣的成年男性低著頭雙手插兜肩膀略微縮起。環(huán)境層城市雨夜?jié)駶?rùn)的黑色柏油馬路路面積水映著粉色與藍(lán)色霓虹燈光兩側(cè)商鋪招牌閃爍。鏡頭層中景側(cè)跟鏡頭鏡頭高度約腰部位置隨人物步伐緩慢向前移動(dòng)保持人物在畫面三分線右側(cè)。運(yùn)動(dòng)層人物勻速步行衣擺和頭發(fā)隨風(fēng)輕微擺動(dòng)落地時(shí)腳尖濺起細(xì)小水花周圍車輛偶爾駛過形成模糊的燈光拖影。風(fēng)格層電影感冷色調(diào)主光暖色點(diǎn)綴淺景深35mm膠片顆粒質(zhì)感。這份提示詞直接貼到多數(shù)視頻工具里基本就能跑出70分的畫面。但如果要做成Skill我會(huì)把完整提示詞抽成五個(gè)字段并額外補(bǔ)一個(gè)“參數(shù)建議”區(qū)域包括建議時(shí)長(zhǎng)、建議分辨率、負(fù)面提示詞比如“不要出現(xiàn)字幕、不要卡通化、不要面部特寫”。YAML文件大概是下面這個(gè)結(jié)構(gòu)為了方便展示我只保留核心字段。id: scene-012 title: 雨夜霓虹孤獨(dú)行者 category: 場(chǎng)景類 five_layers: subject: 一個(gè)穿深色大衣的成年男性低著頭雙手插兜肩膀略微縮起 environment: 城市雨夜?jié)駶?rùn)的黑色柏油馬路路面積水映著粉色與藍(lán)色霓虹燈光兩側(cè)商鋪招牌閃爍 camera: 中景側(cè)跟鏡頭鏡頭高度約腰部位置隨人物步伐緩慢向前移動(dòng)保持人物在畫面三分線右側(cè) motion: 人物勻速步行衣擺和頭發(fā)隨風(fēng)輕微擺動(dòng)落地時(shí)腳尖濺起細(xì)小水花周圍車輛偶爾駛過形成模糊的燈光拖影 style: 電影感冷色調(diào)主光暖色點(diǎn)綴淺景深35mm膠片顆粒質(zhì)感 fusion_prompt: 上面五層內(nèi)容按順序拼接 negative_prompt: 字幕卡通化面部特寫過度曝光 suggested_params: duration: 5s-10s aspect_ratio: 16:9 fps: 24 tools: - 可靈 - Runway - Pika這里有個(gè)關(guān)鍵細(xì)節(jié)tools字段并不是指“只能在這些工具里用”而是指“我已經(jīng)在這些工具里驗(yàn)證過”。不同AI視頻工具對(duì)同樣的提示詞理解差異很大所以我在開源倉(cāng)庫(kù)里單獨(dú)維護(hù)了一份“工具遷移注意事項(xiàng)”比如Runway對(duì)鏡頭運(yùn)動(dòng)的理解更強(qiáng)但Pika對(duì)風(fēng)格詞的敏感度更高可靈給到更多中文口語化描述時(shí)表現(xiàn)更穩(wěn)但換成英文提示詞反而容易丟失環(huán)境細(xì)節(jié)。這種信息光看模版看不出來還得配合實(shí)際試用記錄。順帶說下負(fù)面提示詞的寫法。很多人寫“不要模糊、不要低質(zhì)量”我實(shí)測(cè)下來幾乎沒有用。反而寫“無字幕、無水印、無多余人、無畸形手、無面部扭曲”這類具體到對(duì)象和元素的詞更有效。我的經(jīng)驗(yàn)是負(fù)面提示詞要寫“可感知的內(nèi)容”不要寫“抽象的質(zhì)量評(píng)價(jià)”AI根本不知道“高質(zhì)量”是什么鬼但它知道“字幕”和“水印”是什么東西。4. 開源成果與使用指南4.1 開源倉(cāng)庫(kù)里到底有什么整個(gè)項(xiàng)目開源后倉(cāng)庫(kù)里的內(nèi)容分成五個(gè)部分463個(gè)Skill文件、一份總索引表、五層拆解流程圖、適配腳本、示例成片說明。Skill文件涵蓋了最常用的視頻生成需求包括風(fēng)光大片、情緒人像、動(dòng)態(tài)產(chǎn)品、科幻場(chǎng)景、抽象藝術(shù)、敘事短片等。索引表支持按關(guān)鍵詞搜索比如搜“雨夜”會(huì)返回所有環(huán)境層含雨夜的Skill編號(hào)搜“環(huán)繞”會(huì)返回所有鏡頭層含環(huán)繞的Skill編號(hào)。適配腳本是我個(gè)人比較得意的部分。它可以把一個(gè)YAML格式的Skill自動(dòng)改寫成不同工具的提示詞風(fēng)格比如輸出一份適合Runway的長(zhǎng)提示詞、一份適合Pika的分段式提示詞、一份適合可靈的中文結(jié)構(gòu)化提示詞。這個(gè)腳本不復(fù)雜本質(zhì)是字符串替換和字段拼接但它解決了一個(gè)真實(shí)痛點(diǎn)你不能把同一個(gè)Skill原封不動(dòng)地用到所有工具上必須做一層“方言翻譯”。一開始有人問我為什么要開源而且把腳本和數(shù)據(jù)全放了。我的想法很簡(jiǎn)單這個(gè)領(lǐng)域太新了很多規(guī)則還沒沉淀下來如果每個(gè)人都從零開始摸索那AI視頻永遠(yuǎn)只會(huì)停留在“抽卡”階段。開源之后至少能讓大家站在一個(gè)還算高的起點(diǎn)上。事實(shí)也證明不少人直接拿我倉(cāng)庫(kù)里的Skill去套自己的創(chuàng)意有人改一個(gè)主體就產(chǎn)出了很棒的商業(yè)短片這比我一個(gè)人藏著掖著有意義得多。4.2 三種用法直接抄、組合用、訓(xùn)練自己的Skill第一種用法最簡(jiǎn)單就是直接抄。打開索引表找一個(gè)你想要的場(chǎng)景復(fù)制Skill里的fusion_prompt字段粘貼到你的視頻生成工具里微調(diào)參數(shù)后開跑。這里我要潑一盆冷水直接抄不等于100%復(fù)制原視頻因?yàn)槊總€(gè)平臺(tái)、每個(gè)模型版本、甚至每次隨機(jī)種子都不同所以“一模一樣”是不現(xiàn)實(shí)的。但結(jié)構(gòu)和氛圍感能復(fù)現(xiàn)到八成對(duì)大多數(shù)創(chuàng)作者來說已經(jīng)夠用了。第二種用法是組合這也是我最推薦的進(jìn)階玩法。你完全可以把scene-012的環(huán)境和光影配上camera-033的運(yùn)鏡再換掉主體層的內(nèi)容組裝出一個(gè)全新的Skill。因?yàn)槊總€(gè)文件都是模塊化的你可以從不同文件里各取一層拼進(jìn)一個(gè)新的YAML里。有人擔(dān)心這樣會(huì)出來“縫合怪”但實(shí)際只要各層的風(fēng)格詞不沖突拼接效果往往比單一模版更出彩。比如一個(gè)動(dòng)漫風(fēng)人物配上寫實(shí)環(huán)境的組合反而能制造獨(dú)特的視覺張力。第三種用法是訓(xùn)練自己的Skill體系。你可以拿這套倉(cāng)庫(kù)當(dāng)“語料庫(kù)”收集一批自己偏好的風(fēng)格分析它們的人稱視角、鏡頭詞分布、負(fù)面提示詞寫法然后建立自己的分支模版。已經(jīng)有幾個(gè)開發(fā)者這么干了他們?cè)谖业奈鍖咏Y(jié)構(gòu)上加了第六層“音頻提示詞”專門描述背景音樂的情緒走向。這就是開源的長(zhǎng)尾價(jià)值你的結(jié)構(gòu)被更多人擴(kuò)展后會(huì)演化出你自己都想不到的新玩法。4.3 如何提交自己的模板參與共建倉(cāng)庫(kù)開了一個(gè)contributions目錄接受任何人提交新的Skill文件或改進(jìn)建議。提交時(shí)你需要附上原始視頻鏈接或截圖、五層拆解字段、至少一個(gè)工具的實(shí)測(cè)參數(shù)以及一段“跟原版對(duì)比效果如何”的文字說明。為了不讓倉(cāng)庫(kù)變成垃圾堆我也設(shè)定了一個(gè)投票機(jī)制每個(gè)新提交的Skill如果在一個(gè)月內(nèi)獲得10個(gè)以上的Star或評(píng)論驗(yàn)證就會(huì)被合并到主索引表里。做開源項(xiàng)目最怕的事情其實(shí)是“熱情開坑然后爛尾”。為了應(yīng)對(duì)這個(gè)問題我給所有愿意提交內(nèi)容的朋友寫了一份非常詳細(xì)的CONTRIBUTING文檔里面把字段規(guī)范、命名規(guī)范、審核標(biāo)準(zhǔn)全都寫清楚了。有朋友覺得我搞得像公司內(nèi)部流程但我認(rèn)為如果開源倉(cāng)庫(kù)的結(jié)構(gòu)一開始就很亂后面根本沒法收拾?,F(xiàn)在倉(cāng)庫(kù)里新增的Skill有一半來自社區(qū)質(zhì)量比我自己拆的還要好因?yàn)楹芏嗳素暙I(xiàn)的是他們吃飯的家伙。提交時(shí)還有個(gè)小細(xì)節(jié)文件名不允許帶空格和特殊符號(hào)統(tǒng)一用小寫字母和短橫線。這個(gè)約束簡(jiǎn)單但能避免很多跨平臺(tái)解壓和解析出錯(cuò)。另外我強(qiáng)烈建議提交者用Google表格共享鏈接這種方式來和倉(cāng)庫(kù)維護(hù)者協(xié)作而不是直接把Excel文件傳到Git上因?yàn)槎M(jìn)制文件在歷史版本管理里非常難diff很容易造成沖突。5. 常見問題與避坑實(shí)錄5.1 為什么同一個(gè)Skill時(shí)好時(shí)壞這是被問得最多的問題也是最難回答的。同一個(gè)Skill上午跑出來質(zhì)感爆棚下午跑出來就感覺像沒睡醒很多人第一反應(yīng)是“模型抽風(fēng)了”。其實(shí)多數(shù)情況下是因?yàn)槟銢]有控制好時(shí)長(zhǎng)和運(yùn)動(dòng)強(qiáng)度的平衡。同樣的提示詞時(shí)長(zhǎng)從5秒拉到10秒運(yùn)動(dòng)速度感會(huì)完全不一樣AI需要在更多幀里補(bǔ)全運(yùn)動(dòng)軌跡稍不注意就會(huì)出現(xiàn)扭曲。另一個(gè)關(guān)鍵因素是采樣步數(shù)和種子。多數(shù)工具的默認(rèn)參數(shù)并不是對(duì)這個(gè)Skill最優(yōu)的參數(shù)。你在復(fù)現(xiàn)一個(gè)Skill時(shí)最好先固定種子跑一遍記錄出片效果再去調(diào)整步數(shù)和運(yùn)動(dòng)強(qiáng)度。我見過太多人上來就改風(fēng)格詞卻完全沒動(dòng)過參數(shù)區(qū)那自然會(huì)出現(xiàn)“時(shí)好時(shí)壞”。把參數(shù)當(dāng)成Skill的一部分而不是只關(guān)注Prompt這是從“能用”進(jìn)階到“穩(wěn)定用”的核心。如果你換了不同的視頻生成工具那更要接受一個(gè)現(xiàn)實(shí)每個(gè)工具對(duì)同一個(gè)Prompt的理解差異非常大。比如Runway會(huì)特別關(guān)注鏡頭運(yùn)動(dòng)描述你寫“低角度跟拍”它執(zhí)行得很好但同樣的詞喂給一些強(qiáng)調(diào)“主體運(yùn)動(dòng)”的工具可能就只給你生成一個(gè)固定機(jī)位的畫面。所以我的每個(gè)Skill文件里都帶有tools字段和適配腳本就是為了盡量減少這種跨工具損耗。5.2 版權(quán)與倫理問題要提前想清楚463個(gè)視頻里有一部分來自公開比賽和別人的分享開源這些Skill的前提是我拆的是提示詞結(jié)構(gòu)不是復(fù)制視頻內(nèi)容。提示詞本身是文字描述很難構(gòu)成版權(quán)保護(hù)對(duì)象但生成出來的畫面如果高度模仿某部電影或某位創(chuàng)作者的招牌風(fēng)格依然有侵權(quán)風(fēng)險(xiǎn)。所以我在每個(gè)Skill文件里增加了一個(gè)“靈感來源”字段如果來源是某部電影或某位作者會(huì)在里面如實(shí)標(biāo)注“致敬”“仿風(fēng)格”或“原創(chuàng)”并附上可替代的風(fēng)格詞建議。倫理這塊也要多說一句。開源模版很容易被用來批量生成虛假信息、偽造人物或制造誤導(dǎo)性內(nèi)容。我在倉(cāng)庫(kù)的首頁就掛了一條聲明禁止用這套Skill生成任何包含真實(shí)人物肖像的虛假場(chǎng)景也禁止用它批量制造欺騙性新聞視頻。技術(shù)本身沒有立場(chǎng)但開源的人得先立個(gè)規(guī)矩不然好心分享的東西一旦被濫用最后受傷害的還是創(chuàng)作者群體。我實(shí)際遇到過有人拿著scene-xxx去生成知名演員出現(xiàn)在不存在的場(chǎng)景里的視頻這非常危險(xiǎn)。后來我在每個(gè)Skill文件里額外加了一個(gè)ethical_check字段提醒使用者在生成前確認(rèn)是否涉及真實(shí)人物、是否會(huì)被誤解為真實(shí)事件。希望大家永遠(yuǎn)不要在這個(gè)底線上試探。5.3 工具版本迭代導(dǎo)致Skill失效怎么辦AI視頻工具的更新頻率快得驚人經(jīng)常是今天跑的好的Skill明天工具一升級(jí)就變成廢紙。我自己就經(jīng)歷過三四次某條在Runway上新版本里反復(fù)調(diào)都復(fù)現(xiàn)不了原來的風(fēng)格。遇到這種情況我的建議是先不要急著重寫Skill去看工具的Release Notes很多失效是因?yàn)槟P偷讓蛹軜?gòu)變了比如引入新的運(yùn)動(dòng)模塊或強(qiáng)化了語義解析。這可能導(dǎo)致原來的Prompt順序不再被充分理解。更實(shí)際的解決方案是在你的Skill文件里記錄“已驗(yàn)證版本號(hào)”和“驗(yàn)證日期”。這樣即使工具升級(jí)你也可以很快判斷出到底是這個(gè)Skill本身有問題還是版本變了導(dǎo)致的影響。我在適配腳本里專門留了一個(gè)參數(shù)允許用戶填入工具的版本號(hào)腳本會(huì)自動(dòng)給出一段“遷移建議”比如“如果使用新版本建議把鏡頭層描述放到Prompt的開頭并把環(huán)境層描述改得更簡(jiǎn)潔”。如果你發(fā)現(xiàn)某個(gè)Skill徹底失效也別著急刪除??梢园阉鼧?biāo)記為deprecated并附一條指向替代Skill的鏈接。這樣做有兩個(gè)好處一是保留對(duì)比案例方便后人了解工具演進(jìn)對(duì)提示詞的影響二是避免小白用戶搜到這個(gè)Skill后抱著舊模版死活調(diào)不出來白白浪費(fèi)時(shí)間。5.4 一點(diǎn)心得別做“只會(huì)抄模版”的人開源這套東西之后我心里其實(shí)一直很警惕一個(gè)問題如果所有人都直接用模版那AI視頻創(chuàng)作會(huì)不會(huì)變得千篇一律后來我想明白了模版本質(zhì)上是“語法教科書”教你的是如何組織描述而不是“句子本身”。真正厲害的人會(huì)用這套模版的五層思維去解讀任何一條新視頻然后拆出自己的表達(dá)方式。模版不是終點(diǎn)它是你觀察世界的棱鏡。我自己最大的收獲反而是拆解過程中被迫提升的“視頻直覺”。以前我看一條AI視頻只會(huì)說“好看”現(xiàn)在我會(huì)下意識(shí)地思考它的鏡頭怎么動(dòng)、主體與環(huán)境怎么互動(dòng)、光影變化的時(shí)間點(diǎn)在哪里。這種直覺會(huì)在你未來創(chuàng)作時(shí)自動(dòng)涌現(xiàn)哪怕你早就忘了那些YAML文件的細(xì)節(jié)。所以我真心建議每一個(gè)拿到這463個(gè)Skill的人先別急著生成視頻先挑十條拆解數(shù)據(jù)認(rèn)真讀三遍把五層結(jié)構(gòu)刻進(jìn)腦海中。最后再分享一個(gè)操作上的小技巧你完全可以把這套開源倉(cāng)庫(kù)當(dāng)成你的“靈感抽獎(jiǎng)機(jī)”。每次創(chuàng)作前不要刻意去找某個(gè)固定Skill而是隨機(jī)從索引表里抽一個(gè)場(chǎng)景類和一個(gè)運(yùn)動(dòng)類的Skill先看它們的組合效果再逐步調(diào)整。這種“隨機(jī)組合法”幫我產(chǎn)出了好幾個(gè)自己平時(shí)根本不會(huì)想到的片子也讓我徹底擺脫了對(duì)著空白提示詞框發(fā)呆的窘境。希望這套開源模版也能幫你打開新的創(chuàng)作思路哪怕只被用上一次這事就沒白做。