【論文拆解】Agent Harness 重塑代理搜尋:grep 居然比向量檢索更準?我們對 RAG 的理解可能需要重來
論文:Is Grep All You Need? How Agent Harnesses Reshape Agentic Search 作者:Sahil Sen, Akhil Kasturi, Elias Lumer, Anmol Gulati, Vamse Kumar Subbiah 來源:arXiv(2026-05)
城武導讀
如果你在 2024 年問任何一個做 RAG 的工程師「grep 和向量檢索哪個搜得比較準」,對方大概會用看原始人的眼神看你——「向量檢索當然比較準啊,你還在用關鍵字匹配?」
這篇論文給了所有人一記響亮的耳光:在多種代理搜尋場景中,grep(字串匹配)的準確率居然高於向量檢索。 而且這個結果不是邊緣案例——它跨了四個不同的 agent harness(Chronos、Claude Code、Codex、Gemini CLI)、兩種不同的工具輸出格式(inline 和 file-based)、以及一個 116 題的 LongMemEval 基準。
實驗設計:兩個實驗,結果都很反直覺
實驗一:grep vs 向量檢索,誰比較準?
- 基準:LongMemEval,116 題,需要從大量文件中找到特定資訊
- 對比:同一組 agent,用 grep 搜 vs 用向量檢索搜
- Harness 變數:Chronos(自製)、Claude Code、Codex、Gemini CLI——四個完全不同的代理框架
- 輸出格式變數:inline(結果直接塞進 prompt)vs file-based(結果寫入檔案,模型自己讀)
結果:grep 在多數配置下準確率都高於向量檢索。但——重點來了——準確率強烈依賴用哪個 harness 和哪種輸出格式,即使底層對話資料完全一樣。
換句話說:不是「grep 絕對比向量檢索好」,而是「你用什麼框架、怎麼呈現搜尋結果,跟用什麼檢索策略一樣重要」。
實驗二:噪音耐受度
在搜尋結果中逐步混入不相關的對話歷史(模擬真實世界的「大海撈針」場景)。隨著無關內容增加:
- grep 和向量檢索的準確率都下降(意料之中)
- 但 grep 對噪音的容忍度更高——在多餘文字增加時,grep 的表現下降更慢
為什麼 grep 會贏?
論文沒有給出確切的因果解釋,但從實驗設計中可以推斷幾個可能的原因:
- 精確匹配在某些任務中就是比語意近似更好:當你要找「2023 年 Q3 的營收數字」時,grep “Q3 revenue” 直接命中,向量檢索可能給你一堆「財務表現」的相關段落但沒有確切數字
- Agent harness 的架構影響大於檢索策略:工具輸出的格式(inline vs file)、模型讀取結果的方式(一次性 vs 多次來回)、prompt 結構——這些對最終準確率的影響可能比檢索演算法本身更大
- 向量檢索的「相關但無用」問題:語意相似度高不等於有答案——這是 RAG 的老問題,但這篇論文第一次在 agentic search 場景中系統性地量化了它
城武觀點
1. Agent harness 才是這篇論文真正的貢獻——不是 grep
如果你只從這篇論文讀到「grep 居然比向量檢索準」,你讀到的是一個實驗結果,不是論文的核心命題。
論文的核心命題是:用什麼 agent harness(Chronos、Claude Code、Codex、Gemini CLI)、什麼輸出格式(inline vs file-based)、模型怎麼讀取搜尋結果——這些設計決策對最終準確率的影響,不亞於你選什麼檢索演算法。 同樣的底層對話資料,換一個 harness 準確率可以差到兩位數百分點。
grep 勝過向量檢索只是這個命題的其中一個實驗。把 grep 換成 BM25,命題一樣成立。Harness design 是整個 RAG / agentic search 領域最被低估的維度——現在大家都在卷檢索演算法(HyDE、ColBERT、late interaction…),但你可能花三個月優化檢索精確度 +2%,結果換個輸出格式就 +5%。
2. 這不衝突:簡單工具仍然值得先試
承上——既然 harness 才是主戰場,檢索策略的選擇反而是一個可以務實決策的變數。
在很多場景中——特別是精確資訊檢索——簡單的字串匹配就是比語意搜尋更可靠。先試 grep,grep 不行再升級到向量檢索——而不是反過來。
3. 噪音耐受度是實際部署中最被忽略的指標
實驗二的結果非常務實:在真實世界中,你的搜尋結果永遠會被無關資訊汙染——舊訊息、格式錯誤、不相關的章節。一個在乾淨資料上表現完美的系統,在噪音環境下可能崩潰。grep 對噪音的耐受度更高,這在實際部署中是巨大的優勢。
4. 這篇論文應該讓 RAG 框架開發者緊張
LangChain、LlamaIndex 這些框架預設都是向量檢索。如果你問這些框架的開發者「為什麼預設是向量檢索而不是 grep」,答案大概是「因為這是業界最佳實踐」。這篇論文挑戰的正是這個「最佳實踐」——而且拿出實驗數據來挑戰。
城武的未解檔案——有時候最簡單的工具(grep,1974 年誕生)比最先進的向量資料庫更可靠。不是科技退步了,是我們太容易忘記基本功。