AI 行動應用開發現況:為什麼現在是企業導入的關鍵時機

Published on: | Last updated:

嗯...最近很多人在聊 AI,好像不談這個就跟不上時代了。但我發現,特別是在手機 App 開發的圈子裡,很多人聽到 AI,腦中第一個浮現的可能還是一堆很硬的數學,什麼神經網路、梯度下降之類的...直接勸退。

老實說,我以前也這麼想。覺得那東西是博士在實驗室裡才搞得懂的。但後來發現,這可能是這行最大的誤解之一。尤其現在,你不一定要搞懂背後所有的數學,也能做出很聰明的 App 功能。

這感覺有點像...我們現在開發 App,有多少人真的懂底層的記憶體管理或指標是怎麼運作的?不多吧,但我們還是能做出能跑的 App。抽象化,就是把複雜的東西包裝起來,讓我們能專注在應用上。我覺得現在用 AI Library 也是一樣的道理。

重點一句話

說穿了,現在要在手機 App 裡加入 AI 功能,重點已經不是發明演算法,而是學會怎麼「用」別人做好的工具(像是 API 或現成函式庫),這件事,真的沒有想像中那麼需要數學。

AI 開發的迷思:以為是純粹的數學,但其實更像邏輯與創意的結合。
AI 開發的迷思:以為是純粹的數學,但其實更像邏輯與創意的結合。

為什麼現在非懂 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 vs. 雲端 AI API 選擇困難症指南
考量點 裝置端 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 這種裝置端技術,絕對有好處。

開發者在思考如何將 AI 功能融入 App 的使用者流程中。
開發者在思考如何將 AI 功能融入 App 的使用者流程中。

第三步: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 不只有聊天,還有這麼多酷東西可以玩。

雲端 AI 與裝置端 AI 的資料流動示意圖。
雲端 AI 與裝置端 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?在下面留言聊聊你的想法吧!

Related to this topic:

Comments

撥打專線 LINE免費通話