跳到主要內容

淺談 AI 落地到底有多難 - 以 OpenAI ChatGPT 為例

目前待領的團隊,小弟有幸參與到 AI 落地的過程,之前也參與過幾次 AI 服務導入的和製作出 AI 產品應用的經驗,這邊就提出些簡單分享,跟大家說說,為何 AI 落地有這麼難

ChatGPT 幾乎成為這幾天大家刷版面的資訊,官方網站其實有提到 Chat-GPT 的參考模式是怎麼進行的,也有提供相關的論文參考,

https://openai.com/blog/chatgpt/

ChatGPT 幾乎成為現象級的影響

如果你還沒試用過,我建議你真的玩玩看,

https://chat.openai.com/chat

在 AI 落地的階段,有許多工程的過程,還有許多現實需要面對,而這煉成的過程都很容易導致 AI 落地失敗,

更不用說像是 ChatGPT 這種十年磨一劍的應用服務,為什麼驚艷,

  1. 中英文,簡中繁中等均能 80% 的機率識別問題及主題對話
  2. 回應內容,英文的部分不意外的通順,簡中繁中的部分有些詞語是有做過調整的,這實屬難得。
  3. 對於資料上下文關聯度,以及變化形式在主題式的發展下均能有效地回應且呈現。
  4. 呈現格式可以以『摘要、表格、條列』等方式進行規劃,同時也可以對文字內容進行一定程度的擴張和收斂。

而要做到這些事情,除了大家所熟知的需要不斷的生成模型,訓練模型,不同的模型疊加上去之外。

同時最難也是最複雜的部分,『資料工程的處理』

AI 工程的開始

在我們使用任何一套 AI 框架 Tensorflow / pytorch 之後,無一例外地就會以特定問題解決方案,開始採用不同的現成 Model 進行驗證,在一開始對於初始的 example data / init data 都會有不錯的反應。

接下來問題開始...

當我們天馬行空的,不斷將例外,將特定領域情境涵蓋進去的時候,你就會發現這 model 的準確率下降,接下來就是一連串調整參數的開始,

或者是開始進行特例發想的部分,哪些資料是需要踢除的,哪些項目是需要先排開的,哪些資料是對於訓練本身是有影響的,在這個過程中就已經進入 data engineering 的環節中。

source from 資料科學家的工作日常

資料工程的處理

大家所想像的,在建立模型的時候似乎就是不斷地調參數,不斷的運作程式,但在這之前,有『好多好多好多好多』資料前處理,資料搜集,資料配對的過程要先進行,這些都是屬於 ETL (抽取、轉換、載入)的過程。

而通常這些資料轉換的過程,也不會是那種數千筆數萬筆的資而已,而是可能一大包資料,不斷的都需要被清理,或者資料是透過不斷的一直運送進來,要透過 streaming 的方式進行資料的清洗。

當然 AWS / GCP / Azure 都有提供些雲端工具可以進行這類問題的處理,但工具就僅止於工具,重點還是要靠工程師進行邏輯編排,而過程中要如何調整和 debug,和發現 error exception 就是一段艱辛的過程。

而這段工作的範圍,通常都是交由一定開發經驗的資深工程師 / 架構師進行處理。

這些人本身就是一種稀缺,不論在全世界都是。

持續地燒錢和無法預估進度

在做 AI 的過程中,在短時間內很難有直接的收益,也比較難在 2-3 個月中就有一個飛奔式的突破。

從應用,工程,數據, AI 這些人都是成本,且都是不低的成本,而且少了任何一個環節,就無法讓團隊成形。

而在進行資料驗證的過程中,光是儲存本身,資料的維運本身,就已經是一筆不小的開銷,每天都有數 TB 的資料近行 import / export ,同時也有持續不斷的資料傳入,透過 ETL 的方式進行資料清洗,資料儲存,再將特定資料進行快取。

這些都是成本。

最後是 GPU 的選用,自建 GPU 運算,每次運算時總是會需要 GPU 進行運算,而 CPU 和 GPU 運算的效能差異,是 100 倍以上的差距,相信聰明的各位,應該懂要選哪一種。

它的缺點,就是貴!

最後想說的是

這段的過程,也許有人會覺得用現成的服務就可以兜出一系列的應用服務,從某個角度來說沒錯。

但如果你想要達到的是特定領域,或者需要有類似 ChatGPT 這樣的通用型效果,就肯定要面對自建的過程。

更不用說任何的 AI 服務,最後為了要提升服務準確率,最終還是會走到自身資料匯入的過程,只要牽扯到資料匯入,就會開始需要知道整體是怎麼進行運作的機制,才能如預期的導出結果。

這時候就需要大量的『資料,資料,資料,資料』除了有用的資料,和資料清洗的過程之外,此時資料的標註也成了一大問題,這時要如何透過工程進行大量且快速地標註,就是另外一個課題了(有機會我們再來談)。

這一連串,都需要時間的醞釀,也需要工程的緊密配合, 

  • AI 不跟資料溝通,掛
  • AI 不跟後端溝通,掛
  • 後端不跟資料溝通,掛
  • 前端不跟 AI 了解模式,掛
除了足夠的金援之外,要如何將如此同是技術面向,不同職能的人拉攏於其中,且讓某個部門都可以獨立運作,保持大家同樣的目標和志向,在這一開始都還是茫茫然的狀態下引導清晰可見的未來,成為極度重要的課題。

留言

張貼留言

這個網誌中的熱門文章

Vibe Coding:到底?氛圍驅動程式開發必殺技?

Vibe Coding(氛圍編程) 是由 OpenAI 共同創辦人 Andrej Karpathy 在 2025 年提出的革命性程式開發方式,它讓開發者透過自然語言與 AI 對話來生成程式碼,徹底改變了傳統的編程模式。 這種開發方式的核心理念是 「順著感覺走」 ,讓 AI 處理技術細節,開發者專注於創意和需求描述。 Vibe Coding 需要基本上的規劃和執行,但並沒有強制規範,從日常經驗來說可分為三個階段, 前期準備、開發過程、和後期維護 三個關鍵階段。每個階段都有其特定的任務和注意事項,正確執行這些步驟將大幅提升開發效率和程式品質。 將靈感與需求透過 AI 快速轉化成產品功能或原型。以下幫你分成 「前、中、後」 三階段要做的事情,適合你自己做、或帶團隊做 前期:設定 vibe & 準備素材 這個階段的重點是 「建立開發語境」 ,因為 AI 的生成表現高度依賴前期提供的上下文與資料。 明確目標 :釐清要解決的問題、預期要做的功能與核心價值。例如在筆記軟體的情境中,可能是:「我要做一款讓使用者能用 Markdown 記錄筆記,並提供標籤與全文搜尋功能的簡單 App。」 收集靈感 :觀察同類產品(如 Obsidian、Notion)、蒐集市場痛點(例如太多筆記軟體無法脫機使用,或同步效能差)。 建立語境 :準備初步 prompt、背景知識、產品定位、品牌調性、目標使用者輪廓等。 確認資源 :決定用哪些工具(Gemini、ChatGPT、設計軟體、流程管理工具等)。 確認完上述內容之後,就可以先開始進行準備規格,進行第一次的 Vibe Coding 方向驗證 提示詞模板準備 很多人會跳過這步驟,但一份 「好的 AI 提示詞模板」 將決定接下來每一次 AI 對話的品質。有效的提示詞模板需具備: 描述具體且無歧義 包含技術要求和約束條件 提供範例資料和測試案例 指定程式碼風格和慣例 例如針對筆記軟體的案例:   「建立一個支援 AI 功能純文字筆記,輸入內容可即時渲染;需支援儲存到本地檔案,提供標籤欄位做分類;以 React 架構,程式風格採用 Tailwind style components 並使用 hooks。」 開發工具選擇 開發工具的選擇 同樣重要,目前市場上主要的 ...

Claude Code Hooks:自動化與安全的最佳實踐

寫在最前頭,這份文章主要寫起來是給自己看, 同時內容是比較適合開發者,工程師們可以做些自動化處理的簡單筆記。 Claude Code hooks Claude Code hooks 是一種強大的自動化機制,允許用戶在 Claude Code 的不同生命週期階段,自定義執行 shell 指令。這種設計讓開發者能夠將規則和自動化行為嵌入到應用層級,確保每次都能可靠執行,而不必依賴 LLM(大型語言模型)是否會選擇執行某項操作。 Hooks 的核心用途 通知 :自訂收到 Claude Code 等待用戶輸入或執行權限時的提醒方式。 自動格式化 :如在每次檔案編輯後自動執行 prettier (針對 .ts 檔)、 gofmt (針對 .go 檔)等。 日誌記錄 :追蹤所有執行過的命令,便於合規或除錯。 自動反饋 :當 Claude Code 產生不符合團隊規範的程式碼時,自動給出反饋。 自訂權限 :阻擋對生產環境檔案或敏感目錄的修改[^1]。 配置與結構 Hooks 透過設定檔進行配置,分為全域( ~/.claude/settings.json )、專案( .claude/settings.json )、本地專案( .claude/settings.local.json )以及企業級策略設定。每個 hook 由「事件名稱」和「匹配器」組成: "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "jq -r '...'" } ] } ] } matcher :用於匹配工具名稱(支援正則表達式),如 Write 、 Edit|Write 、 Notebook.* 。 hooks :當匹配時要執行的命令陣列。 type :目前僅支援 "command" 。 ...

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。