iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
Build on Google AI

30 天用 Google AI 打造台灣防災速報 App系列 第 21 篇

Day 21|第三週回顧:上線一週的實際數字,與上線後才發現的問題

  • 分享至 

  • xImage
  •  

系列:30 天用 Google AI 打造臺灣防災速報 App(Day 21/30)

第三週把程式搬上雲端,再做出 App。後端從 9/25 晚上開始在 Cloud Functions(Google Cloud 的雲端函式服務)上執行。這篇整理上線第一週(9/25 到 10/1)的數字,以及上線後才發現的問題。

先說一個限制:這一週還沒有真正的使用者。問答的 236 題全是我自己的測試,所以下面的數字只能說明系統穩不穩、花多少錢,不能說明使用者怎麼用。

各篇做到哪裡

篇章 做到的 還缺的
Day 15 資料模型與安全規則 八個集合,App 只能讀公開的四個;問答內容預設不存 —
Day 16 排程與同步 每 10 分鐘同步示警、每 2 分鐘同步地震;只寫有變化的文件 —
Day 17 Stitch 設計稿 一段描述產生 22 張畫面 設計稿裡的數字沒有來源,要人工檢查
Day 18 Flutter 跨平台 Android、iOS、網頁版同一個專案,四種語言 識別碼上架前改名,重新註冊了一次
Day 19 首頁即時監聽 分清楚「沒有資料」與「沒有示警」,後端停擺超過 25 分鐘會提醒 —
Day 20 情緒與危機 危機詞清單不公開、求助文字由程式固定、同音錯字比對 分級與追問、專業審閱、用新用例重測

上線一週的數字

排程沒有漏跑。 示警從 9/26 起每天跑滿 144 輪;地震排程 9/26 上線,從 9/27 起每天約 720 輪。一週有 4 輪以錯誤結束(資料來源回「請求過多」、讀取中央氣象署 API 逾時等),之後的輪次都自己恢復,不用人處理。

資料庫寫入降到原本的 0.5%。 Day 16 提過,第一版每一輪都把約 800 則已結束的示警重寫一次,照這個寫法一天會寫入約 12 萬次。改成只寫有變化的文件後,從 9/27 起每天約寫入 500 到 800 次。

日期 讀取 寫入 刪除
9/25(上線 3.5 小時) 6,562 16,712 15,930
9/26(當天修正,含驗證時的讀取) 27,946 14,042 12,043
9/27 到 10/1 每天 9,563 到 11,226 每天 505 到 825 每天 60 到 176

Firestore(雲端資料庫)的免費額度是每天讀取 5 萬、寫入與刪除各 2 萬次,每天都在額度內。

有日誌的部分,Gemini 平均一天不到 0.1 美元。 用日誌記下的 token 數(模型處理文字的計價單位)乘上官方定價估算,9/26 到 10/1 共記錄 1,243 次呼叫,約 0.42 美元。9/25 還沒記錄用量,9/26 也是中途才開始記,所以這不是全部的費用。Day 14 估的上限是一天 0.18 美元,那是假設每天有 200 次問答;這週沒有真實使用者,兩者不能直接比。

9 月實際付了 0 元。 9 月整個月的使用費是新臺幣 58.40 元,其中 Gemini API 50.03 元、Cloud Functions 7.86 元。這些全部由 Google AI Pro 訂閱方案每月附的 10 美元 Google Cloud 抵免額抵掉(Google 開發者計畫說明)。其中 9/26 到 9/30 上線後的用量估算約新臺幣 11 元,其餘大多花在上線前的開發和本機測試。

上線後才發現的問題

上線一週記錄的問題裡,挑三個說明。

1. Gemini 額度不足,AI 停了約 6 小時。 這個專案的 Gemini API 原本用 Google AI Studio(管理 Gemini API 金鑰與額度的網站)的預付方案。9/26 清晨,Gemini API 從 05:20 到 11:40 持續回傳「額度不足」,期間有 20 次 AI 加值失敗,在 AI Studio 儲值 150 元後恢復。之後 Gemini API 綁定的計費來源也換了,使用費改由上面的抵免額抵掉。

示警本身照常同步。Day 16 把「下載示警」和「AI 加值」拆成兩個函式,AI 失敗時 App 照樣看得到示警,只是少了 AI 摘要和翻譯。恢復後補跑,19 則示警都補上了。之後加了每天早上的檢查:額度不夠用 3 天就寄信通知。

這件事的提醒是:AI 加值要和主要資料流程分開,AI 停了,核心功能也要能用。

2. 等級多了一個「極重大」。 Day 9 把官方的 Extreme 和 Severe 都對應到 critical(重大)。上線後要讓顏色對齊中央氣象署的紅、橙、黃燈號,兩級合併就分不出紅和橙。所以拆出第四級 extreme(極重大):

  • 官方標 Extreme 的對應 extreme,Severe 仍對應 critical。
  • 電文明寫紅色等級的(例如「紅色警戒」),程式判成 extreme;寫的是解除或調降則不算。
  • AI 補判等級最高只到 critical,極重大一定要有官方依據。

3. 日文的縣市核對擋掉了正確的翻譯。 Day 13 由程式核對譯文裡的縣市名稱。日文版原本把「縣」或「市」前面任兩個字都當成縣市名,「河床等縣政府」就被讀成「床等縣」。改成只比對臺灣的 22 個縣市後,用 67 則日文譯文重測,65 則通過,誤擋 0 則。

其他問題簡單列出:

  • 韓文的「臺灣」原本寫成대만,改成타이완。
  • 輸入法選錯字會讓危機、預測與情緒問題分錯類;同音字可能被誤判成危機(Day 20)。
  • 「有地震嗎」這類問句和注音文,原本沒被當成即時問題。
  • 知識庫補上防災準備的內容,從 29 塊增加到 37 塊。
  • 為了 Google Play 的 AI 內容政策,新增「回報這則回答」。
  • 網頁版 App Check(確認請求來自我們自己 App 的驗證服務)的金鑰沒存進去,無法取得驗證權杖。

還沒做到的事

  • App Check 還沒強制。 三個平台都註冊了,要等實測通過才開。
  • 還沒有真實使用者。 Google Play 的封閉測試要等上傳安裝檔、招募測試者後才開始。
  • 知識庫還缺豪雨、淹水、停水停電。 示警裡最常見的就是豪雨和水庫放流。
  • iOS 只在模擬器上跑過。 還沒做實機測試;上架前要申請 Apple 開發者帳號。

下週預告

最後一週:先用兩篇談地震預測的科普,再回到工程,做地震地圖、推播、通知合併與代理,接著談 AI 輸出的評估、費用與資安,最後展示成果並回顧這 30 天。明天 Day 22:地震速報做得到,地震預測為什麼還很遠。


上一篇
Day 20|使用者說「我很害怕」時,問答該怎麼回:情緒問題與危機安全網
下一篇
Day 22|地震速報做得到,地震預測為什麼還很遠(科普上)
系列文
30 天用 Google AI 打造台灣防災速報 App 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言