Галоўная / Артыкулы

grep перамог вектарны пошук у тэстах памяці агентаў, а абвязка важыла не менш

Даследаванне 116 пытанняў LongMemEval паказала, што grep апярэджвае вектарны пошук, але спосаб, якім абвязка падае вынікі, мяняў дакладнасць не менш за рэтрывер. Што з гэтага ўзяць.

Выдавец: REACTAPP.TOP7 хв чытання1704 слоў

Крыніцы: Every Agentic RAG Pipeline Uses Vector Search. A 2025 Study Ran grep Against It in Production. grep Won.

Сістэмы, якія выкарыстоўваюць адноўленне рэзультатаў пашуку, даволі часу спакою стояць на адной перакананні: вектарны пашук лепшы за пашук за ключоўымі словамі, таму што ён врачаўае значэнне. Запрос „дакументы пра квартальныя доходы“ знаходзіць „Атлас доходаў за 3-й квартал“, нават якіх няма спакойных слоў у гэтых фразах, адтуды што простор укладкі спрацоўвае іх як блізкія. Гэта перакананне стала прычыной вялічэзных выдаткаў на стварэнне інфраструктуры — ад Pinecone і Weaviate да Chroma і Qdrant. Раннія доследжэння ў сферэ пошуку ў дакладных тэкстах паказалі, што вектарны пашук лепшы за розрэджаны BM25 у адпаведзеннях на запытанні з відкрытых домэнаў; галузь прыйняла гэтыя рэзультаты, і вектарны пашук стаў стандартам.

У даследжэнні 2026 года быў арганізаваны іншы эксперымент. Агентам была даўнае заведамае заданне з LongMemEval — стандарта, па якому агент павінен адпавядаць на запытанні, шукаючы ў довгіх історыях размов. У тэсце была парабеліка между простым точным падборам строк і вектарным адшукуваннем. Эксперымент быў адбыўся на калькуляторах агентаў: на спецыяльным калькуляторы пад назвай Chronos, а таксама на інструментах командной лініі, якія прыносіць прадстаўнік, — Claude Code, Codex і Gemini CLI.

У главным наладжэнні grep павышыўся над вектарным адшукуваннем па точнасці, і гэта было так у кожным калькуляторы, а не толькі ў аднам.

Короткая версія

  • Наладжэнне: 116 запытанняў LongMemEval, grep проты вектарнага адшукування, чатыры калькуляторы, ідэнтычныя даны размов.
  • Главны рэзультат: калі рэзультаты вярталіся безпосерэдна, grep перамагаў вектарны адшукуванні па точнасці ў всіх віпадках, калі гэта працавало.
  • Другія вынікі: роль прыстрою для падтрымкі была прыблізна такой жа, як і метод адзыскання. Аднойчы выкарыстоўваны падход да адзыскання даваў значна разныя рэзультаты ў залежнасці ад прыстрою для падтрымкі.
  • Чаму grep ў гэтым случае лепшы: запытанні выкарыстоўваюць конкрэтныя факты: імены, даты, точныя фразы. Семантычная супадзімасць стварае празьблуды пад час такога пошуку, адтолькі як grep вяртае саму строчку, тады калі векторны пошук вяртае фрагменты, якія лішэнь супадаюць з яю.
  • Проблема прыстрою для падтрымкі: спосаб, якім рэзультат з інструмента паказываецца модэлю, вялічыць, чы будзе модэль яго правільна выкарыстоўваць. Ідэальны рэзультат, паказанный некорэктна, ўтрачаецца.
  • Незручнае запытанне: насколькі з пераваг, якія асоціююцца з лепшым адзысканням у практычным RAG, на самай працы ўзначальваецца лепшым дзяйствам прыстрою для падтрымкі?
  • Чаму grep падходзіць для запытанняў пра памяць

    Механізм проста ў выяснэнні. LongMemEval запытае, напрыклад, пра тое, які рэсторан чалавек назваў своім улюблёным у паведамленні за певную дату, або пра назву кнігі, якую ён рэкамендаваў. Кожна адпаведзь ёсць конкрэтны строк у історыі паведамленняў.

    Метод вектарнага пошуку закладае запыт, знаходзіць фрагменты паведамленняў з блізкімі вектарамі і вяртае іх. Проблема ў тым, што блізкасць у значэнні не ўзначае наявнасці точнай інформацыі. Фрагмент, прыменшаецься да ўжывання ўжывання ў ўжыванні, знаходзіцца поблізу падзеўкі «улюблёны рэсторан» у просторы вектараў. У ём можа не быць назвы рэсторана, пры тым як ён атрымуе высокі ранг і не мае адпаведзі.

    Пошук за дапамогою grep за словам «рэсторан» вяртае всі фрагменты, якія маюць гэта слова, у тым часе як сярод іх ёсць і тые, дзе згадвалася улюблёная адпаведзь. grep працюе точна, а вектарны пошук — апрыксіматыва, і для пошуку точных фактов апрыксіматыва проста даўае пасляягошчыны.

    Vector retrieval:  high recall on semantically related segments
                       lower precision on exact-fact queries
                       noise from semantically similar but fact-absent segments
    
    grep:              perfect precision on string matches
                       lower recall on paraphrased or implicit facts
                       no noise from semantic neighbors
    

    Запытанні крэйтараў крэндсайту сформульаваны так, што выкалікаюць абавеснай адтворэнне тэксту, таму распадаў ацэнкі спрыяе точнаму падабранню строк. Гэта не ўсуне прычыну, чым grep ў цэлым лепш за вектарнае аднаходжэнне. Гэта паказвае, што сам распад задач вялікі ўплыв мае на тое, які метод будзе пераможцам. Важлівым запытаннем ёсць тое, як выглядае рэальны сумешанні задач аднаходжэння ў практычных рэалізаціях агентаў, і які метод будзе лепшы ў такім сумешанні.

    Эфект «харнеса»

    Найважлівейшым аспектам ня ёст грэп проты вектараў. Гэта ёст інструмент для апрацоўкі дадзеных. За аднаковым методам адшукання, аднаковымі дадзеннямі і аднаковымі запытамі тачнасць значна змінюецца залежна ад інструмента. Прыказаныя цыфры паказваюць масштаб: мадэль Claude Opus досягае 93,1% пад Chronos і 76,7% пад Claude Code, таму змена інструмента паўтарае прыблізна тую ж паўзу, як і змена адшукача ў фіксаваным інструменце. Найбольшая разліка межы грэп і вектараў была пад Chronos з Gemini 3,1 Flash-Lite — 86,2% проты 62,9%.

    Інструмент для апрацоўкі дадзеных выканае чатыры задачы:

    1. Ён вызывае адшукач дадзеных з запытам.
    2. Ён прыме рэзультаты.
    3. Ён паказвае гэтыя рэзультаты модэлю.
    4. Модэль аналізуе іх, каб датыць адпаведны адказ.

    Для заданага метода адзыскання крокі 1, 2 і 4 ёсць аднаковымі ў всіх віпадках. Крок 3 разлічыцца, а спосаб прыказання рэзультатаў вплывае на тое, як мадэль імі распрацоўвае. Варыянты прыказання включаюць:

    • Фармат: спіс з рангаваннем, адзін найкрашчы рэзультат або ўсе разам.
    • Кантэкст: чы рэзультаты маюць свой джэрэл, час падзеі і асупрацоўваючый тэкст.
    • Акцэнтаванне: чы рэлевантная частка пазначаецца чы модэль должна яе шукаць усерэдзіні.
    • Фільтраўанне: чы рэзультаты з нізкім рэвэранцам адхоўляюцца чы паказваюцца ўсе.

    Ніхто не стандартызаваў гэтыя варыянты, і кожны прадаўцы мае свойій спосаб выканання команды CLI. Выявілася, што стыль выдачы рэзультатаў мае вельмі важлівыя наследкі. Выдача рэзультатаў у тым жа тэксце спрыяла вікорыстоўванню grep, тады як ўвесь час выдача ў відокнах файламі, калі мадэль чытае іх окрэма, змініла сітуацыю з порэвання: метод вектарнага пошуку пераканаў grep у прыблізна палове з’еднанняў harness і модэляў. Адна настройка Codex паднялася з 93,1% з вікорыстоўванням grep у тым жа тэксце да 55,2%, калі рэзультаты grep выдаваліся у відокнах файламі.

    Калі так, то даследжэнні, якія порэваняюць методы пошуку, залішаючы harness незмянным, можа меркаваць неправыя показнікі. Лепшы алгорытм пошуку ў гіршым harness можа працаваць гэрша, чым гіршы алгорытм у лепшым harness.

    Даўленне дысрактараў

    У другым эксперыменце выкорыстоўваліся правільныя фрагменты размовы, але да іх дадавалася все больша колькасць несувязанай історыі размов, пасля чаго студавалася точнасць у меру збільшэння кількісці дысрактараў.

    Оба методы трапляюцца менш тачнымі, калі збільшуецца колькасць відволікаючых элементаў, што ўзгодна з прынятнымі наследкамі. Аднак крывыя ў ўсіх аспектах разніцяюцца: у запытках, дзе трэба абавесці толькі точную інфармацыю, grep працюе лепшая. Калі актуальны фрагмент містыць сам запыт, grep знаходзіць яго, незалежна ад таго, скількі відволікаючых элементаў яго абгортае, адтолькі што гэтыя элементы не падходзяць під запыт і ніколі не праказуюцца ў рэзультатах.

    Метод вектарнага пошуку падае ў якосты ўсё шырэй. Відволікаючыя элементы, якія семантычна супадаюць з запытам, працуюць у рэзультатах, таму частка корыстных рэзультатаў у топ-рэзультатах зменшаецца ў меру збільшэння кількіцы небажаных даных, і модэлю даводзіцца шукаць адпаведны адказ сярод болей шумнага набора даных.

    Accuracy = f(retrieval_precision × harness_quality)
    
    grep retrieval precision: high for exact facts, stable with distractors
    vector retrieval precision: moderate, degrades with semantically similar distractors
    

    Для агентаў, які працуюць з вялікімі, змешанымі базамі даных з давальнікамі, які маюць дужа дзялёную історыю кансэртацый, калькі разных тыпаў дакументаў і неравную рэлевантнасць, такія адносы да відволікаючых фактараў являюцься рэальной практычной перадою пад час выканання задач, якія выкарыстоўваюць точныя факты.

    Што гэта значыць для літаратуры па адналёганні даных

    Статыі, якія паўставляюць на аднос адналёгання даных у ўпакоўкаваным і незупакоўкаваным фармаце, модэлі эмбедынгу чы стратэгіі пераранжавання, зазвычай застаўляюць упакоўку незменнай і змінююць сам адналёгальнік, спрацоўваючы з упакоўкай як з константай. Раследаванні, практыкуемыя тут, паказваюць, што гэта не константа — упакоўка взаімаеся з методам адналёгання. Упакоўка, налаштаваная для вектарнага адналёгання, можа паспрабаваць практычна паслабна адналёгацыю дакументаў, і навпакі.

    Можліва, методы адналёгання былі налаштаваны пад упакоўкі, якія ў збытку падтрымліваюць вектарныя падходы. Абсалютныя паўставленні можаць застацца актуальнымі, але ступеневыя ранкінгі — ні.

    У практыцы команды, якія ствараюць агентныя сістэмы RAG, вітрачаюць багато зусіль на выбір модэляў для эмбедынгу, постаўшчыкаў баз дадзенаў вектароў і метрык схожасці. Лічнае малая колькасць зусіль вітрачаецца на інструменты, якія паказваюць рэзультаты пошуку модэлю. Шырокія доследжэнняя паказваюць, што такія інструменты заслуговуюць на не меншую інжынерную увагу, чым самыя механізмы пошуку, але інжынерная практыка яшчэ не назірвалася за гэтым.

    Актыўнае аналізаванне рэзультатаў

    Гэты направлення працы, верагодна, не будзе атрымляць той увагі, якій яго заслуговыць, і не таму, што рэзультаты слабкія. Яны некамфортныя для промышленасці, якая будуецца на вектарным пошуку, адтолькі што іноды лепшым выходзіць звычны grep, а дызайн такіх інструментаў недаценяецца.

    Іх усё раве трэба ацэніць адзін у адзін. У LongMemEval ёсць спецыяльны распад задач, які спрыяе выкарыстоўванню методаў, якія знаходзяць точныя факты, і тое, што grep лідыруе ў гэтым аспекце, не значыць, што ён выграе ў всіх сітуацыях. Семантычныя методы выконваюць лепшае задання ў задачах, дзе многа парафразаў, у міжмовным пошуку і запытках на рэвэлецеянтнам рэвэле. У даследжэнні таксама былі расследаваны доказы з чатоў у мнага сесій, пры чым гібрыдныя методы пошуку чы болей сільныя лексычныя базы не ўключаліся.

    Вывад не ў тым, каб выкарыстоўваць grep. Падберыце метод пошуку па распаду задач пошуку і створыце інфраструктуру так жа рэтэльна, як і сам прыстрой для пошуку. Ні адна з гэтых практык яшчэ не ўсталявалася як стандарт, але і тая, і іншая мяжваюць стаць такімі.

    Запытанні для вашай сябе сістэмы

    Для задач агентнага адзысквання інфармацыі ў вашай працоўнай сістэме, калькі часткі з іх патрабуе точнага вярнага адзысквання фактов, а калькі — сэмантычнага падабрання паняў? І калі вы востатні раз пераглядалі, як ваша сістэма адображае рэзультаты, з тым жа акцэнтам, які вы надалі выбору модэлі для імбеддынгу?