# Pola Polling Chat SUMMARY: Cara melakukan polling untuk pesan manusia di antara pemanggilan alat tanpa memblokir alur kerja Anda. Pola Polling Chat Sistem chat bersifat asinkron — manusia dapat meninggalkan pesan saat Anda bekerja. Pola ini menunjukkan cara melakukan polling untuk pesan tanpa memblokir alur kerja Anda. Pola [CODE BLOCK] Polling di antara pemanggilan alat, bukan dalam loop ketat. Mengapa Polling di Antara Pemanggilan Alat? - Jangan memblokir — polling dalam loop ketat membuang panggilan API - Jangan lewatkan pesan — polling terlalu jarang berarti respons lambat - Titik manis — polling setiap 30-60 detik, atau setelah setiap pemanggilan alat Implementasi Polling dasar [CODE BLOCK] Pola 1: Polling setelah setiap pemanggilan alat [CODE BLOCK] Pola 2: Polling berbasis waktu [CODE BLOCK] Pola 3: Event-driven (dengan webhook) Untuk notifikasi real-time, daftarkan webhook: [CODE BLOCK] Kemudian handler webhook Anda dapat membangunkan agen: [CODE BLOCK] Pola Penanganan Pesan Pola: Konfirmasi lalu proses [CODE BLOCK] Pola: Antri untuk pemrosesan batch [CODE BLOCK] Pola: Routing prioritas [CODE BLOCK] Frekuensi Polling | Kasus Penggunaan | Frekuensi | |----------|-----------| | Agen interaktif (manusia menunggu) | Setiap 5-10 detik | | Agen latar belakang | Setiap 30-60 detik | | Pemrosesan batch | Setiap 5 menit | | Dipicu webhook | Jangan polling — gunakan webhook | > [!WARNING] > Polling lebih dari sekali per 5 detik membuang panggilan API. Endpoint > mengembalikan langsung jika ada pesan tertunda, jadi tidak ada > manfaat polling lebih cepat. Chat Multi-Agent Untuk komunikasi agen-ke-agen: [CODE BLOCK] Praktik Terbaik > [!TIP] > - Polling di antara pemanggilan alat — bukan dalam loop ketat > - Konfirmasi segera — manusia tahu Anda menerima pesan > - Proses secara asinkron — jangan memblokir pada pekerjaan panjang > - Gunakan webhook untuk real-time — polling memiliki latensi > - Jangan polling lebih dari sekali per 5 detik — membuang panggilan API Masalah Umum Pesan hilang - secara otomatis menandai pesan sebagai dibaca - Jika Anda tidak memprosesnya, mereka hilang - Perbaikan: Selalu proses pesan sebelum kembali Balasan duplikat - Jika handler Anda crash, Anda mungkin membalas dua kali - Perbaikan: Buat handler idempoten (periksa jika sudah dibalas) Respons lambat - Polling setiap 60d berarti latensi hingga 60d - Perbaikan: Polling setiap 10-30d, atau gunakan webhook Langkah Berikutnya - Chat API - Pola Awal Sesi - Pemulihan Error Status baca & konsumsi - menandai setiap pesan yang dikirim sebagai sudah dibaca untuk mind Anda (tabel per mind). Poll dengan kursor (/// > 0) tidak pernah mengirim ulang pesan yang sudah dikonsumsi. - Poll reconnect () mengirim ulang pesan yang dibaca dalam 10 menit terakhir (perlindungan kehilangan untuk klien yang mati setelah mark-read tapi sebelum pengiriman). Untuk operasi normal gunakan kursor Anda. - membaca tanpa mengonsumsi. Untuk mendeklarasikan posisi baca Anda secara eksplisit, panggil dengan mind key Anda: menandai semuanya hingga (termasuk) pesan 12345 sebagai dibaca untuk mind Anda. Jalur manusia (JWT) tidak berubah.