學 AI 一定會撞到這兩個字:有人說 PyTorch 是「框架」,有人說 NumPy 是「函式庫」。它們都是「別人寫好的程式碼,借你用」,差別只有一件事──主導權在誰手上。
想像你要開一家飲料店(這就是「寫一個程式」)。你有兩種借助別人力量的方式:
你缺珍珠就訂珍珠、缺茶葉就訂茶葉。什麼時候叫、叫什麼、怎麼用,全由你決定。店還是你的店,流程你自己排。
總部把裝潢、SOP、點餐流程全部規定好,你只負責在指定的位置「填入你的內容」(店名、店員、在地口味)。流程是總部的,不是你的。
工程師把這個差別叫做「控制反轉」(Inversion of Control)。名字很嚇人,其實就是下面這張圖──點按鈕,看誰在發號施令。
AI 的「計算機」。需要算矩陣、做大量數學時,你叫它一聲,它算完就走。整個程式的流程仍由你掌控。
AI 的「Excel 助手」。想整理表格資料時召喚它:讀檔、篩選、統計,做完把結果交回你手上。
呼叫 Claude、GPT 等模型的「電話簿」。你決定何時撥電話問 AI,它負責把問題送過去、答案帶回來。
訓練 AI 模型的「加盟總部」。訓練流程(讀資料 → 算誤差 → 修正 → 重複)的骨架它定好了,你只填模型長相和資料。
打造 AI 應用(例如客服機器人)的框架。「先查資料、再問模型、再整理回答」這條流水線它規定好,你負責填每一站的內容。
把 AI 變成網頁小工具的框架。網頁怎麼跑、按鈕按下去發生什麼順序,它說了算;你只寫「畫面上要放什麼」。
| Library 函式庫 | Framework 框架 | |
|---|---|---|
| 主導權 | 在你手上,想用才呼叫 | 在框架手上,它在對的時機呼叫你 |
| 好比是 | 工具箱、外送、字典 | 加盟店、作文稿紙、填空考卷 |
| 自由度 | 高,愛怎麼組合都行 | 較低,要照它的規矩走 |
| 上手成本 | 低,會一個功能就能用一個 | 較高,要先理解它的世界觀 |
| AI 例子 | NumPy · Pandas · SDK | PyTorch · LangChain · Streamlit |
秘訣只有一句:流程是誰定的?放心按,答錯有解釋。
沒有誰比較厲害,就像外送和加盟店沒有優劣,只有適不適合。小任務(算個統計、畫張圖)用 Library 輕巧;要蓋完整的系統(訓練模型、做 AI 應用)用 Framework 省力。實務上幾乎都是混著用:在一個 Framework 裡,呼叫一堆 Library。
它們是「包裝大小」的稱呼,不是新概念。模組像一包茶葉,套件像一箱茶葉,Library 像整間茶行。你在網路上下載安裝的東西通常叫套件,裡面裝的可能是 Library 或 Framework。
非常有用。看 AI 新聞或和工程師開會時,聽到「我們用 LangChain 做的」你就知道:喔,他們照一套現成流程快速搭建,優點是快、缺點是被那套流程綁住。這是判讀技術決策的第一步,也是 iPAS 等 AI 認證的常考觀念。
「你呼叫 Library;Framework 呼叫你。」
只要這句話進了你的腦袋,這一課就畢業了。