當 Vector Search 把名字當難度搜:RAG 系統的 Attribute Conflation 問題
查詢「美人照鏡 5.11b,推薦類似難度路線」,結果回來的全是名字像的路線而不是難度像的。根因是 dense embedding 把多個屬性壓進同一個向量,名稱的稀有性壓過了難度信號。解法:metadata pre-filter + query rewriting + score fusion 三層防線。
查詢「美人照鏡 5.11b,推薦類似難度路線」,結果回來的全是名字像的路線而不是難度像的。根因是 dense embedding 把多個屬性壓進同一個向量,名稱的稀有性壓過了難度信號。解法:metadata pre-filter + query rewriting + score fusion 三層防線。
D1 是 Cloudflare 的 serverless SQLite 資料庫,直接綁定 Workers,支援完整 SQL(JOIN、transaction)、自動備份。適合中小規模的關聯式資料需求,NobodyClimb 把它當主資料庫用。
KV 是 Cloudflare 的全球分散式 key-value store,讀取從最近的邊緣節點回應,延遲極低。適合快取、feature flag、暫態資料,但寫入是最終一致性。
R2 是 Cloudflare 的物件儲存,S3 相容 API、零 egress 費用、Workers 原生 binding。媒體密集的應用不用再擔心流量帳單。
Cloudflare Workers 用 V8 Isolate 取代容器,沒有 cold start,全球邊緣部署,透過 Bindings 接 D1、R2、KV、AI。適合 API、SSR、輕量後端,不適合長時間執行的任務。
Hono 是專為 Cloudflare Workers、Deno、Bun 等 edge runtime 設計的 Web framework,比 Express 輕一個數量級,原生支援 Web Standard API,是 edge 環境下的首選。
@opennextjs/cloudflare 讓 Next.js 15 App Router 部署到 Cloudflare Workers,動態 SSR 走 Worker,靜態資源走 Cloudflare Assets。沒有 server 管理成本,但有明確的功能限制。
把 action-maker 從假資料升級為 Cloudflare Workers AI 即時生成,架構拆成 Worker(純 AI)、Server(存資料)、Frontend(串接),踩了 Qwen3 thinking block 和 Workers AI response 格式兩個坑。
RAG 不是固定的三步流程,而是一組可以動態啟用、跳過、重排的步驟。Pipeline as Code 讓系統在不重新部署的情況下調整行為。
LLM 生成需要 3-5 秒,等全部生成完再顯示體驗很差。SSE 讓 token 一邊生成一邊推送,首個字元出現時間從 5 秒縮到 1 秒以內。
只限制請求次數不夠,一個超長的查詢可能消耗掉十個普通查詢的 token。雙重配額(請求數 + token 數)才能真正控制成本。
一個攀岩社群平台,從 Web、Mobile 到 AI 問答全部跑在 Cloudflare 上,沒有獨立伺服器。