Sam Wong.黃力桐

工具與工作流程

我請 AI agent 找聖誕機票,最便宜的那張並不是答案

發佈日期:

我的另一半建議在 12 月去歐洲旅行。我用一句指令把任務交給我在 Claude Code 中運行的 AI 幕僚長 Ada:「do a flight check for best pricing and timing in December and over Christmas」(看看 12 月和聖誕期間哪個價錢和日子最好)。之後,我又加了一行:「send some sub-agents」(派幾個 sub-agent 分頭去做)。

接下來發生的過程,最值得複製的部分不是工具本身,而是步驟的順序以及處理中的修正。同樣的模式也適用於 Claude Code、Grok、Moos,或你目前使用的任何個人 agent。

Samdo a flight check for best pricing and timing in December and over Christmas

Ada正在針對所有 16 個城市啟動第一個票價 agent,並同步檢查你的行事曆。

Ada行事曆:固定行程,在成都的客戶工作坊,11 月 30 日至 12 月 3 日。已向執行中的 agent 發送修正:時段 A 從 12 月 4 日開始。其他 12 月的項目為例行通話,可以改期。

Samsend some sub-agents

Ada將執行中的 agent 範圍縮減至一個城市群。新增兩個票價 agent 和一個航空公司質素 agent。僅供閱讀:不預訂、不登入。

此為對話重現,而非截圖。我的兩行指令是原文;Ada 的回覆經過精簡。

第一步:並行檢查背景,並修正正在執行的 agent

Ada 在同一個回合內做了兩件事。它啟動了一個針對整個城市列表的價格 agent,同時也打開了我的行事曆。

行事曆檢查發現了一個固定行程:在成都舉行的客戶工作坊,時間是 11 月 30 日至 12 月 3 日。第一個 agent 已經開始處理 12 月 1 日至 15 日的時段。因此,Ada 向正在運行的 agent 發送了一個修正:時段 A 現在從 12 月 4 日或之後才開始。至於 12 月的其他行程都是可以變動的定期會議,Ada 指出這一點,而不是默默地將它們視為不可移動的阻礙。

啟發點:一個忽略你行事曆的搜尋,會找出你根本無法乘搭的最低價機票。在進行搜索時同步執行背景檢查,並在獲取背景資訊的瞬間修正正在運行的 agent。更直接的啟發是:下次在發出指示前,先檢查行事曆。這樣就能省去一次修正。

第二步:帶有限制與界線的指示

指示寫得足夠精確,讓另一個 agent 可以直接執行而不需要詢問我任何細節:

「界線」不是裝飾。一個可以登入的瀏覽 agent 也可能進行購買。我要求它只是查看,而不是執行動作。

第三步:分解任務並平行運行

當我要求更多 agent 時,Ada 並沒有關閉第一個又重新開始。它將那個正在運行的 agent 縮小到一個城市群,並啟動了另外兩個,因此三個價格 agent 同時處理 17 個城市(在拆分時加入了布達佩斯):

  1. 北部和西部樞紐:倫敦、巴黎、阿姆斯特丹、法蘭克福、慕尼黑、蘇黎世。
  2. 南部:羅馬、米蘭、巴塞隆拿、馬德里、里斯本。
  3. 中部和北部,加上伊斯坦堡:維也納、布拉格、布達佩斯、赫爾辛基、哥本哈根、伊斯坦堡。

接著,它增加了一個從不查看價格表的第四個 agent。它的任務是航空公司:座位舒適度、準點記錄、冬季航班中斷風險、行李規定、Asia Miles 累計以及每家航空公司的價格定位。每一項說法都需要引用來源。

按地理區域劃分,可以讓每個 agent 的搜索範圍足夠小,確保能正確完成。將價格與質素分開,可以防止一個 agent 因為追求低價而推薦最差的航空公司。

有一個設定我下次會改:所有 agent 共用同一個瀏覽器。搜尋期間,一個 agent 把另一個 agent 正在使用的分頁轉到了維也納。若要同時運行多個 agent,應為每個 agent 提供獨立的瀏覽器視窗。

工作流程:由一句指令到一個決定工作流程圖:當第一個票價 agent 搜尋時,agent 同時檢查行事曆並進行修正,撰寫包含界線的指示,同時運行三個票價 agent 和一個航空公司質素 agent,將其提供的證據彙整為一個建議,最後由人決定是否預訂。1 · 背景,同步檢查在第一個 agent 搜尋時檢查行事曆查到:客戶工作坊,成都,11 月 30 日至 12 月 3 日發送修正:時段 A 從 12 月 4 日開始2 · 寫指示限制條件與界線HKG · 2 位成人 · 經濟艙 · 兩個日期時段即時價格、第二網站核實、僅供閱讀3 · 四個 agent 並行處理票價北部與西部樞紐價格 · 連結 · 時間注意事項票價南歐價格 · 連結 · 時間注意事項票價中部、北部及伊斯坦堡價格 · 連結 · 時間注意事項航空公司質素舒適度 · 準點率 · 冬季風險4 · 合併協調者彙整證據每個時段一個表格,提供一個建議5 · 決定由人決定和預訂Agent 在提供建議後停止
工作流程:由一句指令到一個決定

第四步:在執行中重新調整範圍

「重新調整範圍」值得獨立列出,因為這是大多數人會忽略的習慣。當計劃變動時,你不需要丟棄正在進行的工作。告訴正在運行的 agent 其新的範圍以及它可以放棄的部分。它已經花費的時間並未浪費,而且你也不會得到兩個 agent 在搜索相同的城市。

第五步:提供證據,而非摘要

每個 agent 都針對每張票價報告相同的四項內容:價格、來源網址、檢查時間以及注意事項。

「注意事項」正是價值所在。各 agent 的報告指出了單純「最低票價」答案會掩蓋的問題:

北部與西部 agent 在 Google Flights 上的工作畫面(錄製於 2026 年 10 月 2 日)。
南歐 agent 在 Google Flights 上的操作畫面(錄製於 2026 年 10 月 2 日)。畫面上的價格可能與表格中各 agent 查詢時的記錄金額有所差異。
Google Flights 從香港到倫敦的搜尋結果,12 月 18 日至 1 月 3 日,2 位成人,經濟艙,來回程,票價以港幣顯示。
agent 引用的結果頁面之一。報告中的每個票價都指向這樣的頁面,並標註檢查時間。

一個說「約 HKD 6,000」的 agent 沒有提供任何我能採取行動的資訊。一個給我連結、時間戳記和陷阱的 agent,則告訴我該看哪裡、數字的時效性如何以及這會花掉多少錢。這也是我教任何 AI 比較時用的準則:如果無法追溯一個數字的來源,就不能使用它。

第六步:質素 agent 改變了答案

最便宜的票價不是答案,原因就在第四個 agent。它的報告(附帶來源)讓價格表呈現出不同的樣貌:

這些內容都不在價格表上。單純的價格搜索會將廉價的某個海灣航空轉機或 27 小時的回程排在最前面,並稱之為勝利。

第七步:合併結果,答案就在這裡改變

Ada 是協調者。它將四份報告合併到每個時段的表格中,並給出一個建議,同時用一句話說明其中的權衡。接著,它就停止工作。最後的預訂由我負責,而旅程則是我與另一半共同決定的。

合併的過程正是價值顯現之時。沒有任何一個 agent 的最佳選擇能毫髮無傷地保留下來。北部和西部 agent 喜歡蘇黎世;南歐 agent 喜歡米蘭和羅馬;中部 agent 喜歡維也納。而質素 agent 則剔除了一個 Google 評為「低價」的票價:那是 12 月 7 日至 14 日的芬蘭航空直航赫爾辛基航班,因為這些日期涵蓋了它標記出的 12 月 9 日和 13 日罷工日期。這個標記僅來自單一來源,但這正是並行 agent 的用途所在:一個 agent 的發現,可以修正另一個 agent 找到的便宜票。

兩個模式在各個 agent 中重複出現,這是我確認它們是真實有效的依據。其中兩個 agent 各自被 Skyscanner 的機器人檢查擋住,於是改用 Kayak 交叉核實。此外,中部 agent 也發現了與第一個相同的日期網格問題:一旦選擇回程航班,價格就會上漲。

建議

價格於 2026 年 10 月 2 日,香港時間 01:23 至 02:25 之間,於 Google Flights(香港)查詢,針對 2 位成人、來回程、經濟艙。票價會變動,請將所有數字視為當下的快照。

Google Flights 顯示從香港到維也納(12 月 21 日至 29 日,2 位成人,經濟艙)的機票:經由蘇黎世轉機,乘搭瑞士國際航空及奧地利航空,往返 HK$11,400,轉機時間為 1 小時 10 分鐘。
中部 agent 看到的聖誕首選。請留意在蘇黎世只有 1 小時 10 分鐘的轉機時間,這就是剩下的風險。

各 agent 回報的全部票價

時段 路線與日期 2 人票價 (HKD) 備註
A 巴塞隆拿,12 月 8 日至 16 日 8,454 發現的最低票價。經北京乘搭中國國際航空,去程約 18h45,回程已核實。Kayak 2 人 HK$8,594
A 米蘭,12 月 6 日至 13 日 8,494 便宜票價中航程最短,單程約 16h;回程已核實;未顯示於 Kayak:請於航空公司網站核實
A 馬德里,12 月 5 日至 12 日 8,531 經北京乘搭中國國際航空,去程約 18h,回程已核實。Kayak 2 人 HK$8,690
A 羅馬,12 月 7 日至 14 日 9,220 去程瑞士國際航空,回程瑞士國際航空或漢莎航空,約 15 至 16h。Kayak 完全吻合
A 伊斯坦堡,12 月 5 日至 13 日 10,044 土耳其航空直航,去程約 12h,回程 10h。Kayak 符合
A 法蘭克福,12 月 4 日至 13 日 10,158 北部與西部組中最便宜的。經由北京的中國國際航空,去程 15h45
A 慕尼黑,12 月 5 日至 13 日 10,236 中國國際航空
A 維也納,12 月 7 日至 14 日 10,660 整體首選。經由蘇黎世的瑞士國際航空,去程 16h10,回程 14h20。Google:偏低
A 巴黎,12 月 4 日至 14 日 10,670 中國國際航空。Kayak 顯示回程為 27h20
A 蘇黎世,12 月 6 日至 14 日 14,286 北部與西部組中最佳價值。瑞士國際航空直航,13h40
A 赫爾辛基,12 月 7 日至 14 日 14,958 芬蘭航空直航,Google:偏低。日期涵蓋質素 agent 標記的 12 月 9 日及 13 日罷工日期
B 羅馬,12 月 23 日至 29 日 10,574 經由法蘭克福的漢莎航空,去程 16h20,回程 14h55。Kayak 未確認此票價
B 伊斯坦堡,12 月 19 日至 28 日 10,604 土耳其航空直航
B 倫敦,12 月 18 日至 1 月 3 日 11,040 北部與西部組中最便宜的。經由北京大興的中國南方航空,去程 17h45
B 馬德里,12 月 23 日至 28 日 11,254 阿提哈德航空,Kayak 確認。海灣地區航空公司:只應預訂可更改的票價
B 阿姆斯特丹,12 月 18 日至 1 月 1 日 11,290 中國南方航空
B 維也納,12 月 21 日至 29 日 11,400 整體首選。去程經由蘇黎世的瑞士國際航空或奧地利航空(16h10,轉機 1h10),回程經由法蘭克福的漢莎航空(15h)
B 巴黎,12 月 20 日至 27 日 11,806 經由上海的中國東方航空
B 法蘭克福,12 月 23 日至 28 日 16,376 北部與西部組中最便宜的直航航班。漢莎航空
B 蘇黎世,12 月 22 日至 1 月 3 日 16,696 直航。國泰航空

倫敦:Google 的「最便宜」分頁顯示由 HK$10,520 起,但我們沒有檢查該行程;Kayak 最便宜的同類選項需時 36h30。

羅馬:畫面上的 HK$9,100 是相同去程配 20 小時回程;多付 HK$120,回程可縮短至約 15 小時。

里斯本已從聖誕清單中剔除:所有低於 HK$16,000 的票價,其航程皆為 31 至 37 小時。

可以直接複製的指示範本

將括號內容替換為你的旅程。這可以作為發送給任何具備瀏覽能力的 agent 的單一指示。

目標:尋找 [旅程] 的最佳票價和時間。提供建議;請勿預訂。

先看背景:在你開始搜尋前,先檢查我的行事曆中 [日期] 之間的固定行程。將例行會議視為可以改期。
請告訴我你排除哪些項目以及原因。

旅程:從 [HKG] · [2 成人] · [經濟艙]
時段 A:出發日期 [日期] 至 [日期],停留 [7 至 10] 晚
時段 B:出發日期 [日期] 至 [日期],返回日期 [日期] 至 [日期]
目的地:[城市列表],分為 [3] 組,每組一個 agent

質素:另外增加一個僅針對航空公司的 agent:舒適度、準點記錄、冬季航班中斷風險、行李、[飛行常客計劃]、價格定位。
每項說法請標註來源。

證據:針對每張票價提供 [HKD] 價格、來源網址、檢查時間以及任何注意事項,包括回程。
引用結果頁面而非日期網格。在第二個網站交叉核實最佳票價。

界線:僅供閱讀。不預訂、不登入、不輸入任何個人細節。

輸出:每個時段一張表格,然後給出一個建議,並用一句話說明權衡。由我決定。

可套用到任何 agent 的內容

步驟 防止產生的問題
背景檢查,並修正到正在運行的工作中 在你工作的日子裡找到的最低價航班
帶有界線的書面指示 agent 猜錯你的旅程,或直接下單
分拆工作,並平行運行 單一 agent 做得太淺層
獨立評估航空公司質素的 agent 低價票自動勝出
重新調整範圍,不重新啟動 工作遺失和重複搜索
每項數字的證據與注意事項 沒人可以核實的自信數據
人類做出最終決定 花錢在一個 agent 的判斷上

這些都不需要特殊的旅行工具。它需要一個可以閱讀你的行事曆並瀏覽網頁的 agent,以及一個會在要求答案前先撰寫指示的人。我曾寫過關於如何將多個 agent 組成團隊在 Claude Code 完全攻略:Agent 團隊與自動化,以及在採取行動前檢查 AI 最低報價的內容 AI 找到了最低報價,為甚麼還不能下單?。

常見問題

AI agent 可以幫我訂機票嗎?

有些可以,但我不會讓我的 agent 這樣做。指示中寫明僅供閱讀:不預訂、不登入以及不輸入任何個人細節。Agent 會比較票價並提供建議;我會在再次核實價格後,自行在航空公司或旅遊網站預訂。

怎樣用 AI 找平機票?

在開始搜尋前,將你的行事曆限制放入指示中。這是此次行程的教訓:當行事曆出現衝突時,我的 agent 已在搜尋中,且必須中途修正。接著撰寫其餘指示:出發機場、旅客人數、艙位、日期時段、目的地、僅限實時價格以及用於交叉核實的第二個網站。將目的地分配到多個同時運行的 agent 中,並要求每個都報告價格、來源連結、檢查時間以及包含回程在內的注意事項。

為甚麼要用多個 agent,而不是一個?

每個 agent 的任務較小,可以處理得更完善,且它們可以同時運行。負責航空公司質素(舒適度、準點率、冬季航班中斷、行李)的獨立 agent,可以防止低價票自動勝出。在這次旅程中,它標示出了領空風險和沒有顯示在票價表上的預訂截止日期。

AI agent 給出的價格準確嗎?

它們是快照。票價每小時都在變動,且同一個網站的不同視圖也可能不一致,因此每個價格都應附帶其來源連結和檢查時間。在付款前,請在航空公司或預訂網站重新確認。

這只適用於 Claude Code 嗎?

不是。工作流程比工具更重要。任何可以閱讀你的行事曆並瀏覽網頁的個人 agent,包括 Grok 和其他助手,都可以遵循相同的指示。