久操免费资源,久久伦理一区,国产又黄又爽视频,情草av网,日本久久久在线免费,精品人妻互换一区三区,熟妇女一区二区三区,亚洲AV三区视频免费,老司机在线精品

本文對比分析了代碼搜索場景下grep對比RAG的優(yōu)勢,揭示了AI開發(fā)領(lǐng)域從預(yù)構(gòu)建到實時Agent驅(qū)動的新趨勢。 ## 1. 行業(yè)現(xiàn)狀:多個主流Agent放棄RAG選用Grep 去年RAG是AI方案的熱門選型,但Anthropic的Claude Code早期驗證RAG+本地向量庫方案后,最終全部替換為grep,且Agentic search效果大幅碾壓RAG。 常用的Codex同樣不建索引、不用embedding和RAG;以RAG起家的Cursor也將grep_search作為核心探索工具,RAG僅作為概念性查詢的補充。最終結(jié)論:**代碼搜索場景下,Agent+grep > RAG+向量數(shù)據(jù)庫**。 ## 2. 核心概念:RAG與grep的基本邏輯 RAG即檢索增強生成,分為三步:預(yù)處理將內(nèi)容切分轉(zhuǎn)向量存入向量庫,檢索時將問題轉(zhuǎn)向量找相似度最高的片段,最后喂給大模型生成回答,解決大模型上下文窗口不足的問題。 grep誕生于1974年,原理是基于關(guān)鍵詞/正則做純字符串精確匹配,從頭掃描到尾輸出匹配結(jié)果,沒有語義理解環(huán)節(jié)。 ## 3. 為什么50年前的Grep能打敗RAG? ### 代碼本身是精確匹配場景 自然語言依賴embedding匹配同義不同字面的內(nèi)容,但代碼的標(biāo)識符本身已經(jīng)編碼了語義,找目標(biāo)直接搜對應(yīng)名稱即可,不需要語義匹配。在LongMemEval的116個代碼搜索問題上,grep的平均準確率顯著高于向量檢索,該結(jié)論在Claude Code、Codex CLI、Gemini CLI三個框架都穩(wěn)定復(fù)現(xiàn)。 ### 向量檢索存在結(jié)構(gòu)性失敗模式 向量檢索基于余弦相似度,經(jīng)常出現(xiàn)語義不相關(guān)但相似度高的錯誤結(jié)果(如“銀行流水”匹配出“河岸流水”),代碼中同標(biāo)識符不同上下文的場景也無法區(qū)分,這是RAG生產(chǎn)失敗的核心原因。grep結(jié)果是確定性的,有就是有、沒有就是沒有,不會出現(xiàn)答非所問的幻覺。 ### RAG在代碼場景存在五大工程缺陷 代碼庫動態(tài)更新,RAG索引永遠追不上代碼變化,大型項目重索引需要幾十分鐘到幾小時,而grep總能搜到實時代碼。RAG按token暴力切分常會破壞代碼結(jié)構(gòu),embedding壓縮會丟失代碼的精確語義,無法區(qū)分同標(biāo)識符不同上下文的差異,且整套流水線環(huán)節(jié)多、復(fù)雜度高,每個環(huán)節(jié)都可能出問題,grep僅需一行命令即可完成。 ## 4. Agent+grep的實現(xiàn)邏輯 Claude Code采用Agent驅(qū)動的多輪迭代搜索系統(tǒng),全程無向量、無embedding、無預(yù)處理索引,LLM自主決定搜索策略,調(diào)用grep獲取結(jié)果后動態(tài)判斷,信息不足就調(diào)整關(guān)鍵詞或定位文件繼續(xù)搜索,和人類程序員探索新代碼庫的邏輯完全一致。這套方案通過工具設(shè)計精細控制token消耗,不會爆上下文,成本控制理想。 ## 5. 值得關(guān)注的AI開發(fā)新趨勢 ### 從預(yù)處理型架構(gòu)轉(zhuǎn)向?qū)崟r型架構(gòu) 預(yù)處理架構(gòu)提前處理數(shù)據(jù),檢索快但維護成本高、有過期風(fēng)險;實時架構(gòu)不做預(yù)處理,靠Agent實時獲取判斷,零維護、數(shù)據(jù)永遠最新,其落地的核心轉(zhuǎn)折點是大模型上下文窗口大幅提升,瓶頸已經(jīng)從檢索轉(zhuǎn)向模型推理能力。 ### Agent驅(qū)動的主動檢索取代被動預(yù)檢索 傳統(tǒng)RAG是一次性被動檢索,只能拿到預(yù)先篩選的top-K結(jié)果;Agent主動檢索是多輪動態(tài)搜索,模型自主決定搜索方向,找到足夠信息再停止,核心依托還是模型能力的增長。 ### 再次驗證了AI領(lǐng)域的《The Bitter Lesson》 該文章核心結(jié)論是:利用計算能力的通用方法最終總是最有效的,優(yōu)勢非常明顯。Claude Code的設(shè)計哲學(xué)就是“一切都是模型”,與其構(gòu)建復(fù)雜檢索工程,不如押注模型能力提升。 ### 確定性工具在AIAgent時代更有價值 AI時代最稀缺的是確定性,grep的結(jié)果完全確定,多輪迭代搜索中可靠性不會衰減;向量檢索是概率性結(jié)果,失敗原因復(fù)雜難調(diào)試,多輪迭代后可靠性會指數(shù)級下降,差距被顯著放大。 最后文章強調(diào):grep不是銀彈,僅在代碼搜索場景更適配RAG,夠用就好是AI時代更高階的認知。
為什么CC、Codex放棄RAG,選用Grep?
2026-06-29 20:46

為什么CC、Codex放棄RAG,選用Grep?

本文來自微信公眾號: 碳基智 ,作者:碳基智


去年那會兒RAG好像還是版本答案,我身邊的每個解決方案架構(gòu)師在跟客戶聊的時候都是言必談RAG,好像不用這個就趕不上這波AI熱潮。


但Claude Code卻一反常態(tài),放棄了用RAG的方式,改用了50年前就開始流行的Grep,完全跟潮流背道而馳。


這對于一直吹噓AI新范式的新貴們而言非常不尋常,于是我想也許可以去探究一下這背后的原因。


1


2025年5月,Anthropic工程師Boris Cherny在一次播客中透露:Claude Code早期使用了RAG(檢索增強生成)+本地向量數(shù)據(jù)庫的方案,團隊花了幾個月時間驗證,最終結(jié)論是全部砍掉,換成grep。


他是這么說的:


Early versions of Claude Code used RAG+a local vector database,but we found pretty quickly that agentic search generally works better.It outperformed everything,by a lot.


注意措辭,大幅碾壓所有方案。


我現(xiàn)在常用的Codex實際上也是這樣的邏輯,不建索引、不用embedding、不用RAG。Cursor雖然是走RAG起家的,但3月份他們泄露的Agent System Prompt里面也寫著grep_search is your MAIN exploration tool,RAG只在概念性查詢時作為補充。


不同的case得出了同樣的結(jié)論:


在代碼搜索場景下,Agent+grep\>RAG+向量數(shù)據(jù)庫。


2


RAG全稱Retrieval-Augmented Generation(檢索增強生成),工作流程是:


  1. 預(yù)處理階段:把文檔/代碼切成若干片段(chunk),用embedding模型把每段轉(zhuǎn)換成一個高維向量(通常768維或1536維浮點數(shù)數(shù)組),存入向量數(shù)據(jù)庫


  2. 檢索階段:用戶提問時,把問題也轉(zhuǎn)成向量,在向量空間中用余弦相似度找"距離最近"的文檔片段


  3. 生成階段:把檢索到的片段喂給大模型,讓模型基于這些片段回答


邏輯很好理解,大模型不可能一次讀完所有文檔(上下文窗口有限),那就先篩一遍,只把最相關(guān)的給它看。


grep誕生于1974年,原理極其簡單:輸入一個關(guān)鍵詞/正則表達式,grep從第一行掃到最后一行,把所有匹配的行列出來。


不用理解,也沒有語義,純粹的字符串匹配。


問題來了,為什么50年前的技術(shù),能在但凡能講新范式就絕口不提老概念的AI圈,打敗看起來是版本答案的頂流技術(shù)?


3


原因一:代碼是精確匹配場景


代碼和自然語言有本質(zhì)區(qū)別。自然語言中,"如何配置用戶登錄"和"authentication setup guide"說的是同一件事,但字面完全不同——這是embedding存在的核心價值。


但代碼里,變量名就是含義本身。你要找handleUserLogin這個函數(shù),直接搜handleUserLogin就行了。不存在"語義相近但名字不同"的情況。程序員已經(jīng)把語義編碼在標(biāo)識符里了。


研究數(shù)據(jù)支撐:在LongMemEval的116個代碼搜索問題上,grep的平均準確率顯著高于向量檢索,且這個結(jié)論在Claude Code、Codex CLI、Gemini CLI三個框架上都穩(wěn)定復(fù)現(xiàn)。


原因二:向量檢索有結(jié)構(gòu)性失敗模式


實際案例:用戶搜"如何導(dǎo)出個人銀行流水用于貸款審核",embedding返回"長江流域水文站每月發(fā)布河岸流水監(jiān)測報告"——因為"銀行流水"和"河岸流水"在向量空間里距離很近。余弦相似度0.82,看起來"相關(guān)",實際是垃圾。


代碼場景:user_id在auth模塊和logging模塊里語義完全一樣,作用完全不同。embedding無法區(qū)分。


向量相似度搜索不能實現(xiàn)'找出最相關(guān)的信息'這個目標(biāo),這是RAG在生產(chǎn)環(huán)境中失敗的根本原因。


grep不會犯這種錯。grep要么找到精確匹配,要么告訴你沒找到。它的失敗模式是確定性的,有就有,沒有就沒有,不存在答非所問的幻覺。


原因三:RAG在代碼場景有五個工程級問題


  1. 索引永遠追不上代碼變化:代碼庫是活的,有人merge了PR,索引就過期了。重新索引大型項目要幾十分鐘到幾小時。grep搜到的永遠是實時的。


  2. chunk切分破壞代碼結(jié)構(gòu):RAG的切分通常按token數(shù)暴力切割,把一個函數(shù)切成兩半是常有的事。


  3. embedding壓縮丟信息:把validateUserSession(token,refreshToken)壓成1536維向量,信息密度和把"用戶登錄驗證"四個字壓成同維度的向量完全不同。代碼的語義更精確,embedding的信息損失更嚴重。


  4. 語義相似≠代碼相關(guān):同一個變量在不同模塊里作用完全不同,embedding無法區(qū)分上下文。


  5. 流水線復(fù)雜度:RAG需要代碼解析→chunk切分→embedding生成→向量存儲→查詢→排序,每個環(huán)節(jié)都可能出問題。grep一行命令搞定。


4


得益于Claude Code不久前的那次開源,大家對它的設(shè)計都有了源碼級的了解。


它實現(xiàn)的是一套Agent驅(qū)動的多輪迭代搜索系統(tǒng):


  1. LLM收到用戶問題后,自主決定搜索策略


  2. 調(diào)用grep搜關(guān)鍵詞→讀取結(jié)果→判斷是否足夠


  3. 不夠的話,調(diào)整關(guān)鍵詞再搜一輪


  4. 或者用glob找到文件路徑→讀取文件內(nèi)容→發(fā)現(xiàn)新線索→繼續(xù)搜索


整個過程沒有向量、沒有embedding、沒有索引、沒有預(yù)處理。每次從零開始。但它不是盲目搜索,它每一輪的搜索關(guān)鍵詞都是基于上一輪結(jié)果動態(tài)調(diào)整的。


這跟人類程序員探索新代碼庫的方式一模一樣:


看目錄結(jié)構(gòu)→grep函數(shù)名→讀關(guān)鍵文件→追蹤調(diào)用鏈→再grep。


工具設(shè)計上精細度做得很好,因此成本控制也很理想:


  • GrepTool:三種輸出模式(文件名/內(nèi)容/計數(shù)),head_limit參數(shù)控制返回量,防止context爆炸


  • GlobTool:按文件名模式匹配,快速定位目標(biāo)文件


  • FileReadTool:按行范圍讀取,精確控制token消耗


5


這里我也學(xué)習(xí)到了一些技術(shù)趨勢,總結(jié)分享給大家。


趨勢一:從預(yù)處理型架構(gòu)到實時型架構(gòu)


預(yù)處理型的核心邏輯是提前把數(shù)據(jù)處理好,用戶來了直接查。好處是檢索快,但維護成本高、有過期風(fēng)險、篩選邏輯固化。


實時型的核心邏輯是不做預(yù)處理,每次讓Agent實時獲取和判斷。優(yōu)勢是零維護、零配置、永遠最新,劣勢是比較依賴模型推理能力。


這中間發(fā)生臨界轉(zhuǎn)變的節(jié)點在于,上下文窗口大幅提升了,以前不能做到的塞爆模型上下文窗口的動作可以做到了,那么瓶頸自然不再是檢索,而AI也有了足夠的推理能力去解決這個問題。


趨勢二:Agent驅(qū)動的主動檢索取代被動預(yù)檢索


傳統(tǒng)RAG是一次性被動檢索:把問題向量化→查top-K→喂給模型。就像你去圖書館,館員替你選好5本書放桌上,你只能從這5本里找答案。


Agentic Search是多輪主動檢索:模型自己決定找什么、怎么找、找到后要不要繼續(xù)找。就像你自己走進圖書館,先看索引卡→找到一本→翻了幾頁發(fā)現(xiàn)線索→再去找另一本→直到找到答案。


這背后,核心的決定邏輯,還是模型能力的持續(xù)增長。


趨勢三:The Bitter Lesson(苦澀的教訓(xùn))又一次驗證了


Rich Sutton在2019年發(fā)表的《The Bitter Lesson》是AI領(lǐng)域最有影響力的文章之一(據(jù)傳OpenAI員工每天早上朗讀)。核心論點只有一句話:


70年AI研究的最大教訓(xùn)是:利用計算能力的通用方法最終總是最有效的,而且優(yōu)勢非常明顯。


歷史反復(fù)證明這個規(guī)律:


Boris Cherny明確引用了Bitter Lesson來解釋Claude Code的設(shè)計哲學(xué):


一切都是模型。隨著模型變得更好,它會吸納一切其他東西。與其花精力構(gòu)建復(fù)雜的檢索工程,不如押注模型能力的提升。


趨勢四:確定性工具在AI時代更有價值


AI時代最稀缺的東西是確定性。


grep給的是確定性承諾:搜processPayment就是精確匹配這個字符串。找到了就是找到了,沒找到就是沒有。失敗原因只有一種:搜索詞不對。


向量檢索給你的是概率性結(jié)果:余弦相似度0.82,可能相關(guān)。找到了不一定對(銀行流水vs河岸流水),沒找到不一定沒有(可能是embedding質(zhì)量問題)。失敗原因可能是embedding模型、語義偏差、chunk切分策略、索引過期、維度設(shè)置——調(diào)試是噩夢。


當(dāng)一個AI Agent要做20輪迭代搜索時,每一輪的可靠性會累加。如果單次搜索99%可靠,20輪后是0.992?=82%。如果單次95%可靠,20輪后是0.952?=36%。


確定性工具的可靠性是100%(給定關(guān)鍵詞,結(jié)果完全確定)。概率性工具的可靠性永遠\<100%。在多輪迭代的Agent架構(gòu)下,這個差距將被指數(shù)級放大。


當(dāng)然,grep不是銀彈,它有自己明確適用的場景,RAG也不是一無是處,只是恰好在代碼搜索這個場景下,grep比RAG更適合。


AI時代,夠用就好的思維可能會是一種更為高階的認知能力。

AI原生產(chǎn)品日報頻道: 前沿科技
本內(nèi)容來源于網(wǎng)絡(luò) 原文鏈接,觀點僅代表作者本人,不代表虎嗅立場。
如涉及版權(quán)問題請聯(lián)系 hezuo@huxiu.com,我們將及時核實并處理。
正在改變與想要改變世界的人,都在 虎嗅APP
巫山县| 贵溪市| 泰州市| 鱼台县| 留坝县| 沂水县| 玉林市| 宝山区| 通山县| 田林县| 高州市| 邹平县| 松潘县| 抚远县| 澎湖县| 西华县| 怀柔区| 娄底市| 昌黎县| 鹰潭市| 阿克| 五河县| 天津市| 即墨市| 灵寿县| 峡江县| 津市市| 南郑县| 福泉市| 泸溪县| 梧州市| 许昌市| 射阳县| 沛县| 兴和县| 开鲁县| 温州市| 务川| 石渠县| 双鸭山市| 万山特区|