Agentic Research

Rerank(重新排序)

又稱:重新排序 · 重排 · reranker · cross-encoder · 第二輪排序

檢索的第二關:先用便宜快的方法撈出一批候選,再用一個更聰明也更貴的模型,把「問題」和「每個候選」放一起細看,重新排出真正最相關的順序。

你會在什麼時候遇到它

純向量檢索會把「讀起來像」誤當成「答得對」,top-k 裡常混著語義相近卻答非所問的段落。rerank 是把這些假陽性篩掉、把真正有用的那段頂到最前面的關鍵一步,直接決定餵給模型的上下文品質。

打個比方

像招聘的兩階段。第一輪用關鍵字快速篩掉明顯不合的履歷(便宜、量大);第二輪由主管逐份細讀、面談,排出真正該錄取的順序(貴、量少)。向量檢索是第一輪,rerank 是第二輪。

最小範例

問題:「我們公司的報銷上限是多少?」

向量檢索 top-5(只看語義相近,順序不一定對):
  1. 出差住宿的報銷流程 ⋯(像,但沒講上限)
  2. 報銷上限是台幣三萬元 ← 正確答案,卻排在第 2
  3. 報銷需要附收據 ⋯
  4. 員工福利說明 ⋯
  5. 財務系統登入方式 ⋯

rerank 之後(把問題和每段一起細看):
  1. 報銷上限是台幣三萬元 ← 頂到最前
  2. 出差住宿的報銷流程 ⋯
  ⋯

注意第 2 項:向量檢索其實有撈到正確答案,只是排在第 2、相似度分被別的段落蓋過。如果你只取 top-1 就餵給模型,就會漏掉它。rerank 的價值不是「找到沒找到的」,而是「把已經找到、卻排錯位置的,重新排對」。

最常搞錯的地方

  • 以為 rerank 能補救爛檢索。如果向量檢索根本沒把正確段落撈進候選,rerank 也無中生有不了 —— 它只能在「已經撈到的」裡面重排。前面的 embedding 和 chunking 爛,rerank 救不回來。
  • 對全部幾十萬段都跑 rerank。rerank 模型又貴又慢,正確用法是兩段式:先用向量檢索快速縮到 top-50,再對這 50 段 rerank,取前幾段給模型。

相關詞條

下一步