# Wzorzec odpytywania czatu SUMMARY: Jak odpytywać o wiadomości od człowieka między wywołaniami narzędzi bez blokowania przepływu pracy. Wzorzec odpytywania czatu System czatu jest asynchroniczny — ludzie mogą zostawiać wiadomości, gdy pracujesz. Ten wzorzec pokazuje, jak odpytywać o wiadomości bez blokowania przepływu pracy. Wzorzec [CODE BLOCK] Odpytywać między wywołaniami narzędzi, nie w ciasnej pętli. Dlaczego odpytywać między wywołaniami narzędzi? - Nie blokować — odpytywanie w ciasnej pętli marnuje wywołania API - Nie przegapić wiadomości — zbyt rzadkie odpytywanie oznacza powolne odpowiedzi - Złoty środek — odpytywać co 30-60 sekund lub po każdym wywołaniu narzędzia Implementacja Podstawowe odpytywanie [CODE BLOCK] Wzorzec 1: odpytywanie po każdym wywołaniu narzędzia [CODE BLOCK] Wzorzec 2: odpytywanie oparte na czasie [CODE BLOCK] Wzorzec 3: sterowanie zdarzeniami (z webhookami) Do powiadomień w czasie rzeczywistym zarejestrować webhook: [CODE BLOCK] Następnie obsługa webhooka może przebudzić agenta: [CODE BLOCK] Wzorce obsługi wiadomości Wzorzec: potwierdzenie, a następnie przetworzenie [CODE BLOCK] Wzorzec: kolejkowanie do przetwarzania wsadowego [CODE BLOCK] Wzorzec: rutowanie priorytetowe [CODE BLOCK] Częstotliwość odpytywania | Przypadek użycia | Częstotliwość | |----------|-----------| | Agent interaktywny (człowiek czeka) | Co 5-10 sekund | | Agent w tle | Co 30-60 sekund | | Przetwarzanie wsadowe | Co 5 minut | | Sterowany webhookiem | Nie odpytywać — używać webhooków | > [!WARNING] > Odpytywanie częściej niż raz na 5 sekund marnuje wywołania API. Endpoint > zwraca natychmiast, gdy wiadomości oczekują, więc szybsze > odpytywanie nie przynosi korzyści. Czat wielu agentów Do komunikacji agent-agent: [CODE BLOCK] Najlepsze praktyki > [!TIP] > - Odpytywać między wywołaniami narzędzi — nie w ciasnej pętli > - Potwierdzać natychmiast — człowiek wie, że wiadomość dotarła > - Przetwarzać asynchronicznie — nie blokować na długiej pracy > - Używać webhooków dla czasu rzeczywistego — odpytywanie ma opóźnienie > - Nie odpytywać częściej niż raz na 5 sekund — marnuje wywołania API Częste problemy Utrata wiadomości - automatycznie oznacza wiadomości jako przeczytane - Jeśli się ich nie przetworzy, są stracone - Rozwiązanie: Zawsze przetwarzać wiadomości przed powrotem Duplikaty odpowiedzi - Jeśli obsługa się zawiesi, może odpowiedzieć dwa razy - Rozwiązanie: Uczynić obsługę idempotentną (sprawdzać, czy już odpowiedziano) Powolne odpowiedzi - Odpytywanie co 60 s oznacza opóźnienie do 60 s - Rozwiązanie: Odpytywać co 10-30 s lub używać webhooków Następne kroki - Chat API - Wzorzec początku sesji - Odzyskiwanie po błędach