Strona główna / Artykuły

Interfejs czatu czy pętla agenta? Jak zdecydować, czego potrzebuje funkcja AI.

Dowiedz się, jak odróżnić chatbot służący do rozmów od agenta dążącego do realizacji celu, co dodaje pętla agenta oraz jak zdecydować, który z nich faktycznie potrzebuje twoja funkcja AI.

Wydawca: REACTAPP.TOP12 min czytania2824 słów

Źródła: Your AI Chatbot Can Talk — But Can It Actually Take Action?

Dwa produkty oparte na sztucznej inteligencji mogą korzystać z tego samego pola tekstowego i tej samej wiadomości powitalnej, a mimo to być zbudowane na zupełnie różnych architekturach. Jeden przekształca twoją wiadomość w odpowiedź; drugi traktuje ją jako cel, wywołuje narzędzia, analizuje uzyskane wyniki i decyduje, co robić dalej. Jeśli projektujesz funkcję opartą na sztucznej inteligencji, pomieszanie tych dwóch podejść skutkuje albo produktem o niewystarczających możliwościach, albo produktem drogim i kruchym. Ten przewodnik dostarcza ci słownictwa służącego do rozróżnienia tych podejść, sposobu na umieszczenie dowolnego systemu w spektrum pomiędzy nimi oraz praktycznej listy kontrolnej pomagającej wybrać, który z nich należy stworzyć.

Temat granic koncepcyjnych omówiliśmy już w tym, co odróżnia chatbota od agenta AI poza ramami modeli LLM. Tutaj skupiamy się na decyzjach projektowych: jakie są koszty stosowania pętli, kiedy się to opłaca oraz jak zwykły chatbot może stopniowo rozwijać się w agenta, dodając po jednej nowej funkcji.

Dwa systemy za tym samym polem tekstowym

Załóżmy użytkownika, który pyta o najlepszy laptop do uczenia maszynowego pasujący do określonego budżetu. Asystent konwersacyjny odpowiada listą rekomendacji opartych na wiedzy już posiadanej przez model. To rzeczywiście pomocne, ale lista może być przestarzała, a sprawdzenie jej pod kątem twoich ograniczeń nadal należy do ciebie.

Drugi system otrzymuje tę samą treść i robi coś zupełnie innego. Łapie aktualne dane o produktach za pośrednictwem podłączonych narzędzi, porównuje specyfikacje, sprawdza kandydatów pod kątem określonych przez Ciebie wymagań, a gdy pierwsza grupa produktów nie pasuje, zmienia strategię wyszukiwania i próbuje ponownie. Okno czatu pozostaje identyczne – różnica polega na działaniach, które następują po naciśnięciu klawisza Enter.

To jest kluczowe pytanie tego przewodnika: w którym momencie system, który tylko rozmawia, staje się systemem, który działa?

Czym ma służyć chatbot

Chatbot to oprogramowanie, którego głównym zadaniem jest prowadzenie rozmowy. Interakcja ma prostą strukturę:

  • użytkownik wysyła wiadomość
  • system ją przetwarza
  • wytwarza lub pobiera odpowiedź i zwraca kontrolę użytkownikowi

Zapytaj je o wyjaśnienie uczenia nadzorowanego i tak zrobi. Następnie poproś o przykład, a ono znów odpowie. Każda taka interakcja składa się z pytania i odpowiedzi, a sama rozmowa jest jej rezultatem.

To wzorzec obejmuje dużą część rzeczywistych zastosowań: odpowiadanie na pytania, wyjaśnianie koncepcji, redagowanie i podsumowywanie tekstu, generowanie pomysłów, obsługa klienta oraz nauczanie.

Boty oparte na regułach i czaty z wykorzystaniem modeli językowych

Czatboty istniały przed modelemi językowymi o dużych możliwościach. Wcześniejsze wersje były głównie skryptowane: powitanie uruchamiało przygotowany wcześniej komunikat, prośba o śledzenie zamówienia wymagała podania numeru zamówienia, a wszystko, co wykraczało poza zaplanowany tok, skutkowało wysłaniem wiadomości awaryjnej. Były przewidywalne właśnie dlatego, że każda ścieżka była ręcznie napisana.

Asystenci do rozmów oparte na modelach LLM usunęli większość tej sztywności. Potrafią analizować język w formie swobodnej i tworzyć odpowiedzi na bieżąco, co czyni je przydatnymi do pisania, pomocy w programowaniu, badań, nauki, rozumowania, streszczania i tłumaczenia. Warto jednak podkreślić, że zastąpienie drzewa decyzyjnego potężnym modelem zmienia jakość konwersacji systemu. Samo w sobie nie zmienia tego, co system jest w stanie robić w rzeczywistym świecie. Bardziej zaawansowany model w ramach struktury prośba-odpowiedź nadal jest chatbotem.

Co czyni systemem agenta

Agent sztucznej inteligencji to system, który dąży do realizacji celu poprzez podejmowanie decyzji i wykonywanie działań przy użyciu dostępnych mu możliwości, zwykle narzędzi. Pytanie, które ciągle sobie stawia, dotyczy nie tylko tego, jaką odpowiedź wydać, ale także którego kroku należy podjąć dalej.

Sprawdzona struktura działania agenta wygląda następująco:

  1. Otrzymanie celu.
  • Zinterpretuj to oraz ograniczenia, które się z tym wiążą.
  • Sporządź plan.
  • Wybierz następne działanie.
  • Zrealizuj je, zazwyczaj poprzez użycie narzędzia.
  • Zobacz wynik.
  • Dostosuj plan na podstawie zaobserwowanych faktów.
  • Lub kontynuuj z kolejnym działaniem, lub przerwij, ponieważ cel został osiągnięty.
  • Ważną cechą jest to, że kroki od czwartego do ósmego są powtarzane. System bierze udział w wieloetapowym procesie pracy, zamiast dostarczyć jedną odpowiedź i czekać.

    Zapytanie o podróż, obsługiwane na dwa sposoby

    Jeśli poprosisz chatbota o pomoc w zaplanowaniu trzech dni w Dubaju, prawdopodobnie przygotuje on uporządkowany plan podróży: Burj Khalifa i Dubai Mall pierwszego dnia, Stare Dubaj drugiego dnia, Marina oraz safari po pustyni trzeciego dnia. To przydatne, ale wszystko praktyczne nadal zależy od ciebie: hotele, ceny, dostępność, loty, godziny otwarcia oraz ostateczny harmonogram.

    Jeśli powierzyć odpowiednio przygotowanemu agentowi podróżniczemu zadanie znalezienia praktycznych opcji na trzydniową wycieczkę do Dubaju w ramach określonego budżetu, cała sytuacja może wyglądać zupełnie inaczej. Agent ustala budżet, szuka lotów, porównuje je, wyszukuje hotele, zbiera informacje o godzinach otwarcia oraz inne istotne dane, tworzy plan podróży, sprawdza łączną kwotę w stosunku do budżetu, koryguje plan, gdy przekroczy on limit, a na końcu prezentuje dostępne opcje.

    W skrócie: chatbot omawia zadanie, natomiast agent może być zaprojektowany tak, by je wykonać.

    Odpowiedź versus działanie

    Jeśli chcesz jednoznacznego modelu mentalnego, użyj tych dwóch schematów:

    • chatbot: wiadomość, następnie odpowiedź
    • agent: cel, następnie decyzja, działanie, obserwacja i kolejne działanie, powtarzane aż do zakończenia

    Pierwszy schemat opiera się na rozmowie; drugi – na rezultacie.

    Dlaczego interfejs nic nie mówi

    Agent może również działać za pomocą okna czatu, i to właśnie dlatego wygląd może wprowadzać w błąd. Wyobraźmy sobie dwa aplikacje, które pokazują to samo przyjazne powitanie i otrzymują to samo zapytanie: „znajdź najnowsze artykuły badawcze na temat agentów AI”.

    Aplikacja A przekazuje zapytanie modelowi, który odpowiada na podstawie swoich danych treningowych. Aplikacja B używa narzędzia wyszukiwania, zbiera artykuły, czyta wyniki, ocenia ich istotność, jeśli pierwsza próba nie dała dobrych rezultatów, wyszukuje ponownie i następnie pisze streszczenie. Na ekranie obie wyglądają niemal identycznie; w rzeczywistości jedna polega na pojedynczym wezwaniu modelu, a druga na zorganizowanym procesie pracy. Nie można sklasyfikować systemu na podstawie jego interfejsu – trzeba przyjrzeć się przepływowi sterowania.

    Kto kieruje procesem pracy

    W typowej sesji z chatbotem to człowiek pełni rolę kierownika. Prosisz o artykuły z dziedziny uczenia maszynowego i otrzymujesz sugestie. Prosisz o porównanie i dostajesz je. Prosisz o informacje na temat ograniczeń i one też pojawiają się. Każda przejście z jednego etapu na następny to decyzja podjęta i wpisana przez ciebie.

    System agentowy może przyjąć całe zlecenie od razu: „znajdź pięć istotnych artykułów z dziedziny uczenia maszynowego, porównaj ich metody, określ ich ograniczenia i przygotuj raport”. Następnie sam ustala kolejność etapów: wyszukiwanie, filtrowanie, czytanie, wydobywanie informacji, porównywanie, ocenianie i pisanie. Nie musisz już prosić o każdy krok, co stanowi prawdziwą zmianę. Kontrola nad sekwencją przechodzi od użytkownika do systemu.

    Bloki budulcowe, które przekształcają model w agenta

    Narzędzia

    Używanie narzędzi to umiejętność najczęściej kojarzona z agentami. Dany agent może być skonfigurowany tak, aby:

    • narzędzie do wyszukiwania aktualnych informacji
    • narzędzie bazodanowe do przechowywania rekordów
    • narzędzie do wykonywania kodu, takie jak środowisko sandbox dla Pythona, służące do analizy i obliczeń
    • narzędzie do plików do czytania dokumentów
    • narzędzie kalendarzowe do sprawdzania harmonogramów
    • narzędzie e-mail, używane wyłącznie tam, gdzie istnieją odpowiednie uprawnienia
    • dowolne API do komunikacji z innym oprogramowaniem

    Zadaniem modelu jest określenie, które z tych narzędzi jest potrzebne na danym etapie. W przypadku zespołów pracujących z JavaScriptem i TypeScriptem kluczowe stają się tu koncepcje takie jak wywoływanie funkcji oraz argumenty narzędzi weryfikowane według schematu; wzory przedstawione w bounded agentic loops for LLM tool use in TypeScript pokazują, jak to wygląda w kodzie.

    Przykład badawczy uwyraźnia korzyści płynące z takiego podejścia. Student prosi o pomoc w badaniu techniki generacji wzbogaconej o dane z bazy wiedzy dla języków o ograniczonych zasobach. Chatbot może wyjaśnić, jak działa RAG, co utrudnia prace z językami o ograniczonych zasobach, jakie słowa kluczowe warto wypróbować oraz jak skonstruować przegląd literatury, a następnie student podejmuje się samych badań. Agent badawczy wyposażony we właściwe narzędzia mógłby przekształcić to pytanie w zapytania wyszukiwawcze, przeszukać źródła akademickie, zebrać odpowiednie materiały, odrzucić te nieistotne, przeczytać pozostałe, wyodrębnić metody i zbiory danych, porównać wyniki, odnotować ograniczenia i przygotować uporządkowany przegląd. W tym momencie sztuczna inteligencja nie tylko opisuje proces badawczy, ale jest jego częścią.

    Planowanie i realizacja

    Złożone cele wymagają rozbicia na mniejsze elementy. Gdy otrzyma się polecenie „przeprowadź analizę tego zestawu danych klientów i przygotuj raport”, agent może zaplanować przejrzenie pliku, zrozumienie każdej kolumny, sprawdzenie brakujących wartości, oczyszczenie danych, przeprowadzenie analizy eksploracyjnej, stworzenie wykresów, zidentyfikowanie istotnych wzorców oraz spisanie ustaleń.

    Należy zauważyć, że chatbot może wygenerować dokładnie tę samą listę. Tworzenie planu to generowanie tekstu. Decydującym czynnikiem jest to, czy system może wykonać te kroki i zareagować na wyniki każdego z nich. Plan, który użytkownik musi wykonać ręcznie, to porada; plan, który system realizuje, to działanie autonomiczne.

    Obserwacja i pętla zwrotna

    Odgrywanie ról to tylko połowa sprawy. Agent musi badać wynik każdej działania. Załóżmy, że szuka najnowszych artykułów na temat agentic RAG i otrzymuje słabe wyniki. Praktyczny agent zauważa, że rezultaty nie są wystarczająco istotne, przepisuje zapytanie, szuka ponownie i w końcu znajduje coś lepszego.

    Ten cykl, często opisywany jako myśl, działanie, obserwacja, korekta, to właśnie to, co odróżnia pętlę od łańcucha operacji. Bez obserwacji system po prostu uruchamia narzędzia w ustalonej kolejności i ma nadzieję na dobry rezultat.

    Pamięć i stan zadania

    Pamięć jest często wymieniana jako cecha charakterystyczna agentów, ale chatboty również potrafią pamiętać rzeczy, więc sama pamięć nie czyni systemu agentem. Ma ona większe znaczenie dla agentów, ponieważ ich zadania trwają dłużej i obejmują więcej pośrednich wyników. Agent badawczy musi śledzić początkowe pytanie, jakie prace już przeanalizował, które źródła odrzucił i dlaczego, kluczowe ustalenia dotychczasowe, wymagania użytkownika oraz wcześniejsze wyniki narzędzi. Bez świadomego zarządzania stanem długotrwałe działanie prowadzi do błędów: agent ponownie czyta te same źródła, zapomina o ograniczeniach lub stoi w sprzeczności ze swoimi wcześniejszymi wnioskami.

    Spektrum, a nie przełącznik

    Prawdziwe produkty rzadko znajdują się wyraźnie po jednej ze stron. Wiele systemów łączy możliwości konwersacyjne z agentowymi, więc pomocne jest myślenie o ewolucji w etapach:

    1. Bazowy chatbot. Wiadomość użytkownika trafia do modelu, a następnie wraca odpowiedź.
    2. Chatbot z wykorzystaniem narzędzi. Model może przed udzieleniem odpowiedzi skorzystać z narzędzia, takiego jak wyszukiwarka, ale proces nadal składa się z jednej prośby i jednej odpowiedzi.
    3. Agent. Model otrzymuje cel, planuje działania, wybiera narzędzie, działa, obserwuje sytuację, ponownie podejmuje decyzję i powtarza ten proces aż do zakończenia zadania.

    Nie ma wyraźnej granicy pomiędzy drugim a trzecim etapem. Niektóre systemy są asystentami konwersacyjnymi, inne wykonują kilka wywołań narzędzi, a jeszcze inne uruchamiają długie, wieloetapowe procesy. To, w której kategorii znajduje się twój system, zależy od tego, w jakim stopniu model kontroluje przepływ działań.

    Czy jedno wywołanie narzędzia czyni z systemu agenta?

    Niekoniecznie. Bot, który za każdym razem, gdy zostanie zapytany o pogodę, korzysta z API pogodowego, faktycznie używa narzędzia, ale proces jest sztywny: pytanie, wywołanie API, odpowiedź. Nic nie jest decydowane dynamicznie.

    Gdy zapytanie zmienimy na „zaplanuj najlepszą aktywność na zewnątrz na jutro”, sytuacja się zmienia. System musi sprawdzić prognozę pogody, znaleźć odpowiednie opcje aktywności, sprawdzić godziny otwarcia, porównać lokalizacje, wziąć pod uwagę warunki i zaproponować jedną opcję. Podejmuje wtedy kilka zależnych decyzji i koordynuje różne narzędzia w celu osiągnięcia większego celu, co przybliża go do modelu agentowego. Praktyczna zasada pomocnicza: jeśli sekwencja wywołań narzędzi może być z góry ustalona, mamy do czynienia z chatbotem wykorzystującym narzędzia; jeśli kolejne wywołanie zależy od wyniku poprzedniego, budujemy agenta.

    Agenci bez okna czatowego

    Odwrotność też jest prawdziwa: agent wcale nie musi mieć interfejsu konwersacyjnego. Usługa w tle, która monitoruje przychodzące zgłoszenia obsługi klienta, może sklasyfikować każde zgłoszenie, pobrać dane klienta, przeszukać dokumentację, przygotować rozwiązanie i przenieść trudne przypadki do człowieka. Nikt z nim nie rozmawia, a mimo to jest wyraźnie agentem, ponieważ dąży do celu poprzez sekwencję ustalonych działań.

    Wybór między chatbotem a agentem

    Kuszące jest traktowanie „agenta” jako ulepszonej wersji „chatbotu”. Taki sposób myślenia skłania zespoły do nadmiernego projektowania. Prawidłowe pytanie brzmi: czego faktycznie potrzebuje twoja aplikacja.

    Kiedy chatbot jest lepszym wyborem

    Zazwyczaj wystarczy bezpośrednia odpowiedź modelu, gdy głównym zadaniem jest konwersacja lub generowanie treści, na przykład:

    • odpowiadanie na częste pytania
  • wyjaśnianie koncepcji takich jak spadek gradientu czy sieci neuronowe
  • streszczanie akapitu lub dokumentu
  • wytwarzanie lub przepisywanie treści, na przykład przekształcanie szkicu e-maila w wersję profesjonalną
  • odpowiadanie na proste pytania
  • W tych przypadkach chatbot zazwyczaj jest prostszy, szybszy, tańszy i łatwiejszy w utrzymaniu. Nie ma potrzeby uzasadniania autonomicznego wieloetapowego wykonywania zadań, a każde uniknięte dodatkowe wezwanie modelu oznacza oszczędność czasu reakcji i kosztów.

    Gdy zadanie wymaga agenta

    Agent zaczyna wykazywać złożoność, gdy zadanie obejmuje kilka z poniższych elementów:

    • wielokrotne, wzajemnie zależne kroki
    • wybór między narzędziami
    • interakcja z zewnętrznymi systemami
    • decyzje podejmowane w trakcie wykonywania zadań
    • powtarzane działania
    • sprawdzanie wyników
    • zmiana kierunku działań na podstawie tych wyników
    • przechowywanie stanu zadania pomiędzy poszczególnymi krokami

    Zapytanie takie jak „przeszukaj najnowsze artykuły, wydobyj z nich metody, porównaj wyniki i stwórz ustrukturyzowany raport” jest z natury wieloetapowe, więc architektura oparta na agentach jest odpowiednim rozwiązaniem.

    Koszt autonomii

    Dlatego agenty wymagają rozwiązań inżynieryjnych, których chatboty często mogą pominąć:

    • uprawnienia ograniczające to, z czym może pracować każde narzędzie
    • weryfikacja danych wejściowych i wyjściowych narzędzi
    • rejestrowanie i śledzenie każdego kroku
    • obsługa błędów w przypadku nieudanych lub częściowo udanych wywołań narzędzi
    • ocena całego procesu, a nie tylko pojedynczych odpowiedzi
    • jasno określone warunki zatrzymania, takie jak limity kroków i budżety
    • zatwierdzenie przez człowieka przed podjęciem nieodwracalnych działań

    Jeśli prostszy system potrafi niezawodnie rozwiązać problem, zazwyczaj jest to lepszy system.

    Zobaczenie różnicy od początku do końca

    Dwa sposoby sterowania przedstawione obok siebie podsumowują wszystko powyższe.

    Chatbot: komunikat użytkownika jest zrozumiany, generowana jest odpowiedź, a kontrola wraca do użytkownika.

    Agent: cel użytkownika jest zrozumiany, tworzony jest plan, wybierane narzędzie, podejmowane jest działanie, obserwowany jest rezultat, plan jest dostosowywany, następuje kolejne działanie, a pętla kończy się po osiągnięciu celu.

    Ostatni przykład pokazuje, jak obie te formy mogą być przydatne w przypadku tego samego zapytania. Ktoś mówi, że chce nauczyć się sztucznej inteligencji agentowej. Bot rozmówczy może zaproponować plan działania, listę tematów, materiały edukacyjne oraz jasne wyjaśnienia. Bardziej zaawansowany agent edukacyjny mógłby ocenić to, co uczeń już wie, stworzyć plan nauki, przeprowadzić lekcję, zadać ćwiczenie, ocenić odpowiedź, zidentyfikować słabe strony, dostosować następną lekcję, śledzić postępy w czasie i utrzymywać ten cykl. Pierwszy pomaga uczącemu się zrozumieć; drugi bierze udział w samej organizacji procesu nauki. Rozwiązują one różne problemy.

    Główne wnioski

    • Bot rozmówczy jest zorganizowany wokół konwersacji (przysłanie wiadomości, otrzymanie odpowiedzi); agent jest zorganizowany wokół celu (planowanie, działanie, obserwacja, dostosowywanie, zakończenie).
    • Interfejs nie jest również wskaźnikiem w żadnym z tych przypadków: agenci mogą być ukryci za oknem rozmowy, a także mogą działać bez żadnego okna rozmów.
  • Samodzielne wywołania narzędzi nie tworzą agenta; decydującym czynnikiem jest to, czy następny krok zależy od zaobserwowanego wyniku poprzedniego.
  • Pamięć, planowanie i narzędzia są ważne dla obu typów systemów, ale agenci polegają na wykonywaniu działań i informacjach zwrotnych, a nie tylko na tworzeniu planu.
  • Zacznij od najprostszego projektu, który niezawodnie rozwiązuje zadanie, i dodawaj autonomię tylko wraz z wymaganymi ograniczeniami: uprawnieniami, walidacją, rejestrowaniem działań, warunkami zatrzymania oraz zatwierdzeniem przez człowieka.