Przejdź do treści
AENEIA SIGNAL
Audit / Signal

AI w trybie cienia: porównaj wynik, nie wykonuj drugi raz operacji

Jak porównać nowy wariant AI na kopiach bieżących zapytań, zablokować drugie działania i uczciwie odczytać wyniki próby w trybie cienia.

Koncepcja świata Aeneia: ekspertka obraca trzy kamienne warstwy na podpartej osi w granatowo-czerwonym wnętrzu.
W tym artykule

Wyobraź sobie asystenta, którego nowa wersja trafnie rozpoznaje sprawy z zeszłorocznego zestawu. Firma zaczęła jednak sprzedawać inną usługę, klienci przesyłają dłuższe załączniki, a pytania przychodzą nowym formularzem. Archiwalny test nadal jest potrzebny, ale coraz słabiej pokazuje dzisiejszą pracę. Można więc podać nowemu wariantowi kopie bieżących zapytań i obejrzeć jego odpowiedzi, pozostawiając obsługę klienta dotychczasowej wersji. To właśnie tryb cienia. Cień powinien jednak obserwować, a nie załatwiać sprawy drugi raz.

Najważniejsza decyzja zapada przed wyborem narzędzia do kopiowania ruchu: co dokładnie wolno wykonać drugiemu przebiegowi? Jeśli powstaną dwie wysłane wiadomości, dwa zgłoszenia lub dwie rezerwacje, porównanie modeli stanie się bardzo praktycznym porównaniem przeprosin. Potrzebna jest granica między wyliczeniem proponowanej odpowiedzi a wykonaniem jej skutków oraz dowód, że ta granica rzeczywiście działa.

Co daje kopia bieżącego zapytania?

Dokumentacja wariantów produkcyjnych i cieni w SageMaker AI opisuje kopiowanie części zapytań do wariantu obserwowanego. Jego odpowiedzi są zapisywane do porównania, lecz nie wracają do wywołującego. Taki układ pozwala rozdzielić odpowiedź używaną przez klienta od odpowiedzi ocenianej podczas próby.

W praktyce najpierw zapisz pytanie badawcze. Może brzmieć: czy nowy wariant poprawnie rozpoznaje bieżące prośby o zmianę zakresu usługi, w tym te przesyłane przez nowy formularz? Samo „sprawdzamy nowy model na produkcji” jest za szerokie. Nie wiadomo, jakie rozbieżności zbierać, kto je oceni i czego nauczy się firma po tygodniu. Okres obserwacji powinien wynikać z rodzaju spraw i rytmu ich napływu, a nie wyłącznie z wolnego terminu w kalendarzu zespołu.

Odróżnij tę próbę od przygotowania odseparowanego środowiska testowego automatyzacji. Tam można celowo wytworzyć rzadkie błędy, zmienić zegar lub wysłać spreparowany załącznik. Bieżący ruch pokazuje natomiast przypadki, które rzeczywiście nadeszły w określonym czasie. Nie dostarczy automatycznie sytuacji awaryjnej, jeśli akurat żadna nie wystąpiła. Oba rodzaje sprawdzenia uzupełniają się; udany tydzień obserwacji nie zastępuje prób celowych.

Wybór zapytań do kopiowania też jest częścią wyniku. Wyłącznie krótkie wiadomości bez załączników dadzą wygodne porównanie, lecz niewiele powiedzą o nowym formularzu. Zapisz, jakie typy spraw uwzględniasz, jakie wykluczasz i dlaczego. Jeśli część materiałów nie może trafić do nowego dostawcy lub środowiska, wyłącz je przed kopiowaniem. To ograniczenie zakresu trzeba potem przenieść do wniosku, zamiast ukrywać je w technicznej konfiguracji. Sam pomysł obserwacji nie upoważnia do podłączenia kopii do działającej obsługi. Potrzebne są uzgodniony zakres i osobna zgoda na uruchomienie takiej próby.

Gdzie kończy się obserwacja, a zaczyna drugie działanie?

Azure Machine Learning rozróżnia rozdzielanie ruchu i jego kopiowanie. Przy kopiowaniu wyniki drugiego wdrożenia nie są zwracane klientom, natomiast powstają metryki i logi. Nie należy z tego wyprowadzać wniosku, że dowolna aplikacja uruchomiona za takim połączeniem nie wykona własnych działań w innych systemach.

Przyjmijmy roboczy przykład: dotychczasowy asystent czyta prośbę o przesunięcie terminu i przygotowuje propozycję odpowiedzi. Nowa wersja dodatkowo potrafi zmienić termin w kalendarzu. W próbie chcesz ocenić, czy zaproponuje właściwą datę, nie pozwalając jej rezerwować spotkań. Odłączenie okna czatu nie wystarczy, jeżeli agent zachował narzędzie kalendarza oraz uprawnienia do zapisu. Opis „tylko obserwacja” w instrukcji modelu również nie jest dowodem odłączenia działania.

Uzgodnij z wykonawcą zamianę takich narzędzi na kontrolowane odpowiedniki zapisujące zamiar. Zamiast wysyłać wiadomość, drugi przebieg tworzy rekord „wysłałbym wiadomość o tej treści do tej roli”. Zamiast zmieniać termin, zapisuje proponowaną datę i uzasadnienie. Gdy do oceny potrzebuje stanu kalendarza, ustal osobno sposób odczytu. Odczyt danych i prawo do ich zmiany nie powinny przypadkiem podróżować w jednym pakiecie uprawnień.

Dokumentacja kopiowania ruchu w Istio wskazuje, że odpowiedzi lustrzanego wywołania są odrzucane. Odrzucenie odpowiedzi na poziomie przesyłania ruchu nie jest jednak kontrolą wszystkich skutków kodu obsługującego żądanie. Dlatego w odbiorze wymagaj sprawdzenia zakazanych wyjść aplikacji, a nie jedynie potwierdzenia, że klient widzi starą odpowiedź.

Przed użyciem bieżących danych przeprowadź na sztucznej sprawie próbę niedozwolonego działania i obejrzyj rezultat w docelowym systemie. W protokole powinno być widać, co próbowano zrobić, gdzie nastąpiła blokada i czy pozostał jakikolwiek zapis. To proponowany warunek odbioru, nie deklaracja przeprowadzenia takiej próby w opisanym przykładzie. Jeśli blokady nie da się wykazać, wróć do izolowanego porównania. Do próby na bieżącym ruchu wrócisz po usunięciu tej przeszkody i osobnym zatwierdzeniu uruchomienia.

Blokada działania zmienia również dalszy przebieg rozmowy agenta z narzędziami. Gdy odpowiednik kalendarza zapisze zamiar rezerwacji, powinien zwrócić zrozumiały stan próby, a nie udawać rzeczywistą rezerwację. W przeciwnym razie model może wygenerować potwierdzenie nieistniejącego spotkania i taki tekst trafi do oceny jako rzekomy wynik całego procesu. Ustal, do którego punktu odpowiedź pozostaje porównywalna z działającą ścieżką. Dalsze kroki zależne od zmienionego stanu oznacz jako symulowane albo zakończ obserwowany przebieg przed nimi. Brak drugiego działania jest pożądany, ale ma konsekwencje dla tego, co wolno powiedzieć o wyniku.

Dobrze, by zapis próby rozdzielał trzy informacje: co model zaproponował, co dopuścił mechanizm kontrolny i co rzeczywiście nastąpiło. Nie sklejaj ich w jeden status „sukces”. W przykładzie poprawna data może współistnieć z prawidłową odmową wykonania rezerwacji. Oceniający powinien rozpoznać oba fakty bez zaglądania do wielu niepowiązanych logów. Taki rozdział ułatwia też znalezienie sytuacji, w której blokada zadziałała dopiero po niepożądanym częściowym zapisie.

Dwoje ekspertów porównuje próbkę kamienia przy mosiężnej wadze w granatowo-czerwonej pracowni.
Fotografia koncepcyjna AeneiaStół zrozumiałego dowodu

Jak porównywać dwie odpowiedzi do jednej sprawy?

Podstawą jest para wyników związana z tym samym wejściem. Nadaj jej identyfikator i zapisz wersję obu wariantów, czas wejścia, rodzaj sprawy oraz stan zakończenia każdego przebiegu. Brak odpowiedzi nowego modelu powinien pozostać brakiem odpowiedzi. Jeśli z zestawienia wypadną pary z błędem albo przekroczonym czasem, ocena jakości będzie dotyczyć wygodniejszego podzbioru niż rzeczywista próba.

W przykładzie kalendarza ważny jest również stan informacji. Stary wariant mógł zobaczyć wolny termin, a nowy odczytać kalendarz już po jego rezerwacji. Różnica propozycji nie musi wówczas oznaczać różnicy rozumowania. Ustal, które dane mają wspólną wersję, które są pobierane niezależnie i jak oznaczysz zmianę stanu między wywołaniami. Gdy nie umiesz tego rozstrzygnąć, zachowaj przypadek jako nieporównywalny z podanym powodem.

Ocena nie sprowadza się do identyczności zdań. Dwie różne odpowiedzi mogą poprawnie wskazywać tę samą datę i potrzebę zgody klienta. Dwie podobne mogą zgodnie pomijać ograniczenie zapisane w załączniku. Przygotuj kryteria związane z decyzją: rozpoznanie intencji, użyte dane, proponowana czynność, warunek jej wykonania i informacja dla człowieka. Ocena wyłącznie zgodności ze starym modelem traktowałaby każdy jego błąd jak wzorzec do naśladowania.

Dla każdego rozbieżnego przypadku potrzebna jest osoba, która potrafi przeczytać sprawę i uzasadnić rozstrzygnięcie. Można oddzielić ocenę od informacji, który wariant stworzył odpowiedź, a dopiero później porównać wyniki. Osobno odkładaj spory wymagające wiedzy właściciela procesu. Taki zapis jest bardziej użyteczny niż automatyczna etykieta „nowy lepszy”, której nikt nie potrafi wyjaśnić na konkretnym przykładzie.

Czy obserwacja nie obciąża bieżącej pracy?

Kopia zapytania oznacza dodatkowy przebieg, który trzeba uwzględnić w zasobach i kosztach próby. W projekcie ustal niezależny sposób zatrzymania cienia oraz warunek przerwania obserwacji, jeśli zaczyna utrudniać obsługę. Nie wiąż oczekiwania klienta z ukończeniem obu wariantów tylko dlatego, że łatwiej wtedy skleić parę w raporcie. Zespół porównawczy może poczekać na wynik; klient nie zapisał się na udział w eksperymencie organizacyjnym.

Jeżeli oba przebiegi korzystają ze wspólnego dostawcy lub budżetu, uwzględnij zależność opisaną w artykule o limitach API, kolejce i wspólnym budżecie AI. Zapisz liczbę zapytań wybranych, rzeczywiście skopiowanych, zakończonych i pominiętych. Bez tego łatwo pomylić małą liczbę wykrytych błędów z małą liczbą przypadków, które w ogóle dotarły do drugiego wariantu.

Wybór części ruchu nie powinien po cichu usuwać trudniejszych wejść. Jeżeli mechanizm rezygnuje z kopiowania długich wiadomości przy obciążeniu, zaznacz tę regułę oraz jej wystąpienia. Otrzymasz wówczas uczciwy wynik dla obserwowanego zakresu. Nie będzie to jednak odpowiedź na pytanie, jak nowa wersja radzi sobie ze wszystkimi długimi wiadomościami w godzinach największego ruchu.

Dochodzi jeszcze dodatkowy obieg danych: zapisane wejście, odpowiedź cienia, uzasadnienia oceniających i logi narzędzi. Uzupełnij rejestr przepływu danych w procesie AI, wskazując odbiorców, zakres dostępu i sposób zakończenia przechowywania materiału z próby. Kopia nie staje się anonimowa od tego, że służy badaniu. Konkretny zakres danych trzeba rozstrzygnąć przed uruchomieniem; ten tekst nie zastępuje oceny prawnej ich wykorzystania.

Z czym zakończyć próbę i czego jeszcze nie wiadomo?

Raport powinien łączyć wynik z granicami obserwacji. Podaj okres, wybrane typy spraw, obie wersje rozwiązania, kompletność par oraz rozstrzygnięte i nierozstrzygnięte rozbieżności. Pokaż kilka rzeczywistych kontekstów w zakresie dozwolonym dla odbiorcy. Zachowaj też regułę wyboru przykładów: jeśli omawiasz wyłącznie największe sukcesy albo wyłącznie awarie, odbiorca powinien to wiedzieć. Do listy rozbieżności dołącz status ich wyjaśnienia oraz właściciela następnego kroku. Nierozstrzygnięty przypadek nie staje się poprawny od tego, że nie zdążył trafić na spotkanie podsumowujące. Sam procent zgodności nie wyjaśni, czy różnice dotyczyły stylu odpowiedzi, terminu spotkania czy proponowanej zmiany danych klienta.

Tryb cienia nie pokaże pełnej reakcji użytkowników na nową odpowiedź, skoro jej nie otrzymali. Nie dowiedzie też, jak przebiegnie cały łańcuch działań po uruchomieniu narzędzi. Do tego potrzebne są odrębne warunki następnego etapu. Przy integracji kilku systemów przydaje się rozpisanie częściowego wykonania zadań agenta, łącznie z ustaleniem, co pozostaje do wyjaśnienia po przerwaniu pracy.

Decyzja o zmianie wersji należy do osobnego odbioru migracji modelu AI i porównania wyników. Ustal, jakie ustalenia z cienia są wystarczające, co wymaga poprawy, a jakie pytania nadal pozostają otwarte. Można zakończyć próbę bez przełączenia, zachowując wartościowy zestaw bieżących przypadków. To lepszy rezultat niż wdrożenie wynikające wyłącznie z tego, że minął planowany termin obserwacji.

W ramach Aeneia Audit można uporządkować taki operacyjny odbiór: pytanie do próby, granice działania, dowody wykonania i odpowiedzialność za decyzję. Zakres przeglądu trzeba ustalić zgodnie z używanym procesem i dostępem do materiałów.

Źródła pierwotne sprawdzono 30 października 2026 r. Opisane rozwiązania dostawców ilustrują mechanizm próby; nie oznaczają, że każda integracja korzysta z tej samej konfiguracji lub ma gotowe blokady działań.

Aeneia / Redakcja Aeneia

Tekst redakcyjny. Linki do źródeł znajdziesz w treści.

Źródła sprawdzone: .

O Aeneia
Aeneia / Initium

Od wiedzy do decyzji

Opowiedz nam, co chcesz uporządkować. Ustalimy, od czego zacząć.

Przejdź do kontaktu