Strona główna / Artykuły

Dlaczego standardy oceny pamięci agentów wprowadzają w błąd i jak oceniać na własnych danych

Testy wydajności pamięci agentów wprowadzają w błąd dzięki błędnym kluczom odpowiedzi i oceniającym. Testuj wydobywanie informacji oddzielnie od odpowiedzi, dodaj sprawdzanie aktualności, powstrzymywania się od odpowiedzi oraz zapominania.

Wydawca: REACTAPP.TOP15 min czytania3531 słów

Źródła: Your Agent’s Memory Benchmark Is Measuring the Wrong Thing

Publiczne testy wydajności dotyczące pamięci agentów nie mogą wskazać, który system będzie odpowiedni dla danego problemu, a wiele z nich w ogóle nie potrafi wiarygodnie stwierdzić, który system jest lepszy. Dowody na to są oczywiste. W testie, który wszyscy cytują – prostym punkcie odniesienia polegającym na wklejeniu całej rozmowy do promptu – produkty specjalizujące się w pamięci przegrywają, jak wynika z samego artykułu opublikowanego przez dostawcę takich rozwiązań. Niezależna audytacja wykazała, że około sześć procent kluczy odpowiedzi w tym teście jest błędnych, a automatyczny system oceniania przyjmuje mniej więcej dwa na trzy celowo błędne odpowiedzi. Rozsądną decyzją jest zaprzestanie wyboru na podstawie rankingu i opracowanie oceny na podstawie własnych danych.

Rozważmy, w jaki sposób zespół zwykle wybiera system pamięci. Patrzy na listę liderów, bierze to, co znajduje się na szczycie, i wdraża to. Po trzech tygodniach pracy agent błędnie ocenia wartość, którą użytkownik poprawił już w zeszły wtorek. Zaczyna też kwestionować decyzję podjętą w poprzednim tygodniu. Jedyne dane potrzebne do zapytania pojawiają się poniżej czterech nieistotnych wyników. Testy porównawcze określiły ten system jako najlepszy na rynku, ale nie wspomniały nic o problemach samego zespołu.

Poniżej pojawia się pytanie, które towarzyszy każdej implementacji systemu pamięci: skąd wiemy, że on działa? Niepożądaną odpowiedzią jest to, że dane, do których zwykle się uciekają zespoły, nie potrafią na nie odpowiedzieć, a niektóre w ogóle nie mogą pomóc nikomu.

Ranking na liście liderów wskazuje jedynie, że system dobrze poradził sobie w teście kogoś innego, ocenionym przez innego sędziego, zgodnie z jego koncepcją prawidłowej odpowiedzi. Nie mówi to nic o tym, czy twój agent będzie pamiętał to, o czym użytkownik wspomniał trzy tygodnie temu. To są odrębne kwestie, a tylko jedna dotyczy ciebie.

Wskaźnik, który rozważasz, mierzy coś innego

Główny wynik wymaga refleksji. Weźmy najczęściej cytowany benchmark dotyczący pamięci konwersacyjnej. Metoda bez systemu pamięciowego, która po prostu wkleja całą rozmowę do promptu i odpowiada na jej podstawie, zajęła pierwsze miejsce, lekko wyprzedzając dedykowane rozwiązania pamięciowe w tym porównaniu. Żaden krytyk tego nie zauważył. Wyniki te zostały opublikowane w artykule wraz z dobrze znaną biblioteką pamięciową Mem0, w czasopiśmie poddawanym recenzji, gdzie autorzy stwierdzili, że pełny kontekst przewyższa ich własny system pod względem dokładności, przy około dziesięciokrotnie większej opóźnieniu na odpowiedź. Inny dostawca przytacza ten sam fakt dotyczący tego artykułu, więc nie jest to jednostronna interpretacja.

To mniej krępujące, niż się wydaje, a prawidłowe odczytanie ma znaczenie. Wklejenie wszystkiego zapewnia dokładność, ponieważ nic nie zostało pominięte. Po prostu to nie jest skalowalne ze względu na przepełnienie i kwadratową zależność kosztów. Dlatego benchmark, w takiej formie oceniany, przede wszystkim nagradza ten system, który najlepiej przybliża dokładność w pełnym kontekście, wydając przy tym mniej tokenów. To jest przydatne do pomiarów. To nie jest to samo co testowanie, czy system potrafi przywołać jakiś szczegół podany przez użytkownika miesiąc wcześniej, a każdy, kto interpretuje ranking w ten drugi sposób, dał się zwieść własnemu założeniu.

Prawda obiektywna jest jeszcze bardziej niepewna. Odrębna audytacja, publiczna i możliwa do powtórzenia, choć nieprzeprowadzona przez ekspertów z tej samej dziedziny, dokonała szczegółowej analizy klucza odpowiedzi do testu i stwierdziła, że około sześć procent z nich jest błędnych: wymyślone fakty, błędne rozumowanie czasowe, odpowiedzi przypisane niewłaściwemu uczestnikowi. Gdy audytorzy podali standardowemu automatycznemu systemowi oceniania błędne, ale wiarygodne odpowiedzi, ten przyjął około dwóch trzecich z nich. Istnieje jednak jedna ważna uwaga. Autorzy audytacji, Penfield, sami tworzą systemy pamięci, więc nie są neutralni. Jednak badania te da się powtórzyć, a otwarte problemy w własnym repozytorium testu wskazują w tym samym kierunku, więc problem jest rzeczywisty, nawet jeśli osoba przekazująca informacje jest podważana. Implikacje są poważne. Wskaźnik benchmarku z sześcioprocentowym współczynnikiem błędu nie jest w stanie odróżnić dwóch systemów, które różnią się o mniej niż sześć procent, a narzędzie oceniające, które uznaje za poprawne dwie trzecie wyników uzyskanych przypadkowo, mierzy pewność siebie, a nie poprawność.

Liczby podawane przez różnych producentów również się różnią. Dwa najbardziej znane producenci pamięci publikują dla tego samego benchmarku sprzeczne wyniki – każdy przeprowadził testy na systemie drugiej strony i uzyskał rezultat, który druga strona kwestionuje, ponieważ wynik w dużej mierze zależy od tego, kto skonfigurował integrację. Liczba przedstawiona w nagłówku, która zmienia się o kilka punktów w zależności od ustawień, to element marketingu, a nie pomiaru. Nic z tego nie oznacza, że systemy są złe. Oznacza to jedynie, że lista najlepszych systemów nie może ich dla ciebie posortować, a tym bardziej nie w kontekście twojej dziedziny.

Długi kontekst to nie pamięć, a benchmarki te dwa pojęcia ze sobą mylą

Cichsze zamieszanie psuje porównania, zanim w ogóle się rozpoczną. Długi kontekst i pamięć to różne rzeczy, a mimo to wiele ocen traktuje je jak jeden wymiar. Sytuacja „igły w stogu siana”, gdy jedno zdanie jest ukryte w długim dokumencie, a model musi je znaleźć, testuje zdolność uwagi wobec pojedynczego, stałego wejścia. Jest to praktyczny test wstępny, pozbawiony naukowych podstaw – jedynie szeroko kopiowany schemat. Bardziej rygorystyczny benchmark, RULER, wykazał, że wiele modeli reklamowanych jako posiadające duże okna kontekstowe ma w rzeczywistości znacznie krótszy zasięg niż podaje to ich opis. Obie metody mierzą pojemność, czyli to, jak dużą część danego promptu model faktycznie może wykorzystać.

Pamięć oznacza ciągłość pomiędzy sesjami. W poniedziałek agent coś bierze, rozmowa się kończy, a okno zostaje wyczyszczone, a do piątku powinien nadal o tym wiedzieć. LoCoMo i LongMemEval, standardy oceny pamięci konwersacyjnej, testują ten cykl przechowywania, a następnie przywoływania informacji w ramach wielu sesji, więc należą do tej samej grupy, niezależnie od swoich wad.

Dwa warstwy do przetestowania

Gdy standardowe testy okazują się niewystarczające, alternatywą jest stworzenie własnego standardu, a pierwszym krokiem w jego projektowaniu jest decyzja o tym, jak go podzielić. Należy go podzielić na dwie warstwy: jedna służy do wyszukiwania informacji – czy system pamięci przywołał właściwe fakty? Druga odpowiada za generowanie odpowiedzi – czy agent w końcu odpowiedział lub działał prawidłowo? Obie warstwy mogą zawieść niezależnie od siebie, a jedna wartość dokładności end-to-end jest obliczana jako średnia z obu, co ukrywa to, co się nie udało.

Rozdzielenie to nie jest nowością. Framework RAGAS o otwartym kodzie źródłowym, opisany w artykule z 2024 roku, jest na nim zbudowany – oddziela on zdolność narzędzia do wyszukiwania istotnego kontekstu od umiejętności modelu wiernego wykorzystania tego kontekstu. TruLens opisuje tę samą koncepcję jako triadę: istotność kontekstu dla procesu wyszukiwania, uzasadnienie odpowiedzi w odniesieniu do tego, co zostało znalezione, oraz istotność samej odpowiedzi w kontekście tego, czy zostało odpowiedziane na postawione pytanie. Nazwy się różnią, ale podział jest taki sam.

Oba warstwy są potrzebne, a to jest część, którą zespoły pomijają. Dobry mechanizm wyszukiwania może nadal dostarczyć błędną odpowiedź, ponieważ prawidłowe fakty znajdują się w kontekście, a model je ignoruje, błędnie je analizuje lub łączy z tym, w co już wierzył. Dlatego właśnie pojęcie uzasadnioności stanowi odrębną miarę. Zły mechanizm wyszukiwania może jednak dostarczyć prawidłową odpowiedź, ponieważ model wypełnia lukę na podstawie swojej parametrycznej wiedzy, a to jest jeszcze bardziej niebezpieczny przypadek. Wynik end-to-end wygląda na „poprawny”, mimo że warstwa pamięci nie przyniosła żadnych użytecznych informacji – to błąd, który okaże się później przy faktach z danej dziedziny, których model po prostu nie znał. Pomiar tylko ostatecznej odpowiedzi nie pozwala odróżnić prawidłowej pamięci roboczej od szczęśliwego przypuszczenia.

Wyszukiwanie zasługuje na metryki rankingowe, a nie na subiektywną ocenę modeli językowych

Warstwa wyodrębniania to ta, w której arytmetyka może przeprowadzać ocenę, a arytmetyka nie ma żadnych opinii. Metryki pochodzą z klasycznej techniki wyodrębniania informacji i są stosowane od dziesięcioleci:

  • Recall@k to udział faktów, które powinny zostać wyodrębnione i które rzeczywiście pojawiły się w pierwszych k elementach. Jest przydatny, gdy model późniejszy toleruje elementy rozpraszające, a głównym celem jest obecność potrzebnego faktu.
  • Precision@k to odsetek wyodrębnionych elementów, które okazały się istotne. Ma znaczenie, gdy przestrzeń kontekstowa jest ograniczona, a każda zmarnowana pozycja kosztuje tokeny lub odciąga model od właściwego kierunku.
  • Średnia odwrotna pozycja nagradza umieszczenie właściwego faktu na pierwszym miejscu, szczególnie w przypadkach faktoidów, gdzie liczy się tylko pierwszy wynik.
  • Normalizowany dyskontowany zysk kumulatywny nadaje się do oceny stopnia istotności, gdzie kolejność ma znaczenie, ponieważ model przywiązuje większą wagę do wcześniejszego kontekstu.
  • Wskaźnik trafień, czy w ogóle pojawiło się coś istotnego, stanowi prosty kryterium wstępnej oceny.
  • Wybierz ten rodzaj miary, który najlepiej odpowiada sposobowi, w jaki twój agent odczytuje swoją pamięć.

    Prawie żadna zespoły nie zwraca uwagi na następny punkt, który może być najważniejszy w tym kontekście. Popularne ramy oceny, takie jak RAGAS, TruLens i DeepEval, oferują metryki zwane recall kontekstowym i precyzją kontekstową, więc naturalne jest założenie, że są to właśnie wymienione powyżej metryki rankingu. Tak jednak nie jest. W większości tych narzędzi sędzia oparty na modelu językowym czyta pobrane fragmenty i ocenia je, zamiast porównywać je z oznaczoną listą faktów, które były rzeczywiście istotne. Zespół, który sądzi, że mierzy jakość pobierania informacji, w rzeczywistości prosi jeden model językowy o ocenę sposobu pobierania informacji przez inny model, przyjmując przy tym wszystkie uprzedzenia sędziego opartego na modelu językowym. Aby uzyskać rzeczywiste dane, potrzebna jest oznaczona lista faktów przechowywanych, które są istotne dla każdego zapytania – dopiero wtedy recall@k i inne metryki stanowią jedynie ich podsumowanie. Tworzenie takiej listy to prawdziwy wysiłek, a ramy te pozwalają go uniknąć. To wyjaśnia, dlaczego uczciwe liczby odnoszące się do procesu wydobywania informacji są rzadkie, podczas gdy panele kontrolne, które wyglądają na rzetelne, ale takimi nie są, są powszechne.

    Cztery aspekty, które pomijają ogólne metody oceny RAG

    Traktuj pamięć agenta jak zwykły pipeline RAG, a ocenisz zarówno jakość wydobywania informacji, jak i jakość odpowiedzi, po czym przestaniesz. To pomija cztery problemy związane wyłącznie z pamięcią, które pojawiają się tylko dlatego, że pamięć trwa i zmienia się z upływem czasu.

    Spójność. Czy agent powiedział coś, co jest sprzeczne z tym, co wcześniej powiedział użytkownikowi, lub z własnym wcześniejszym oświadczeniem? Standardowa ocena RAG nie może tego dostrzec, ponieważ każde zapytanie jest oceniane oddzielnie, ale pamięć przechowująca dwie przeciwstawne informacje może je pokazać w różnych dniach, co sprawi, że będą wydawać się niespójne. Możliwe jest też użycie liczb. Model NLI może oznaczyć późniejsze oświadczenie jako sprzeczne z wcześniejszym, stosując to do całej rozmowy oraz do informacji zwracanych przez sklep, dzięki czemu sprzeczność staje się mierzalną wskaźnikiem zamiast skargą użytkownika. Zbiory danych stworzone w celu wykrywania takich momentów w dialogu, w których jedna wypowiedź jest sprzeczna z drugą, formalizują właśnie tę koncepcję.

    Nowalność. Gdy fakt się zmieni, czy pamięć zwraca nową wartość, czy tę przestarzałą? LongMemEval (ICLR 2025) wymienia rozumowanie czasowe i aktualizacje wiedzy wśród pięciu sprawdzanych umiejętności, więc jest to uznawana kategoria, a nie coś luksusowego. Projekt, który przechodzi testy, jest dwuczasowy – fakt jest rejestrowany z dokładnością, kiedy istniał w rzeczywistym świecie oraz kiedy system o tym dowiedział się, a aktualizacja unieważnia starą wersję na podstawie daty czasowej, zamiast ją nadpisać. Systemy oparte na grafach czasowych, takie jak Graphiti i Zep, działają w ten sposób. Test jest prosty: po aktualizacji zapytanie zwraca nową wartość, a system nadal może poinformować, że stara wartość była prawdziwa wcześniej.

    Wycofanie się. Jeśli jakaś informacja nigdy nie trafiła do systemu, czy agent o tym mówi, czy coś wymyśla? LongMemEval traktuje wycofanie się jako odrębną umiejętność, i to słusznie: pamięć, która wymyśla informacje, jest gorsza od tej, która przyznaje brak danych, ponieważ to właśnie te pewne siebie wymysły ostatecznie otrzymuje klient. Ta koncepcja istnieje od dawna – pochodzi z testu zrozumienia tekstu z 2018 roku, zawierającego celowo bezradne pytania. W tym przypadku test jest prosty: należy zapytać o coś, czego nigdy nie zapisano; poprawny system nic nie znajdzie i odmówi odpowiedzi, natomiast uszkodzony wypełni tę ciszę swoimi wymysłami.

    Zapominanie. Czy dane, które miały zniknąć lub zostać usunięte, rzeczywiście zniknęły? Badania nad procesem unuczenia maszyn dostarczają wzorców w tym zakresie. TOFU, jeden z takich standardów, dzieli dane na zbiór do zapomnienia i zbiór do zachowania, sprawdzając nie tylko to, że do zapomnianych danych nie da się uzyskać dostępu, ale także że ich sąsiednie dane pozostają nietknięte. Testy pamięci stosują podobną strukturę: po usunięciu danej informacji nie można jej ani odzyskać, ani wywnioskować, natomiast powiązane informacje pozostają. Nie jest to to samo co kryterium świeżości. Zastąpienie wartości utrzymuje starą wartość celowo w pliku, podczas gdy prawdziwe usunięcie, takie jak to wymagane w związku z prośbą o ochronę prywatności, musi nie pozostawić żadnych śladów. System, który jedynie unieważnia dane, przechodzi test świeżości, ale nieudolnie radzi sobie z audytem dotyczącym prawa do zapomnienia – tylko ocena, która odróżnia te dwa przypadki, może to wykryć.

    Oceniaj odpowiedzi z udziałem sędziego, ale nie pozwól mu definiować prawdy

    Wyniki oceny opierają się na liczeniu. Odpowiedzi zazwyczaj nie nadają się do takiej oceny, ponieważ prawidłowa odpowiedź może być sformułowana na wiele sposobów, dlatego większość zespołów wykorzystuje LLM jako sędziego. To rozwiązanie funkcjonuje w dobrze udokumentowanych, lecz łatwych do zapomnienia ograniczeniach. Artykuł z 2023 roku, który przedstawił metodę wykorzystania LLM jako sędziego, stwierdził, że skuteczny sędzia w osiemdziesięciu procentach przypadków dorównywał ludzkim oceniającym, co tłumaczy popularność tej techniki. Artykuł ten opisał również przyczyny niepowodzeń: uprzedzenie pozycyjne, polegające na faworyzowaniu pierwszej napotkanej odpowiedzi; uprzedzenie dotyczące rozwlekłości, przy którym długość tekstu jest ceniona bardziej niż jego treść; oraz uprzedzenie samopochlebstwa, polegające na preferowaniu odpowiedzi napisanych w stylu samego modelu. Badanie z 2024 roku pogłębiło ten ostatni problem, pokazując, że model potrafi rozpoznać swój własny styl pisania, a im lepiej mu to wychodzi, tym bardziej go preferuje. Kolejne badanie z 2023 roku, G-Eval, pokazało, że oceny GPT-4 są w przyzwoitym stopniu zgodne z ocenami ludzi, ale wskazało na najważniejszy problem w tym kontekście – sędziowie skłaniają się ku tekstom płynnym, pewnym siebie i dobrze sformatowanym. To dokładnie charakterystyka odpowiedzi błędnej, ale podanej z pewnością siebie, co umożliwia przecieknięcie informacji, która brzmi poprawnie, choć zawiera błędną wartość.

    Niech sędzia będzie używany, ale trzeba go ograniczyć:

    • Oceniaj według kryteriów opartych na znanej poprawnej odpowiedzi, a nie na otwartym pytaniu „która jest lepsza”, aby sędzia sprawdzał fakty, a nie oceniał atmosferę.
    • Sprawdzaj, jak często system zgadza się z przykładami oznaczonymi przez ludzi z twoich własnych danych, ponieważ sędzia, który nie zgadza się z tobą w twojej dziedzinie, jest narzędziem niekalibrowanym.
    • Neutralizuj uprzedzenia związane z pozycją, tak jak zrobił to oryginalny artykuł: zamień kolejność kandydatów i oblicz średnią wyników.
    • Traktuj aktualizację na nowszy model sędziego jako migrację zestawu do oceny, a nie automatyczną poprawę. Wyniki uzyskane z nowego modelu nie są porównywalne z tymi ze starego, a cicha zamiana modeli zmienia liczby z powodów, które nie mają nic wspólnego z testowanym systemem.

    Sędzia to narzędzie do kalibracji, a nie źródło autorytetu, któremu trzeba się podporządkować.

    Składanie zestawu na podstawie własnych danych

    Wszystko opiera się na złotym zestawie: zamrożonej, oznaczonej kolekcji przypadków z Twojej dziedziny, przy czym każda pozycja łączy zapytanie z faktami, które należy pobrać, oraz odpowiedzią, która musi powstać. Działa to jak zestaw do testów regresji – narzędzie, które musi nadal dawać poprawne wyniki, dostosowane do niedeterministycznego wyjścia. Wiele zespołów zaczyna od kilkuset ręcznie dobranej przypadków. Ten zakres jest orientacyjną zasadą praktyków, a nie regułą obowiązującą we wszystkich przypadkach, więc traktuj go jako punkt wyjścia, który może się rozwijać.

    Budowa zestawu nie jest trudna; trudne jest utrzymanie jego dokładności. Zestaw „zamrożony” stopniowo przestaje odpowiadać rzeczywistemu ruchowi, gdy produkt, korpus danych i użytkownicy się zmieniają, a kompletnie aktualny zestaw na bazie przestarzałych danych rodzi fałszywą pewność siebie – najdroższy rodzaj błędu. Rozwiązaniem jest pętla: bierze się błędy z produkcji i włącza je do zestawu „złotego” jako świeże, oznaczone przypadki, usuwa te, które już nie odzwierciedlają rzeczywistości, dzięki czemu zestaw podąża za rozwojem produktu, a nie za jego starym obrazem. Syntetyczne przypadki mogą służyć jako punkty wyjścia do tworzenia danych, a kilka frameworków je generuje, ale przypadki te noszą ze sobą ograniczenia modelu, który je stworzył, dlatego nadal potrzebny jest zestaw weryfikowany przez człowieka.

    Ten zestaw narzędzi działa wtedy w dwóch miejscach, ponieważ tryb offline i online wykrywają różne błędy. W trybie offline, na podstawie złotej bazy danych, kontroluje procesy wypuszczania oprogramowania: są one powtarzalne i deterministyczne, a system potwierdza, że nic z tego, co już było znane, nie uległo uszkodzeniu. W trybie online, na podstawie przeprowadzonych pomiarów rzeczywistych danych, wykrywa to, czego zimna baza danych nigdy nie mogłaby dostrzec, takie jak zmiany w rozkładzie danych, nietypowe zapytania o długim ogonie, których nikt nie przewidział, oraz powolne starzenie się systemu, które pojawia się dopiero po tygodniach gromadzenia się danych. Zielony wynik działania w trybie offline oznacza, że to, co jest znane, pozostaje nienaruszone; monitorowanie online pokazuje to, co jest nieznane. Traktuj pierwszy wynik jako zgodę na wypuszczenie produktu, a nie jako dowód na to, że funkcjonuje on poprawnie.

    Koszt i opóźnienie powinny być uwzględniane w tym samym zestawieniu

    Koszt i opóźnienie to elementy, które większość ocen pomija, natomiast w przypadku pamięci są one obowiązkowe do uwzględnienia. Pamięć znajduje się na kluczowej ścieżce każdej rundy, więc jej czas dostępu, mierzony na poziomie p95 i nieukryty w średniej wartości, określa, jak szybko agent może odpowiedzieć. Liczba tokenów na rundę stanowi całe uzasadnienie ekonomiczne: pamięć istnieje po to, by zużywać mniej tokenów niż przy wklejaniu całej historii, więc warstwa, która dodaje więcej tokenów, niż oszczędza, nie spełnia swojego głównego celu, nawet gdy dokładność jest identyczna. Rozwój pamięci to powolna regresja, która z każdym tygodniem dodaje opóźnienie i rozpraszacze uwagi, aż dostęp do informacji staje się wyraźnie gorszy, przy czym żaden test dokładności w konkretnym momencie nie wskazał na problem. Koszt ścieżki zapisu, czyli praca związana z wydobywaniem i synchronizacją danych, to rzeczywista obliczeniowa praca, której nie pokazuje wartość dokładności.

    Pamięć powinna być budowana z myślą o efektywności i spójności, a ocena jest tym, co to potwierdza. Wyższa dokładność uzyskana dzięki dodatkowym pół sekundzie na każdym ruchu, przy koszcie przewyższającym oszczędności, nie czyni lepszej pamięci, ale tabela wyników zawierająca tylko kolumnę dokładności tak będzie sugerować. Gdy obok jakości podano opóźnienie i koszt, kompromisy stają się widoczne, a nie przypadkowe.

    Jak wygląda to urządzenie w praktyce

    Abstrakcyjnie rzecz biorąc, urządzenie składa się z dwóch warstw, czterech sprawdzeń pamięci, skalibrowanego sędziego, złotej bazy aktualizowanej z produkcji oraz kosztu podanego obok dokładności. Dwa szkice pokazują, co to oznacza w praktyce.

    Załóżmy, że platforma do zarządzania bogactwem przechowuje swoją pamięć jako graf wiedzy składający się z niewielu typów entytetów i relacji, zaopatrywany przez wieloetapowy proces wydobywania danych, który przypisuje do każdego faktu wynik pewności w zakresie od zera do jednego. Zespół nie oceniałby go, pytając model, czy odpowiedzi wydają się dobre. Zamiast tego sprawdzałby bezpośrednio warstwę wyszukiwania na podstawie oznakowanych zbiorów dokumentów, w których właściwe entytety i relacje są już znane, dzięki czemu wskaźniki odzyskiwania i precyzji są konkretnymi liczbami, a nie subiektywnymi wrażeniami. Czasowość również podlegała celowej weryfikacji – jeśli nowszy dokument zmienia coś, co stwierdził starszy, zapytanie musiało zwrócić zaktualizowaną wartość. Ta sama zasada oceniania grafu przed tym, jak agenty się na nim opierają, jest stosowana również w przypadku pamięci agentów.

    Załóżmy teraz system analizy prawnej składający się z kilkudziesięciu agentów, z których niektórzy pełnią rolę oceniających, a inni analityków, dzielących się ustrukturyzowaną tabelą ocen zamiast przekazywać sobie transkrypcje. Spójność staje się tam kluczową miarą, ponieważ agent, który kwestionuje ustaloną ocenę w wspólnym stanie, stanowi mierzalną wadę, a nie coś, co ktoś po prostu zauważył. Koszt na jeden ruch znajduje się na tym samym panelu co jakość, ponieważ warstwa routingu, która decyduje, jakich agentów faktycznie potrzebuje dokument, i znacznie ogranicza liczba wywołań modelu, ma sens być utrzymywana tylko wtedy, gdy ocena pokazuje, że jakość pozostała na tym samym poziomie, a koszt spadł. Żaden z tych systemów nie zyskuje zaufania poprzez przewyższenie standardów. Oba zyskują je dzięki pomiarom na własnych danych, w ramach poszczególnych warstw oraz kontroli odpowiadających wykonywanym zadaniom.

    Oznaki, że problemem jest ocena

    Kilka objawów wskazuje na sam proces oceny, a nie na model, bazę danych czy mechanizm wyszukiwania:

    • System pamięci został wybrany z listy najlepszych rozwiązań, a wyniki w produkcji ciągle się z nimi nie zgadzają.
    • Jedyną miarą jest dokładność odpowiedzi od początku do końca, więc nie można przypisać awarii błędu w wyszukiwaniu ani błędnym faktom otrzymanym od modelu.
    • Liczby dotyczące wyszukiwania pochodzą z metryki odzyskiwania kontekstu w ramach określonego frameworku, a nie istnieje żaden zaznaczony zbiór danych, co oznacza, że model LLM ocenia proces wyszukiwania, nazywając to miarą.
    • Agent sprzecza się sam ze sobą lub dostarcza przestarzałe fakty, a cały system nigdy by tego nie zauważył, ponieważ testuje pojedyncze zapytania i ignoruje spójność, aktualność, powstrzymywanie się od działania oraz zapominanie.
    • Nikt nie wie, jaki wpływ miała najnowsza zmiana w pamięci na opóźnienia lub zużycie tokenów, ponieważ jedyną informacją, którą ktoś rejestruje, jest dokładność.

    Biorąc pod uwagę ten wzorzec, silniejszy model czy sprytniejszy mechanizm wyszukiwania nie uratują sytuacji, ponieważ tego, czego nie można zaobserwować, nie da się poprawić. Rozwiązaniem jest specjalna struktura: oddzielenie procesu wyszukiwania od generowania odpowiedzi, ocena wyników wyszukiwania za pomocą metryk rankingowych na zaznaczonym zbiorze danych, dodanie czterech sprawdzeń pamięci, kalibracja osoby oceniającej zamiast jej bezkrytycznego uznawania, aktualizacja „złotego zbioru” danymi z rzeczywistych zastosowań oraz podawanie informacji o kosztach i opóźnieniach obok dokładności.

    To również zamyka szerszą dyskusję. Okno kontekstowe to nie pamięć. Magazyn utworzony w jego miejsce musi być odczytywany poprzez sortowanie, a nie przez wyszukiwanie. Zbiór danych używanych przez model musi być zarządzany, a nie tylko powiększany, a ścieżka zapisu musi integrować dane, zamiast je gromadzić. Całość musi zostać oceniona na podstawie własnych danych, uwzględniając proces pozyskiwania informacji, generowanie odpowiedzi oraz cztery sprawdzenia, których pomijają publiczne benchmarki, z uwzględnieniem kosztów i opóźnień obok dokładności – ponieważ lista liderów naprawdę nie może dostarczyć informacji, których potrzebujesz. Stwórz pamięć wraz z jej oceną, a dzięki liczbom będziesz wiedział, czy agent pamięta. Pominąwszy ocenę, działasz na podstawie wyników kogoś innego w sprawie, która nigdy nie była jego problemem.

    Literatura pokrewna

  • Dlaczego pamięć agenta kodującego powinna przechowywać tylko różnicę, i jak ją zapisywać — Pamięć agenta powinna rejestrować tylko to, czego model nie mógł odgadnąć. Cztery testy dla każdej pozycji, trzy wymagania dotyczące przechowywania oraz dlaczego markdown w git pasuje.