我一年中有半年時間待在馬賽馬拉,每次待三個月。小屋前有動物、摩托車、馬賽村莊的朋友們,還有覺得無人機是他們看過最有趣東西的孩子們。這是我一年的一半。另一半則是在終端機前度過十六小時的工作日,帶著非洲時間的矽谷駭客思維。
前半段是來自 iPhone、DJI Pocket、無人機、Nikon Z8,以及最近的 Ray-Ban Metas 的持續不斷的影片素材。總有東西在錄製。我認識的每個攝影師或錄影師都面臨同樣的問題:一個比他們能編輯的速度成長得還快的影音庫。後半段則解釋了為什麼我的影音庫從未被觸及。
在奈洛比和西班牙之間的某個機場安檢。兩托盤的相機、耳機、無人機零件、電池、SSD,還有比任何人需要的都多的線材。大部分都錄製了東西。但幾乎沒有錄製到的東西會在短期內再次被使用。
三個月前,小屋的社群頻道停擺了。並非內容匱乏;小屋有多年的原始影片素材儲存在多個 SSD 中。瓶頸在於編輯時間,而我的時間消失了。Claude Code 搭配 Opus 4.5(然後是 4.6)在二月達到了可以讓代理程式運行數小時後回來合併 PR 的程度。KaribuKit 也在同一時期上線了第一個付費房產。我開始睡不好覺,開始在背景同時運行三四個代理程式,而原本會剪輯影片的幾個月,變成了我交付軟體的時間。
所以一個週末我坐下來解決這個問題。我嘗試的第一件事是錯的。
最初的構想(在我研究了大約一小時後,對自己提出的)是一個 SaaS 堆疊:Eddie AI 用於迭代編輯,Higgsfield MCP 用於生成式 B-roll,Submagic 用於字幕,Buffer 用於交叉發布。大約每月 140 美元,紙面上看起來很不錯。
在我運行任何東西之前,出現了兩個問題。
首先,生成式 AI 影片在真正的旅遊品牌中沒有立足之地。客人每晚支付 300 美元或更高價格是為了看到真實的地方,而標記錯誤的 AI 畫面等於 TripAdvisor 的災難。Higgsfield 排除。
其次,每週 3-5 篇貼文對我來說太積極了,實際的最低數量大約是 2-3 篇。這個構想過於樂觀,我會在第二週就失敗。
然後我才想起我已經擁有 DaVinci Resolve Studio,而 Resolve 21 提供了 IntelliSearch(語義片段搜尋)、Smart Bins(自動組織資料夾)以及 Voice to Subtitle,它能在時間軸上產生 90-95% 精確的字幕。這大約是 Eddie 所賣功能的 70%,所以 Eddie 也被排除了。
我剩下的是 Claude Code 透過開源的 DaVinci Resolve MCP 驅動 Resolve,ElevenLabs 處理資訊片段的旁白,成本從每月 140 美元降至 22 美元。
但當我實際嘗試使用這些東西時,更深層的問題才浮現。市場上每個 AI 影片編輯器都假設你的影片素材已經標記好了。我的素材在名為 Mara june 2024 backup final FINAL 的資料夾中,檔名是 IMG_*.mov 和 DJI_*.mp4。Eddie 可以透過轉錄檔搜尋,但沒有任何工具能在未標記的影音庫中找到「黃金時刻的山上大象」。
AI 編輯器解決了錯誤的問題。或者更精確地說,它解決了第二個問題;第一個問題是索引。
我一直回歸的問題是:代理程式如何知道每個片段裡有什麼?
對於未標記的影音庫來說,沒有答案。你可以丟給它轉錄檔、GPS 座標、檔名、父資料夾。除非有人真正看過像素,否則這些都無法讓你找到「日出時長頸鹿入鏡的廣角鏡頭」。
槓桿在上游。先建立索引,讓影音庫能用英文查詢,然後上面的編輯器就變成了一個簡單的層,做它被設計來做的事情。
這是我為 SimbaStack 的客戶做的 AI 原生建置類型,這次我既是客戶也是工程師,這讓決策樹短了很多。
這是在馬拉山頂影音庫的實際片段中的樣子。
IMG_1103.MOV 的一幀。小屋豪華帳篷甲板上的大象,中午。這些上下文都不存在於檔名中。
Gemma 為同一片段編寫的側邊欄。頂部是 YAML(燈光枚舉、一天中的時間枚舉、調色盤、人臉嵌入、GPS),下方是散文 ## 描述。它捕捉到了狩獵帳篷的場景、從室內到草原的鏡頭移動、鏡頭類型,並建議了兩種用途(行銷影片和旅遊 Vlog B-roll)。檔名是 IMG_1103.MOV;側邊欄包含了我再次找到它所需的一切。
索引器運行後,實際的馬拉山頂影音庫資料夾。每個片段旁邊都有一個 .description.md 側邊欄;頂部的 _INDEX.json 和 _INDEX.md 是資料夾級別的匯總,用於快速 grep 和 LLM 友善的交接。
整個東西是一個 Claude Code 技能,大約 1,400 行 Python。幾乎所有內容都是 Claude Code 編寫的。我的工作是架構、提示、模式設計,以及在出現問題時進行錯誤分類。
這是我真正感到驚訝的部分。
我在 2021 年購買了一台配備 64GB RAM 的 16 英寸 MacBook Pro M1 Max,原因與 LLM 無關。我之前的機器已經 hit 了 32GB 的限制。一個混亂的駭客思維,同時運行數百個 Chrome 分頁、DaVinci Resolve、Slack、Discord 和 Drive,對於預統一記憶體硬體來說太多了,無法不持續分頁。我將新 M1 Max 的 RAM 加滿,因為舊的無法停止我的工作流程,而且我有錢解決它。
五年後,同一台筆記型電腦正在 LM Studio 中運行 Gemma 4 31B Q4,對應一年的影片素材。
LM Studio 加載了 Gemma 4 31B Q4。模型佔用 28.40 GB 記憶體,REST API 在 127.0.0.1:1234。底部面板是實際批量運行期間的伺服器日誌,一次一個片段地編碼影格。
批量運行將筆記型電腦的負載推到了僅靠 64GB RAM 無法承受的程度。活動監視器報告峰值時使用了 50.89 GB 的交換空間。
64 GB 實體 RAM,使用了 50.89 GB 交換空間。記憶體壓力處於黃色區域,這是你在正常週二絕對不應該運行的狀態。Apple 的交換空間就是為此設計的,風扇聲音很大。
我 Google 了這是否會損壞 SSD,顯然一兩天還可以。不要讓它成為你的常態操作狀態,但週末的重度使用在容忍範圍內。我的筆記型電腦發熱,風扇狂轉,在我處理其他事情時,它一直在產生側邊欄。
M1 Max 16 英寸,老實說,是傳奇。Mac 社群的人們對它評價很高,是有原因的:五年後,它仍然以可用的速度運行著 31B 參數的模型,並且有著不應該出現在如此舊硬體上的餘裕。我預計這台機器還能再舒適地運行三到五年,因為本地 LLM 只會越來越有效率,而硬體是基礎,不是上限。
建置過程大部分是 Claude Code 在執筆。有趣的工作是它四次差點發布錯誤的東西。
WhisperX 3.8 在我上次接觸它和現在之間破壞了其聲紋 API。出現了兩個破壞性變更:whisperx.DiarizationPipeline 已移至 whisperx.diarize 子模組,並且建構子關鍵字參數 use_auth_token 已重新命名為 token(繼承自 pyannote 3.x)。修復是簽名內省:腳本首先嘗試 token=,如果建構子引發 TypeError,則回退到 use_auth_token=,因此它可以自動應對下一次 API 變動。當你調用這些快速變動的 AI 函式庫時,防禦性的建構子呼叫是廉價的保險。
Claude CLI 將權限錯誤作為成功回應返回。在 CLI 後端第一次測試時,所有四個側邊欄都返回相同的文字「我需要讀取影格的權限...」,並且腳本的成功檢查通過了,因為退出代碼是 0 且輸出不為空。原因是,在沒有 --permission-mode bypassPermissions 的非互動模式下,CLI 會將權限拒絕文字作為回應主體返回,而不是提示,這意味著失敗模式看起來與成功完全相同,除非你進行字串匹配。修復是添加了該標誌以及一個防禦性檢查,將任何包含「我需要權限」的短回應標記為錯誤而不是描述。當你編寫 AI 工具腳本時,非互動權限流程是潛藏靜默失敗的地方。
Gemma 返回 people_count: "many" 而不是整數。我的視覺提示字面上說整數或大於 10 的字串 "many"。Gemma 正確遵循了指示;錯誤在於模式設計。修復是更嚴格的提示(整數 0-99,並明確指導估計)加上解析器中用於舊版 "many" 回應的強制轉換。不要聯合類型模式欄位。始終選擇整數或字串,永遠不要選擇「整數或這個特定字串」,因為每個下游消費者都要為這個選擇付出代價。
然後是那個不應該被剔除的摩托車片段。我最初的剔除提示是攝影師作品集風格的:嚴重的運動模糊、柔焦和抖動的穩定性被評為剔除。技術上是正確的。然後我測試了一個手持夜間摩托車片段,來自西班牙之旅,它將其剔除了。我抓住了它:那是一段有趣的記憶,模糊就是氛圍。我將剔除標準重新定義為「不是真正的錄製」(鏡頭蓋、口袋錄製、兩秒測試片段、完全曝光不足),而不是「不完美的捕捉」。照片影音庫會嚴格剔除;影片記憶則寬鬆剔除。相同的模式,不同的標準,你必須明確說明你處於哪種模式。
枚舉約束優於指令,可防止混淆。我在一個我晚上拍攝的共享辦公空間照片上測試了 Gemma 4 E4B,它將場景描述為「明亮、充足的自然光、落地窗」,但窗戶外面漆黑一片,因為是晚上。然後我用結構化模式提示測試了 31B,它迫使模型從 golden_hour | bright_daylight | overcast | dim_interior | nighttime | mixed | unclear 中選擇,並且無論是否啟用思考,都正確地恢復了 nighttime。模型可以對開放式散文撒謊,但它只能從枚舉中誤選,永遠不會發明新值。使用模式,而不是指令。
帶有結構化提示的本地 31B 在大多數情況下縮小了與雲端的差距。Gemma 4 31B Q4 在結構化模式下關閉思考,產生的輸出在大多數測試片段上很難與 Sonnet 4.6 區分開來。雲端溢價在那些困難的 10-20% 上賺取了價值。大規模批量索引(一夜數千個片段)應該在本地運行;雲端是用於對本地標記為審核的片段進行重新評級。這種兩層設置是可擴展的。
AI 影片編輯器被推銷得太高了。有價值的層是索引。一旦你的影音庫可以用普通英文查詢(「給我看馬拉的室內手持片段,黃金時刻,有人,長度超過 8 秒」),上面的編輯器就很簡單了。大多數 AI 編輯器空間都在爭奪不存在的索引之上的表面,而索引是他們都跳過的先決條件。
回顧過去,時間並不是真正阻止這個問題被及早解決的原因。我擁有了當時所有可用的 AI 超能力,用於我生活的側面工作:Claude Code 徹夜重構程式碼庫,Codex 編寫了我大部分的 PR,以及我花了三個月時間用於交付 KaribuKit 的代理堆疊。在編輯方面,我沒有使用任何一個。無法動手處理已經變成了自己的一個小小的、低級別的挫敗感,整年都縈繞在我的腦海裡,那種每次打開 SSD 上的資料夾然後又關閉而不做任何事情時都會注意到的東西。一個星期六,我意識到編輯積壓是一個工具問題,而工具是我現在恰好有能力解決的那種問題。
這個週末我正在構建編輯器:Claude Code 作為協調者,DaVinci Resolve MCP 進行剪輯,ElevenLabs 處理資訊片段的旁白。工具中內建了一個硬性規則:語音克隆僅用於實用內容。指示、房間描述、多語言版本、我本人會說的事實性內容。絕不用於推薦信或創始人訊息。2026 年的披露法規是真實存在的,而對待客品牌的信任很容易失去。
索引使所有這些都變得可行。沒有它,我仍然會滾動瀏覽 47GB 的 DJI Pocket 影片尋找日出廣角鏡頭。
目前:一年的馬拉山頂影片素材可以在一台五年前的筆記型電腦上用英文查詢。成本是我週末的時間和 50GB 的交換空間。舊 SSD 中剩餘的幾年素材是下一個目標。
對所有這些進行公平的檢查:馬拉山頂的社群頻道今天仍然停擺。索引器只解決了一半的問題(找到正確的片段);將這些片段變成完整影片的編輯器是另一半,這是我這個週末正在構建的部分。如果有效,頻道將重新活躍起來,我將撰寫第二部分。如果無效,我將撰寫原因。
老實說,這裡的正確答案可能是聘請某人。找到一個具有馬拉山頂所需敏感性的編輯(溫暖、觀察性、沒有過度剪輯的 MTV 能量影片)比編寫另一個技能更難。如果你認識在這個領域工作的人,請介紹給我。
編輯:程式碼在 github.com/Simbastack-hq/framedex。歡迎 PR 和問題。感謝 HN 評論者指出原始本地路徑引用沒有用。
建置 KaribuKit(適用於酒店業的 AI 原生 PMS),經營 Mara Hilltop(馬賽馬拉的生態小屋),並透過 SimbaStack 提供諮詢。
你的 AI 撰寫文章,SlopIt 在幾秒鐘內發布——無需設定,無需託管。