PickTrip建造術:把 AI 的手全收進一道門的那一天——三個 agent 併成一個、客戶端不再自己猜該派誰、每次改行程都走同一條活線,從最底層拔掉了讓 AI 亂寫還嘴硬的病根;而寫著同一個病名、最嚴重的那張急件,第七天還躺在待辦沒人碰

PickTrip建造術:把 AI 的手全收進一道門的那一天——三個 agent 併成一個、客戶端不再自己猜該派誰、每次改行程都走同一條活線,從最底層拔掉了讓 AI 亂寫還嘴硬的病根;而寫著同一個病名、最嚴重的那張急件,第七天還躺在待辦沒人碰

PickTrip 產品建造筆記:從旅行想法到可預訂行程 · Episode #18 · · PT7M51S

主持人 · Kai

本集摘要

承接前四集「教系統不要說謊、把誠實變成一套語言、讓飯店被當成飯店、把誠實推到收銀台」:壞蛋一直是同一隻——系統不知道時不老實、AI 對不到就亂猜、動錯還嘴硬。前幾天一格一格補(名字、飯店、收銀台),今天往下挖到最底:AI 的大腦怎麼被叫出來的那一層。根因是舊架構讓手機用「看你這句話長怎樣」的規則猜該派哪個 AI,像「把它移到第二天」這種跟前文有關的話會被轉給一個完全失憶的臨時工、兩眼一抹黑就亂改——實測叫它移東京鐵塔卻移走淺草寺、還很有自信說搞定。今天不是修臨時工,是把生出壞蛋的整套架構拆掉,分三刀:其一,把「該派誰」從手機收回後端,後端照這趟行程自己的生命週期決定(未建→建行程、旅行中→旅途、其餘→行前規劃),失憶臨時工從此永不被叫、等於從線路拔掉;其二,建行程/行前/快速編輯三個腦併成一個常駐「規劃腦」,前文與記憶每回合都帶著、失憶結構上不可能再發生;其三,所有 AI 的手收進同一道門——退役草稿、暫時分支、審批框,AI 動行程只剩一條直接寫進共用文件的活線,把前幾集「照唯一 ID 寫、單一寫入介面」推到極致、連 AI 自己都只能走這道門。同時退役 finalize_trip(三個金流 side effect 併進單一回合末 hook、idempotent 不重複扣款)與 router force(改用工具描述當行為槓桿)。最驚人的是淨刪數千行——在拆為了防 AI 亂寫疊起來的鷹架;且拆得有紀律,動手前先寫「拆之前」eval 考卷把 bug 錄成零分證據、改完翻綠、安全網等替代品就位才拆。網頁同日沒講好卻走同一條誠實路:build-trip 生完不再自己跳走當完成,改成停下來問人「要不要發布」、蓋章交還給人;購物車同一個「已加入」在頁尾/小標/詳情頁三處講三種話(限流一次又無重試就整場凍住),改成一套規矩三種畫面、確認不到就老實說「無法確認、重試」;對話中問日期/人數/選飯店機票的卡片照設計稿訂單化、從真人實測撿回航空 logo 與把分當元的價格 bug。板面難得對上現場:後端開母票 PIC-441+A0–A8 子票、每張對得到一顆提交、連上一輪收尾票共四張畢業——帳本與現場第一次同一個故事。但熱鬧的全是同一人同一個「重蓋地基」專案;真正燒在使用者手上的急件今天一字沒動:手機閃退、名字一條槓、不能雙指放大、飯店查無方案全原地不動,連那張罵「建行程腦第二回合壞掉」的急件、它罵的腦今天都被合併掉不存在了、票還孤零零掛著。最扎心是老刺 PIC-370:第七天、紀錄只有一筆「待辦」、一次都沒離開過——它寫的病名正是「AI 一調整就清空整趟行程」,今天把這種病治到架構最底層,卻始終沒碰這張寫著病名的票(難兄難弟 PIC-79 同病、進行中掛兩週沒動)。策略文件第五集仍停七月十四、待人類校對、零評論,整個 Notion 這天一字未動——要不要繼續做旅遊,還是只有那個越來越會訂房、越來越誠實的產品默默替它回答。

完整逐字稿

歡迎回到 PickTrip 產品建造筆記。 昨天我留了一個問題給你——帳本跟現場對得那麼開,一邊說今天幾乎沒動、 一邊產品明明變好了,你到底該相信哪一個。

今天,答案來了。

我等一整天了。 所以呢,該相信哪一個?

先講結論:今天,你第一次不用選。 因為帳本自己補上了一大排票,而且這排票跟現場真正做的,是同一件事。

蛤,昨天還在鬧脫鉤,今天就對上了?

對,難得地對上了。 但你先別急著感動,因為這排熱鬧的票,只講了半個故事。 我等等再拆另外半個。 先講今天真正發生的大事——這件事很深。

多深?

這幾集我們一直在抓同一隻壞蛋,記得嗎? 系統不知道的時候不肯老實講、AI 對不到東西就亂猜、動錯了還很有自信跟你說「搞定了」。

前幾天是一格一格地補:收銀台、飯店、名字。 今天他們沒有再補一格——今天他們往下挖,挖到最底,挖到 AI 的大腦是怎麼被叫出來的那一層。

大腦怎麼被叫出來……這什麼意思?

我先把事情講簡單。 以前,是誰決定該派哪個 AI 來服務你? 是你的手機。 手機用一條「看你這句話長什麼樣」的規則去猜。

問題來了——你說「把它移到第二天」,這種跟前面有關的話, 很容易被猜成「喔這是個小編輯」,然後轉給一個完全不記得你前面聊過什麼的臨時工。

一個失憶的臨時工? 那它怎麼知道「它」是指哪個?

它不知道。 它兩眼一抹黑,就亂改。 他們自己做實測——你叫它移東京鐵塔,它把淺草寺移走了,然後很有自信跟你說「好了」。

這……這不就是我們追了四五天那隻壞蛋的老巢嗎! 動錯東西還嘴硬,最深的版本原來在這裡。

你抓到了。 而重點是,今天他們不是去修這個臨時工,是把整套會生出這隻壞蛋的架構, 直接拆掉。

怎麼個拆法?

三刀。 第一刀,把「該派誰」從手機收回後端。 後端看這趟行程自己的狀態決定——還沒建行程,派建行程的腦;

人已經在旅行中,派旅途中的腦; 其它情況,派行前規劃的腦。 那個會失憶的臨時工,後端從此永遠不叫它,等於直接從線路上拔掉。

一個永遠不會被叫到的角色,就等於不存在了。

對。 第二刀更狠——把三個腦,建行程的、行前的、快速編輯的,併成一個「規劃腦」。 前面聊過的、記住的、釘住的重點,每一回合都帶著。

失憶這件事,從結構上就不可能再發生。

所以不是叫它「記得一點」,是讓它「不可能忘記」。

差別就在這。 再往下看一層,還有第三刀,這刀最關鍵——所有 AI 的手, 今天全部收進同一道門。

一道門? 以前有幾道?

以前 AI 要動你的行程,有好幾條路:先偷偷在草稿上改、 或開一條暫時的分支、或跳一個確認框給你按。

今天全部退休。 AI 動行程,只剩一條活線,直接寫在大家共用的那份文件上。 這就是我們前幾集講的「照唯一的 ID 寫、只留一個寫入介面」——今天推到極致,

連 AI 自己都只能走這道門。

我突然發現,今天這一整套,加起來是不是刪掉的比加上的還多?

這正是最驚人的地方。 光一顆提交就刪掉三千六百行,整天算下來,淨結果是負的。 他們在拆鷹架——那些為了防 AI 亂寫、疊了一層又一層的暫時保護, 現在病根拔了,鷹架就不用留了。

而且拆房子最怕拆到承重牆。 他們怎麼知道拆對了?

問得好。 他們拆得很有紀律。 動手前先寫一張「拆之前」的考卷,把那個亂改的 bug 錄下來當證據——考卷上白紙黑字寫著: AI 改錯目標、分數零分。

改完,再看考卷翻不翻綠。 連那條舊的安全網,都是等到替代品就位,才敢拆。

好,這是後端。 那畫面上呢? 總不會又是一天靜音吧。

神奇的就在這——同一天,網頁那邊沒跟後端講好,卻走了一模一樣的路: 也是誠實。

又是誠實?

又是誠實,而且兩件都很漂亮。 第一件:以前 AI 幫你把行程生出來,它會自己「啪」一下跳走, 當作做完了。

今天改成——它不跳了,它停下來問你一句:要不要發布?

等等,所以「按下完成」這個動作,從 AI 手上交回給我了?

正是。 AI 只負責把草稿長出來,最後蓋章的那一下,是你。 這跟後端今天做的其實是同一句話:AI 說「我覺得好了」不算數, 人說「發布」才算數。

第二件是購物車。 有人回報,同一個「已加入購物車」,畫面上三個地方講三種話——頁尾說在車上, 中間小標半信半疑,詳情頁乾脆說沒有。

一個購物車,三種說法? 到底哪個是真的?

都不能全信。 原因是購物車只要被限流擋一次、又沒有重試,整場就凍在那, 三個地方各信各的舊消息。

今天改成一套規矩、三種畫面:還在確認就顯示「確認購物車狀態中」, 真的確認不到,就老實說「無法確認、按這裡重試」,不再有人嘴硬。

這跟昨天收銀台那條線,是同一件事。

我發現今天從最底層到最表面,全在講同一句話——不確定的時候, 不要裝。

這就是今天。 順手還有一波:AI 對話裡問你日期、人數、選飯店選機票的那些卡片, 照設計稿全部重做成像真的訂單頁,還從真人實測撿回一堆臭蟲,

連把「分」當成「元」的價格 bug 都抓出來了。

好,那來對帳。 回到昨天那個問題——今天到底該信帳本還是現場?

今天罕見地,兩個都能信。 後端開的那一排票,一張母票,底下 A0 到 A8,每一張都對得到今天的一顆提交;

連上一輪的收尾票也一起畢業。 帳本跟現場,第一次講的是同一個故事。

那不就皆大歡喜?

你要看仔細。 這排熱鬧的票,全是同一個人、同一個專案——把地基重蓋一遍。 可是另外一疊票,真正燒在使用者手上的那些急件,今天一個字都沒動。

哪些?

手機打開就閃退的、名字在結帳頁顯示成一條槓的、整站不能雙指放大的、 飯店查無方案的……全部原地不動。

有一張還特別好笑:那張「建行程的腦第二回合就壞掉」的急件, 它罵的那個腦,今天被合併掉、不存在了。

病沒人修,但它住的房子先被拆了,票還孤零零掛在那。

讓我猜,那根最老的刺。

PIC-370。 第七天。 從七月十二號開到現在,整份紀錄上只有一筆狀態:待辦。 一次都沒離開過。

它寫的是什麼病來著?

這就是今天最扎心的地方——它寫的是「AI 一調整,整趟行程被清空」。 你發現了嗎? 今天他們幾乎把全副精神,拿去治的就是這種病:AI 亂動、 動錯、還嘴硬。

他們甚至把它治到了最深的一層,治到整個大腦的架構。 可是那張直接寫著這個病名、而且是最嚴重版本的急件,第七天, 還是沒人碰。

它還有個難兄難弟,同一種病,掛著「進行中」兩個禮拜沒動。

所以病一直在別的地方、用越來越漂亮的方式被治,那張寫著病名的票, 還是躺在原地。

一字不差。 那份策略文件也一樣——第五集了,還是停在七月十四號、待人類校對、 零評論。 整個 Notion 這一天,一個字都沒動。

要不要繼續做旅遊,還是沒有人在紙上回答,只有那個一天比一天更會訂房、 更誠實的產品,默默替它回答。

所以明天的懸念是——他們把地基整個翻新,蓋得又快又漂亮, 可是地基上面那疊真正在燒的火,還是沒人上去救。

到底是先把地基打穩再回頭救火,還是那疊火會先燒起來?

那就是明天的事了。 今天他們做了一件很深的事——把讓 AI 亂寫還嘴硬的那套架構, 從最底層拔掉,三個腦併成一個,所有的手收進一道門。

可是寫著同一種病名、最嚴重的那張急件,第七天,還躺在待辦沒人碰。 明天同一時間,PickTrip 產品建造筆記,每日更新。

掰掰!

製作你的 AI Podcast

把主題、文章、RSS 與團隊資訊轉成持續更新的節目。

開始使用 NewsTune