LESSON 04 / 05
Streaming Respons & UX
12 menit bacaBangun Aplikasi AI Pertamamu
Persepsi kecepatan
LLM butuh detik untuk menghasilkan respons panjang. Aplikasi yang menunggu respons penuh akan terasa rusak. Solusinya: streaming — kirim token ke browser begitu tersedia.
Implementasi tipikal
const stream = await llm.chat.stream(messages);
for await (const chunk of stream) {
sendMessageToClient(chunk.delta); // kirim potongan teks
}
UX di sekitar streaming
- Placeholder berdenyut ("Sedang mengetik...") sebelum token pertama datang.
- Tombol stop — beri user kendali untuk memotong respons.
- Render progresif — tampilkan markdown sebagaimana adanya, rapikan di akhir.
- Skeleton state untuk bagian UI yang bergantung hasil.
Jangan lupakan error state
Streaming berarti kegagalan bisa terjadi di tengah jalan. Rencanakan: apa yang user lihat kalau koneksi putus di 80% respons? Aplikasi matang menyimpan sebagian teks yang sudah tiba, bukan membuangnya.