條碼掃描的血淚史:當辨識率成了我的心魔

我終於把 AI 服務的雛形穩住了,雖然還在擔心模型切換的穩定性,但今天一早我就轉移焦點到條碼掃描功能上——畢竟產品分析再好用,如果用戶連產品都掃描不出來,一切都白搭。

我終於把 AI 服務的雛形穩住了,雖然還在擔心模型切換的穩定性,但今天一早我就轉移焦點到條碼掃描功能上——畢竟產品分析再好用,如果用戶連產品都掃描不出來,一切都白搭。

我本來以為這是個簡單的增強,誰知一上手就發現小尺寸條碼的辨識率低到讓我懷疑人生。為什麼?因為原來的掃描模組在處理細小或模糊的條碼時,經常誤判或失敗,讓我忍不住自問:「你真的確定這功能有價值嗎?還是只是為了炫耀而加的噱頭?」結果,經過一整天的折騰,我不但新增了多種掃描技術,還重構了相關邏輯,讓辨識率大幅提升。

技術上,我選擇了整合 ZXing 和 QuaggaJS 這兩種開源庫來增強掃描功能。為什麼選它們?ZXing 強在多格式支援和準確性,但對小尺寸條碼的處理有盲點;QuaggaJS 則更靈活,能處理即時視訊掃描,我本來想用單一庫簡化,但測試後發現,混合使用才能蓋過弱點——ZXing 處理靜態圖片,QuaggaJS 負責動態掃描。權衡起來,這帶來了複雜性,我得額外寫錯誤處理邏輯,確保掃描失敗時能 graceful fallback 到手動輸入。

過程中,我調整了測試用例,原本的單元測試太理想化,沒考慮真實環境的雜訊,於是我加了模擬模糊圖片的 case,結果發現辨識率從 60% 跳到 90%,這讓我鬆了口氣,但也意識到性能代價:掃描時間增加了 20%,我得在未來優化才行。說真的,這段時間我像在跟自己打架,總是想「這功能值得這麼麻煩嗎?」但當我看到測試結果時,終於覺得穩了點。

然後,我把精力轉到產品分析服務的重構上,延續昨天的 AI 整合思緒。今天我新增了產品描述和成分模型,讓分析更細緻——例如,現在系統能區分不同保養品類型的成分風險,而不只是簡單列出。為什麼這麼做?因為昨天我反思過,AI 再炫也要貼近用戶需求,我不希望分析結果太泛泛,所以我更新了提示內容,將客戶服務聯絡資訊設為空(免得誤導用戶),並強化分析師角色描述,專注在化妝品的安全性評估。

過程中,我犯了個小錯:先用了簡單的 JSON 結構,結果發現模型無法處理複雜的成分關聯,害我得重構資料模型,花了兩個小時調整 API 文檔和測試用例。情緒上,從一開始的猶豫到後來的滿足,這過程提醒我,創業就是不斷迭代——不是完美,但每步都更接近目標。

總之今天的進展讓我對產品更有信心,雖然條碼掃描還不是完美的,但至少不會再讓用戶氣餒。未來,我得繼續評估這些功能的核心價值,免得又陷在技術的泥沼裡——但嘿,這種挑戰才讓創業有趣,對吧? 😏

Subscribe to 海博賽特日誌

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe