Strona główna / Artykuły / Dlaczego agenci AI wyczerpują budżet, nie kończąc pracy, i jak im przeszkodzić

Dlaczego agenci AI wyczerpują budżet, nie kończąc pracy, i jak im przeszkodzić

Dowiedz się, dlaczego agenty wykorzystujące narzędzia wciąż się pętają, gdy wartość „done” nie jest zdefiniowana, dokąd trafia wydany token oraz które warunki zatrzymania są skuteczniejsze niż proste podniesienie limitów kroków lub budżetu.

1533 słów

Autonomiczny agent, który się zawodzi, jest łatwy do opanowania. Najdroższym błędem jest ten, który nigdy się nie zawodzi: ciągle wywołuje narzędzia, wytwarza kroki wyglądające na sensowne i nigdy nie dociera do mety, podczas gdy licznik tokenów nadal się zużywa. Ten artykuł wyjaśnia mechanizm takiego zachowania, gdzie zazwyczaj gromadzi się zużycie w agentze wymykającym się spod kontroli, oraz konkretne warunki zatrzymania, które temu przeszkadzają, aby można było zaprojektować pętle agentów, które wiedzą, kiedy są zakończone, zamiast polegać na większym budżecie do pokrycia strat.

Rozważmy skromny przykład: niezamierzony bieg po południu, który kosztuje 40 dolarów i nie przynosi żadnych rezultatów. Według standardów działania agentów to niewielka kwota; zespoły opowiadają historie o niekontrolowanych biegach przez noc, które kończyły się kwotami czterocyfrowymi. Wielkość rachunku nie jest najważniejsza – kluczowe jest to, co za niego kupiono. Agent nie utknął i nie wywołał żadnego błędu, na który można by wskazać. Był zajęty przez cały czas, pracując nad niczym.

Jak wygląda niekontrolowany agent w zapisie

Otwórz dziennik agenta, który zboczył z kursu, i rzadko znajdziesz ślad błędu. To, co tam znajdziesz, przypomina zapis sumiennego pracownika, który stracił orientację co do celu zadania.

Agent otwiera plik i go podsumowuje, następnie otwiera ten sam treść w nieco innej formie i ponownie ją podsumowuje. Wykonuje wyszukiwanie, uznaje, że odpowiedź nie jest do końca satysfakcjonująca, i ponownie wysyła zapytanie po zamianie kilku słów. Każdy krok, rozpatrywany osobno, ma uzasadnienie. Właśnie dlatego ten wzorzec jest trudny do zauważenia przy szybkim przeglądaniu – żadna pojedyncza operacja nie wygląda na błędną. Proces po prostu nigdy się nie zakończa.

Dlaczego model decyduje, kiedy skończyć

To zachowanie ma konkretną przyczynę, której warto się poznać, jeśli budujesz lub zarządzasz agentami. Każda odpowiedź modelu wykorzystującego narzędzia, takiego jak Claude, kończy się powodem zatrzymania wybranym z krótkiej, ustalonej listy. przewodnik Anthropic dotyczący radzenia sobie z powodami zatrzymania omawia kilka przypadków; dwa z nich mają największe znaczenie w kontekście pętli agentów. Pierwszy sygnalizuje, że model uważa swoją pracę za zakończoną:

"stop_reason": "end_turn"

Drugi sygnalizuje, że chce wywołać narzędzie i kontynuować:

"stop_reason": "tool_use"

Pętla agenta to zwykły kod aplikacji. Wysyła żądanie, uruchamia dowolne narzędzie wymagane przez model, odsyła wynik i powtarza ten proces, aż model zwróci end_turn. Nic poza modelem nie informuje o zakończeniu zadania. Przy każdej turze model sam dokonuje tej wywołania, oceniając, czy praca przed nim jest ukończona. Istnieją również inne powody zatrzymania, takie jak osiągnięcie limitu tokenów wyjściowych, ale są to przerwy, a nie decyzja o zakończeniu zadania.

To jedno fakty wyjaśnia całe niepowodzenie. Gdy cel jest zbyt ogólny, by model mógł stwierdzić, że go osiągnął, zawsze istnieje coś jeszcze, co warto sprawdzić, a pętla trwa dalej, dopóki nie interweniuje jakiś czynnik zewnętrzny, zwykle alert dotyczący budżetu. Aby zapoznać się z podejściem na poziomie kodu do projektowania pętli, zobacz ograniczone pętle agentowe oraz niezawodne wzory TypeScript do wykorzystania w narzędziach opartych na LLM.

Jak częste jest to zjawisko

Jest kuszące traktowanie tego jako osobliwości konkretnej narzędzia. Szerzej dostępne dowody wskazują inaczej. Badanie przeprowadzone przez RAND Corporation, oparte na wywiadach z 65 doświadczonymi naukowcami ds. danych i inżynierami, wskazuje, że stopa niepowodzeń projektów AI przekracza 80 procent, co jest mniej więcej dwukrotnie wyższe od wskaźnika w tradycyjnej pracy IT. To badanie dotyczy projektów AI ogólnie, a nie konkretnie agentów, ale pętle, które działają bez przynoszenia żadnej wartości, należą do codziennych czynników powodujących takie marnotrawstwo. Nigdy nie pojawiają się one w przemówieniach otwierających konferencje; widnieją natomiast na fakturach.

Cirkulują również większe wersje tego opisu. często cytowany raport opisuje jeden pętlę rekurencyjną, której wydatki wzrosły do pięciocyfrowych wartości, zanim ktoś interweniował. Ta liczba nie została niezależnie zweryfikowana, więc każda podobna, dramatyczna kwota zasługuje na sceptycyzm. Mechanizm ten jest jednak rzeczywisty i jego skutki tylko się nasilają: ta sama pętla, która wyda 40 dolarów w ciągu popołudnia, może wydać 4 000 dolarów w nieprzebywany weekend.

Gdzie gromadzą się wydatki

Gdy analizuje się niekontrolowane koszty i porównuje je z danymi przekazywanymi przez operatorów dużych flot agentów, okazuje się, że pieniądze zwykle gromadzą się w tych samych miejscach:

  • Nieograniczone badania w sieci. Każda załadowana strona i każde powtórzone wyszukiwanie wiążą się z kosztem. Bez żadnych ograniczeń badania trwają bez końca, dopóki model wciąż uważa, że może istnieć jakaś inna wartościowa źródło informacji.
  • Drogi model przy taniej pracy. Modele typu Frontier są droższe, ponieważ potrafią lepiej rozumować, ale wiele operacji wykonywanych przez agenta, takich jak przekształcanie formatu pliku, sprawdzanie statusu czy ponawianie prób połączenia, w ogóle nie wymaga takich umiejętności. Mniejszy model poradziłby sobie z nimi za ułamek tej ceny.
  • Tematy rozmów, które się nigdy nie kończą. Agent pracujący w ramach długiej rozmowy przetwarza za każdym razem całą swoją zgromadzoną historię, przez co temat istniejący od tygodni jest teraz droższy za każdą prośbę niż na początku, bez względu na to, jak mała jest ta prośba. Cacheowanie promptów może to nieco złagodzić, jeśli twój dostawca tego obsługuje, ale kontekst nadal się powiększa.
  • Zapomniane harmonogramy. Zadanie powtarzalne skonfigurowane raz nadal jest wykonywane długo po tym, jak ktoś skorzysta z jego wyniku.
  • Żadne z tych problemów nie jest wyjątkowe. Razem zachowują się jak zapomniana subskrypcja, która pobiera opłaty za każdy token zamiast miesięcznie. Aby lepiej zrozumieć, jak te koszty się kumulują, artykuł na temat dlaczego koszty agentic AI rosną tak gwałtownie dostarcza bardziej szczegółowych informacji.

    Napraw warunek zatrzymania, a nie górny limit

    Po drogim procesie instynktowną reakcją jest podniesienie limitu kroków lub wydatków. Zazwyczaj to przynosi odwrotne efekty, ponieważ wyższy limit pozwala tylko na dłuższe działanie tego samego błędnego pętli, zanim dojdzie do konfliktu. Rzeczywiście pomocne jest zapewnienie pętli sposobu na zauważenie, że postęp się zatrzymał – to zupełnie inna kwestia niż to, czy wykorzystała już swoją liczbę kroków.

    Umieść linię mety w celu

    Zdefiniuj pojęcie „zakończenia” jako część zadania, a nie coś dodanego później. Instrukcja typu „napraw nieprzechodzący test” pozostawia miejsce na dodatkowe zadania, takie jak uporządkowanie importów lub przeformatowanie całego pliku. „Spraw, by ten jeden test przeszedł, a potem zakończ” dostarcza konkretnego punktu końcowego, który model może faktycznie zidentyfikować. Im bardziej widoczny jest kryterium zakończenia, tym łatwiej jest modelowi wygenerować end_turn we właściwym momencie.

    Zrób wyniki narzędzi jednoznacznymi

    Komunikaty od narzędzi powinny jasno wskazywać, czy działanie się udało, czy nie. Niejasny wynik jest dla agenta zaproszeniem do ponownej próby, a nie sygnałem do zatrzymania się. Wyraźne pola stanu i jasne komunikaty o błędach eliminują niepewność, która skutkuje ponownymi próbami.

    Zidentyfikuj powtórzenia zamiast liczyć kroki

    Licznik kroków o stałej wartości to prymitywne narzędzie. Ten sam licznik może przerwać ważną operację składającą się z 15 kroków już po 11 krokach, podczas gdy cykl składający się z 2 kroków może zmarnować kilka dodatkowych, kosztownych wywołań, zanim w ogóle zostanie uruchomiony. O wiele lepszym sygnałem jest powtarzanie się: wykrywanie kolejnych wywołań do jednego narzędzia z identycznymi argumentami pozwala bezpośrednio zidentyfikować opisany wcześniej wzorzec, nie karząc przy tym zadań, które są po prostu długie.

    Dodaj ludzki punkt kontrolny oraz środek ograniczający wydatki

    Każde zadanie pozostawione bez nadzoru na dłużej niż kilka minut powinno zawierać moment, w którym człowiek sprawdza postępy. Automatyczne mechanizmy nadzoru uzupełniają to rozwiązanie. Na przykład gh-aw od GitHuba oferuje mechanizm kontroli wydatków, który można skonfigurować tak, aby zatrzymał proces natychmiast po przekroczeniu ustalonej granicy, zamiast pozostawiać detekcję osobie czytającej fakturę. Taki mechanizm nadzoru jest siecią bezpieczeństwa, a nie zamiennikiem dobrze opracowanej warunku zatrzymania, ale ogranicza straty, gdy wszystko inne zawodzi.

    Aktywność to nie postęp

    Najbardziej niepokojącym aspektem niekontrolowanego działania nie są koszty, lecz pewność siebie. Wyniki działania agenta nigdy nie zawierają zastrzeżeń ani nie przyznają do niepewności co do tego, czy jakakolwiek z wykonywanych czynności przynosi korzyść. Generuje on prawdopodobne kroki, dopóki coś zewnętrznego – często osoba ciekawa nieoczekiwanego rachunku – tego nie zatrzyma.

    Lekcją nie jest generalne unieważnianie zaufania do agentów. Chodzi o to, by przestać mylić ruch z postępem, zarówno w systemach automatycznych, jak i w wielu zadaaniach wykonywanych przez ludzi.

    Główne wnioski

    • W pętli wywoływania narzędzi to model sam decyduje, kiedy zakończy pracę, zwracając end_turn; jeśli cel nie ma wyraźnego punktu końcowego, może tego nigdy nie zrobić.
    • Niekontrolowane wydatki koncentrują się w nieskończonych badaniach, zbyt dużych modelach do prostych zadań, coraz bardziej rosnących wolumenach pracy oraz zapomnianych zadań zaplanowanych na później.
    • Zwiększanie budżetów lub limitów kroków jedynie opóźnia te same problemy; zamiast tego należy wyraźnie określić warunki zakończenia zadania.
    • Należy zwracać jednoznaczne wyniki narzędzi i wykrywać powtarzające się identyczne wywołania narzędzi, zamiast polegać na liczbie kroków.
    • Dla zadań wykonywanych bez nadzoru należy połączyć ludzkie punkty kontrolne z sztywnymi ograniczeniami wydatków.

    Powiązane materiały

  • Projektowanie agentów AI otoczeniowych: Wake Funnels, tani sen i bezpieczne budzenie — Jak tworzyć agenty AI napędzane zdarzeniami, które tanio pozostają w stanie bezczynności: warstwowa triaż przed każdym wywołaniem modelu, bezpieczna rekonstrukcja stanu budzenia, radzenie sobie z awariami oraz zarządzanie budżetem uwagi.