戰(zhàn):用 AI 編程助手和 Remotion 代碼化視頻生產(chǎn))
1. 從剪輯軟件到代碼驅(qū)動(dòng)OpenMontage 到底在解決什么問題第一次看到 OpenMontage 這個(gè)名字我下意識(shí)以為又是一個(gè)套殼的在線剪輯工具。直到把它的關(guān)鍵詞——agentic、AI coding assistant、Remotion、Veo——擺在一起看才反應(yīng)過來這東西的定位完全不在傳統(tǒng)剪輯賽道。它想干的事情是讓 AI 編程助手直接寫出一段視頻而不是讓人坐在時(shí)間線上一幀一幀拖。傳統(tǒng)視頻生產(chǎn)鏈條里剪輯師的工作本質(zhì)是決策 執(zhí)行哪一段留、哪一段刪、轉(zhuǎn)場(chǎng)用什么、字幕放哪。這些決策高度依賴人的審美和經(jīng)驗(yàn)執(zhí)行則消耗大量重復(fù)勞動(dòng)。OpenMontage 的思路是把執(zhí)行這一層徹底交給代碼把決策這一層交給 agentic 的 AI 工作流。你描述想要什么效果AI 助手去寫 Remotion 組件、去調(diào)用 Veo 生成素材、去拼接時(shí)間線最后渲染出成片。這套邏輯成立的前提是 Remotion 這個(gè)框架的存在。Remotion 讓視頻變成了React 組件——每一幀都是組件在特定時(shí)間點(diǎn)的渲染結(jié)果。一旦視頻是代碼AI 編程助手就有了用武之地因?yàn)閷懘a正是它最擅長的事。OpenMontage 站在 Remotion 的肩膀上把寫視頻代碼這件事包裝成了一套 agentic 流程。所以這篇文章適合誰看如果你是會(huì)寫一點(diǎn)前端、對(duì)視頻制作有興趣、又不想學(xué) Premiere 復(fù)雜操作的開發(fā)者OpenMontage 值得研究。如果你是視頻創(chuàng)作者想理解代碼化視頻這條路到底能走多遠(yuǎn)也能從這里看到邊界。如果你只是想找個(gè)一鍵生成爆款視頻的工具那可能要失望——這東西的門檻在你得能讀懂它生成的代碼。我實(shí)測(cè)下來的核心判斷是OpenMontage 不是替代剪輯軟件而是替代剪輯軟件里那些可以被規(guī)則描述的操作。它的價(jià)值在批量、在參數(shù)化、在可復(fù)現(xiàn)而不在藝術(shù)創(chuàng)作本身。理解這一點(diǎn)后面的所有技術(shù)細(xì)節(jié)才站得住腳。2. Remotion 為什么是這套方案的底座2.1 視頻即組件Remotion 的核心抽象要理解 OpenMontage必須先吃透 Remotion。Remotion 的核心思想一句話能說清視頻就是隨時(shí)間變化的 React 渲染結(jié)果。它提供了一個(gè)useCurrentFrame()鉤子返回當(dāng)前幀號(hào)你的組件根據(jù)這個(gè)幀號(hào)決定顯示什么。第 0 幀顯示標(biāo)題第 30 幀標(biāo)題淡出第 60 幀出現(xiàn)第二段畫面——這些全部由代碼里的條件邏輯控制。這跟傳統(tǒng)剪輯軟件的根本區(qū)別在于剪輯軟件里時(shí)間是素材的屬性Remotion 里時(shí)間是代碼的輸入?yún)?shù)。前者你拖動(dòng)的是素材后者你修改的是函數(shù)。這個(gè)差異決定了 Remotion 天然適合被 AI 操作——AI 改代碼比改時(shí)間線容易得多因?yàn)榇a有明確的語法結(jié)構(gòu)而時(shí)間線操作依賴 GUI 交互。我舉個(gè)具體例子。假設(shè)你要做一個(gè)文字逐字出現(xiàn)的效果在 Premiere 里你要打關(guān)鍵幀、調(diào)透明度、對(duì)齊時(shí)間。在 Remotion 里你寫一個(gè)函數(shù)輸入當(dāng)前幀號(hào)輸出這一幀應(yīng)該顯示幾個(gè)字const charsToShow Math.floor((frame - startFrame) / framesPerChar); const visibleText fullText.slice(0, charsToShow);AI 助手看到這個(gè)模式立刻就能理解并生成變體。這就是 Remotion 作為底座的價(jià)值——它把視頻效果變成了可被語言模型理解和生成的結(jié)構(gòu)化代碼。2.2 為什么不是直接操作 FFmpeg有人會(huì)問既然都是代碼化為什么不直接用 FFmpeg 命令行拼接我試過這條路結(jié)論是FFmpeg 適合處理不適合創(chuàng)作。FFmpeg 的濾鏡鏈能做的事很有限你要做一個(gè)帶緩動(dòng)曲線的文字動(dòng)畫FFmpeg 的表達(dá)式寫起來極其痛苦而且不可維護(hù)。Remotion 的優(yōu)勢(shì)在于它復(fù)用了整個(gè) Web 技術(shù)棧。CSS 動(dòng)畫、SVG、Canvas、WebGL這些前端生態(tài)里成熟的東西在 Remotion 里全部可用。你想做一個(gè)粒子效果直接上 Three.js想做一個(gè)數(shù)據(jù)可視化動(dòng)畫直接上 D3。這種站在 Web 生態(tài)肩膀上的能力是 FFmpeg 給不了的。更重要的是Remotion 的渲染是確定性的。同樣的代碼同樣的輸入渲染出來的每一幀都完全一致。這對(duì) AI 工作流至關(guān)重要——如果渲染結(jié)果不確定AI 就沒法通過看結(jié)果來迭代。確定性讓生成-渲染-評(píng)估-修改這個(gè)閉環(huán)成立。2.3 Remotion 的坑渲染環(huán)境與性能不過 Remotion 不是沒有代價(jià)。它依賴 Chromium 做渲染意味著每個(gè)渲染任務(wù)都要起一個(gè)無頭瀏覽器。我在本地跑的時(shí)候一個(gè) 30 秒 1080p 的視頻渲染時(shí)間大概在 2-3 分鐘比原生 FFmpeg 慢不少。如果視頻里有復(fù)雜的 WebGL 效果時(shí)間還會(huì)更長。另一個(gè)坑是字體和資源加載。Remotion 渲染時(shí)是在一個(gè)隔離環(huán)境里跑的系統(tǒng)字體不一定可用。我踩過一次坑本地預(yù)覽一切正常渲染出來文字全變成了默認(rèn)字體。后來才發(fā)現(xiàn)要在 Remotion 配置里顯式加載字體文件。這個(gè)細(xì)節(jié)在 OpenMontage 這類工具里同樣存在因?yàn)樗讓泳褪?Remotion。提示如果你打算用 OpenMontage 做批量渲染務(wù)必先測(cè)一遍字體和外部資源的加載。渲染環(huán)境和開發(fā)環(huán)境的差異是這類工具最常見的翻車點(diǎn)。3. Agentic 工作流AI 助手在 OpenMontage 里扮演什么角色3.1 從寫代碼到編排流程OpenMontage 里 agentic 這個(gè)詞不是營銷噱頭它描述的是一種具體的工作模式AI 助手不只是幫你補(bǔ)全一行代碼而是接管整個(gè)從需求到成片的流程。這個(gè)流程大致分四步——理解需求、規(guī)劃結(jié)構(gòu)、生成代碼、渲染驗(yàn)證。理解需求這一步AI 要把你模糊的自然語言描述做一個(gè)科技感的開場(chǎng)翻譯成具體的視覺參數(shù)配色、動(dòng)效類型、節(jié)奏。規(guī)劃結(jié)構(gòu)這一步它要決定視頻分幾個(gè)場(chǎng)景、每個(gè)場(chǎng)景多長、場(chǎng)景之間怎么轉(zhuǎn)場(chǎng)。生成代碼這一步才是真正寫 Remotion 組件。渲染驗(yàn)證這一步它要跑一遍渲染看結(jié)果是否符合預(yù)期不符合就回去改。這個(gè)閉環(huán)里最容易被低估的是規(guī)劃結(jié)構(gòu)。我實(shí)測(cè)發(fā)現(xiàn)AI 直接寫單個(gè)場(chǎng)景的代碼質(zhì)量很高但讓它規(guī)劃一個(gè) 60 秒視頻的整體節(jié)奏時(shí)經(jīng)常出現(xiàn)前松后緊或者場(chǎng)景切換突兀的問題。原因是語言模型對(duì)時(shí)間感的把握天然弱于對(duì)代碼結(jié)構(gòu)的把握。所以實(shí)際用的時(shí)候我建議把結(jié)構(gòu)規(guī)劃這一步拆出來人工給一個(gè)粗略的分鏡再讓 AI 填充細(xì)節(jié)。3.2 AI coding assistant 的介入點(diǎn)AI coding assistant 在 OpenMontage 里的介入點(diǎn)比想象中要多。除了生成初始代碼它還在幾個(gè)地方發(fā)揮作用參數(shù)調(diào)優(yōu)你告訴它這個(gè)動(dòng)畫太快了它去改緩動(dòng)函數(shù)的參數(shù)而不是讓你手動(dòng)試。錯(cuò)誤修復(fù)渲染報(bào)錯(cuò)時(shí)它讀錯(cuò)誤日志定位到具體代碼行給出修復(fù)方案。風(fēng)格遷移你給它一個(gè)參考視頻的截圖它分析配色和構(gòu)圖生成對(duì)應(yīng)的樣式代碼。批量變體同一個(gè)模板生成十個(gè)不同配色和文案的版本用于 A/B 測(cè)試。這里面批量變體是最能體現(xiàn) agentic 價(jià)值的場(chǎng)景。傳統(tǒng)做法里做十個(gè)版本意味著十次重復(fù)勞動(dòng)在 OpenMontage 里你改的是數(shù)據(jù)源代碼自動(dòng)適配。我做過一個(gè)測(cè)試用同一套 Remotion 組件喂進(jìn)去十組不同的文案和配色一次性渲染出十個(gè)版本全程沒有手動(dòng)干預(yù)。這種效率提升是數(shù)量級(jí)的。3.3 Veo 的位置生成素材而非生成成片Veo 這類視頻生成模型在 OpenMontage 里的定位需要說清楚。它不是用來生成整個(gè)視頻的而是用來生成素材片段的。比如你需要一段城市夜景延時(shí)的鏡頭傳統(tǒng)做法是去素材庫找現(xiàn)在可以讓 Veo 生成一段。這個(gè)定位很關(guān)鍵。因?yàn)橐曨l生成模型目前的能力邊界在于短片段、單鏡頭它做不了復(fù)雜的敘事結(jié)構(gòu)。而 Remotion 擅長的是結(jié)構(gòu)、動(dòng)效、文字、數(shù)據(jù)可視化。兩者是互補(bǔ)關(guān)系Veo 提供實(shí)拍感的素材Remotion 提供設(shè)計(jì)感的包裝。我實(shí)際用下來的體會(huì)是Veo 生成的素材適合做背景和氛圍鏡頭不適合做需要精確控制的主體鏡頭。因?yàn)樯赡P兔看屋敵龅慕Y(jié)果都有隨機(jī)性你很難讓它精確地在第 3 秒出現(xiàn)一個(gè)人。所以我的做法是Veo 生成背景層Remotion 在上面疊加文字和圖形層兩層合成。這樣既利用了生成模型的視覺豐富度又保證了關(guān)鍵信息的可控性。4. 搭一套能跑起來的 OpenMontage 工作流4.1 環(huán)境準(zhǔn)備別在第一步就卡住搭 OpenMontage 工作流環(huán)境準(zhǔn)備是最容易勸退的一步。我把它拆成三塊Node 環(huán)境、Remotion 依賴、AI 助手接入。Node 環(huán)境建議用 18 以上的 LTS 版本。Remotion 對(duì) Node 版本有要求太老的版本會(huì)在渲染時(shí)出各種奇怪的錯(cuò)誤。我一開始用 Node 16渲染到一半報(bào)了個(gè)內(nèi)存相關(guān)的錯(cuò)排查了半天才發(fā)現(xiàn)是版本問題。換成 Node 20 之后一切正常。Remotion 依賴的安裝有個(gè)坑它需要下載 Chromium。在國內(nèi)網(wǎng)絡(luò)環(huán)境下這一步經(jīng)常超時(shí)。我的做法是提前配置好鏡像源或者手動(dòng)指定 Chromium 路徑。Remotion 提供了--browser-executable參數(shù)可以指向本地已有的 Chromium。AI 助手接入這塊取決于你用哪個(gè)助手。核心是要讓它能讀到你的項(xiàng)目文件能執(zhí)行渲染命令能讀渲染日志。這三點(diǎn)缺一不可。如果助手只能讀代碼不能執(zhí)行命令那它就退化成普通的代碼補(bǔ)全agentic 的價(jià)值就沒了。# 初始化 Remotion 項(xiàng)目 npx create-videolatest my-montage cd my-montage npm install # 本地預(yù)覽 npm run dev # 渲染 npx remotion render src/index.ts MyComposition out/video.mp44.2 項(xiàng)目結(jié)構(gòu)怎么組織才方便 AI 操作項(xiàng)目結(jié)構(gòu)直接影響 AI 助手的效率。我的經(jīng)驗(yàn)是把數(shù)據(jù)和模板徹底分開。數(shù)據(jù)放在 JSON 或 TS 文件里模板放在組件里。AI 改數(shù)據(jù)的時(shí)候不會(huì)碰壞模板改模板的時(shí)候不會(huì)影響數(shù)據(jù)。具體結(jié)構(gòu)大概是這樣src/ compositions/ # 各個(gè)視頻模板 Intro.tsx ProductShowcase.tsx components/ # 可復(fù)用的視覺組件 TextReveal.tsx Transition.tsx data/ # 內(nèi)容數(shù)據(jù) intro-config.json showcase-config.json styles/ # 全局樣式和主題 theme.ts這個(gè)結(jié)構(gòu)的好處是AI 助手在生成新視頻時(shí)只需要新建一個(gè) data 文件復(fù)用已有的 components。它不需要理解整個(gè)項(xiàng)目的所有細(xì)節(jié)只需要理解組件的接口。這大大降低了 AI 出錯(cuò)的概率。我還建議給每個(gè)組件寫清楚 props 的類型定義和注釋。語言模型對(duì)類型信息的利用效率很高你寫清楚duration: number是秒還是幀它就不會(huì)搞混。我踩過一次坑沒寫清楚單位AI 生成的代碼把秒當(dāng)幀用動(dòng)畫快了 30 倍。4.3 從需求到成片的完整鏈路跑通一次完整鏈路你才能理解 OpenMontage 的工作方式。我拿一個(gè)真實(shí)需求走一遍做一個(gè) 30 秒的產(chǎn)品介紹視頻包含開場(chǎng)標(biāo)題、三個(gè)功能點(diǎn)、結(jié)尾行動(dòng)號(hào)召。第一步我把需求寫成結(jié)構(gòu)化的描述而不是一句話丟給 AI。結(jié)構(gòu)化描述包括總時(shí)長、場(chǎng)景數(shù)量、每個(gè)場(chǎng)景的核心信息、整體風(fēng)格關(guān)鍵詞。這一步人工介入很重要因?yàn)?AI 對(duì)整體節(jié)奏的把握不如人。第二步讓 AI 生成分鏡規(guī)劃。它會(huì)輸出一個(gè)類似這樣的結(jié)構(gòu)開場(chǎng) 0-5 秒功能點(diǎn)各 6 秒結(jié)尾 7 秒。我看一遍調(diào)整不合理的地方比如某個(gè)功能點(diǎn)信息量大給它加到 8 秒。第三步讓 AI 根據(jù)分鏡生成 Remotion 代碼。這一步它會(huì)復(fù)用項(xiàng)目里已有的組件生成新的 data 配置。生成完我快速掃一遍代碼重點(diǎn)看時(shí)間參數(shù)和資源引用。第四步本地預(yù)覽。Remotion 的 dev server 支持熱更新改代碼立刻能看到效果。這一步是迭代最快的地方我通常會(huì)讓 AI 根據(jù)預(yù)覽結(jié)果調(diào)整兩三輪。第五步渲染輸出。渲染前確認(rèn)字體、分辨率、碼率這些參數(shù)。渲染完看一遍成片沒問題就交付。整個(gè)鏈路走下來一個(gè) 30 秒視頻從需求到成片熟練之后大概 20-30 分鐘。相比傳統(tǒng)剪輯省下的是重復(fù)勞動(dòng)的時(shí)間但審美決策這部分時(shí)間省不掉甚至因?yàn)橐?AI 溝通前期描述需求的時(shí)間反而增加了。5. 實(shí)測(cè)中那些文檔不會(huì)告訴你的坑5.1 渲染確定性的邊界Remotion 號(hào)稱渲染是確定性的但實(shí)際用下來有幾個(gè)地方會(huì)破壞確定性。第一個(gè)是隨機(jī)數(shù)。如果你的代碼里用了Math.random()每次渲染結(jié)果都不一樣。這在做粒子效果時(shí)特別容易踩。解決辦法是用 Remotion 提供的random()函數(shù)它基于幀號(hào)生成偽隨機(jī)數(shù)保證每次渲染一致。第二個(gè)是時(shí)間相關(guān)的 API。Date.now()這類調(diào)用在渲染時(shí)返回的是渲染時(shí)刻的時(shí)間不是視頻里的時(shí)間。如果你用它做動(dòng)畫結(jié)果會(huì)不可復(fù)現(xiàn)。正確做法是用useCurrentFrame()換算。第三個(gè)是外部資源。如果你的組件加載了遠(yuǎn)程圖片或字體網(wǎng)絡(luò)波動(dòng)會(huì)導(dǎo)致渲染失敗或結(jié)果不一致。我的做法是把所有外部資源本地化渲染前確保資源完整。注意任何依賴當(dāng)前真實(shí)時(shí)間或網(wǎng)絡(luò)狀態(tài)的代碼都會(huì)破壞渲染確定性。寫 Remotion 組件時(shí)把這兩個(gè)東西當(dāng)成禁忌。5.2 AI 生成代碼的常見錯(cuò)誤模式用 AI 助手生成 Remotion 代碼我總結(jié)出幾個(gè)高頻錯(cuò)誤模式。第一個(gè)是幀率混淆。Remotion 默認(rèn) 30fps但 AI 經(jīng)常按 60fps 算時(shí)間導(dǎo)致動(dòng)畫速度不對(duì)。解決辦法是在項(xiàng)目里顯式聲明 fps并在提示詞里強(qiáng)調(diào)。第二個(gè)是插值函數(shù)用錯(cuò)。Remotion 的interpolate()函數(shù)需要指定輸入范圍和輸出范圍AI 經(jīng)常把這兩個(gè)范圍搞反或者忘記加extrapolateLeft/Right參數(shù)導(dǎo)致動(dòng)畫在邊界處跳變。第三個(gè)是組件嵌套層級(jí)過深。AI 傾向于把每個(gè)效果都包一層組件結(jié)果渲染樹很深性能下降。我通常會(huì)讓它合并一些簡(jiǎn)單的嵌套把純樣式的部分用 CSS 解決而不是新建組件。第四個(gè)是忘記處理空數(shù)據(jù)。如果 data 文件里某個(gè)字段是空的AI 生成的代碼經(jīng)常直接崩潰。我現(xiàn)在的做法是在組件里加默認(rèn)值或者用可選鏈操作符兜底。5.3 性能與渲染時(shí)間的取舍渲染時(shí)間是這類工作流里最實(shí)際的約束。我做過一組測(cè)試同樣是 30 秒 1080p 視頻不同復(fù)雜度下的渲染時(shí)間差異很大視頻復(fù)雜度主要技術(shù)渲染時(shí)間備注純文字動(dòng)畫CSS SVG約 1 分鐘最快適合批量含圖片輪播img 過渡約 2 分鐘資源加載是瓶頸含數(shù)據(jù)可視化D3 Canvas約 3 分鐘計(jì)算量大含 WebGL 效果Three.js約 5 分鐘最慢慎用這個(gè)表給我的啟發(fā)是能用 CSS 解決的別上 Canvas能用 Canvas 解決的別上 WebGL。每上一個(gè)層級(jí)渲染時(shí)間就翻倍。如果做批量生成這個(gè)差異會(huì)被放大到不可接受。另一個(gè)優(yōu)化點(diǎn)是分辨率。很多場(chǎng)景下你不需要 4K。1080p 在大多數(shù)平臺(tái)已經(jīng)夠用渲染時(shí)間能省一半以上。如果確實(shí)需要 4K可以考慮先渲染 1080p 做預(yù)覽確認(rèn)沒問題再渲染 4K 成片。5.4 素材版權(quán)與生成內(nèi)容的合規(guī)用 Veo 這類模型生成素材有個(gè)容易被忽略的問題生成內(nèi)容的合規(guī)性。我建議在流程里加一道人工審核尤其是涉及人物、品牌、地標(biāo)的內(nèi)容。生成模型有時(shí)會(huì)輸出一些看起來沒問題、但細(xì)看有問題的畫面。另外Remotion 項(xiàng)目里引用的字體、圖標(biāo)、音樂都要確認(rèn)授權(quán)。我見過有人用了一個(gè)免費(fèi)字體做商業(yè)視頻結(jié)果被追責(zé)。字體授權(quán)這塊開源字體里 SIL OFL 協(xié)議的最安全可以商用。6. 這套工作流適合什么不適合什么6.1 高價(jià)值場(chǎng)景批量與參數(shù)化OpenMontage 這類工作流真正發(fā)力的場(chǎng)景是批量 參數(shù)化。我舉幾個(gè)我實(shí)際用過的例子。第一個(gè)是電商產(chǎn)品視頻。同一個(gè)模板換不同的產(chǎn)品圖、價(jià)格、賣點(diǎn)文案批量生成幾百個(gè)視頻。傳統(tǒng)做法要一個(gè)個(gè)剪現(xiàn)在改數(shù)據(jù)源就行。這種場(chǎng)景下OpenMontage 的效率優(yōu)勢(shì)是碾壓性的。第二個(gè)是數(shù)據(jù)報(bào)告視頻。每周的運(yùn)營數(shù)據(jù)自動(dòng)生成一個(gè)帶圖表的視頻報(bào)告。數(shù)據(jù)從數(shù)據(jù)庫拉模板固定AI 負(fù)責(zé)把數(shù)據(jù)映射到視覺元素上。這種數(shù)據(jù)驅(qū)動(dòng)的視頻傳統(tǒng)剪輯軟件根本做不了。第三個(gè)是多語言版本。同一個(gè)視頻生成中英日韓多個(gè)語言版本字幕和配音自動(dòng)切換。Remotion 的組件化讓這件事變得簡(jiǎn)單——語言是一個(gè)參數(shù)不是一套獨(dú)立的工程。這三個(gè)場(chǎng)景的共同點(diǎn)是結(jié)構(gòu)固定內(nèi)容變化。結(jié)構(gòu)固定的部分用代碼固化內(nèi)容變化的部分用數(shù)據(jù)驅(qū)動(dòng)。這正是代碼化視頻的甜蜜區(qū)。6.2 低價(jià)值場(chǎng)景強(qiáng)創(chuàng)意與實(shí)拍反過來有些場(chǎng)景用 OpenMontage 是自找麻煩。第一個(gè)是強(qiáng)創(chuàng)意的藝術(shù)短片。這類視頻的價(jià)值在于獨(dú)特的視覺語言和敘事節(jié)奏這些很難用代碼描述也不適合讓 AI 生成。你讓 AI 做一個(gè)有王家衛(wèi)風(fēng)格的短片它大概率給你一堆濾鏡疊加。第二個(gè)是實(shí)拍為主的視頻。vlog、紀(jì)錄片、訪談這些的核心是真實(shí)素材Remotion 能做的只是包裝。如果素材本身占 90%用 Remotion 反而增加了流程復(fù)雜度。第三個(gè)是需要精細(xì)調(diào)色的場(chǎng)景。Remotion 的調(diào)色能力基于 CSS 濾鏡和 Canvas跟專業(yè)調(diào)色軟件差距很大。如果你對(duì)色彩有嚴(yán)格要求還是得回到專業(yè)工具。我的判斷標(biāo)準(zhǔn)很簡(jiǎn)單如果這個(gè)視頻的核心價(jià)值在結(jié)構(gòu)和重復(fù)用 OpenMontage如果核心價(jià)值在創(chuàng)意和真實(shí)用傳統(tǒng)工具。兩者不是替代關(guān)系是分工關(guān)系。6.3 團(tuán)隊(duì)協(xié)作中的定位在團(tuán)隊(duì)里推這套工作流定位要清楚。我的經(jīng)驗(yàn)是把它定位成視頻生產(chǎn)的基礎(chǔ)設(shè)施而不是替代剪輯師的工具。剪輯師用它做批量產(chǎn)出和快速原型把省下來的時(shí)間投入到創(chuàng)意環(huán)節(jié)。具體分工上我建議這樣一個(gè)人負(fù)責(zé)維護(hù) Remotion 組件庫和模板相當(dāng)于視頻工程師內(nèi)容團(tuán)隊(duì)負(fù)責(zé)提供數(shù)據(jù)和需求描述AI 助手負(fù)責(zé)中間的代碼生成和迭代。這個(gè)分工里視頻工程師是關(guān)鍵角色他決定了模板的復(fù)用性和可維護(hù)性。如果團(tuán)隊(duì)里沒有懂前端的人推這套工作流會(huì)很吃力。因?yàn)?AI 生成的代碼總會(huì)有需要人工介入的時(shí)候完全不懂代碼的人沒法判斷 AI 改得對(duì)不對(duì)。所以我的建議是先讓團(tuán)隊(duì)里一個(gè)人把 Remotion 學(xué)明白再考慮推廣。7. 我對(duì)這條路的一些個(gè)人判斷用了一段時(shí)間 OpenMontage 這套思路我最大的體會(huì)是視頻生產(chǎn)的門檻正在從會(huì)用軟件轉(zhuǎn)移到會(huì)描述需求。以前學(xué)剪輯你要花幾個(gè)月熟悉軟件操作現(xiàn)在你要花時(shí)間學(xué)會(huì)把模糊的想法拆解成結(jié)構(gòu)化的描述。這個(gè)轉(zhuǎn)移對(duì)開發(fā)者是利好對(duì)純操作型剪輯師是挑戰(zhàn)。另一個(gè)體會(huì)是AI 生成代碼的質(zhì)量跟你的項(xiàng)目結(jié)構(gòu)強(qiáng)相關(guān)。項(xiàng)目結(jié)構(gòu)清晰、類型定義完整、組件職責(zé)單一AI 生成的代碼質(zhì)量就高項(xiàng)目一團(tuán)亂麻AI 也跟著亂。這跟帶新人是一個(gè)道理——你給新人一個(gè)干凈的項(xiàng)目他上手就快給他一個(gè)祖?zhèn)鞔a他也懵。所以花時(shí)間整理項(xiàng)目結(jié)構(gòu)不是浪費(fèi)時(shí)間是在給 AI 鋪路。最后說一個(gè)我踩過的坑。我一開始太依賴 AI 生成自己不看代碼結(jié)果渲染出來的視頻有個(gè)隱蔽的 bug某個(gè)場(chǎng)景在特定幀數(shù)下會(huì)閃一下。這個(gè) bug 在預(yù)覽時(shí)看不出來因?yàn)轭A(yù)覽是跳幀的。后來我養(yǎng)成了一個(gè)習(xí)慣AI 生成的代碼我至少掃一遍時(shí)間相關(guān)的邏輯確認(rèn)沒有邊界問題。這個(gè)習(xí)慣幫我省了很多返工。這條路還在快速演進(jìn)。Remotion 在更新視頻生成模型在迭代AI 助手的能力也在漲。但底層的邏輯不會(huì)變把可結(jié)構(gòu)化的部分代碼化把不可結(jié)構(gòu)化的部分留給人。想清楚哪些該交給 AI哪些該自己抓比追新工具重要得多。