Дзе каналы RAG дзейнуюць слепа: аналіз неудач у контексте патэранаў агентных систем
Дазвольце дазнаць, які шаблоны агентнага RAG падходзяць да кожных неудач — ад перапісву запыткаў і корэктывацыйых заходаў да маршрутацыі, атрыманняя оцэнкі адказаў, людзкага перагляду, керавання і планавання.
Крыніцы: Your RAG Pipeline Doesn’t Need More Retrieval, It Needs Better Decisions
Стандартны ўзор апрацоўкі дадзеных у модэле для генеравання тэксту — это простая лінія: запрашаць дадзеныя, генераваць тэкст, даць адказ. Гэта падходзіць для дамаў, але у рэальных задачах быстра выявляюцца його слабасі. Система запрашэння вяртае нерелевантныя фрагменты, корыстнік формулюе запит на адныя тэрміны, якіх ніколи не было ў вашых дасягах, адказ узагалі няма ў індексе, або модэль пішае тое, чаго не падтрымвае запрашаны текст. Даўленне больш дасягаў у запрошэння не рашае жадных з гэтых проблем, таму што прычына не ў колькасці контексту, а ў відсутнасці рашэння пра тое, што рабіць далей.
Самэ гэтае рашэння ўсё, што маюць на увазе пад агентным падходам RAG. Шырокі вядар прыймае гэта як сукупнасць цілявыях адказаў на конкрэтныя способы неудач, а не як едыну архітектуру, ўпрымкі вы моглі б разглядаць свой власны процес, знайсці етап, дзе ён наразе дзейнаў слепа, і выбраць самы просты патэрн, які гэта рашае.
Чаму зламваецца одноразовы пайплайн
Традыцыйны прыемак RAG выконвае фіксаваную последоўнасць дзеянняў. Ён прымае запит, выконвае пошук сэродзелнасці ў базе вектараў, заставляе сабе найлепшыя рэзультаты, перадае іх модэлю LLM і вяртае тое, што той даў у адпаведзі. Скрытая прыяжнечка заключаецца ў тым, што крок пошуку быў успешны.
Калі гэтая прыяжнечка не спраўдзяецца, ніч у пайплайне не з’являе гэтага:
- Некалігантныя дакументы такім чынам перадаюцца модэлю, і той прабуе даў адпаведзь на ўснове іх.
- Запыт, чый вокабуляр не падходзіць да дакументаў, дае мало корыстных рэзультатаў.
- Якщо база знання проста не мае адпаведзі, у системы няма іншага варыянта.
Корыстным спосабам зміны парадграма ўваходзіць перастанак запытання толькі пра тое, як паспрабаваць падбіцца пра кращыя рэзультаты пошуку, і пачатак запытання пра тое, што система должна робіць, калі рэзультаты пошуку недастаткова якісныя. Кожны з прыкладоў нижэй ёсць адказам на якую-небудзь версію гэтага другога запытання. Якщо вы хочаце болей шырокія порэванні архітектураў пошуку пры пераходзе да адзінаковых прыкладоў, перагляньце RAG vs agentic RAG vs graph RAG.
Оцэнка рэзультатаў пошуку і перапісва запытання
Возьмімо запытанне на кшталт "Як LangGraph распрацоўвае пастановленне дадзеных?" Падазроўваючы, што прыстрой для пошуку вяртае пяць фрагментаў, з якіх толькі адзін є релевантным. Лінейная схема перадае ўсе пяць фрагментоў і дазволяе модэлю ўсё сортаваць, што слабяе корыстныя доказы і спрыяе плутанню.
У робочым працэсе з агентамі спачатку дадзены ўваходжэнне крока ацэнкі. Атэстацыйны прыстрой, часта это невялікі вызов LLM з крэйтарыем «так/нет», выявляе, чы рэквізітныя дакументы ўстатку значныя для адпаведзення на запитанне. Якщо яны такія ня ўстатку, робочы працэс не проста зноў шукае з там самым тэкстам. Ён стварае павышаны запит, адаследжваючы рэзультаты першай спробы, і зноў адбierае данні. Рэзультатны цыкл выглядае так:
- адбierаць данні
- ацэніць рэзультаты
- перапісаць запит, якщо рэзультаты недастатковы
- зноў адбierаць данні
Сам цыкл не ёсць найважнейшай часткаю. Важна тое, што система можа распазнаваць, што ўсё першае спроба была недастатковая. У практыцы таксама неабходныя умовы зупінкі, напрыклад максимальная колькасць перапісаў, каб запытанне, на якое індэкс не можа адпаведзець, не ціклічна перадаўся без канца.
Альтернатыва, калі індэкс не мае адпаведзення
Перапісваўванне дапамагае толькі тады, калі інфармацыя існуе гдзе-небудзь у вашай базе даных. Часта яе там няма. Уявіце сабе асистента, створанага на адной з документацый, скарыстых месяц тыму, і корыстувальніка, які спытае пра функцыю, аанунсаваную вчора. Жадныя спробы пераказа не дапаможу знайсці документ, які ніколі не быў індексаваны.
Метод Corrective RAG рашае гэтыя проблемы. Пасля ацэнкавання знайдзеных документаў працэс обробкі інфармацыі спрыймае недастатковыя рэзультаты як сігнал да корекцыі падходу, напрыклад, шляхом запитаў у іншых джэрелах, такіх як пошук у інтэрнете. Лінейны лепт працы «знайсці — стварыць» ператвараецца на:
- знайсці
- ацэнкаваць документы
- коректавацыя, якщо ацэнка низкая
- стварыць
„Правільны“ — гэта парадоксальна, што ўмышленна шырока апіляцыя. Залежна ад прыменення яе можна тлумачыць як перапісв запиту, адсылачы да іншага джерела чыста як выкарыстанне іншага спосабу дзеяння. Ключовая асоблівасць закладаецца ў тым, што няудачны пошук запускае іншы пат працэй, а не слабкую адпаведь. Памятайце, што дадзенне веб-фалбэка змінюе вашу модель довер'я: публічны веб-контэнт менш кантролюецца, чым ваша савастная дакументацыя, таму можа знадобіцца пазначаць чыста фільтруваць адпаведзі, якія выкарыстоўваюць яго.
Направленне кожнага запиту да правильнага джерела
Іншая непрызначаная допытка ў базовым RAG — гэта тое, што кожны запит павінен праходзіць чераз той самы механізм пошуку. Багато рэальных системаў маюць адразу колькі джэраў знанняў: внутршную корпоратыўную дакументацыю, публічную дакументацыю да продукту, адна чыста колькі вектарных баз дадзеных і рэальны пошук у Інтарнете.
Этыя источнікі не можна заменіць адзіным другім. На запытанне пра внутрэню палітаку кадраў не трэба адпавядаць з відкранай інтэрнет-суперфісы. На запытанне пра версію бібліятэкі, выданую минулы тыдзень, не трэба пакладацца выключна на сховішча вектарных даных, створаныя да гэтага выдання.
Адаптыўны RAG додае рашэнне пра маршрутацыю на пачатку. Перад выкарыстоўванням будзь-чаго система класіфікуе запытанне і вяршыць, які істочнік найлепей падходзіць для яго адпаведзення, а потым аналізуе контэкст, який прыходзіць з гэтага істочніка. Шлях выкарыстоўвання істочніка выбіраецца для кожнага запытання окрема, а не ўніверсальна для всіх. Маршрутазатор можа быць простым — напрыклад, запрошэнням да класіфікацыі або наборам правілаў; ёму не трэба быць складным, каб усунуць вялікі клас некоректных адпаведзенняў з неправильных істочнікаў.
Перакананне ў адпаведзенні, а не толькі ў дакументах
Болей тонкія прынцыповая памятка лёгка ўпусціць: высокая якосць аднаходжэння інфармацыі не гарантуе хорашай адпаведзі. Модель можа практычна отрымаць саме тыя правільныя фрагменты, але ўсё раве стварыць адпаведзь, якая выходзіць за ўзгаданыя межы або звучыць несуразна ў спрашанні.
Рэшэнняя — таксава оценіць і результат. Пасля стварэння адпаведзі, агентны працэўны процес можа запытаць:
- Чыі кожны тверджэнняе ў адпаведзі падтрымваецца інфармацыяй, якая была аднаходзжана?
- Чыі адпаведзь стосуецца таго, пра шта на самай справе запытваў корыстнік?
- Чыі модель дадала інфармацыю, якую контэкст не падтрымвае?
Якщо адаптаванне адказу не ўспіваецца, процес работы можа яго пераробіць або створыць занова. Це дае можлівасць адзначыць два окольныя пераканання, якія варта трыважыць адна адной: чы былы запрашаны правільныя даны, і чы тые даны былі викорыстаны правільна. Раздзелэнне іх таксама значна спрыяе адлагоджэнню, таму што неудачу можна прызначыць стадіям запрашэння даных або ўтварэння адказу, а не проста сказаць «бот памыліўся». Стаття на оцэнкі RAG па стадіям неудач детальнейша раскрывае гэю ідею.
Пауза для рашэння чалавека
Дзеяныя рэшэння не должны прыміцца аўтаматычна. Тыповыя прычыны для перагляду чалавеком включаюць:
- доказы, якія ўзаемна суперсечуцца або застаюць неяснымі
- адказы, якія патрабуюць формальнага затверджэння пры ўжыцці
- нізкі рэваню, выказаны самімі системнымі оценкавачамі
Система RAG з участю чалавека ставіць контрольны пункт у процесе выканання, дзе хтось можа затвердзіць рэзультат, адхоўраць яго чы рэдагаваць прычаму да продажання выканання. Гэта не ўзнікненне аўтаматызацыі. Система яшчэ і так адмаўляецца рутынныя кейсы сама і перадае на разгляд толькі тыя, якім практычна патрабуецца адгук, што зазвычай ў дзiesяць разоў лепша выкарыстоўвае час экспертаў, чым пераглядаць усё чы нічога. Фрэймворкі оркестрацыі на адной базе графаў, такія як LangGraph, чыста падходзяць для гэтага, таму што яны можу зберагчы стан процеса выканання ў контрольным пункті і продажыць яго, калі чалавек даў адпаведзь.
Разделэнне працы між спецыялізаванымі агентамі
Калі працэйныя практы становяцца большымі, стае складна кераваць аднам агенту, які несе ўсю адпаведальнасць, і правільна даўаць яму указы. Дзеяныя проблемы сама сабою дзелююцца на адзінаковыя ролі: запошук, даследжэнне, ацэнка і т. п.
Установка з калькамі-надзірнікамі дае аднаму з агента задачу коордынаціі. Надзірнік вяршыта рашэнне, калькі спецыялісты должны выконаць наступны крок, а спецыялісты кожны займаецца конкрэтным завадам. Мета не ў тым, каб проста дадаць больш агентоў; кожны дапамоглівы агент прыносіць затрымкі, дапамоглівыя витраты і ўтрохцеўкі па зберагчыць іх. Цэе мае сенс, калі проблема практычна выклікае несколькі крокаў або спецыялізацый, і інструкцыі аднаго агента становяцца некеравальным спискам спецыяльных случаў.
Аднойчасны запошук незалежна
Не кожны крок павінен чакаць на пярэдні. Якщо для адказу трэба інфармацыя з калькольных незалежных источнікаў, то запыткі да іх адно за другім — да источніка А, потым Б, потым В — і пасля таго адказ — губіць час.
У модэлі паралельнага розпаду такі запыткі выкананыя адночасова: запыт розпадаецца на А, Б і В адночасна, а ўсі яныя рэзультаты з’еднаныя перад тым, як будзе даўся адказ. Незалежныя задачы на запошук чы пераробку выкананыя паралельна і з’еднаныя напасці. Гэта можа зробіць сложныя рабочыя процесы як быстрэйшымі, так і лёгкавейшымі для структуравання, адколі кожны параграф ёсць самодостатнім. Аднойчыным недагодам яўляецца тое, што наэтапе з’еднання трэба кераваць перакрытымі чы суперсучаснымі рэзультатамі, і трэба вырашыць, што робіць, якщо аднам з параграфаў не ўдаецца чы выйдзе за час.
Планаванне перад выкананнем
Дзеяныя запытанні ўжо нельга адпаведзець за дапамой аднарочнага пошуку. Для ўтрымкі іх трэба выконваць кальколька пошукоў, прымітных ператворэнняў або этапаў разумавання, пры чым порядак гэтых этапаў мае значэнне.
Метод «планавання і выконання» RAG рашае гэтыя проблемы, аддзеляючы процес размышлення пра задачу ад самага ўжо выканання. Прыгодзі стаюць такімі:
- прыем запытання
- стварэнне плану
- выконання запланаваных крокаў
- ацэнка рэзультатаў
- адпаведзь
Планавальнік вяршыць выбор, што трэба зрабіць; выкананне адпаведзяе за асобныя крокі. Гэта ўжо найбольш корыстна для багатакомпанентных запытанняў, такіх як порэванні ў кальколька дакументаў, калі момантальныя вызовы інструментаў часта прыводзяць да поверхневых аб непূরных адпаведзяў. План таксама дапамагае пераканацца ў тым, што адбываецца, калі ў чымсь з’яўляюцься проблемы, што ёсць складнейша з агентам, які імпровізуе кожны крок.
Што на самай працы робіць систему RAG агентскай
Выклік LLM чы або прызначэнне чаго-небудзь як агента сама па сабе не робіць систему агентскай. Ключовая характэрыстыка — гэта можлівасць системы ацэніць сваю ситуацыю і выбраць наступны крок. Фіксаваны процес практыкуе адзин выкалік даных заўсёды па адной запытке і наступны адпаведны адказ. Агентская система можа ставіць сабе ряд пытанняў:
- Чакамо, чы важка ўзагалі выкалікати даны для гэтага пытання?
- Чакамо, чы тое, што было атрымана, дзейсна было корыстным?
- Чакамо, чы трэба зноў шукаты з іншай запыткай?
- Чакамо, чы іншы источнік будзе болей падходячым?
- Чакамо, чы адказ падтрымліваецца доказамі?
- Чакамо, чы трэба, каб ужо втручаўся чалавек?
- Чакамо, чы трэба, каб адпаведны спецыялізаваны агент прыемаў керуванне?
- Чакамо, чы планаванне работы спачатку даспяў бы кращага рэзультата?
Кожны вопыт адаптуецца да аднаго з вышэйказаных шаблонаў, і самэ гэта паводзіць да таго, што прыемна спаказваць агентны RAG як набор інструментаў для прыняцьбы рашэнняў, а не як адну монолітную структуру. Шаблоны гэтыя па-прыроднаму адпаведаюць графічной оркестрацыі: класыфікацыя і маршрутызацыя станавяцца умовнымі рэшткамі, цыклы — цыкламі з лічыльнікам у стане, перагляд чалавеком — перарывам, а розгалужэння — паралельнымі галузямі, якія з’еднаюцца.
Спаўніце шаблон з адмовай
Някой прыкладнай программе не патрэбны ўсі гэтыя шаблоны, і кожны з іх прыносіць затрымкі, выклікі і дадатковыя элементы. Выбірайце на аднойчынку з адмовай, якую фактычна бачыце:
- Якш чыннікам ёсць якасц запошукаваных дадзенняў, можа быць достатнім перапісванне запыту з викорыстоўваннем класіфікатора рэлевантнасці.
- Якш у базе знанняяў є прасочыны, дадзіце альтернатыўны источнік дадзенняў.
- Якш вы вярніцеся да кальколька істочнаў знанняяў, дадзіце механізм маршрутызацыі.
- Якш дзеякія рашэннія патрабуюць надзору, дадзіце чалавечы пункт контролю.
Заключэнне
Запытк, які ведае да корыстных практычных улучшэнняў, — гэта не тое, як зробіць систему RAG болей агентскай. Гэта тое, дзе система нараз працуе слепа: перадае дакументы, якія ніхто не пераглядаў, шукае ў неправильным источніку, паверяецца непадтрыманым адпаведзеннем або прыймае рашэнне, якое павінен прыняць чалавек. Апрануце процес так, каб можна было бачыць, якія з гэтых проблем выступаюць частае, дадзіце найпростейшы пункт прыняцтва рашэння, які будзе фіксаваць найчастэйшыя проблемы, і знову пераканаце рэзультаты пры дадаванні наступных змян.