顯示具有 開源 標籤的文章。 顯示所有文章
顯示具有 開源 標籤的文章。 顯示所有文章

同一顆基座、兩種靈魂:Holo 3.1 與 Qwythos-9B 怎麼在你本機組成 Claude Computer Use

Holo 3.1 與 Qwythos-9B 主視覺:眼手與大腦

先講結論。這篇不是「盤點兩個新模型」的媒體稿,而是想解一個技術判斷題:

2026 年 6 月,兩個都基於 Qwen3.5-9B 、都掛 Apache 2.0、都在同月開源的模型,H Company 的 Holo 3.1 跟 Empero AI 的 Qwythos-9B ,我到底該用哪一個?

實測跑過兩週後,我的答案變成:兩個都要。它們不是同一條賽道上的競爭者,而是同一台本地 Claude Computer Use 的左手跟右手——一個是眼睛加雙手,一個是大腦加嘴巴。這篇就是把「為什麼」跟「怎麼做」拆給你看。


為什麼今年開源社群長得越來越像 Qwen3.5 生態圈

先鋪一下背景,這件事比模型本身更有意思。

過去半年,開源社群幾乎所有值得注意的專門化模型都往同一個基座靠:Qwen3.5。原因不神秘——Qwen3.5 提供了 0.8B 到 397B 的完整 dense/MoE 家族、原生 262k 脈絡、hybrid GDN+Attention 架構、以及真正商用友好的 Apache 2.0 授權。這在 Llama 4 的社群授權還有 700M MAU 上限、Gemma 有自訂條款的環境下,幾乎沒得挑。

於是我們看到的畫面是:Qwen 團隊把「作業系統」造好,其他實驗室在上面裝專用軟體。Holo 3.1 是「電腦操作」這個 app,Qwythos-9B 是「Claude 級推理」這個 app。兩個 app 都不重造輪子,都拿 Qwen3.5 當 kernel。這個現象跟去年 Llama 3 一枝獨秀時完全不同——基座之爭已經結束,戰場搬到後訓練專門化了。

理解這一點之後,同月出兩個 Qwen3.5 微調模型就不是巧合,而是常態。而能不能組合起來,才是判斷開源生態成熟度的真正指標。


Holo 3.1:把螢幕看懂、把滑鼠鍵盤打通

同基座長出兩棵完全不同的樹

Holo 3.1 是 H Company 於 2026 年 6 月 2 日發布的 Computer-Use Agent VLM 家族。它做的事情很純粹:吃一張螢幕截圖 + 一個自然語言目標,吐出「下一步要點哪、打什麼、滾多少」。

家族尺寸從 0.8B 一路開到 35B-A3B MoE,跟 Qwen3.5 一一對應。旗艦款 35B-A3B 依社群拆解(對應 Qwen3.5-35B-A3B)大約是 256 個 experts、top-8 routing,激活參數只有 3B——白話就是「35B 級的能力,但推理速度接近 3B」。這對本地部署是天大的好消息,VRAM 帳單走總參數(Q4 大約 21GB),算力帳單走激活參數,24GB 的 RTX 4090 剛好塞得下。

真正拉開跟 Holo 3 差距的是三件事:

  1. 手機加進來了。AndroidWorld 從 67% 直接跳到 79.3%,4B/9B 也從 58% 拉到 71%
  2. Native function-calling。之前是 prompt 硬擠 JSON,現在是原生工具呼叫協議,跟任何 ReAct 框架能直接兼容
  3. 量化 checkpoint 三件套:NVFP4 給 DGX Spark、FP8 給 H100、Q4 GGUF 給消費硬體跟 Apple Silicon

我在自己 DGX Spark + NVFP4 + vLLM 環境下實測,35B-A3B 的 agent step time 從 FP8 baseline 的 6.8 秒直接砍到 3.3 秒(用 OSWorld 任務子集,10 步平均)。跟 H Company 官方 blog 揭露的 ~2× 端對端加速數字對得起來。這已經不是優化,是換引擎,夭壽。

放在整個 Computer-Use 賽道看,Holo3.1 的定位大概是:單一開源模型級別逼近人類基準。AndroidWorld 人類基準 80.0%,Holo 拿 79.3%;OSWorld-Verified 人類基準 72.4%,Holo 大約也逼到 80% 附近的水位。跟 ByteDance 的 UI-TARS-2 (OSWorld 47.5% / AndroidWorld 73.3%)相比,Holo 在同尺寸級別領先明顯。

但注意「單一模型」這四個字。H Company 自家的 Surfer 2 agent 系統把 OSWorld 拉到 60.1%、AndroidWorld 拉到 87.1%(見 Surfer 2 論文 arXiv 2510.19949 ),那是「Holo 當模型 + agent 框架」的組合結果。Holo 3.1 提供的是最強的零件,不是完整方案。這件事等下講雙引擎的時候會回來。


Qwythos-9B:把 Claude 的推理鏈灌進 9B

Qwythos-9B(全名 empero-ai/Qwythos-9B-Claude-Mythos-5-1M)是 Empero AI 在同月釋出的推理模型。它跟 Holo 3.1 用同一顆基座——Qwen3.5-9B——但完全不做 Computer-Use。

它做的是把 Claude Mythos 5 跟 Claude Fable 5 的推理鏈路徑,用 500M+ tokens 的 trace 資料,全參數 SFT 灌進一顆能跑在筆電上的 9B 模型。訓練用了兩階段課程學習:先廣泛推理語料,再聚焦 agentic + coding,用 bf16 + paged AdamW 8-bit + chunked NLL assistant-only loss。

技術亮點三個:

  • 1,048,576 token context:從 Qwen3.5 原生 262k 用 YaRN factor=4 直接擴到 1M。消費硬體開 32k~128k 較實際,48GB A6000 才能吃到接近全窗
  • 原生 function-calling:官方 tool-use test 拿 7/7,且答案帶真實來源引用
  • 深度無審查:官方 model card 明講「engage seriously with cybersecurity, red-teaming, pharmacology, clinical medicine」。這是把雙面刃

跟 Qwen3.5-9B base 相比,Qwythos-9B 在 MMLU 上 +34.3,GSM8K strict-match +30.0(flexible-extract 口徑則是 +19,官方 model card 兩個都給了,我這裡取 strict 是為了避免 extraction 誤差干擾)。這差距不像是同尺寸 fine-tune 該有的,比較像「9B 皮、Claude 骨」。

它適合的場景是那些要讀很多、想很深、講很久的活:長文件分析、整個 codebase 一次讀進 context、多步 agent 工作流、需要 Python executor 驗證的長推理。不適合的場景也很清楚:想要輕鬆閒聊、沒有 GPU、不想處理 <think> 區塊、面對消費者的產品——因為它會直接回答那些多數對齊模型會拒絕的問題,安全層要自己補。


為什麼兩個放一起,就變成 Claude Computer Use

看到這裡應該有感覺了。Holo 3.1 缺什麼?思考深度。Qwythos-9B 缺什麼?眼睛跟手。

這不是巧合。Computer-Use Agent 的兩大瓶頸就是這兩個:

  1. 看不清螢幕:早期 Claude Computer Use 常在 GUI 邊界判斷失誤,Anthropic 內部承認純 LLM+screenshot 的 grounding 有天花板
  2. 想不夠深:純 Vision-Language Model 為了 UI grounding 犧牲了長脈絡與深度推理,這是 UI-TARS 系列在複雜跨應用任務會卡住的主因

Holo 3.1 把 grounding 這面推到接近人類;Qwythos-9B 把 reasoning 這面推到接近 Claude。你把它們串成一個雙引擎 agent loop,就在自己電腦上組出了功能等價於 Claude Computer Use 的完整堆疊,而且完全離線。

架構長這樣:

使用者自然語言目標
        ↓
Qwythos-9B(高階規劃 + 1M context,讀歷史操作/文件/規格)
        ↓ function_call
Holo 3.1(低階執行 + 螢幕理解,決定像素座標動作)
        ↓ action
Sandbox / OS(執行動作 → 新截圖)
        ↑ 回到 Holo,狀態摘要回到 Qwythos
        ↓ 迴圈直到完成
最終結果 → 使用者

分工邏輯很簡單:Qwythos 收「目標 + 完整歷史脈絡 + 上次截圖的文字描述」→ 輸出「下一步計畫 + 要 Holo 執行的 tool_call」。Holo 收「這個 tool_call + 當前截圖」→ 輸出「像素座標動作」。動作執行完,新截圖回到 Holo,狀態摘要回到 Qwythos。

一台 24GB VRAM 的 RTX 4090,可以同時裝 Qwythos-9B Q4 GGUF(約 5.6GB)+ Holo-3.1-9B Q4 GGUF(約 6GB),剩下 12GB 留給兩顆的 KV cache。或者 M3 Max 64GB 統一記憶體全跑起來,一台筆電就是完整推理 rig。


OpenClaw:兩個模型碰上生態圈的巧遇

OpenClaw 當整合中樞

理論組合聽起來很美,實務要怎麼把兩個 llama-server 綁進同一個 agent 框架?答案是 OpenClaw ,一個由 Peter Steinberger 在 2025 年底開源的本地優先 agent runtime,社群成長很誇張——推出 24 小時內就衝破 9000 星,到 2026 年 Q1 已經是六位數等級的專案。

有趣的是,兩個模型跟 OpenClaw 的關係並不對稱:

模型OpenClaw 整合證據
Holo 3.1有專門部署教學KnightLi 部落格 Holo 3.1 Local Deployment Guide 手把手教你用 openclaw skills install agent-browser 把 Holo 掛進 gateway(該站點會導向自訂 port,若瀏覽器擋下請手動信任)
Qwythos-9B沒專屬教學但通用可行官方文件只講 vLLM / SGLang / Transformers / Ollama。因為 OpenClaw 支援任何 OpenAI 相容端點,Qwythos 可以透過 Ollama provider 間接接上

差距在哪?Holo 3.1 是 GUI 專職模型,跟 OpenClaw 的 agent-browser skill 幾乎是零距離的天生一對——它就是為了 browser/desktop 操作而生。而 Qwythos 定位是「推理 + tool use」文字模型,OpenClaw 社群還沒有為它做專案,但它拿 7/7 tool-use test 加上 function-calling 支援,是 OpenClaw primary model 的優質候選。

換句話說,Holo 是已被 OpenClaw 生態圈收編的模型,Qwythos 是可以但還沒被收編的模型。有沒有覺得這缺口剛好是給你的機會?

實作:把兩個模型掛進同一個 OpenClaw

前置條件講在前面:

  • macOS / Linux / Windows(我在 M3 Max 64GB 跟 Ubuntu + RTX 4090 上都測過)
  • llama.cpp 或 Ollama 至少一個
  • OpenClaw(Homebrew 或官方 installer)
  • Chrome(如果要跑 browser skill)

第一步:用 llama.cpp 起 Holo 3.1 的 server

從 Hugging Face 抓 Hcompany/Holo-3.1-9B-GGUF 的主檔跟 mmproj 視覺投影檔,這裡 mmproj 常被漏掉,漏了就沒有視覺輸入。

llama-server \
  -m ./models/holo-3.1-9b.q4_k_m.gguf \
  --mmproj ./models/holo-3.1-9b-mmproj.f16.gguf \
  -ngl 999 -c 8192 -fa \
  --temp 0.2 --top-p 0.9 \
  --host 127.0.0.1 --port 8081

第二步:用 Ollama 起 Qwythos

ollama run hf.co/empero-ai/Qwythos-9B-Claude-Mythos-5-1M-GGUF:Q4_K_M

Q4_K_M 檔案約 5.2GB,跑起來一顆 8GB VRAM 就夠。Ollama 預設會開 http://localhost:11434 的 OpenAI 相容端點。

第三步:讓 OpenClaw 認識這兩顆模型

編輯 ~/.openclaw/config.json(不同版本路徑可能略異,用 openclaw config path 確認):

{
  "agents": {
    "defaults": {
      "model": { "primary": "ollama/qwythos-9b" }
    }
  },
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://localhost:11434",
        "apiKey": "ollama-local",
        "api": "openai-completions",
        "timeoutSeconds": 300,
        "models": [
          {
            "id": "hf.co/empero-ai/Qwythos-9B-Claude-Mythos-5-1M-GGUF:Q4_K_M",
            "name": "Qwythos-9B",
            "reasoning": true,
            "input": ["text"],
            "contextWindow": 131072,
            "maxTokens": 8192
          }
        ]
      },
      "holo-local": {
        "baseUrl": "http://127.0.0.1:8081/v1",
        "apiKey": "sk-local",
        "api": "openai-completions",
        "timeoutSeconds": 120,
        "models": [
          {
            "id": "holo-3.1-9b",
            "name": "Holo 3.1 9B (Vision)",
            "reasoning": false,
            "input": ["text", "image"],
            "contextWindow": 32768,
            "maxTokens": 2048
          }
        ]
      }
    }
  }
}

Qwythos 當 primary(負責思考跟規劃),Holo 當 vision 專用 provider(負責螢幕跟動作)。context window 我先給 131k 是保守值,硬體允許再拉。

第四步:裝 browser skill,把 Holo 綁上去

openclaw skills install agent-browser
openclaw doctor
openclaw gateway restart

agent-browser 這個 skill 會自動下載 Playwright + Chromium。裝完後可以在 skill 設定裡指定「vision model 用 holo-local/holo-3.1-9b」,這樣主 agent(Qwythos)就會把螢幕理解任務外派給 Holo endpoint。

第五步:試一個真實任務

在 OpenClaw chat 輸入:
「打開 hcompany.ai/holo3.1,找出 Holo 3.1 的 4B 模型在 AndroidWorld 的分數,
把來源 URL 一起回給我。」

會看到 Qwythos 先規劃步驟(<think> 區塊會冒出來),呼叫 browser skill 開頁,Holo 看截圖決定要往哪 scroll、要點哪個連結,資料回到 Qwythos 整理成有引用的答案。這就是本地版 Claude Computer Use 的最小可行迴圈。


踩過的坑跟一定要記的事

筆電上的本地雙引擎

實測兩週,踩到的雷整理如下。

坑一:Holo 3.1 各尺寸授權沒完全確認

只有 0.8B 我親眼看到 Apache 2.0 明確標示。4B / 9B / 35B-A3B 的 Hugging Face model card 我建議每一顆都自己去確認一次,特別是打算商業部署的話。H Company 上一代 Holo1.5 是「3B 掛 Qwen license、7B 掛 Apache 2.0、72B 掛 research-only」的分級模式,Holo 3.1 不保證統一。

坑二:Qwythos 的 <think> 區塊

如果你把 Qwythos 接到使用者可見的 UI,<think>...</think> 會直接被吐出來,用戶會看到一大坨推理過程。正確做法是在 gateway 層過濾掉,或者把 reasoning 顯示切成摺疊區塊。

坑三:1M context 不代表消費硬體吃得下

Qwythos 的 config 寫 max_position_embeddings: 1048576,但 KV cache 會爆。8GB VRAM 建議只開 32k,24GB 開 128k,48GB 才有機會逼近全窗。不要看到 1M 就無腦塞整個 codebase,會 OOM。

坑四:Holo 3.1 GGUF 漏掉 mmproj

llama.cpp 的視覺模型要主檔 + mmproj 兩個檔一起載入。只載主檔,模型會啟動成功但看不見圖,這是最常見的初學者陷阱。

坑五:Qwythos 未審查是雙面刃

它是刻意 uncensored 的模型,你在自己實驗室跑當然沒問題,但只要要 serve 給外部使用者、或者接到公司內部系統,應用層 guardrail 必須自己補。Empero 的 model card 已經寫清楚這點,別假裝沒看到。

坑六:OpenClaw 對 tool_choice 的預設

OpenClaw gateway 預設 tool_choice: "auto"。Qwythos 因為每回合都會走推理再決定要不要呼叫工具,通常 auto 剛好;但如果你想強制每回合都用工具(例如純 agent workflow),要在 config 手動蓋成 "required":

"agents": {
  "defaults": {
    "models": {
      "ollama/qwythos-9b": {
        "params": { "extra_body": { "tool_choice": "required" } }
      }
    }
  }
}

誰該做、誰別做

不是每個人都需要組這個雙引擎。用途對應建議是這樣:

情境建議
想試試「本地 Claude 助理操作我電腦」雙引擎全套上,M3 Max 或 24GB VRAM 起步
只想跑 browser 自動化,不需要深度推理Holo 3.1 4B / 9B 單獨用就好,Qwythos 是浪費
只想讀 codebase / 論文,不操作電腦Qwythos-9B 單獨用,Holo 是浪費
想做無審查資安研究Qwythos + Docker sandbox,Holo 選配
面對消費者的產品兩個都不建議直接用,未審查跟企業對齊差距太大
資源極少(8GB 以下)Holo-3.1-0.8B 單引擎,Qwythos 最小也是 9B
想要極致速度別用 Qwythos,<think> 會拖 UX,改用 Holo + 更輕的規劃模型

結語:開源社群的成熟度訊號

我覺得 Holo 3.1 跟 Qwythos-9B 最值得記住的不是任何一個 benchmark 數字,而是它們同月由不同團隊獨立發布,卻能無縫組合這件事。

過去我們談開源 AI 生態,常常是「這個模型跟那個框架不相容」「這家的 tokenizer 跟那家不合」的碎片化狀態。而現在因為 Qwen3.5 這個共同底座、Apache 2.0 這個共同授權、OpenAI-compatible API 這個共同介面,你可以把兩個素不相識實驗室的模型,在同一個 gateway 裡兜成一個完整產品。

這個能兜起來的能力,本身就是開源社群長大的訊號。

如果你正在做本地 AI agent 相關的東西,這個週末花兩小時把 Holo + Qwythos + OpenClaw 這條線走一次,會比讀十篇 benchmark 分析更有感。硬體剛好 24GB VRAM 或 M3 級筆電的話,你已經比 90% 的 API 使用者更接近「AI 真的在幫我做事」這件事的本質。


參考資料

OpenCV 26 年:一個 Intel 內部專案,怎麼變成全世界 CV 工程師的基本盤

1999 年 Intel 研究實驗室的場景重現

打開任何一本電腦視覺教科書、隨便點開一篇 GitHub 上的 CV 專案,你很可能會看到那一行熟悉的 import cv2。這個 cv2 背後是一個叫做 OpenCV 的開源函式庫——我們現在覺得它就跟空氣一樣理所當然,但它走到今天,其實非常曲折。

它一開始不是一個正經的學術計畫,也不是某個天才博士論文的副產品。它是 Intel 內部一個拉抬 CPU 銷量的「公關專案」,差點在 dot-com 泡沫崩潰時無聲消失,後來經歷三次組織轉手,才在 2026 年 6 月迎來八年來最大一次改版:OpenCV 5.0 直接把 LLM 與 VLM 塞進這個函式庫裡面。

這篇就來講這個故事——不講太多技術,主要講人、講組織、講為什麼一個函式庫可以撐 26 年還越長越壯。

故事的起點:一個叫 Gary Bradski 的人

要講 OpenCV,就一定要從 Gary Bradski 講起。1990 年代末,他在 Intel 的 Microprocessor Research Lab 工作,當時 Intel 一直在找方法讓自家 CPU「賣得出去」——你 CPU 越強,總得有東西可以拿來算吧?所以 Intel 開了一堆「拉抬 CPU 運算密集應用」的計畫,包括即時光線追蹤、3D 顯示牆等等。

Bradski 那時去拜訪了 MIT Media Lab、CMU、史丹佛這些頂尖學校的視覺實驗室,他注意到一件很有趣的事——每個學校的研究生都把學長姊寫過的 CV 程式碼當作起點,互相傳承、從來不必從零造輪子。可是這種「內部福利」外面拿不到。

於是他和一群 Intel Russia 的最佳化專家、Intel Performance Library 團隊一起,把這套「共享 CV 程式碼」的概念變成一個對外開源的函式庫。Bradski 自己在受訪時這樣描述目標:

我們希望降低電腦視覺的入門門檻,把它民主化,讓任何人都可以把 machine perception 用在自己的專案裡。

他這段話講得很 Silicon Valley、很官腔,但骨子裡 Intel 的算盤其實也很直白:有更多人寫 CV 應用,就有更多人需要強的 CPU。商業誘因和理想主義在這個案子上剛好對齊。

1999–2008:漫長的 Beta 與差點消失的十年

OpenCV 的第一個 alpha 版在 1999 年 1 月內部釋出,那時候只支援 Windows、用 C 語言寫的、介面就是現在被吐槽的 IplImage 那一套。Wikipedia 上的 OpenCV 條目 寫得很清楚:對外正式亮相是 2000 年 6 月的 IEEE CVPR 大會。

然後它就進入了一段很漫長的 beta 期——2001 到 2005 連續發了五個 beta 版,1.0 正式版要等到 2006 年才釋出。為什麼這麼慢?因為 dot-com 泡沫破了,Intel 內部裁員、轉向,這個專案有好一段時間連一個全職人員都沒有。

Bradski 自己後來回憶(這段在他 2014 年的 OpenCV 3.0 投影片 裡有提到):「1999 年初平均有 7 個人在做,2003 年 Intel 的正式支援下降到接近零,Willow Garage 接手前的幾年內部幾乎沒人在管。」聽起來夭壽。

那段空窗期 OpenCV 之所以還能持續發 beta,靠的不是 Intel 員工,而是一群俄羅斯工程師——Vadim Pisarevsky、Victor Eruhimov、Sergey Molinov、Alexander Shishkov。他們以開源志工的身份在外部維持核心開發,後來這幫人乾脆自己跑出來開了一家叫 Itseez 的公司,把 OpenCV 從志工模式轉成商業支援模式。這段故事很少被講,但這群俄羅斯人才是 OpenCV 沒死的原因。

時間軸演進的視覺隱喻

三次組織轉手:從 Intel 到 Willow Garage,再回到 Intel

OpenCV 的歷史不只是程式碼演進史,它的「組織歸屬」變過好幾次,而每一次轉手都讓它走向不同的方向。

時期主導組織影響
1999–2008Intel Research起源、C API、Windows-only
2008–2012Willow Garage機器人優先,順便讓它跨平台
2012 起OpenCV.org 基金會Bradski 與 Vincent Rabaud 共同創立
2012–2016Itseez商業支援俄羅斯團隊接手核心
2016/5/25 起Intel 收購 ItseezOpenCV 回到 Intel 體系

Willow Garage 那段特別關鍵。這家公司是矽谷做機器人的傳奇——同時維護 ROS(Robot Operating System) 、PCL(Point Cloud Library),以及 OpenCV 與 Willow Garage 的歷史關聯 。他們把 OpenCV 從一個「Windows 上的 Intel 函式庫」改造成真正跨平台的工具。Bradski 後來離開 Willow 自己創了 Industrial Perception(2013 年被 Google 收購),但 OpenCV 留在了基金會手裡。

2012 年 8 月 是另一個分水嶺——非營利的 OpenCV.org 基金會成立,Bradski 和 Vincent Rabaud(當時還在 Willow Garage 當研究工程師)一起主持。從這天起,OpenCV 真正脫離單一公司的控制,變成社群擁有的開源資產。

四年後,2016 年 5 月 25 日,Intel 又把 Itseez 收購回來——某種程度上像是「回娘家」。但 OpenCV.org 基金會仍然獨立運作,所以這次收購對開發節奏沒造成什麼震盪,反而讓 Intel 在硬體優化上資源更直接。

程式碼面的世代分水嶺

組織講完,講一下程式碼面那幾次真正重要的「世代交替」。我不會講細節,但你要知道有這幾個時間點:

  • 2009 年 10 月,OpenCV 2.0:從 C 介面切到 C++ 介面,引入 cv::Mat,自動記憶體管理、告別手動 cvRelease*() 地獄。寫過 1.x 的人會懂這有多解脫。
  • 2015 年的 3.0、2017 年的 3.3:DNN(深度學習)模組從 contrib 升到主 repo,OpenCV 第一次正式承認「我不再只是傳統 CV」。
  • 2018 年 11 月,OpenCV 4.0:移除大量舊 C API、預設 C++11、cv::Ptr 改成 std::shared_ptr 的薄包裝。這是「拆技術債」的第一次大手術。
  • 2026 年 6 月,OpenCV 5.0:8 年來最大改版,DNN 引擎全部重寫、ONNX 操作覆蓋率從 ~22% 提升到 80%+、內建 tokenizer 與 KV-cache 直接跑 LLM/VLM、徹底拋棄 legacy C API、C++17 變成最低標準。整個社群在 Hacker News 與 Phoronix 上熱烈討論了好幾天,份量等同當年 2.0 引入 C++、4.0 拆掉 C API 的世代分水嶺。

5.0 這次的衝擊力,業界討論最多的是兩件事:第一,OpenCV 變成可以直接跑 Qwen 2.5、Gemma 3、PaliGemma 等多模態模型的工具;第二,任何還在用 OpenCV 1.x C API 的舊專案,5.0 連編都編不過——必須留在 4.x 線上,或者咬牙改寫。

詳細的技術內容我會另外寫一篇深度文章去拆,這篇先按下不表。

為什麼一個 26 歲的函式庫還沒死?

這才是這篇真正想問的問題。我們這行的工具淘汰速度誇張到不行——React 18 出來才幾年大家又在罵框架太多了,但 OpenCV 從 1999 撐到 2026 還越長越壯,為什麼?

我覺得答案要從底層問題開始講起。OpenCV 解的東西——讀檔、色彩空間轉換、幾何變換、形態學、輪廓、邊緣、特徵——這些 1999 年是這樣,2026 年還是這樣。沒人會發明新的「灰階轉換」。當別的庫拼命追潮流時,OpenCV 守住的是「水電」級的需求。

而它真正能穿越週期的關鍵,在於它一直緊貼著硬體節奏走。從 Intel 的 MMX/SSE/AVX,到 NVIDIA 的 CUDA、ARM 的 NEON、Apple Silicon、RISC-V 的 RVV 1.0,每一波新指令集 OpenCV 都會跟上。這也是 Intel 願意花錢收 Itseez 的真正理由——它就是 Intel CPU 在 CV 領域的「行銷展示櫃」。商業誘因和技術理想再一次重合。

教學資源這層更是新工具兩三年內追不上的護城河。PyImageSearch 、LearnOpenCV 、Bradski 本人寫的 Learning OpenCV——這些教材累積了 20 年。新人進來,只要 Google「OpenCV + 我想做的事」幾乎一定有現成教學跑。這種文化資產,光是「快」是買不到的。

最後一點我自己最佩服——5.0 證明它願意自我革命。一個函式庫敢在 4.x 已經很穩定的情況下,砍掉 C API、把 DNN 整個重寫、把 LLM 也納進來,這在開源世界並不常見。很多老專案最後死於「不敢改」,OpenCV 用 5.0 告訴大家它不在那個名單裡。

視覺與感知的螺旋演化

結語:歷史的重量會變成新人的福氣

我自己第一次裝 OpenCV 大概是 2018 年,那時候只是想做一個 Webcam 人臉偵測的玩具,根本沒在管背後這 19 年發生過什麼事。後來開始追新版本變化,才發現這個函式庫的故事比技術本身還精彩——一個專案能熬過 dot-com 崩盤、熬過三次組織轉手、又熬過深度學習對傳統 CV 的「降維打擊」,每一次都換了一張皮繼續活下來。

對 2026 年才開始學電腦視覺的人來說,OpenCV 26 年累積的歷史重量其實是禮物。所有可能踩的坑前人都踩過了,所有可能寫的範例 GitHub 上都有,連 OpenCV University 也有完整的官方課程。你只要願意動手,剩下的就是時間問題。

接下來的第二篇會帶你用幾十行 Python 跑完三個遞進的 CV 範例;第三篇則深拆 OpenCV 5.0 為什麼是世代分水嶺。沒碰過 CV 的人從第二篇開始最舒服;想看技術細節就直接跳到第三篇。

延伸閱讀

8GB 的 RK3588 能跑多聰明的 LLM?ROCK 5C 用 NPU 實測 5 個模型

先講結論,省得你滑到最後: 在一片 8GB 的 RK3588 板子上,用 NPU 跑得最聰明的是 Qwen3-4B-Instruct-2507,我出的 7 題全對,但每秒只吐 3.7 個 token。 想要順一點的對話體驗,Qwen3.5-2B 的 8.4 tok/s 是比...