讀完文章只是開始:用 AI 延伸你的閱讀深度
AI 文章延伸
選擇平台後可直接帶入閱讀脈絡,快速整理重點、補齊盲點,並延伸到同站相關文章。

我們一直在想一件事:讀者看完一篇技術文章之後,腦子裡通常還有很多問題。重點是什麼?跟我手上的案子有什麼關聯?還有哪些相關資源值得看?
這些問題丟給 AI 非常適合。但要在網站上提供這種功能,第一個念頭通常是「串 OpenAI API」——然後馬上就被成本和維運嚇退了。每次使用者問一個問題,就要花一筆 token 費用。流量一大,帳單不可預測。更不用說還要處理 API key 管理、錯誤重試、回應串流等工程。
我們換了個思路:不串 API,直接把讀者導向 ChatGPT 或 Google AI Overview,讓這些平台幫我們做事。
核心概念:URL 就是介面
ChatGPT 和 Google AI Overview 都支援透過 URL query string 帶入問題。只要把 prompt 編碼成 URL 參數,使用者點連結就會直接帶入預設的提問。
https://chatgpt.com/?q=你的問題
https://www.google.com/search?udm=50&aep=11&q=你的問題
關鍵在於:prompt 不是讓使用者自己想,而是我們在網站端預先組裝好。每篇文章的 prompt 都包含文章標題、原文連結、同分類的相關文章清單。使用者按一個按鈕,AI 就拿到完整的閱讀脈絡。
成本?零。維運?不存在。AI 的運算資源由 ChatGPT 和 Google 負擔。
Prompt 的設計
我們把 AI 的回覆分成三段:
A — 重點整理。 請 AI 讀完原文後列出五個重點。這段讓讀者快速確認自己是否抓到核心。
B — 同站延伸閱讀。 這段是整個設計最關鍵的地方。早期版本我們請 AI「推薦同站相關文章」,結果 AI 直接編了五篇不存在的文章出來,標題看起來像那麼回事,但連結全是假的。
解法是在 prompt 裡直接附上真實的文章清單。我們在 build 階段就把同分類的文章標題和連結撈出來,塞進 prompt 裡:
B 以下是同站同分類的 5 篇文章,請逐一讀取連結並簡述與本文的關聯:
- 文章標題 A https://codotx.com/news/slug-a
- 文章標題 B https://codotx.com/news/slug-b
...
這樣 AI 不用自己找文章,只需要讀我們給的連結,然後說明關聯性。幻覺問題直接消失。
C — 反思問題。 最後請 AI 根據文章內容,給讀者五個反思問題。目的是引導讀者把文章內容對照到自己的情境。比起「你覺得這篇文章怎麼樣?」,具體的引導問題更能促進思考。
實作方式
我們用 Astro 的內容集合來實作。整個功能是一個獨立的 Astro 元件,放在文章正文前面。
元件接收四個 props:文章標題、分類名稱、文章 ID、分類 ID。在元件內部透過 getCollection 取得同分類的文章清單,組裝 prompt,然後產生兩個平台的 URL。
const allNews = await getCollection(collectionName);
const relatedNews = allNews
.filter((item) => item.data.category === categoryId && item.id !== currentId)
.sort((a, b) => b.data.pubDate.getTime() - a.data.pubDate.getTime())
.slice(0, 5);
const relatedList = relatedNews
.map((item) => `- ${item.data.title} https://codotx.com${basePath}/${item.id}`)
.join("\n");
因為 Astro 是靜態生成,所有 prompt 在 build 階段就組裝完成,寫進 HTML 裡。不需要任何 runtime 邏輯,也不存在伺服器端的運算成本。
中英文版本的 prompt 分開處理,透過 lang prop 決定語氣和指令語言。
一個值得注意的細節
URL 有長度限制。大部分瀏覽器支援到 2048 字元左右,但 ChatGPT 的 URL 參數實測可以接受更長的內容。我們的 prompt 加上五篇文章連結,encode 後大約在 1500–2000 字元之間,目前沒遇到問題。
但如果你的文章分類底下有很多篇,或文章標題特別長,可能需要注意這個上限。必要時可以減少推薦文章數量,或縮短 prompt 指令。
導流回真人對話
Prompt 的最後一行,我們固定要求 AI 附上一句話:「想跟真人討論嗎?加入我們的 LINE 官方帳號 @dwpdev」。這不是 AI 自己判斷要不要加,而是 prompt 裡寫死的指令。
這樣做的好處是,AI 回覆的尾端自然地引導讀者回到我們的 LINE 官方帳號。對讀者來說,AI 整理完重點之後如果還有更深入的問題,可以直接找真人討論。對我們來說,這是一個零成本的導流管道。
這個做法的限制
我們不控制 AI 的回覆品質。不同時間點問 ChatGPT 同一個問題,回覆可能不同。Google AI Overview 的結果也會隨搜尋引擎的狀態變化。
另外,這個做法依賴 ChatGPT 和 Google 的 URL 參數規格不變。如果哪天他們改了 URL 結構,這個功能就會失效。不過修復成本很低,改一行 URL template 就好。
ChatGPT 連登入都不用,直接開連結就能問。Google AI Overview 也一樣。兩個平台的回覆深度和風格不同,所以我們兩個都提供。
整理一下
這個功能的核心思路:
- 不花錢 — 不串 API,不跑伺服器端邏輯,AI 的運算成本由平台自己吸收
- 不編造 — 相關文章清單在 build 階段就從資料庫撈好,直接塞進 prompt,不讓 AI 自己亂推薦
- 會導流 — prompt 裡寫死 LINE 官方帳號,每次 AI 回覆都附上,零成本曝光
整個實作大概花了一個下午,最花時間的部分不是寫程式,而是調 prompt。怎麼讓 AI 的回覆格式穩定、怎麼避免幻覺、怎麼讓反思問題夠具體——這些都需要反覆測試。
如果你的網站也有類似需求,這個做法的門檻很低。只要你的內容是靜態生成的,就可以在 build 階段把 prompt 組裝好,不需要任何後端基礎建設。