不是模型越強越好:AI 拍照辨識裡的產品取捨

Product Trade-offs in AI Photo Recognition

隨著 AI 越來越強,許多功能在規劃時,很容易讓人有一種錯覺:「直接丟給大模型就能解了。」但真正要把它放進產品裡,問題就不只是大模型能不能做到。

以拍照辨識功能來說,用戶的角度很直覺:「我拍一張照片,AI 判斷這是什麼產品。」但實際上,這類功能不見得只靠單一模型完成,而可能是由多模態辨識、OCR / 文字辨識、搜尋補資料、資料庫比對與 LLM 整理判斷共同組成。LLM 只是其中一層,不是全部。

在開發 AI 教育平台時,我也接觸過另一類用 AI 辨識文件的場景,要處理文字辨識、版面結構與內容解析,把原始教材轉成可以教學與互動的內容。場景差很多,但同樣得在準確度、成本和用戶等待之間做取捨。

而這篇會以「消費品包裝辨識」這類較通用的情境來說明。也就是用戶拍下一個產品後,系統要判斷它是什麼、讀取包裝文字、補齊沒有被拍到的產品資訊,並且讓這些資料後續可以被其他功能使用。

所以這個功能在規劃時,背後其實會遇到一連串取捨,例如:

  • - 辨識要多準?
  • - 每一次辨識的成本能不能接受?
  • - 用戶願意等多久?
  • - 哪些技術雖然更準,卻不一定最後放進流程?
  • - AI 不確定時,要不要讓用戶補救?
  • - 這次拍照產生的資料,能不能成為下一次不用再辨識的基礎?

這篇整理的是我在參與 AI 拍照辨識相關功能規劃後,沉澱出的幾個產品判斷。為了避免涉及專案細節,我會抽象化具體產品類型、模型、API、資料庫規則與實作方式,僅以「消費品包裝辨識」這類較通用的情境來說明。

一、先考慮資料庫 : 讓辨識結果能被重複使用

這個功能就是用戶拍下產品後,系統能辨識產品,並取得較完整產品資料,讓用戶保存下來,後續再被其他功能使用。

但是只要用戶量上來,同一個產品很可能被不同用戶反覆拍到。如果每一次都重新進 AI,不只等待時間會一直存在,成本也會隨著使用量放大。因此,每次辨識產生的結果,能不能讓下一次不用再重新辨識,也是我一開始就會先考慮的問題之一。這也是為什麼我一開始設計功能都會先思考底層的資料庫、資料累積與比對等等要怎麼運用。

理想狀態不是每次都讓 AI 從零開始判斷,而是先看系統裡是否已經有可信可用的資料,如果已有可信結果,就優先回傳;只在資料不足、不確定或找不到時,才進入 AI 辨識層。這個設計不只是為了省成本、提高速度,也會直接影響體驗。因為對用戶來說,他們不會在意系統背後跑了幾層,只在意自己能不能快速得到用結果。「資料庫命中」的方式通常比重新辨識更快、更穩,也更容易維持一致結果。

而對我來說,AI 功能不應該只追求這一次辨識成功,還要思考這一次能不能累積成下一次更快、更便宜、更穩定的基礎。

二、OCR 讀得出字,但它知道這是哪個產品嗎 ?

正式開始產品的主流程規劃時,很容易覺得 OCR 乍看像是最快、最簡單的方式:讓用戶拍照後直接 OCR,把包裝文字讀出來,再存成產品資料。但這個方案很快遇到一個核心問題:

讀到文字,不等於認出產品。

OCR 解決的是「讀字」,但產品辨識要解的是「這到底是哪一個產品」。用戶可能只拍到細項文字、局部標籤或包裝背面,這時候系統即使讀出一堆文字,也未必知道它對應的是哪一個產品。更不用說,產品還可能有同名不同版本、不同國家規格、包裝改版或系列相近的情況,單靠 OCR 很容易讀到資訊,卻判斷不出產品真實身分。

更何況用戶實際拍照時,角度、光線、反光、包裝彎曲、字體與各國語言差異,都可能影響 OCR 結果。

如果把 OCR 當成主要辨識流程,很容易導致 AI「讀到了字,但認錯產品」的情況。所以在這類情境中,我把「產品辨識」和「文字讀取」拆了開。

產品辨識,需要 AI 綜合外觀、文字與上下文去判斷。這個場景中,OCR 或文字讀取,適合作為其中一部分或輔助線索,而不是直接等於產品辨識本身。

三、為什麼不是直接丟給更聰明的大模型?

在討論自動辨識流程時,我也想過一個問題:既然現在大模型越來越強,為什麼不直接把圖片丟給更聰明的大模型,讓它自己搜尋、自己判斷,最後直接回傳答案?

這個問題不只是成本問題,也不是單純比較哪個模型比較聰明。真正的問題是:消費品包裝辨識不能只依賴模型本身知道什麼。

因為產品可能很新、很冷門,也可能有不同國家版本、新舊包裝或同系列不同品項。大模型本身學過的知識有時間限制,未必知道最新產品(例如使用的是2025年模型,某產品是2026年推出);即使它可以搜尋,搜尋結果也不一定就是正確答案。它可能找到相似產品、同品牌其他系列,或看起來很像但其實不是同一個商品的資料。

所以與其期待一個模型直接給出最終答案,更合理的做法是把流程拆開:先找出可能的產品候選,再根據圖片、包裝文字與候選資料去判斷哪一個比較符合。

四、產品辨識不是直接給答案

在排除純 OCR,也確認不能只期待一個大模型直接給最終答案後,自動辨識流程就被拆得更清楚。

這裡的自動辨識,不是一個單一動作,而是先透過圖片與關鍵線索找出可能的產品候選,再由另一個模型根據圖片、包裝文字與候選資料,判斷哪一個候選比較可能是正確產品。
也就是說,第一段不是直接產出最終答案,而是先回答:這張圖裡的產品,可能是哪幾個?

接著再由判斷模型去比對:這些候選裡,哪一個最符合圖片中的產品?如果都不像,是不是應該判斷為找不到?

這裡的 AI 不只是讀文字,也會看外觀。它會綜合產品形狀、顏色、包裝輪廓、瓶身特徵、出口樣式與可讀到的品牌名、產品名,去判斷產品身分。

舉例來說,當模型看到一個管狀、有擠壓開口的包裝時,它不一定只是讀包裝上的文字,也可能會根據管狀包裝、瓶口樣式與常見產品型態,推測它屬於膏狀擠壓式產品。所以這一層真正要處理的,不只是「看懂圖片」,而是把圖片線索、文字線索與候選資料放在一起判斷。

搜尋可以幫忙找候選,但搜尋結果本身不一定正確;模型可以幫忙判斷,但模型本身也不一定知道所有新產品。兩者要搭在一起,才比較有機會得到可用的基本辨識結果。

五、資料不是搜尋回來就能直接用

當產品基本資訊判斷出來後,下一步才是補齊更完整的產品資料。這一層處理的內容,可能包含產品說明、包裝資訊、公開資料,或第一階段 AI 不一定能直接知道的細節。

但這裡也不是「搜尋到資料就直接存起來」。

搜尋結果可能有很多種問題:可能找到相似產品、找到同品牌不同系列、找到舊包裝資料,或找到和圖片不完全一致的內容。尤其是消費品常常會有不同版本、不同地區規格、包裝改版或系列相近的情況,如果只看關鍵字就直接使用,很容易把不屬於同一個產品的資料補進來。

所以這階段的「搜尋補齊資料」的重點,不只是把資料撈回來,而是要把搜尋回來的內容整理成產品裡可以使用的格式,並確認它是否和目前辨識出的產品基本資訊對得上。

這一層通常會比前面的「基本辨識」更慢。因為它不是單純回答一個問題,而是要搜尋資料、整理內容、比對資訊,再轉成後續功能可以使用的資料。也因此,這裡開始出現另一個產品問題:

我們要把流程做到多準,才算夠?
又要在多準之前停下來,才不會讓成本和等待時間失控?

六、額外的信心度查證:資料回來之後才是「可不可信」的問題,

在流程規劃過程中,原本還有設計過一層額外的信心度查證。它的目的,是在產品基本資訊、搜尋資料與整理結果都出來後,再讓 AI 用不同角度回頭檢查一次:這是不是同一個產品?包裝文字和搜尋資料有沒有對上?產品說明或補充資訊是否合理?哪些資訊比較可信,哪些需要保留不確定性?

這個流程不是沒有價值。相反地,它確實有機會讓結果更準、更穩。因為同一份資料,換不同問題問,AI 的注意力會落在不同地方。第一次可能先抓產品名稱,第二次更注意包裝文字,第三次再回頭看整體資料是否一致。
但後來,這層額外的信心度查證流程被刪掉了。

原因不是它沒用,而是它太貴、也太慢。因為它是在原本的搜尋、候選比對、資料整理之外,再多加一層 AI 判斷。每多一層,就多一次等待,也多一次成本。問題就變成:

這個功能值不值得為了更高信心度,讓用戶多等一段時間,也讓公司多付一層成本?

如果是醫療、金融或法律這類高風險判斷,多做幾輪查證可能是合理的。因為錯誤成本很高,用戶也比較可能接受更長等待,換取更嚴謹的結果。

但這個功能的主要任務,是讓用戶快速保存一個產品,並取得後續可用的資料。對用戶來說,他不是在等待一份審核報告,而是在完成一個保存動作。等待太久,用戶不會覺得系統更嚴謹,只會覺得功能很慢,甚至懷疑是不是卡住了。

所以最後留下來的,是主流程裡必要的搜尋、候選比對與資料整理;而原本額外設計的信心度查證流程,則沒有放進最終流程。

AI 功能不是把所有能提升準確率的方法都堆上去,而是要判斷在這個場景裡,準確率、等待時間與成本之間,哪個組合才是剛好夠用的,因為這些都會直接影響用戶感受與接受度。

七、模型選擇不是一次決定,而是一路調整

另外,模型選擇不是到最後才發生的事,而是在整個流程拆解與驗證過程中,一路被調整。當流程被拆成快速辨識、搜尋補資料、信心度查證幾個環節後,就會很明顯發現:

不同位置需要的模型能力不一樣。有些地方需要快,有些地方可以慢一點;有些地方值得更準,有些地方只需要夠用。有些模型適合找資料,有些模型適合判斷候選,有些模型則適合把資料整理成產品可以使用的格式。

所以模型選擇不是單純的能力排名問題,也不是選一個最新、最強的模型就結束。它要跟著流程位置、等待時間、成本和任務風險一起判斷。

這也是為什麼當時更傾向用 multi-model 的方式思考,而不是期待一個模型完成所有事情。也就是說,模型不是越新或越強就越好。真正重要的是:這個模型放在這個位置,是否剛好適合它要解的問題。

也因為這樣,後續其實不能只靠感覺判斷哪個模型組合比較省。真正要比較成本,還是需要累積 log,看每一層實際花了多少 token、等待多久、成功率如何。否則很容易只看單次測試結果,就誤以為某個模型組合一定比較便宜或比較好。

八、當 AI 辨識失敗,用戶還能不能往下走?

主流程收斂後,我們還是額外做了一個 fallback 補救機制。因為 AI 不可能保證每一次都 100% 正確。產品太新、拍攝角度不好、包裝文字讀不清、背景資料找不到,或是某些語言與資訊格式暫時無法完整處理,都可能讓自動辨識結果不夠完整。

這時候,如果某些重要資訊其實就在產品外包裝上,用戶可以針對「局部細節」再拍一次,透過 OCR 把細項文字轉成文字紀錄。

但這個 fallback 的角色很單純:它只負責把用戶重新拍攝的文字轉出來,不做搜尋,也不重新辨識產品。所以在這個場景中,它有存在的必要,因為 fallback 的目的不是再做一套複雜的主流程,而是在自動辨識不完整時,讓用戶仍然可以保存資料、繼續往下走。

結語:不只選模型,更重要的是流程設計、取捨、找平衡

這個功能裡的每一層能力,看起來都跟拍照、文字和 AI 有關,但在流程裡負責的事情其實不一樣。如果沒有分清楚,很容易在產品中混成一團。最後可能會做出一個複雜、高成本又難用的功能。

所以 AI 模型的能力越強、越多元,運用上越需要設邊界。每一層能力都應該知道自己負責什麼,也知道自己不負責什麼。

一個 AI 拍照辨識功能,看起來像是模型能力問題,但真的放進產品裡,可能更是一種判斷與取捨。

所以這類 AI 功能真正要設計的,不只是「怎麼辨識」,而是怎麼在商業價值、用戶體驗、準確率、速度、成本、資料累積與失敗補救之間,找到一個能上線、能被使用,也能持續優化的平衡。