- Panduan yang merangkum seluruh proses secara sistematis, dari memilih fitur yang tepat hingga implementasi dan peningkatan, berdasarkan pengalaman praktis PostHog selama 12 bulan mengembangkan fitur AI Max AI
- Fitur AI dapat justru memperburuk produk jika digunakan untuk menyelesaikan masalah yang lambat, tidak andal, atau tidak bermakna, sehingga perlu memanfaatkan pola yang sudah teruji (pencarian/ringkasan data, generator, penggunaan alat)
- Pada tahap implementasi, konteks aplikasi dan manajemen status adalah inti, dan AI harus diarahkan ke jalur yang benar dengan perencanaan kueri serta routing bersyarat, sambil bersiap menghadapi kegagalan melalui monitoring dan guardrail
- Untuk optimasi kecepatan, benchmark model harus terus dipantau, model cepat dan lambat perlu digunakan secara campuran sesuai tugas, dan pemrosesan asinkron harus dimanfaatkan
- Untuk evaluasi dan peningkatan berkelanjutan, tambahkan eval sejak tahap awal, jalankan A/B test, cegah silo pengetahuan AI, dan sebarkan keahlian AI ke seluruh tim
Memilih apa yang akan dibangun
- Sadari bahwa AI bisa memperburuk produk, dan jangan membangun fitur yang salah yang menyelesaikan masalah yang terlalu lambat, tidak dapat diandalkan, atau tidak dipedulikan siapa pun
1. Pelajari pola yang dikuasai AI
- Salin pola AI yang sudah terbukti dengan menggabungkan pola UX yang familier bagi pengguna dan fungsi yang memang benar-benar dikuasai AI
- Pola pertama: "mengobrol dengan dokumen/data/PDF" - AI sangat unggul dalam pencarian dan peringkasan, dan ini bisa dimanfaatkan untuk menghasilkan laporan serta rekomendasi (contoh: Fin dari Intercom, chat dokumentasi Mintlify)
- Pola kedua: berbagai jenis generator - menghasilkan judul, kode, dokumen, SQL, gambar, filter, dan lainnya (contoh: Lovable, Bolt.new, Figma, Rippling, Notion)
- Pola ketiga: penggunaan alat - AI memanfaatkan alat yang terdefinisi dengan baik untuk mengotomatisasi dan meningkatkan workflow (contoh: server MCP, Zapier, Atlassian, Asana)
- Max AI milik PostHog memanfaatkan beberapa pola
- Mengobrol dengan data dan dokumentasi
- Membuat insight SQL dan filter
- Menggunakan alat seperti pembuatan survei dan insight analitik
- Ke depan, akan memperluas penggunaan alat seperti menonton dan menganalisis rekaman sesi secara otomatis
2. Identifikasi masalah yang bisa diselesaikan AI
- Tinjau pekerjaan di seluruh produk dengan fokus pada nilai yang dapat diberikan AI
- Satu tugas yang jelas yang memakan waktu lebih dari 30 detik - mengisi formulir panjang, input data manual, pengaturan integrasi, instalasi SDK, dan sebagainya
- Saat dibutuhkan penggunaan bahasa atau antarmuka yang tidak dipahami pengguna - UI kompleks, kueri SQL, pembuatan aplikasi, dan sebagainya
- Tugas yang diulang lebih dari 20 kali - menulis penjelasan, membuat ringkasan, membuat item, dan sebagainya
- Saran Stephen Whitworth dari incident.io: fokuslah pada "hal baru keren yang bisa dilakukan AI" bukan, melainkan pada "hal yang dilakukan pengguna 100 kali sehari yang bisa dibuat lebih baik oleh AI"
- Contoh: pengguna jauh lebih menyukai ringkasan insiden yang dibuat otomatis dibanding menulisnya sendiri, dan saat ini 75% ringkasan insiden dibuat oleh AI
- Contoh penerapan di PostHog
- Wizard instalasi AI: mempersingkat waktu instalasi PostHog dari sekitar 10 menit menjadi 90 detik
- Terjemahan SQL oleh Max AI: memungkinkan kueri SQL kompleks ditulis dengan mudah dalam bahasa alami sehingga pengguna yang tidak akrab dengan SQL pun dapat membuat insight kustom
3. Validasi bahwa masalahnya spesifik dan bernilai
- Ruang lingkup harus dipersempit menjadi masalah yang spesifik dan bernilai
- Jebakan yang harus dihindari
- Menerapkan pola yang sudah ada pada masalah yang tidak bernilai: pada produk sederhana tahap awal, fitur "mengobrol dengan dokumentasi" tidak perlu dan bisa menutupi masalah kegunaan inti
- Mencoba menyelesaikan masalah yang terlalu besar dengan AI: AI tidak akan langsung membuat Anda menghasilkan satu miliar dolar; lebih baik selesaikan dulu masalah yang sempit lalu perluas
- Saat membangun Max, mereka cepat menyadari bahwa pertanyaan yang terlalu luas seperti "bagaimana cara meningkatkan pendapatan?" tidak efektif
- Sebaliknya, mereka fokus pada fitur spesifik yang terintegrasi ke PostHog dan memanfaatkan konteks PostHog milik pengguna
- Contoh: Max mengetahui tabel apa saja yang tersedia sehingga dapat menulis SQL yang lebih baik, dan karena memahami alat bawaan yang tersedia, ia bisa menjawab pertanyaan produk dengan visualisasi native
Mengimplementasikan ide
- Fokuslah pada elemen inti untuk memastikan bahwa apa yang ingin dibangun benar-benar berfungsi
4. Kunci utamanya adalah konteks dan status aplikasi
- Semua orang bisa memanggil OpenAI API, tetapi konteks aplikasi itu unik
- Data yang bisa disertakan
- Apa yang ingin dilakukan pengguna
- Siapa yang melakukannya
- Status akun
- Lokasi di dalam aplikasi
- Skema data aplikasi
- Saat Max menerima pertanyaan "mengapa pendaftaran menurun minggu lalu", informasi yang diterima API meliputi
- Halaman saat ini (dashboard, insight yang ditampilkan, filter yang diterapkan, peran pengguna)
- Skema data (event yang tersedia, properti event, properti person)
- Akun (tier organisasi, zona waktu, masa retensi)
- Pemformatan konteks UI melalui contoh kode
- Informasi dashboard (nama, insight yang ditampilkan, filter yang diterapkan, rentang tanggal)
- Informasi insight (nama, jenis kueri, event yang dianalisis, pengelompokan)
- Menangani "konteks" (status) di dalam workflow juga wajib
- Konteks tidak boleh hilang seiring percakapan berjalan, terutama saat ada beberapa sub-agen
- Simpan dan sertakan konteks di setiap bagian workflow
- Optimasi konteks dan pemilihan model lebih efektif dan lebih berguna daripada fine-tuning model
5. Arahkan AI menuju keberhasilan dengan perencanaan kueri dan routing bersyarat
- Jika AI dibiarkan tanpa batasan, ia akan melakukan berbagai perilaku tak terduga, jadi perlu diarahkan agar berhasil
- Implementasi dilakukan dengan mengorkestrasi dan menghubungkan beberapa langkah: perencanaan kueri → pencarian data → visualisasi
- Selain manajemen status, yang juga dibutuhkan adalah
- AI harus mengenali alat dan data yang bisa digunakannya
- AI harus bisa memilih alat dan data yang tepat sesuai tugas yang dimaksud
- Pastikan alat seperti eksekusi kueri dan formatting benar-benar berfungsi
- Contoh router tingkat atas di PostHog
- Menentukan apakah perlu membuat insight
- Menentukan apakah perlu mencari dokumentasi
- Menentukan apakah terkait penagihan
- Setiap node router memiliki kondisinya sendiri yang menghubungkannya ke data dan alat yang tepat untuk tugas tersebut
- Ini meningkatkan peluang keberhasilan dengan memastikan AI memiliki komponen yang dibutuhkan untuk menyelesaikan tugas
6. Bersiap menghadapi kegagalan dengan monitoring, guardrail, dan penanganan error
- Struktur yang dibangun memang membantu mencegah kegagalan, tetapi AI pada akhirnya akan menabrak guardrail, sehingga guardrail wajib disediakan
Monitoring
- Terapkan monitoring sejak awal agar tahu kapan masalah mulai terjadi
- Saran Georgiy dari tim Max AI
- Monitoring trace produksi itu wajib
- Mereka membangun alat monitoring untuk dogfooding, dan akan lebih baik jika itu sudah ada sejak awal
- Memantau trace pada skala besar semakin sulit, sehingga evaluasi online akan membantu (prioritas berikutnya)
- Meninjau 100 percakapan saja sudah sulit, dan meninjau 1.000 percakapan per hari mustahil
- Percakapan ini adalah pertanyaan dan kesulitan pengguna nyata, dan memberikan semua insight yang dibutuhkan untuk membangun agen
Pencegahan halusinasi
- Semua hal yang bisa dihalusinasikan AI akan dihalusinasikan, jadi jelaskan data yang harus diatur langsung dan aturan yang harus diikuti
- Contoh aturan wizard instalasi AI
- Jangan pernah menghalusinasikan API key. Sebagai gantinya, selalu gunakan API key yang sudah terisi di file
.env
- Dilarang menambahkan komentar placeholder seperti "
// di aplikasi nyata..."
- Dilarang mengubah business logic yang sudah ada atau menambahkan kode simulasi
- Dilarang mengimpor package atau library baru yang belum digunakan
- Dilarang mengasumsikan library autentikasi (Clerk, Auth.js, dll.) tersedia
Guardrail untuk pengguna
- Saat melihat kotak teks kosong, orang menjadi takut dan melupakan segalanya
- Solusinya: tambahkan saran tentang cara menggunakan fitur AI, arahkan ke jalur yang benar, dan ingatkan apa saja yang bisa dilakukan
Penanganan error
- Karena workflow terkadang terputus, tangani dengan elegan lewat retry dan rate limiting
- Untuk pengguna tingkat lanjut, bisa disiapkan analisis LLM, pelacakan error, dan feature flag
- PostHog menyediakan ketiganya (kebetulan yang menguntungkan)
Meningkatkan fitur
- Model AI berkembang cepat dan tidak dapat diprediksi, sehingga fitur AI membutuhkan lebih banyak pemeliharaan dan peningkatan berkelanjutan daripada yang diperkirakan
7. Cegah silo pengetahuan AI
- Membangun fitur AI tidak boleh menjadi tanggung jawab satu orang "penanggung jawab AI" di tim
- AI harus terintegrasi dalam produk secara mendalam, yang berarti dibutuhkan keahlian dari orang-orang yang berbicara dengan pengguna dan membangun sesuatu untuk mereka
- Pendekatan yang direkomendasikan
- Bangun primitive dan buat fitur AI bisa dikomposisikan: agar tim tidak perlu menemukan ulang prompt, streaming, persetujuan, eval, dan analitik, sehingga bisa fokus pada fitur AI yang unik dan bernilai tambah
- Pertahankan pola UX yang konsisten di seluruh aplikasi: dalam kasus PostHog, ini adalah Max, untuk mencegah kebingungan akibat ribuan widget AI
- Tempatkan pakar AI sementara di dalam tim: membantu tim membangun fitur AI lebih cepat dan menyebarkan pengetahuan AI ke seluruh organisasi (ini dilakukan tim Max AI)
8. Fokus pada kecepatan
- Salah satu tantangan besar fitur AI, terutama yang kompleks, adalah lambat
- Workflow sering berarti beberapa panggilan ke penyedia LLM, yang bisa menyebabkan banyak latensi
- Ini bisa terasa sangat menjengkelkan terutama saat ada cara alternatif untuk menyelesaikan pekerjaan di aplikasi atau situs web
- Saran Rahul Vohra, pendiri Superhuman: "kecepatan menang"
- Contoh: Instant Reply atau Auto Summarize
- Gmail dan Outlook juga punya fitur serupa, tetapi harus membuat balasan dan ringkasan saat diminta lalu menunggu hingga selesai
- Di Superhuman, ini dipra-hitung sehingga selalu tersedia seketika, dan perbedaan sederhana ini memberi dampak besar pada pengalaman pengguna
Cara meningkatkan
- Pahami benchmark model dan rilis model baru: ketika model yang lebih baik dan lebih cepat dirilis, uji dan gunakan untuk mendapatkan peningkatan terbesar baik pada kemampuan maupun kecepatan (gunakan analisis LLM)
- Campurkan model cepat dan lambat sesuai tugas
- Untuk pembuatan judul, filter replay sesi, ringkasan survei, dan pencarian insight, gunakan model cepat (
gpt-4.1-mini, gpt-4.1-nano)
- Untuk pembuatan skema, penanganan percakapan, dan manajemen konteks, gunakan model lambat (
gpt-4.1)
- Gunakan pemrosesan asinkron: tugas AI yang kompleks seperti ringkasan sesi dan ekstraksi pola dijalankan secara asinkron melalui workflow Temporal agar tidak memblokir interaksi pengguna. Hasilnya kemudian di-cache di Redis untuk mendukung retry tanpa perhitungan ulang
9. Monitor dan evaluasi efektivitas secara terus-menerus
- Hanya karena fitur baru itu ✨ AI ✨, bukan berarti ia boleh dinilai dengan standar yang lebih longgar
- Ide yang salah bisa memperburuk produk, dan perubahan model bisa berdampak negatif pada pengalaman tanpa disadari pengguna
Cara mengevaluasi efektivitas
- Tambahkan eval sejak awal: bahkan dataset golden atau sintetis yang kecil pun memberi peningkatan besar dibanding siklus pengembangan biasa. Pada skala besar pun implementasinya lebih mudah dari perkiraan, dan ini juga mempercepat pembangunan fitur berikutnya
- A/B test: bandingkan fitur AI dengan pengalaman biasa, serta uji berbagai prompt, konteks, workflow, dan sebagainya
- Periksa tingkat penggunaan AI pada berbagai tipe pelanggan (misalnya pengguna gratis vs enterprise, product vs sales)
- Mereka menemukan bahwa product manager dan marketer lebih sering menggunakan Max dibanding product engineer yang merupakan profil pelanggan ideal, sehingga roadmap pun dipertimbangkan ulang
- Izinkan pengguna menilai respons AI sebagai baik/buruk: jika pengguna menilai respons buruk, minta detail tambahan dan gunakan untuk menyesuaikan konteks, prompt, dan workflow
- Bandingkan penggunaan AI vs non-AI: gunakan metrik aktivasi dan retensi yang ada untuk memahami di mana AI paling cocok ditempatkan dalam produk dan lifecycle pengguna, serta apakah dampaknya positif
Penutup
- Sembilan pelajaran ini tidak berdiri sendiri, melainkan bekerja bersama
- Salah jika langsung melompat ke bagian akhir dan menganggap optimasi eval = membangun produk hebat
- Tujuannya adalah membangun sesuatu yang bernilai bagi pengguna, bukan demo teknologi yang mencolok
- Hanya karena sesuatu adalah AI, bukan berarti pengguna akan menemukan nilainya
- Semua pelajaran tentang membangun produk hebat tetap berlaku
- Berbicara dengan pengguna
- Rilis dengan cepat
- Jalankan eksperimen
- Iterasi
Belum ada komentar.