Baza wiedzy
Jak bezpiecznie zatwierdzać zmiany tworzone przez agentów AI?
Jak oddzielić propozycję agenta AI od zgody na wdrożenie, sprawdzić dowody, testy i skutki zmiany oraz zachować możliwość bezpiecznego wycofania.
Jak kontrolować i zatwierdzać zmiany przygotowane przez agenta AI, zanim wpłyną na działający proces?
Agent powinien przygotować zmianę wraz z zakresem, dowodami, wynikami testów i planem wycofania, ale nie powinien sam zatwierdzać własnej pracy. Jednoznaczne reguły warto sprawdzać automatycznie, ryzykowne zmiany testować poza produkcją, a zgodę przypisać osobie niezależnej od wykonawcy i odpowiedzialnej za skutek biznesowy.
Agent AI może dziś przygotować poprawkę w kodzie, zmienić konfigurację, zaktualizować dokumentację, przekształcić dane albo zaproponować nową regułę procesu. Problem zaczyna się wtedy, gdy szybkość wykonania zostaje pomylona z prawem do wdrożenia.
Zmiana przygotowana przez agenta nadal wymaga kontroli odpowiedniej do jej skutków. Najważniejsze jest rozdzielenie dwóch ról: system może wykonać analizę i przygotować propozycję, ale zgodę na zmianę powinien wydać mechanizm lub człowiek, który nie opiera decyzji wyłącznie na zapewnieniu tego samego agenta.
Najpierw ustal, co agent może zmieniać
Nie każda zmiana oznacza edycję kodu. W firmowym procesie agent może wpływać także na:
- treść wiadomości wysyłanej do klienta;
- status lub wartość rekordu w CRM;
- konfigurację integracji;
- regułę klasyfikacji zgłoszeń;
- dokumentację obowiązującej procedury;
- cennik, limit albo warunek akceptacji;
- plik używany przez kolejny automat;
- uprawnienia i zakres dostępu;
- polecenie wykonane w zewnętrznym systemie.
Dlatego rejestr zmian powinien obejmować nie tylko repozytorium kodu. Trzeba wskazać wszystkie miejsca, w których rezultat agenta może stać się obowiązującą wersją albo uruchomić dalsze działanie.
Przy każdym takim miejscu określ trzy rzeczy: kto jest właścicielem skutku, jak można sprawdzić poprawność i czy zmianę da się bezpiecznie wycofać.
Oddziel propozycję od zgody na wdrożenie
Najprostsza i najważniejsza zasada brzmi: agent nie zatwierdza własnej pracy.
Może przygotować zmianę, wyjaśnić przesłanki i uruchomić dozwolone testy. Nie powinien jednak sam uznać, że wynik jest poprawny tylko dlatego, że jego analiza nie wykazała problemu.
W materiale AWS opisującym program ConnectiveRx zastosowano zasadę „AI proponuje, ludzie decydują”. Studium pokazuje sposób organizacji pracy, w którym zespoły biznesowe, analitycy, programiści i osoby odpowiedzialne za jakość pracują nad rzeczywistymi przypadkami. Deklarowane skrócenie pracy pochodzi od klienta i dostawcy, więc nie jest uniwersalnym benchmarkiem. Trwałym wnioskiem jest natomiast rozdzielenie generowania rozwiązania od decyzji o jego przyjęciu.
W małej firmie nie musi to oznaczać wieloosobowego komitetu. Wystarczy, że właściciel procesu lub osoba odpowiedzialna za dany system otrzyma komplet dowodów i może świadomie wybrać: zatwierdź, popraw, odrzuć albo przetestuj szerzej.
Wymagaj kompletnego pakietu zmiany
Osoba zatwierdzająca nie powinna odtwarzać z rozmowy z agentem, co właściwie zostało zmienione. Każda propozycja powinna mieć powtarzalny format.
Minimalny pakiet zmiany zawiera:
- cel biznesowy;
- dokładny zakres zmienionych elementów;
- źródła danych i przesłanki decyzji;
- porównanie z wersją obowiązującą;
- wyniki automatycznych kontroli;
- przypadki sprawdzone ręcznie;
- znane ograniczenia i elementy nieprzetestowane;
- przewidywany wpływ na procesy zależne;
- plan wdrożenia;
- sposób wycofania zmiany.
Jeśli agent nie potrafi wskazać, czego nie sprawdził, pakiet jest niekompletny. Brak listy ograniczeń bywa groźniejszy niż pojedynczy niezaliczony test, ponieważ tworzy fałszywe poczucie pewności.
Sprawdzaj jednoznaczne reguły automatycznie
Nie każda kontrola wymaga oceny człowieka. To, co da się wyrazić jako jednoznaczną regułę, warto wymuszać technicznie.
Przykładowe kontrole mogą sprawdzać:
- poprawność formatu i wymaganych pól;
- zgodność z dozwolonym schematem danych;
- brak wartości spoza ustalonego zakresu;
- zachowanie uprawnień;
- brak niezamierzonej zmiany w chronionych elementach;
- przejście testów procesu;
- brak duplikatu operacji;
- zgodność sumy, liczby rekordów lub stanu przed i po zmianie.
Google opisał system bezpieczeństwa, w którym agent skanujący jest oddzielony od agenta prowadzącego triage, a wyniki są dodatkowo sprawdzane za pomocą analizy struktury kodu, grafu wywołań i reguł bezpieczeństwa. Druga warstwa kontroli działa po przyjęciu zmian i szuka problemów obejmujących więcej niż jeden element. To przykład z bardzo dużej organizacji, nie gotowy przepis dla każdej firmy. Pokazuje jednak ważną zasadę: ocena modelu powinna być uzupełniona kontrolą, która potrafi jednoznacznie potwierdzić lub odrzucić część twierdzeń.
Testuj poza działającym procesem
Zmiana o nieznanym wpływie nie powinna być po raz pierwszy sprawdzana na danych klienta ani w działającej integracji. Potrzebne jest środowisko, kopia danych albo tryb symulacji, w którym błąd nie wywoła rzeczywistego skutku.
Zakres testu zależy od rodzaju zmiany:
- wiadomość można wysłać do kontrolnego odbiorcy;
- regułę klasyfikacji można sprawdzić na zamkniętych sprawach;
- zmianę danych można uruchomić na kopii i porównać liczbę oraz wartości rekordów;
- konfigurację integracji można przetestować na ograniczonym koncie;
- nowy wariant procesu można uruchomić równolegle w trybie obserwacyjnym;
- poprawkę techniczną można sprawdzić w izolowanym środowisku i przeprowadzić test regresji.
Test powinien obejmować nie tylko poprawny przypadek. Trzeba sprawdzić brakujące dane, sprzeczne informacje, niedostępność zależnej usługi, przerwanie w połowie i ponowne uruchomienie.
Dobierz niezależność kontroli do ryzyka
Niezależna kontrola nie zawsze oznacza zewnętrzny audyt. Chodzi o to, aby osoba lub mechanizm zatwierdzający nie powtarzał bezkrytycznie toku rozumowania wykonawcy.
NIST Secure Software Development Framework zaleca, aby projekt pod kątem wymagań bezpieczeństwa sprawdzała wykwalifikowana osoba nieuczestnicząca w jego przygotowaniu lub niezależny proces automatyczny w narzędziach. NIST zaleca także zapisywanie ustaleń z przeglądu. Ramy dotyczą oprogramowania, ale wzorzec można rozsądnie zastosować do innych zmian o większym wpływie: rozdziel wykonanie, weryfikację i zgodę.
Poziom kontroli można stopniować:
- niskie ryzyko: automatyczne testy i przegląd autora procesu;
- średnie ryzyko: przegląd drugiej osoby oraz test na ograniczonym zakresie;
- wysokie ryzyko: niezależny właściciel akceptacji, pełny ślad dowodów i plan wycofania;
- skutek trudny do odwrócenia: brak automatycznego wdrożenia bez wyraźnej zgody osoby odpowiedzialnej.
Samo kliknięcie „zatwierdź” nie jest kontrolą, jeśli zatwierdzający nie widzi różnicy, dowodów i wyniku testów.
Wdrażaj etapami i obserwuj rezultat
Pozytywny wynik testu nie gwarantuje identycznego zachowania w produkcji. Rzeczywiste dane są bardziej zróżnicowane, a zależności mogą zmieniać się w czasie.
Bezpieczne wdrożenie może przechodzić przez kolejne poziomy:
- symulacja bez zapisu;
- uruchomienie na kopii danych;
- tryb obserwacyjny obok istniejącego procesu;
- mała grupa przypadków;
- szerszy zakres z możliwością szybkiego zatrzymania;
- pełne użycie po potwierdzeniu mierników.
NIST AI RMF Playbook wskazuje znaczenie monitorowania systemu po wdrożeniu, mechanizmów odwołania i nadpisania wyniku, reagowania na incydenty oraz zarządzania zmianą. Dla firmy oznacza to, że odbiór nie kończy się w chwili wdrożenia. Trzeba nadal mierzyć błędy, ręczne poprawki, zatrzymania i skutki w procesach zależnych.
Zachowaj możliwość wycofania
Plan wycofania powinien istnieć przed zgodą, nie dopiero po awarii. Musi odpowiadać na konkretne pytania:
- jaka wersja jest obecnie obowiązująca;
- jak przywrócić poprzednią konfigurację lub dane;
- które działania są już nieodwracalne;
- jak zatrzymać kolejne wykonania;
- kto podejmuje decyzję o wycofaniu;
- jak sprawdzić, czy powrót rzeczywiście się udał;
- które osoby i systemy trzeba powiadomić.
Przy zmianie danych sama kopia pliku może nie wystarczyć. Jeżeli rezultat został już przekazany do CRM, księgowości lub klienta, plan musi obejmować również skutki poza systemem, w którym pracował agent.
Zapisuj dowody, a nie tylko końcową wersję
Po kilku tygodniach ważne będzie nie tylko to, jaki jest obecny stan. Firma powinna móc ustalić:
- kto lub co przygotowało zmianę;
- na jakich danych i instrukcjach pracował agent;
- jakiej wersji modelu i narzędzi użyto;
- jakie kontrole wykonano;
- które testy przeszły, a których nie wykonano;
- kto zatwierdził wdrożenie;
- kiedy zmiana zaczęła działać;
- czy po wdrożeniu pojawiły się wyjątki.
Taki ślad pozwala odróżnić błąd danych, instrukcji, narzędzia, modelu i decyzji człowieka. Bez niego każda awaria kończy się sporem opartym na pamięci zamiast analizą faktów.
Prosta bramka przed wdrożeniem
Przed przyjęciem zmiany zadaj siedem pytań:
- Co dokładnie się zmieniło?
- Jaki problem biznesowy rozwiązuje ta zmiana?
- Jakie dowody potwierdzają, że propozycja jest poprawna?
- Które jednoznaczne reguły sprawdzono automatycznie?
- Gdzie i na jakich przypadkach wykonano test?
- Kto niezależnie ocenił rezultat oraz jego wpływ?
- Jak zatrzymać lub wycofać zmianę?
Jeśli na któreś pytanie nie ma odpowiedzi, właściwą decyzją nie jest automatyczne odrzucenie całego pomysłu. Zmiana powinna wrócić do uzupełnienia albo pozostać w ograniczonym trybie testowym.
Zacznij od jednego rodzaju zmian
Nie buduj od razu uniwersalnego systemu zatwierdzania wszystkiego. Wybierz jeden powtarzalny obszar, na przykład aktualizację dokumentacji, zmianę reguł klasyfikacji albo poprawkę konfiguracji integracji.
Ustal dla niego wymagany pakiet dowodów, automatyczne kontrole, środowisko testowe, właściciela akceptacji i plan wycofania. Po kilku zmianach sprawdź, które elementy procesu rzeczywiście wykrywają problemy, a które tylko zwiększają liczbę formalności.
Bezpieczna praca z agentami nie polega na ręcznym kontrolowaniu każdego zdania. Polega na tym, aby agent nie mógł zamienić własnej propozycji w obowiązującą zmianę bez dowodów, niezależnej kontroli i możliwości cofnięcia skutku.