嗯...最近很多人在聊 AI,好像不談這個就跟不上時代了。但我發現,特別是在手機 App 開發的圈子裡,很多人聽到 AI,腦中第一個浮現的可能還是一堆很硬的數學,什麼神經網路、梯度下降之類的...直接勸退。
老實說,我以前也這麼想。覺得那東西是博士在實驗室裡才搞得懂的。但後來發現,這可能是這行最大的誤解之一。尤其現在,你不一定要搞懂背後所有的數學,也能做出很聰明的 App 功能。
這感覺有點像...我們現在開發 App,有多少人真的懂底層的記憶體管理或指標是怎麼運作的?不多吧,但我們還是能做出能跑的 App。抽象化,就是把複雜的東西包裝起來,讓我們能專注在應用上。我覺得現在用 AI Library 也是一樣的道理。
重點一句話
說穿了,現在要在手機 App 裡加入 AI 功能,重點已經不是發明演算法,而是學會怎麼「用」別人做好的工具(像是 API 或現成函式庫),這件事,真的沒有想像中那麼需要數學。
為什麼現在非懂 AI 不可?這不是後端才該煩惱的事嗎?
我知道,很多人會覺得 AI 是後端或 data team 的事,我們 mobile developer 就只是接個 API,跟接一般的 backend service 沒兩樣。以前我也覺得是這樣,但...時代變得有點快。
現在你打開 App Store 或 Google Play,那些排行榜前面的 App,幾乎找不到哪個裡面沒有 AI 的影子。可能是推薦系統、可能是智慧相機、也可能是個跟你聊天的機器人。AI 已經不是一個「有了很酷」的加分項,它慢慢變成「沒有就很怪」的基本配備了。
特別是當你職涯往上走,要當 senior 或 lead 的時候,這件事會變得很關鍵。你得跟 PM 溝通,他可能會說「我們這裡要加個 AI 推薦功能」,這時候你不能只回一句「喔好,等 API 來」。
你至少要懂:
- 這個功能大概需要哪些資料?(所以要跟使用者要什麼權限?)
- 這功能適合在手機上直接算,還是要丟回 server 算?(這會影響到 App 效能和使用者體驗)
- 大型語言模型(LLM)跟以前那種只能做單一任務的機器學習模型差在哪?簡單講,傳統模型比較像個專才,你訓練它辨識貓,它就只會辨識貓。LLM 比較像個通才,你給它一大堆文字,它能幫你摘要、回答問題、寫文案,什麼都能聊上兩句。
有這些基本認知,你才能評估開發時程、跟團隊溝通、甚至反過來告訴 PM 他的想法可不可行。不然,你永遠就只是個等 API 的人,這在職涯發展上其實蠻危險的。
所以,手機 App 開發者到底該從哪裡切入?
好,理論講完了。那實際動手,如果我就是那個「數學恐懼者」,第一步該怎麼走?
我自己覺得,最沒壓力的方式是先忘掉「訓練模型」這件苦差事。直接從「使用現成模型」開始。這裡主要就兩條路:一個是走雲端 API,另一個是在裝置端跑現成的模型。
這兩個差在哪?嗯...我想個比喻。雲端 AI API 就像是你請了一個超級軍師(像 Google 或 OpenAI),你有問題就寫信問他,他再寫信回覆你。好處是軍師超爆強,什麼都知道,但一來一往要花時間(網路延遲),而且你問的內容他都知道(隱私問題),還要一直付錢給他。
裝置端 AI 就像是你自己讀了幾本兵法書,變成一個還不錯的策士。雖然沒到超級軍師那麼神,但自己就能解決很多問題,反應超快(不用網路),而且所有思考都在自己腦中完成(隱私性高),買斷兵法書之後就不用一直付錢。
兩種沒有絕對的好壞,看你的 App 需要什麼。我整理個表格好了,這樣比較清楚。
| 考量點 | 裝置端 AI (On-Device) | 雲端 AI (Cloud API) |
|---|---|---|
| 代表工具 | Apple 的 Core ML、Google 的 ML Kit。就是直接在手機上跑。 | OpenAI API (ChatGPT 背後的東西)、Google Gemini API 之類的。 |
| 反應速度 | 超快。幾乎是即時的,因為計算都在手機本地完成。很適合做相機濾鏡、即時文字辨識這種。 | 看網路臉色。使用者網路慢,你的 AI 功能就跟著卡。不適合做需要即時反應的功能。 |
| 隱私與安全 | 隱私性高。使用者的資料不用離開手機,這點對很多注重隱私的 App 來說,超級加分。 | 資料要上傳到第三方伺服器。雖然大公司都有隱私政策,但...你知道的,使用者心裡總會有點疙瘩。 |
| 成本考量 | 主要是前期開發成本。模型整合進 App 後,使用者用再多次,你也不用額外付錢。 | 持續性支出。通常是按 token 或 API 呼叫次數計費。如果你的 App 用量一大,這筆錢會很可觀。 |
| 模型能力 | 比較受限。手機效能和容量有限,沒辦法跑那種幾千億參數的巨無霸模型。通常是針對特定任務優化過的小模型。 | 非常強大。背後是整個資料中心的算力,可以讓你用到最新、最強的模型。處理複雜的語言或推理任務,目前還是雲端強。 |
| 網路依賴 | 可以完全離線運作。使用者在飛機上、在沒訊號的山上,你的 AI 功能照樣能用。 | 必須連網。沒網路,你的 AI 功能就直接罷工,App 裡可能就一個圈圈一直在轉。 |
實作指引:給你的起手四步驟(保證沒數學)
看了上面的比較,你心裡大概有個方向了。我自己會建議,從最簡單、最快看到效果的開始,建立信心最重要。
第一步:先玩玩 OpenAI API
這大概是目前最無痛的入門磚。你不用管什麼環境設定、模型部屬。就是去 OpenAI 網站申請一組 API Key,然後在你的 App 裡用 HTTP request 去 call 它。你可以做個簡單的聊天機器人、或是輸入一段使用者日記,讓 AI 幫他做情緒總結。官方文件寫得蠻清楚的,網路上範例也一堆。
第二步:iOS 開發者?摸一下 Core ML
如果你是寫 iOS 的,那 Apple 的 Core ML 絕對是必修課。它的重點是讓你可以在 iPhone/iPad 上「直接跑」已經訓練好的機器學習模型。蘋果自己就提供了不少現成模型可以下載來玩,像是物體辨識、文字偵測等等。你只要把 `.mlmodel` 檔案拖進 Xcode,它就會自動生成對應的 Swift/Objective-C 介面,呼叫起來非常簡單。整個過程,你連模型長什麼樣子都不用知道。
說到這個,最近蘋果發表的 Apple Intelligence,我自己覺得是個很大的轉折點。雖然蘋果在 AI 競賽中感覺慢了半拍,但 iPhone 在收集個人化數據和裝置端運算這塊,有著天然的巨大優勢。他們一旦發力,對 iOS 開發者來說會開啟很多新的機會。特別是隱私,這點跟我們在台灣看到的情況很不一樣,台灣的使用者雖然也關心隱私,但對於把資料交給大型雲端服務的戒心,似乎沒有歐美那麼強烈。不過,Apple 這種把隱私當作最高綱領的策略,未來很可能變成全球的標準。提前熟悉 Core ML 這種裝置端技術,絕對有好處。
第三步:Android 開發者,試試 ML Kit
Google 的 ML Kit 跟 Core ML 是類似的東西,但它是跨平台(Android & iOS)的。它也提供了一堆立即可用的功能,像是人臉偵測、條碼掃描、文字辨識...等等。很多功能都包裝成很簡單的 library,你可能只要加幾行 code 就能在 App 裡實現這些功能,完全不用碰到 TensorFlow Lite 那些比較底層的東西。
第四步:想玩更多模型?去 Hugging Face 挖寶
Hugging Face 有點像是 AI 界的 GitHub。上面有成千上萬個別人訓練好、開源出來的模型,尤其是文字處理相關的。雖然直接在手機上跑 Hugging Face 上的模型會比較進階一點,但你可以用他們的 `inference API` 快速測試各種模型的效果,找到你喜歡的,再思考怎麼把它部署到後端或優化成手機可以跑的版本。它是一個讓你「開眼界」的好地方,你會發現原來 AI 不只有聊天,還有這麼多酷東西可以玩。
常見錯誤與誤解釐清
剛開始接觸時,很容易踩到一些坑。這裡提幾個我看過的例子。
誤區一:以為 API 串了就搞定,結果效果超爛
很多人以為 call 個 ChatGPT API,AI 就會自動通靈,知道你要幹嘛。但通常結果是,AI 回答得文不對題。關鍵在於「提示詞工程」(Prompt Engineering)。你怎麼問問題、給它什麼樣的上下文,會極大地影響結果。學會怎麼「下指令」,有時候比學會怎麼 call API 還重要。
誤區二:什麼都想在手機上跑,結果 App 又燙又耗電
看到 Core ML 或 ML Kit 很方便,就想把所有 AI 運算都塞到手機裡。但這是有代價的。複雜的模型會吃掉大量 CPU/GPU 資源,不僅讓 App 變卡,還會讓使用者手機發燙、電量狂噴。你必須做取捨,只有那些需要即時反應、且模型相對簡單的功能,才適合放裝置端。
誤區三:覺得免費的最香,用了來路不明的模型
在 Hugging Face 或 GitHub 上看到一個免費模型,效果好像不錯,就直接打包進 App 了。這潛藏著風險。你不知道它的訓練資料有沒有偏見、有沒有版權問題,甚至模型本身有沒有被植入惡意行為。對於商業專案,盡量還是用 Google、Apple 或其他有信譽的來源提供的模型,會比較穩妥。
總之...我自己是覺得,AI 對 mobile developer 來說,已經從一個選項,慢慢變成一個必備的技能了。但不用把它想得太可怕。
你不需要從頭打造一台法拉利,你只需要學會怎麼開車,然後選一台適合你的車上路就行了。先從簡單的專案開始,用現成的工具,做出一個小東西,那種成就感,會讓你更有動力繼續往下走。
說真的,這塊領域還在快速發展,充滿了未知,但也代表充滿了機會。與其在旁邊擔心害怕,不如動手玩玩看, mungkin 你會發現比想像中有趣得多。
那你呢?如果你想在 App 裡加一個 AI 功能,你第一個會想嘗試的是什麼?是能解決特定問題的裝置端模型,還是強大但需要連網的雲端 API?在下面留言聊聊你的想法吧!
