Skip to main content

One post tagged with "opensource"

View All Tags

Wei Ji

以下從幾個角度分享我對開源軟體的看法。

談作業系統

「自由不是免費的」,這樣的概念大家或多或少都有聽過,不過「自由」本身很抽象而且難以釐清邊界,所以我今天只談開源的自由。

在電腦早期的發展歷史中,作業系統是跟硬體分開來銷售的東西,因為作業系統需要有人來撰寫,有人撰寫就要時間跟勞動,有時間跟勞動就有成本,有成本就要靠銷售來支付,這是經濟運作的 ABC。

但是消費者買電腦就是要用啊?買了卻不能用啟不是很奇怪?於是後來來使興起了捆綁銷售的商業模式,如此一來消費者買到電腦回家組裝完就有作業系統可以使用了。除了作業系統以外,瀏覽器也有類似的情況,微軟的作業系統便靠著這個商業模式佔據了大量的市場份額。

消費者可以無腦的開始使用作業系統、網頁瀏覽器,不過代價什麼?微軟的作業系統一代比一代佔用資源,逼迫消費者購買新硬體,自動更新、「AI」工具在 2026 的今天不斷的騷擾著多數消費者。

「當一個產品是免費的,那不是產品,你才是產品」用來警惕所有貪小便宜的人,不過最惡劣是,消費者實際上在購買電腦時,是有對作業系統支付授權費的。

這是我在 2015 年投入 Linux 懷抱的原因, 是的,在桌面環境下 bug 比較多,因為這是多個各自為政的開源軟體整合在一起,而不是統一由企業開發的; 是的,要操作的順手多少需要會一點指令操作,不比桌面環境來得直觀; 是的,遇到問題要自己爬文,沒有門市或是客服可以求助, 是的,很多主流軟體無法在 Linux 運行,特別是遊戲軟體...

不過我也因此可以自行選擇更新的時機; 我也因此可以在性能比較差的電腦運行系統; 我也因此可以選擇什麼軟體要留在我的電腦上、什麼不要...

我支付了非資本形式的代價,獲得了開源軟體賦予的自由。

談 LLM

都 AI 時代了,誰還談開源精神啊

前幾天我在網路上看到的一段留言是驅使我寫這篇文章的原因,「我啊」我想這麼回答,不過在論述扁平化的社群平台上吵這個沒什麼意義。

在談我的立場以前,我需要解釋這裡至少有兩種看待 LLM 的視角。

info

大眾用語會使用 AI 來稱呼這些基於深度學習的工具,不過它們實際上是指稱基於 LLM (large language model) 的工具,以下我使用 LLM,不過讀者可以自行理解我是在談「AI」。

「AI 好棒棒」視角

這個視角看到的是 Claude Code、Codex...等商業軟體,稍微講究一點人可能是用自己喜歡的工具對接 Claude、OpenAI GPT、Gemini...等商用 LLM API。

這個視角看到的是這些「模型」有很強的解題能力、還是能理解照片或影音檔案的「多模態模型」、可以訂閱吃到飽;經濟實惠。

「LLM 只是工程組件」視角

LLM 最大的問題就是幻覺 (Hallucination),簡單來說就是它會很自信的提供錯誤的資訊,而解決這個問題目前最有效的方法就是建立 RAG (Retrieval-Augmented Generation) 並將相關知識或是潛在答案本身直接和使用的問題一同輸入給 LLM 來獲得穩定且正確的回應。

在 RAG 系統中,LLM 只是組件之一,而不是一切的核心,它的功能是用來揉合和合成文義通暢、好理解的自然語言。又或是在缺乏專用模型或演算法的時候,處理一些文字相關的問題。

我的觀點與分析

要讓一個 RAG 系統堪用,至少需要三個要素:

  • 一定水準之上的 LLM 組件
  • 維護優質的知識庫
  • 有效的演算法(RAG 策略)實現

生態系內已經有不少開放權重的 LLM 模型,llama.cpp 與 GGUF 努力,模型量化以及允許使用多種運算後端,大幅的降低 LLM 的記憶體門檻以及擺脫 CUDA 的供應商鎖定,這是開源陣營的一大進展。

「不過為什麼這些開放權重模型表現的一般般,不如商業方案來得可靠?」 「是不是因為這些模型是削弱版的?」 「那我還是付錢買商業『模型』好了」 以上可能是不少人的想法,那是因為它們是透過第一種視角看事情。

眼尖的讀者可能發現我在談論商業 LLM 時,「模型」是括弧起來的,因為我採用的是第二種視角,這些運算都藏在 API 之後,它很有可能已經實作了一個完整的 RAG 系統,API 表現並不等於模型表現,我不管這些企業怎樣宣傳它們的「模型」,直到我看到開放權重的模型以前,我都預設它是一個 RAG 系統而不是模型。


「RAG 已死」或是基於 Agent 的軟體策略,在我看來也都是第一種視角下的世界。

info

建議讀過我之前解釋 Agent 的文章:

Agent! Agent! Agent! 所以 Agent 到底是什麼?

會對整個上下文有更清楚的了解。

「RAG 已死」的主張者認為,新型的「模型」具有更大的上下文窗口,我們只要把大量的資料倒入,「模型」就能自己解決問題。

Agent 的軟體策略則是透過建立一個迴圈,每一步都給予「模型」更多的資訊,「模型」最終就能解決問題。

你發現問題了嗎?如我稍早提過得,一個良好的 RAG 系統至少需要具備:LLM、策略實作與知識庫。

這些人一邊抱怨開放權重的 LLM 不夠好用,一邊轉向使用商業「模型」,然後絲毫不考慮改進策略與維護知識庫。

在我眼中,這種作法只會讓自己成為企業的待宰羔羊。

你每一次的消費,都是在為你想要的世界投票

Every time you spend money, you're casting a vote for the kind of world you want

試想一下一個高度仰賴閉源 API 的世界是怎麼運作的。

硬體閉源循環

目前深度學習生態系建立在 CUDA 之上,供應商業 API 的企業自然使用 Nvidia 的硬體來避免遷移成本,Nvidia 的 HPC GPU 需求變高,Nvidia GPU 的市場行情變高,消費者買不到便宜的消費級 Nvidia GPU,於是選擇使用商業 API,循環發生了。

這就是為了開源陣營積極發展通用型運算後端,如 llama.cpp 的 Vulkan 後端;ONNX 的 WebGPU 後端。這也是為什麼我會對於通用 GPU 進行深度學習運算特別執著。

消費性循環

「RAG 已死」與 「Agent 流派軟體」,傾向單純的提高資料吞吐量而不是優化算法,意味著更多的 Token,意味著更多的運算,更多的運算代表更多的 GPU 與記憶體需求,這些企業不斷的擴建資料中心,消耗 GPU 和記憶體市場的產能,造成 GPU 與記憶體價格飆漲,消費者買不到設備,於是轉而使用商業 API,循環發生了。

這就是為什麼我主張應該強化知識庫以及 RAG 策略,而不是把所有事情都外包給商用「模型」。

小結

「使用開放權重模型」「尋找某種標準化資料使其能在知識庫系統之間轉移」「繼續精進 RAG 而不是使用 Agent Tool」我的立場看似違背大趨勢、逆風、固執且無理,為什麼?因為:

自由不是免費的。