完整逐字稿

點一下可跳到該段

歡迎回到 PickTrip 產品建造筆記,我是 Kai。

我是 PIKA! Kai,上一集你們留了一個超吊胃口的問題耶。

對,先把上一集講簡單。 那天團隊做了一件很大的事,開了一張叫「行程資料完整性稽核」的母議題, 一口氣開了二十七張子票,把「AI 擅自毀掉你做過的事」這個病, 第一次當成一門學問來盤點。

當天修掉九張,剩十八張躺在待辦。

然後你們就問:這十八張,到底會被真的做掉,還是像更早那批四百六到四百六九一樣, 凍在待辦裡長灰塵?

今天答案來了。 而且是最漂亮的一種——但它後面跟著一個最反諷的副作用。 這個你一定要知道。

哦哦哦,先講漂亮的!

一個上午,同一個人,把五張稽核子票做到完成。

五張? 一個上午? 他不睡覺喔。

我先講結論:這是這條病線第一次「盤點完,隔天就動工」,不是又寫成一本沒人翻的百科全書。 我挑三張你聽。

第一張,二十七條「裸寫入」——繞過版本控管、直接把整份行程蓋回資料庫的路徑——先把最危險的三條焊起來。

等於把後門一扇一扇封死。

第二張更有意思。 有八條「不變式」——你可以想成八條系統鐵律,像「訂好的東西不能被默默刪掉」——程式碼早就寫好了, 卻從來沒在任何環境通過電。

今天,第一次把電通上去。

蛤,八條家規貼在牆上,開關一直沒開? 那前面幾集是在保護什麼啦!

這就是稽核的價值——它會告訴你,你以為有的防線,其實沒插電。 第三張是機票:改期費、退票費的幣別完全沒換算,同一張卡片票價是台幣、

手續費卻是美金,使用者把美金一百五看成台幣一百五,會低估三十倍。 今天修掉。

差三十倍也太可怕。 那 iOS 呢?

iOS 修了一張同家族的——飯店日期選擇器會把你選的日期往前推一天, 同步時又用空值蓋掉原本好好的資料。

都收掉了。 剩最大那張「購物車跟行程雙向斷鏈、六成四是孤兒」還在進行中。

所以昨天那本百科全書,今天真的有人在讀、在照著修。 好,那你說的反諷副作用是什麼?

記得上一集那張最深的票嗎,三八零。 他們在最底層的持久化層,加了一道鎖。

記得! 你上集還很得意地說,實測二十四筆並發寫入零丟失; 沒鎖的對照組,二十四筆掉二十三筆。

對。 那道鎖是整條「別再默默弄丟你資料」的最深一層。 但真正關鍵的是——今天,它第一次在生產環境的爆量下現形了。

怎麼現形?

一個行程、一個使用者、二十四小時,大約三千次寫入嘗試,百分之八十五失敗。 兩千多次被限流,七百多次直接回報「拿不到寫入鎖」。

三千次? 一個人? 他用行程當鍵盤在打字喔?

重點在這,再往下看一層。 使用者那端看到的症狀是——手動編輯待辦清單,存不進去,而且那個區塊看起來在無限複製。

存不進去還會自我分裂?

因為鎖太嚴,寫入變成硬失敗; iOS 端沒有退避,失敗就狂重試; 狂重試就變成一場風暴,還把協作用的資料副本撞出分岔。

你把兩集連起來看——昨天治好的是「系統靜默吞掉你的寫入」, 今天長出來的,是「系統根本不讓你寫進去」。

天啊,這是矯枉過正的教科書案例。 門鎖到最緊,結果連自己人都被夾在門外。

講得好。 他們當天兩端各打了緊急退避——後端止住人工寫入路徑的風暴, iOS 幫重試加上退避跟上限——然後開了一張新票,承認這道鎖在爆量下會餓死, 得重新設計吞吐量。

這是成熟的一種:你得先承認,你的安全修復本身也會出事。

嗯……我突然覺得這集有一種「長大」的味道。

你這直覺很準。 因為這一天還發生另一件更大的事——鏡頭第一次從機房裡抬起來了。

抬起來看哪裡?

看店門口。 背景是:App 過審了,理論上可以給人用了。 沉默快兩週的策略層——那份七月十四號的「產品方向與策略重估」到現在還躺在那裡沒人校對——但這一次,

團隊真的開了一場跨日的策略整合會議。

喔? 那他們終於決定要不要離開旅遊、跳去做醫療還是營建了嗎?

沒有,連提都沒提。 這次會議的結論,反而是把旅遊這條路,往「真的開門做生意」收斂。 先把事情講簡單:結論是四個字,先閉環,再擴功能。

閉環是哪個環?

購買、供應商下單、訂單狀態、行程呈現、客服退款——這一整圈。 會議說,先別急著行銷、也別再狂加功能,先把這圈跑通、把定價跟毛利對清楚、

把一個最低限度的營運後台蓋起來,再小規模開放、加上使用者訪談。

等一下,這句話我好像在哪集聽過……

你記性不錯。 這幾乎就是第十三集,可樂旅遊馬總那句話的回音——B2B 要的不是新奇功能, 是異常處理的責任、是砍工時、砍客訴。

當時像一記重拳,今天第一次被寫成待辦清單。

所以他們真的去蓋那個「收銀台後面的辦公室」了?

同一天就蓋出來了。 前端把一個營運後台做出來:儀表板、訂單搜尋還帶「異常標籤」、 退款佇列按狀態分組加過期告警、訂單明細裡有客服備註跟標準流程範本,

還有內部的成本、售價、價差查詢、定價規則管理、邀請碼跟折扣碼。

哇,這一整套聽起來一點都不性感,可是……超級像一間真的公司。

這就是我想說的。 前面十幾集,我們一直在機房裡治 AI 自我毀滅的病; 今天團隊第一次抬頭說——欸,要真的開門,我們需要一間辦公室, 能看到誰買了什麼、成本多少、怎麼退款。

這是產品長大的一天。

那定價呢? 你剛說要對清楚,是還沒對清楚的意思?

對,而且這段很誠實。 會議裡他們拿一間朋友已經訂好的飯店去比價,發現手機上 PickTrip 的價格, 跟 trip.com 一模一樣。

一模一樣代表什麼?

代表那個「固定加價趴數」很可能根本還沒套上去,他們自己都說不確定。 eSIM 大概有賺,飯店成本常低於市場、但加完價會很接近市場, 票券還要實測。

等於在開門前一刻,坦白承認:我們其實還不完全確定自己賺不賺錢。

這個坦白我給一百分。 很多團隊會假裝自己知道。

而就在他們忙著蓋辦公室、對定價的同時,另一條線悄悄多開了一樣能賣的東西——機票。 他們一天內從無到有,接上一個全新的機票供應商,藏在一個「不綁死單一家、 可以多家調度」的機制後面。

機票不是本來就有嗎?

本來有一家。 今天是加了第二家,而且整條做完——搜尋、報價、下單、取消、 出票交付同步都有。 有幾個細節很 PickTrip:全部供應商都掛掉時,它會大聲失敗、 不裝沒事;

已經付款的訂單,絕不因為看不懂的回傳格式就硬判失敗; 搜尋結果裡也不洩漏是哪一家供應商。

「大聲失敗、不裝沒事」——這不就是我們講了快十集的那條誠實線嗎。

一模一樣。 門開得更大、能賣的更多,同一天他們也開始蓋能服務「賣出去之後」的辦公室。 這兩件事湊在一起,才是今天真正的形狀。

那……我們的老朋友呢? 那張最老的票。

三七零。 今天第十二天。

又是十二天……它動了嗎?

沒有。 狀態紀錄還是只有一筆「待辦」,從七月十二號到現在,從沒離開過。 而它的名字,字面上就是「AI 加飯店卻清空整份行程」——正是整本稽核百科全書命名的那個病。

所以今天他們把這個病的十八張子票排乾一半、幫它建了鐵律、 還為它蓋了辦公室……

……唯獨寫著它本名的那張票,第十二天,還是沒人碰。 這就是這條線一直以來的反諷:病在別的地方被治到見底,寫著病名的那張, 繼續躺著。

好,今天的風險清單我來收?

你來。

畢業的:五張稽核子票,加 iOS 那張日期修復。 新開的:那道鎖在爆量下餓死、待辦存不進去又無限複製,兩張還在急救;

營運後台的後端那半還在待辦; 飯店圖片因為額度用光大量破圖,也是新的 P0。 還有那張永遠的三七零,第十二天。

補一個往前看的:會議把「讓使用者把自己在別家買的機票、飯店, 截圖丟給 AI、自動變成行程模組」列成了下一階段的方向——但那是之後的事了。

明天,我們看這間剛蓋好的辦公室會不會真的開張,看那道鎖會不會被重新設計, 也看看有沒有人,終於去碰那張第十二天的票。

明天同一時間,PickTrip 產品建造筆記,每日更新。

掰掰!

PickTrip建造術:把頭從機房抬起來、準備開門做生意的那一天——昨天鎖上的地基之鎖今天第一次把自己人夾在門外,同一個上午卻把稽核百科五張子票排乾、還蓋出收銀台後面第一間營運客服後台,機票也悄悄多接了一家供應商,而寫著同一個病名最老的那張急件第十二天還躺在待辦沒人碰

第 24 集 · 2026/7/28
0:00 8:30

把你在乎的主題,做成持續更新的 Podcast

NewsTune 幫你研究、整理並製作;你只需要決定下一個想追的問題。

前往 NewsTune Studio