Moje dwa zadania AI walczyły o tę samą myszkę

Demo równoległych agentów wygląda dobrze, dopóki dwa zadania nie zaczną walczyć o tę samą myszkę.

Jedno zadanie loguje się do strony internetowej. Inne otwiera przeglądarkę. Trzecie próbuje odpowiedzieć na proste pytanie. Nagle system klika w niewłaściwym miejscu lub przerywa niewłaściwy proces. To nie jest problem z promptem. To problem z zasobami.

Dowiedziałem się tego podczas budowania CliGate. Zrozumiałem, że o ile zadania programistyczne mogą działać równolegle, o tyle pulpit działa inaczej. Masz tylko jedną klawiaturę, jedną myszkę i jeden ekran. Jeśli dwóch agentów spróbuje przejąć kontrolę nad tym interfejsem, zaczną się wzajemnie sabotować.

Moim pierwszym pomysłem było anulowanie starego zadania, gdy pojawiało się nowe. To był błąd. Użytkownik proszący o aktualizację statusu nie powinien przerywać procesu logowania.

Musiałem zmienić zasady.

Nowe zasady niezawodności agentów:

  • Niezależne zadania działają równolegle.
  • Zadania wymagające pulpitu muszą trafić do kolejki.
  • Anulowanie następuje tylko wtedy, gdy użytkownik o to poprosi.

W CliGate sterowanie pulpitem działa na zasadzie dzierżawy. Jedno zadanie zajmuje pulpit. Inne zadania czekają na swoją kolej.

Nowa logika działa w następujący sposób:

  • Pojawia się nowe zadanie.
  • Czy wymaga ono pulpitu?
  • Jeśli nie, uruchom je równolegle.
  • Jeśli tak i pulpit jest wolny, zajmij go.
  • Jeśli tak i pulpit jest zajęty, dołącz do kolejki.
  • Zatrzymaj się tylko wtedy, gdy użytkownik powie „stop”.

Ponawianie prób może pogorszyć sytuację. Jeśli zadanie nieustannie próbuje przejąć myszkę, podczas gdy inne zadanie coś pisze, powstają zakłócenia. Rozwiązaniem nie jest intensywniejsze ponawianie prób. Rozwiązaniem jest szczerość. Asystent powinien powiedzieć: „Pulpit jest zajęty. Jestem w kolejce. Rozpocznę, gdy będzie wolny”.

To zmienia błąd w przewidywalne zachowanie.

Dodałem również sztywną zasadę: agent nie może sam siebie anulować. Zapobiega to panicznemu klikaniu przez agenta we własny wyłącznik.

Budowanie narzędzi AI często polega na prostocie, a nie na sprycie.

  • Jeśli zadania nie kolidują, pozwól im działać.
  • Jeśli kolidują o zasób fizyczny, ustaw je w kolejce.
  • Jeśli użytkownik pyta o status, podaj status.
  • Jeśli użytkownik mówi „stop”, zatrzymaj się.

Dzięki temu asystent wydaje się bardziej ludzki. Przestaje walczyć o kontrolę i zaczyna zachowywać się jak operator, który rozumie różnicę między pytaniem a poleceniem.

Jeśli Twoja AI ma dostęp do pulpitu, pamiętaj o tym: zadania równoległe są w porządku, ale zasoby fizyczne wymagają wyłączności.

Source: https://dev.to/codekingai/my-two-ai-tasks-kept-fighting-for-the-same-mouse-1hij

Optional learning community: https://t.me/GyaanSetuAi