工具與工作流程
我請 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。僅供閱讀:不預訂、不登入。
第一步:並行檢查背景,並修正正在執行的 agent
Ada 在同一個回合內做了兩件事。它啟動了一個針對整個城市列表的價格 agent,同時也打開了我的行事曆。
行事曆檢查發現了一個固定行程:在成都舉行的客戶工作坊,時間是 11 月 30 日至 12 月 3 日。第一個 agent 已經開始處理 12 月 1 日至 15 日的時段。因此,Ada 向正在運行的 agent 發送了一個修正:時段 A 現在從 12 月 4 日或之後才開始。至於 12 月的其他行程都是可以變動的定期會議,Ada 指出這一點,而不是默默地將它們視為不可移動的阻礙。
啟發點:一個忽略你行事曆的搜尋,會找出你根本無法乘搭的最低價機票。在進行搜索時同步執行背景檢查,並在獲取背景資訊的瞬間修正正在運行的 agent。更直接的啟發是:下次在發出指示前,先檢查行事曆。這樣就能省去一次修正。
第二步:帶有限制與界線的指示
指示寫得足夠精確,讓另一個 agent 可以直接執行而不需要詢問我任何細節:
- 從香港 (HKG) 出發,2 位成人,經濟艙。
- 時段 A:出發日期為 12 月 4 日至 15 日(根據修正後),停留 7 至 10 晚。
- 時段 B,聖誕節:出發日期為 12 月 18 日至 23 日,返回日期為 12 月 27 日至 1 月 3 日。在香港,12 月 25 日和 26 日是公眾假期,因此此時段包含這些日期。
- 一份固定的城市列表:倫敦、巴黎、阿姆斯特丹、法蘭克福、慕尼黑、蘇黎世、羅馬、米蘭、巴塞隆拿、馬德里、維也納、布拉格、赫爾辛基、伊斯坦堡、哥本哈根和里斯本。
- 僅限 Google Flights 的實時價格,並以港幣 (HKD) 計價,最佳票價需在第二個網站(Skyscanner 或 Kayak)進行交叉核實。
- 僅供閱讀。不進行預訂、不登入、不輸入任何個人細節。
「界線」不是裝飾。一個可以登入的瀏覽 agent 也可能進行購買。我要求它只是查看,而不是執行動作。
第三步:分解任務並平行運行
當我要求更多 agent 時,Ada 並沒有關閉第一個又重新開始。它將那個正在運行的 agent 縮小到一個城市群,並啟動了另外兩個,因此三個價格 agent 同時處理 17 個城市(在拆分時加入了布達佩斯):
- 北部和西部樞紐:倫敦、巴黎、阿姆斯特丹、法蘭克福、慕尼黑、蘇黎世。
- 南部:羅馬、米蘭、巴塞隆拿、馬德里、里斯本。
- 中部和北部,加上伊斯坦堡:維也納、布拉格、布達佩斯、赫爾辛基、哥本哈根、伊斯坦堡。
接著,它增加了一個從不查看價格表的第四個 agent。它的任務是航空公司:座位舒適度、準點記錄、冬季航班中斷風險、行李規定、Asia Miles 累計以及每家航空公司的價格定位。每一項說法都需要引用來源。
按地理區域劃分,可以讓每個 agent 的搜索範圍足夠小,確保能正確完成。將價格與質素分開,可以防止一個 agent 因為追求低價而推薦最差的航空公司。
有一個設定我下次會改:所有 agent 共用同一個瀏覽器。搜尋期間,一個 agent 把另一個 agent 正在使用的分頁轉到了維也納。若要同時運行多個 agent,應為每個 agent 提供獨立的瀏覽器視窗。
第四步:在執行中重新調整範圍
「重新調整範圍」值得獨立列出,因為這是大多數人會忽略的習慣。當計劃變動時,你不需要丟棄正在進行的工作。告訴正在運行的 agent 其新的範圍以及它可以放棄的部分。它已經花費的時間並未浪費,而且你也不會得到兩個 agent 在搜索相同的城市。
第五步:提供證據,而非摘要
每個 agent 都針對每張票價報告相同的四項內容:價格、來源網址、檢查時間以及注意事項。
「注意事項」正是價值所在。各 agent 的報告指出了單純「最低票價」答案會掩蓋的問題:
- 最便宜的票價路線經過中國大陸,且搜索結果僅顯示出程的時間。Kayak 揭露其中一條的回程長達 27 小時 20 分鐘。
- Google Flights 日期網格上的價格與結果頁面不符,因此 agent 只引用了結果頁面的數字。
- 一份 HK$8,780 的馬德里機票看似物美價廉,直到南歐 agent 開啟回程時才發現:航程長達 30 小時 45 分鐘,其中包括在上海的 14 小時 55 分鐘過夜轉機。
- Skyscanner 因機器人驗證阻擋了南歐 agent,因此它轉而於 Kayak 進行交叉比對並做出說明。當 Kayak 未顯示票價時,報告標註為「於航空公司網站驗證」,而非刪除注意事項。
- 法蘭克福和慕尼黑的聖誕市集分別在 12 月 22 日和 24 日關閉。買了便宜的聖誕機票飛去這兩個城市,抵達時,去的理由已經沒有了。

一個說「約 HKD 6,000」的 agent 沒有提供任何我能採取行動的資訊。一個給我連結、時間戳記和陷阱的 agent,則告訴我該看哪裡、數字的時效性如何以及這會花掉多少錢。這也是我教任何 AI 比較時用的準則:如果無法追溯一個數字的來源,就不能使用它。
第六步:質素 agent 改變了答案
最便宜的票價不是答案,原因就在第四個 agent。它的報告(附帶來源)讓價格表呈現出不同的樣貌:
- 最強的直航選擇是國泰航空,其來源將其評為今年世界最佳經濟艙之一。
- 最便宜的轉機選擇是中國國際航空,且其路線比許多其他轉機選項更短。土耳其航空則處於價格中間位置。
- 海灣地區航空公司在今年冬季存在領空風險。如果你預訂其中之一,請選擇可以更改的票價。
- 芬蘭航空有兩個已標記的罷工日:12 月 9 日和 13 日。
- 在冬季,轉機時請保留至少 2.5 小時。
- 若要聖誕節旅行,應在 10 月 12 日左右預訂。
這些內容都不在價格表上。單純的價格搜索會將廉價的某個海灣航空轉機或 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 位成人、來回程、經濟艙。票價會變動,請將所有數字視為當下的快照。
- 整體首選:維也納。
- 12 月初:12 月 7 日至 14 日,2 人共 HK$10,660。經由蘇黎世的瑞士國際航空,去程 16h10,回程 14h20。Google Flights 將其評為低價,比平時便宜 HK$3,084,且聖誕市集已全面開放。
- 聖誕節:12 月 21 日至 29 日,2 人共 HK$11,400。去程經由蘇黎世的瑞士國際航空或奧地利航空(16h10),回程經由法蘭克福的漢莎航空(15h)。於 12 月 22 日抵達,在 24 日前擁有兩個完整的市集日。於 02:20 HKT 時重新確認實時數據。
- 歐洲航空公司中最便宜:羅馬。 12 月 7 日至 14 日為 HK$9,220(Kayak 確認),或 12 月 23 日至 29 日為 HK$10,574(Kayak 未確認)。在聖誕節期間,維也納比羅馬約貴 HK$826,但擁有聖誕市集。
- 最低票價(巴塞隆拿、馬德里、米蘭,約 HK$8,450–8,550)均經北京乘搭中國國際航空,單程約 16 至 19 小時。
- 性價比最高的直航選擇,也是意外之選:伊斯坦堡。 乘坐土耳其航空直航航班,去程約 12 小時,回程 10 小時。12 月 5 日至 13 日為 HK$10,044(Kayak 符合),或 12 月 19 日至 28 日為 HK$10,604。伊斯坦堡在 12 月 25 日至 26 日期間正常營運,但缺乏聖誕節氣氛。
- 剩餘的風險: 維也納聖誕節去程在蘇黎世轉機時間為 1 小時 10 分鐘,而質素 agent 建議在冬季至少保留 2.5 小時。若在同一張機票上,航空公司會重新預訂錯過轉機的航班,但下雪延誤的風險確實存在。這是預訂前需要權衡的代價。

各 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 和其他助手,都可以遵循相同的指示。