- Untuk mengatasi kehilangan pendapatan akibat panggilan telepon yang tidak terjawab di bengkel kelas premium, dikembangkan resepsionis AI ‘Axle’ yang benar-benar bisa menerima telepon
- AI dibangun berbasis Retrieval-Augmented Generation (RAG) agar dapat memberikan jawaban akurat berdasarkan informasi layanan dan harga nyata yang dikumpulkan dari situs web
- Dengan mengintegrasikan Vapi, Deepgram, ElevenLabs, FastAPI, MongoDB Atlas, dan lainnya, sistem ini mewujudkan koneksi telepon, pengenalan dan sintesis suara, serta penyimpanan riwayat percakapan
- Kualitas suara disesuaikan dengan nada alami dan struktur kalimat pendek, sehingga memberi respons yang ramah namun tetap profesional kepada pelanggan
- Ke depan, sistem ini akan diperluas ke sistem reservasi, notifikasi SMS, dan dashboard callback, dan untuk agen suara yang spesifik bisnis, knowledge base dan desain eskalasi adalah inti utamanya
Proses membangun resepsionis AI
- Untuk menyelesaikan masalah kakaknya yang menjalankan bengkel mobil premium dan kehilangan ribuan dolar tiap bulan karena panggilan yang tidak terjawab, ia membangun resepsionis AI kustom bernama ‘Axle’
- Ini bukan chatbot biasa, melainkan agen berbasis suara yang benar-benar bisa menerima telepon dan menjawab pertanyaan pelanggan berdasarkan informasi nyata seperti harga, jam operasional, dan kebijakan
- Proyek ini terdiri dari tiga tahap: membangun knowledge base (pipeline RAG) → menghubungkan telepon dan server → menyesuaikan kualitas suara dan nada percakapan
Step 1: Membangun otak (pipeline RAG)
- Sistem dirancang dengan pendekatan Retrieval-Augmented Generation (RAG) agar AI menjawab berdasarkan data nyata
- Jika hanya memakai LLM biasa, ada risiko halusinasi (hallucination) seperti memberikan harga yang salah, sehingga jawabannya dibatasi hanya pada informasi yang benar-benar tersedia
- Melalui scraping data situs web, terkumpul lebih dari 21 dokumen yang mencakup jenis layanan, harga, durasi pengerjaan, jam operasional, metode pembayaran, garansi, dan kebijakan mobil pengganti
- Knowledge base disimpan di MongoDB Atlas, dan embedding vektor 1024 dimensi dibuat dengan model Voyage AI (voyage-3-large)
- Pencarian berbasis makna dilakukan melalui indeks Atlas Vector Search
- Saat pertanyaan pelanggan masuk, kueri diubah dengan model embedding yang sama untuk mencari 3 dokumen teratas yang paling mirip secara semantik
- Model Anthropic Claude (claude-sonnet-4-6) digunakan untuk menghasilkan jawaban dengan dokumen hasil pencarian sebagai konteks
- System prompt berisi aturan seperti “jangan gunakan informasi di luar knowledge base, tetap ringkas dan percakapan, jika tidak tahu tawarkan callback”
- Hasilnya, dari terminal sistem bisa menjawab pertanyaan seperti “berapa biaya ganti oli?” secara akurat dengan harga dan detail layanan yang nyata
Step 2: Menghubungkan ke nomor telepon nyata
- Untuk menghubungkan otak AI ke sistem telepon nyata, digunakan platform Vapi
- Platform ini menyediakan pembelian nomor telepon, pengenalan suara berbasis Deepgram, sintesis suara berbasis ElevenLabs, serta kemampuan function calling secara real-time
- Dibangun server webhook FastAPI
- Vapi mengirim pertanyaan pelanggan ke endpoint
/webhook sebagai permintaan tool-calls
- Server meneruskannya ke pipeline RAG, menerima jawaban Claude, lalu mengirimkannya kembali ke Vapi
- Untuk menjaga tempo percakapan tetap alami, latensi harus diminimalkan
- Dengan Ngrok, server lokal diekspos sebagai URL HTTPS eksternal sehingga pengujian real-time tetap bisa dilakukan selama pengembangan
-
Konfigurasi asisten Vapi
- Sapaan awal dan dua tool (
answerQuestion, saveCallback) dihubungkan ke webhook
- Sistem bisa menjawab pertanyaan, atau jika tidak tahu, meminta nama dan nomor telepon lalu menyimpan callback
- Fitur memori percakapan menjaga konteks percakapan sebelumnya
- Ini memungkinkan penanganan pertanyaan lanjutan seperti “jam operasionalnya bagaimana?” → “kalau begitu berapa biaya ganti ban?”
-
Menyimpan log panggilan di MongoDB
- Mencatat nomor penelepon, pertanyaan, jawaban, apakah dialihkan ke staf manusia, dan timestamp
- Permintaan callback disimpan di koleksi
callbacks terpisah agar bisa ditindaklanjuti
- Dengan ini, pola pertanyaan pelanggan dan volume panggilan dapat dianalisis
Step 3: Menyesuaikan kualitas suara
- Karena respons teks dan respons suara berbeda, perlu optimasi khusus untuk penyampaian suara
- Kalimat yang terdengar alami dalam tulisan bisa terasa janggal saat diucapkan
-
Memilih suara ElevenLabs
- Setelah menguji sekitar 20 suara, suara ‘Christopher’ dinilai paling alami dan paling cocok untuk suasana bengkel
- Suara yang terlalu robotik atau terlalu ceria dianggap tidak cocok
-
Merevisi system prompt
- Menggunakan kalimat pendek, menghapus Markdown, dan membuang frasa yang tidak perlu seperti “pertanyaan yang bagus!”
- Harga diucapkan dalam bahasa alami (“forty-five dollars”)
- Respons dibatasi dalam 2–4 kalimat
- Tujuannya adalah menghadirkan suara manusia yang ramah dan profesional
-
Menguji alur eskalasi (callback)
- Jika pertanyaan tidak ada di knowledge base, AI akan mengatakan tidak tahu, meminta nama dan nomor, lalu menyimpannya ke MongoDB
- Pemilik bengkel kemudian bisa menindaklanjuti secara langsung
-
Menulis integration test
- Menguji pipeline RAG, pemrosesan webhook, dan seluruh alur end-to-end
- Termasuk penanganan edge case seperti permintaan tidak valid, tidak ada hasil pencarian, atau nomor callback yang tidak diberikan
Susunan tech stack
- Vapi (integrasi Deepgram & ElevenLabs) — nomor telepon, pengenalan suara, sintesis suara, function calling
- Ngrok — tunnel HTTPS untuk pengembangan lokal
- FastAPI + Uvicorn — server webhook
- MongoDB Atlas — knowledge base, pencarian vektor, log panggilan, antrean callback
- Voyage AI (voyage-3-large) — embedding teks berbasis semantik
- Anthropic Claude (claude-sonnet-4-6) — pembuatan jawaban berbasis knowledge base
- Python — menggunakan
pymongo, voyageai, anthropic, fastapi
- Copilot CLI — alat otomasi build
Langkah berikutnya
- Saat ini AI sudah menyelesaikan fungsi tanya-jawab dan pengumpulan callback
- Target berikutnya adalah integrasi kalender untuk reservasi real-time, notifikasi SMS, dashboard manajemen callback, penguatan keamanan, dan deploy ke Railway
- Setelah selesai, sistem dapat beroperasi 24 jam dan mencegah hilangnya pendapatan akibat panggilan yang terlewat
- Bagian tersulit ternyata bukan kodenya, melainkan mewujudkan nada suara yang cocok untuk bengkel
- Pelajaran utamanya: jangan menggunakan raw LLM apa adanya untuk agen suara yang spesifik bisnis
- Sistem harus berbasis knowledge base nyata, dan alur penanganan saat AI tidak tahu jawabannya (eskalasi) wajib dirancang
- Ini bukan pengecualian, melainkan fitur inti
1 komentar
Komentar Hacker News
Dulu saya bekerja sebagai service advisor (petugas penerimaan). Sistem yang dibahas di artikel ini rasanya tidak akan berjalan secara realistis
Pengembangan seperti ini bukan sekadar kesombongan, tapi juga berbahaya. Jika dibuat hanya berdasarkan asumsi tanpa verifikasi, ini bisa membahayakan mata pencaharian orang lain
Dealer Subaru di daerah kami memberi pilihan untuk memakai asisten AI saat membuat janji lewat telepon. Setelah saya coba, kerjanya lebih akurat dan cepat daripada manusia. AI pemesanan milik Taco Bell juga sama bagusnya. Dalam kasus seperti ini, tidak ada ruginya tidak bicara dengan manusia, dan jika perlu tetap bisa dialihkan ke petugas manusia kapan saja
Postingan blog seperti ini baru setengah cerita. Saya penasaran apakah pendapatannya benar-benar naik, apakah pelanggan peduli bahwa itu bot, dan apakah ada kasus kegagalan
Akhir-akhir ini saya cukup positif terhadap asisten telepon berbasis LLM. Saat menelepon layanan pelanggan Mint Mobile, LLM memahami saya dengan alami dan menyelesaikan masalah dalam 1 menit. Dulu hal seperti itu bisa membuat saya menunggu lebih dari 20 menit
Menurut tulisannya, bengkel itu kehilangan ribuan dolar setiap bulan karena tidak bisa mengangkat telepon. Kalau begitu, memakai resepsionis outsourcing sekitar 500 dolar per bulan jelas ROI-nya jauh lebih tinggi
Sekarang kalau saya merasa yang melayani adalah robot, saya langsung menutup telepon. Tetapi tak lama lagi suara AI mungkin akan mencapai tingkat yang tidak bisa dibedakan dari manusia. Saat itu, kepercayaan terhadap telepon bisa runtuh. Email dan LinkedIn sudah penuh spam AI, jadi orang pindah ke telepon, tetapi itu pun mungkin segera hilang
Katanya “ini bukan chatbot umum”, tetapi pada dasarnya ini tidak lebih dari chatbot umum model tahun 2026
Saya melihat halaman “About” di blog itu, dan penulisnya bilang terinspirasi oleh influencer yang menjadi kaya setelah belajar coding. Tetapi sikap seperti ini jauh dari arah budaya engineering yang saya inginkan
Agak menyedihkan melihat orang-orang menulis blog pribadi dengan AI
Apakah RAG benar-benar perlu di sini? Kalau hanya daftar harga dan jam operasional, semuanya bisa muat dalam context window