Wynik narzędzia wymaga niezależnych kontroli, ponieważ pomyślne wywołanie dowodzi jedynie, że narzędzie zwróciło odpowiedź, a nie że wynik jest poprawny, aktualny lub kompletny.
Agent domowy może otrzymać kod HTTP 200 z narzędzia pamięci masowej, mimo że zmierzono niewłaściwy folder, albo zaakceptować stan „zablokowane” z interfejsu API urządzenia, zanim fizyczny stan rzeczywiście się zmieni. Powtórzenie tego samego wywołania może odtworzyć tę samą usterkę. Weryfikacja dodaje niezależną obserwację lub regułę między zwróconą wartością a każdą decyzją, która od niej zależy.
Sukces transportu i sukces semantyczny to nie to samo
Odpowiedź narzędzia ma kilka warstw: status transportu, strukturę możliwą do sparsowania, zgodność ze schematem, znaczenie domenowe oraz zaobserwowany efekt uboczny. Każda z nich może przejść pomyślnie, podczas gdy kolejna zawiedzie. Pole zawierające liczbę wolnego miejsca może być poprawnym JSON-em, a mimo to zawierać nieaktualne dane lub dotyczyć niewłaściwego woluminu.
Praktyczny wzorzec warstwy weryfikacji wyników umieszcza walidację między surowym wynikiem agenta a jego dalszym wykorzystaniem. Rozróżnia kontrole formatu, asercje i bramki oparte na dowodach, zamiast uznawać płynnie sformułowany wynik za zakończenie działania. Rozróżnienie to pozostaje widoczne podczas późniejszych testów domowych.
Orkiestrator powinien reprezentować te warstwy oddzielnie. Narzędzie może być osiągalne, ale nieweryfikowane; proponowane działanie może być poprawne, ale niewykonane; a wykonanie może zgłaszać sukces, zanim system docelowy potwierdzi zmianę stanu.
Niezależne kontrole potrzebują innej ścieżki błędu
Skuteczna weryfikacja nie polega na proszeniu tego samego komponentu o potwierdzenie własnego działania. Utworzenie pliku można sprawdzić, odczytując metadane lub sumę kontrolną, zapis do bazy danych — wykonując odczyt z autorytatywnego magazynu, a polecenie dla inteligentnego domu — korzystając z czujnika stanu zamiast potwierdzenia przyjęcia polecenia.
Weryfikowalny stan agenta modeluje system agenta jako niedeterministyczny komponent wewnątrz weryfikowalnej maszyny stanów z jawnymi właściwościami bezpieczeństwa. Podejście to pokazuje, dlaczego ograniczenia i monitory czasu działania powinny należeć do warstwy orkiestracji, poza rozumowaniem modelu w swobodnej formie.
Najlepsza kontrola zależy od konsekwencji. Wyszukiwanie niskiego ryzyka może sprawdzać schemat i obecność źródła, natomiast usunięcie wymaga dokładnego ustalenia celu, zatwierdzenia zgodności z zasadami oraz obserwacji po wykonaniu działania. Większa liczba kontroli nie oznacza automatycznie lepszej weryfikacji, jeśli korzystają one z jednego skażonego źródła.
Weryfikacja nadal może potwierdzać to samo błędne założenie
Dwa przebiegi LLM korzystające z tego samego promptu, kontekstu i modelu są skorelowane, a nie niezależne. Drugi punkt końcowy API może korzystać z tej samej bazy danych. Testy również mogą sprawdzać implementację, pomijając rzeczywistą intencję użytkownika. Zgodność zwiększa zatem zaufanie tylko wtedy, gdy różnią się tryby awarii.
Proces niezależnej pętli weryfikacyjnej rozdziela role implementacji, weryfikacji adwersarialnej i naprawy. Jego najważniejszą wartością nie jest liczba agentów, lecz celowa różnica między generowaniem wyniku a sprawdzaniem go względem zewnętrznego kryterium.
Granica awarii pojawia się wtedy, gdy konsekwencjalny wynik nie ma niezależnej, obserwowalnej prawdy. System powinien ujawnić niepewność i poprosić człowieka o potwierdzenie, zamiast tworzyć pozory pewności na podstawie powtarzanego rozumowania lub głosowania większościowego podobnych modeli. Wynik pośredni musi pozostać możliwy do skontrolowania, zanim automatyzacja podejmie działanie.
Zaprojektuj kontrolę dla jednego narzędzia o istotnych konsekwencjach
Wybierz jedno narzędzie, które może zmieniać dane lub stan urządzenia. Zapisz jego warunki wstępne, oczekiwany schemat odpowiedzi, niezmienniki domenowe, autorytatywny warunek po wykonaniu działania, limit czasu, granicę wycofania oraz dokładny warunek wymagający ludzkiej zgody przed uruchomieniem dowolnego testu.
Wykorzystaj ograniczenia samoweryfikacji opisane w artykule Ograniczenia weryfikacji agentów, aby oddzielić twierdzenia, które agent może sprawdzić, od fizycznych rezultatów, których nie może bezpośrednio zaobserwować. W bezpiecznym środowisku testowym wprowadź niewłaściwe cele, nieaktualne odpowiedzi, częściowe powodzenie i fałszywe potwierdzenia.
Test uznaj za zaliczony tylko wtedy, gdy weryfikator wykryje każdą wprowadzoną awarię semantyczną i zapobiegnie zależnemu od niej działaniu. Jeśli kontrola zależy od tego samego źródła lub nie może zaobserwować warunku po wykonaniu działania, oznacz wynik jako nieweryfikowany i ogranicz uprawnienia agenta.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Jakie czynniki decydują o dokładności cytowań RAG w domowej bazie wiedzy?
Dowiedz się, dlaczego trafne źródło może nadal być błędnym cytowaniem, które etapy potoku kontrolują poparcie i zakres oraz jak audytować twierdzenia RAG dotyczące gospodarstw...

Jakie funkcje umożliwiają niezawodne generowanie danych JSON przez lokalny model LLM?
Sprawdź, które funkcje wymuszają składnię JSON, które chronią poprawność semantyczną oraz jak testować lokalny model w różnych schematach, promptach i przypadkach błędów.

Lokalne pochodzenie danych AI: dlaczego każda odpowiedź potrzebuje możliwej do prześledzenia ścieżki źródłowej
Dowiedz się, jak ścieżki źródłowe sprawiają, że lokalne odpowiedzi AI można poddać audytowi, dlaczego same cytowania są niepełne oraz jak testować pochodzenie danych po...

