Pada 24-25 Agustus 2019 saya dan anggota tim SSW lainnya, Syamsul dan Windy berkesempatan mengikuti kegiatan hackathon. Sebuah pengalaman pertama bagi kami. Kami harus menyelesaikan ide aplikasi dalam waktu 24 jam dan bersaing dengan 30 tim lainnya. Kegiatan yang diadakan di salah satu hotel di Jakarta itu adalah "babak final" bagi para peserta yang sebelumnya sudah berhasil lolos babak penyaringan ide.
Ide kami sederhana, yaitu membuat aplikasi chatbot atau layanan obrolan otomatis yang digunakan oleh user untuk mendapatkan aksi atau jawaban sesuai apa yang dibutuhkan. Ide tersebut buah hasil diskusi via telepon yang kami lakukan (karena saya di Surabaya, Syamsul di Palembang, dan Windy di Semarang kala itu).
Mengapa kami memilih ide tersebut? Alasan mendasar karena aplikasi itu bisa diwujudkan dengan mudah dan cepat dan realistis untuk diselesaikan selama 24 jam. Kesibukan kami pada pekerjaan mengakibatkan waktu eksplorasi teknologi baru menjadi sangat minim. Kemampuan kami dalam hal programming juga harus "dipanasi". Sehingga kami menghindari ide yang "wah" apalagi yang membutuhkan usaha lebih untuk belajar lagi.
Selain alasan keterbatasan skill dan waktu, kami juga mempertimbangkan efek kebermanfaatan pada aplikasi yang dihasilkan. Salah satu tema yang diberikan oleh panitia adalah B2C (Business to Consumer). Permasalahan yang muncul ialah bagaimana dapat menjaga loyalitas dan meningkatkan engagement konsumen pada produk dengan aplikasi yang dibuat. Loyalitas konsumen terhadap sebuah produk (tentu saja tergantung kualitas produk itu sendiri) disebabkan oleh bagaimana keterbukaan, kecepatan, keakuratan informasi yang disampaikan. Juga bagaimana penanganan atas laporan, keluhan, komplain yang diterima dari konsumen. Bagi perusahaan penyedia produk dengan jumlah konsumen yang banyak, berbagai informasi dan keluhan menjadi sangat repetitif (berulang) dan seragam. Namun, penanganannya harus dengan baik dilakukan ke semua konsumen. Berbagai kanal yang ada juga dirasa masih kurang. Lalu, kami melakukan riset dengan membaca berbagai artikel di internet, untuk melihat bagaimana solusi yang ditawarkan oleh berbagai perusahaan, apa yang menjadi best practice, dan siapa pemberi produk yang paling bisa memberikan kepuasan kepada konsumen. Setelah banyak pertimbangan, kami menyimpulkan bahwa intinya adalah komunikasi.
Kami pun memilih ide membangun chatbot.
Aplikasi chatbot merupakan salah satu solusi yang dapat dimanfaatkan untuk menjawab permasalahan B2C. Mengapa? Karena di era yang serba cepat ini, para konsumen (untuk produk apa pun) membutuhkan jawaban dan feedback yang juga cepat dari pemberi produk. Di bidang customer services, kita mengenal istilah Services Level Agreement (SLA) untuk menentukan berapa lama response time dan resolution time dari para agent services desk. Terbiasanya konsumen dalam mendapatkan apa yang dinikmati (instant gratification) juga menjadi alasan mengapa komunikasi yang andal sangat dibutuhkan. Chatbot sudah digunakan oleh banyak perusahaan, seakan menjadi best practice dan kanal yang wajib dimiliki dan disediakan. Maka pilihan untuk membuat chatbot kami rasa sudah tepat, sebab membutuhkan waktu yang relatif singkat dalam pengerjaannya tetapi dapat memberi manfaat yang besar.
Tentang Chatbot
Chatbot bukanlah sebuah terobosan baru di era milenal (2000-an). Ia adalah ide lama yang kembali populer karena adanya perkembangan aplikasi mobile chatting dan user sudah terbiasa dengan obrolan melalui teks (telah adanya UX --user experience). Apalagi didukung oleh perkembangan teknologi cloud dan open source.
Chatbot yang pertama kali dibuat (dan tercatat dalam sejarah) bernama ELIZA, pada tahun 1966 oleh Joseph Weizenbaum, salah satu profesor MIT, mengimplementasikan metode AI decision tree. Setelah itu muncul PARRY (1972), Jabberwacky (1988), Dr. Sbaitso (1992), A.L.I.C.E. (1995), SmarterChild (2001), Siri (2010), Google Assistant (2012), Cortana (2014), dan Alexa.
Intinya, gagasan chatbot ini sudah lama dipikirkan oleh manusia untuk menyelesaikan berbagai permasalahan. Perkembangan Artificial Intellegent dan Machine Learning juga berperan dalam mengembangkan chatbot, yang memiliki tujuan supaya percakapan yang dilakukan semirip mungkin dengan obrolan sesama manusia. Namun, tentu saja chatbot tidak hanya dipakai menjawab pertanyaan kita, tetapi juga untuk menyelesaikan sebuah permasalahan. Contohnya chatbot yang ada pada Telegram, Slack, Microsoft Teams, dan lain sebagainya. Mereka semua robot yang menggunakan "interface" sebuah percakapan untuk men-trigger sebuah perintah.
Seperti yang saya sebutkan di awal, pemanfaatan aplikasi chatbot menjadi marak dan sangat populer dewasa ini karena mulai berkembangnya teknologi dan banyaknya orang-orang baik di internet. Berbagai layanan framework banyak ditawarkan, yang bisa langsung kita terapkan dalam pembuatan aplikasi chatbot ini, mulai dari yang sederhana sampai rumit, yang disusun oleh if-else biasa sampai yang mengakomodir Natural Language Processing. Beberapa contoh dari framework chatbot adalah Microsoft Bot Framework, Rasa, Wit AI, Dialogflow (yang tim saya gunakan dalam Hackathon), IBM Watson, Amazon Lex, Pandorabots, Botpress, Botkit, dan ChatterBot. Belum lagi dengan library AI atau ML yang disediakan oleh banyak komunitas/perusahaan, contohnya OpenAI, DeepMind, Doc.ai, atau Fermilab. Dan juga layanan cloud seperti Google Cloud Platform, Microsoft Azure, AliCloud dan AWS. Dengan mudah tutorialnya ditemukan di internet.
Chatbot Adalah Solusi
Pada acara hackathon yang kami ikuti, kami menggunakan framework Dialogflow dengan basis data Firebase. Sedangkan untuk GUI (Graphic User Interface), kami memanfaatkan aplikasi mobile dari Ionic framework dan aplikasi dasbor administrator dari .NET framework. Berkat solusi chatbot yang kami tawarkan tersebut, Alhamdulillah mengantarkan kami menjadi finalis 10 besar.
Selain menjadi solusi bagi kami dalam hackathon, chatbot juga dapat menjadi jawaban untuk semua permasalahan kita. Karena berbasis teks, chatbot sangat powerful apabila diintegrasikan dengan aplikasi yang lain. Teknisnya mungkin dengan menggunakan API (Application Programming Interface) atau web-services. Kita tinggal mencarinya di internet sesuai dengan kebutuhan.
Dan berbicara mengenai kebutuhan, selama ini saya memiliki permasalahan pada pekerjaan yang amat sangat ingin saya pecahkan menggunakan chatbot. Berikut di antaranya:
1. Permasalahan komunikasi dengan user. Melihat dengan banyaknya user yang saya dan tim tangani, terkadang terpikir untuk dapat membuat aplikasi chatbot tersendiri. Walaupun skalanya hanya untuk internal perusahaan, tetapi aplikasi chatbot ini pasti akan membantu menjawab pertanyaan-pertanyaan berulang yang disampaikan oleh user dan melakukan aksi yang sering dimintakan. Aplikasi chatbot yang terhubung dengan Whatsapp for Bussiness perusahaan atau collaboration tools resmi yang pasti digunakan oleh semua pekerja di kantor.
2. Permasalahan dalam mengakses aplikasi ERP. Setiap perusahaan besar pasti menggunakan aplikasi ERP (Enterprise Resource Planning) untuk mengatur pembelian, pengadaan, penjualan, penyediaan stok, dan lain sebagainya. Semuanya terhubung dalam satu rangkaian proses dan tersimpan dalam satu database besar. Contohnya adalah SAP. Supaya dapat mengaksesnya, diperlukan aplikasi GUI khusus (SAP Logon) dan lisensi yang terhitung mahal. Padahal mungkin dari banyaknya fitur yang disediakan SAP, kita hanya menggunakan t-code (transaction code) yang itu-itu saja. Belum lagi untuk menarik sebuah laporan (report) dan informasi tertentu secara singkat dan cepat, kita harus melakukan banyak langkah. Akan menjadi sangat mudah apabila terdapat chatbot yang tersambung dengan SAP yang terintegrasi dengan collaborations tools (katakanlah Slack, Microsoft Teams, Telegram, dan lainnya). Hanya diperlukan beberapa "chat" untuk memerintah dan mendapatkan informasi yang kita butuhkan.
3. Permasalahan dalam mewujudkan imajinasi. Suatu ketika saya pernah terpikir dan mempertanyakan apakah ada yang namanya idea generator? Mengubah ide akan suatu aplikasi atau video games menjadi kenyataan tanpa bersusah payah untuk membangunnya. Karena programming tidak hanya melakukan pekerjaan mengetik program tetapi sebagian waktu digunakan untuk berpikir. Pertanyaan itu lama tidak pernah lagi saya pikirkan hingga saya membaca sebuah artikel tentang OpenAI - Codex.
Codex adalah sistem kecerdasan buatan (yang lebih ke arah NLP) milik OpenAI yang memiliki kemampuan mengubah bahasa sehari-hari menjadi bahasa/kode pemrograman. Codex adalah pengembangan dari GPT-3 yang sebelumnya sudah sangat menarik perhatian banyak orang karena kemampuannya menginterpretasikan bahasa manusia. Codex dapat diakses menggunakan API yang diterapkan pada berbagai aplikasi. Kita bisa melihat video demonya di sini: https://youtu.be/SGUCcjHTmGY.
Berbeda dengan konsep citizen development, yang menggunakan konsep low-code/no-code tanpa adanya proses pengkodean, hanya menggunakan drag-drop (silakan baca tulisan saya tentang Citizen Development di sini) API Codex ini memungkinkan kita untuk memberikan perintah pada AI untuk membuat sebuah aplikasi atau video games dengan keluaran berupa kode pemrograman. Hal yang kita butuhkan adalah kalimat yang jelas dalam memerintah kecerdasan buatan tersebut. Dalam video demo di atas, kita melihat bagaimana Codex dapat dengan baik menghasilkan beberapa baris program sesuai masukan dari pendemo. Sebuah gebrakan yang akan banyak mengubah dunia pemrogaman. Codex tidak akan menggantikan peran developer, tetapi akan menjadi partner selayaknya J.A.R.V.I.S bagi Iron Man. Dan tentu saja imajinasi akan menjadi lebih mudah untuk diwujudkan.
Chatbot Adalah Kita
Sepertinya kita akan kembali ke masa lalu dalam hal komunikasi. Orang-orang purba jaman dahulu berkomunikasi menggunakan simbol-simbol yang ditulis pada dinding, pada batu, pada tanah sebelum adanya bahasa dan sastra. Dengan adanya pergeseran UX pada perangkat mobile kita saat ini, cara kita berkomunikasi pun menjadi sangat sederhana. Kembali menggunakan simbol-simbol. Banyak sekali ditemui orang yang saat kita ajak berkomunikasi via teks (Whats App atau aplikasi chat yang lain) sering menggunakan emoticon atau stiker alih-alih mengetikkan kalimat secara penuh. Hal yang dapat saya simpulkan dari fenomena ini adalah kesederhanaan dan kecepatan, yang terpenting adalah informasi tersebut dapat tersampaikan.
Menurut hemat saya, chatbot juga seperti itu. Tidak perlu kalimat sesuai susunan SPOK, kita hanya mengetikkan satu karakter, satu kata, atau beberapa kata, robot (sederhana) sudah dengan mudah mengerti maksud kita. Karena chatbot didesain untuk mempercepat penyampaian informasi dan aksi yang dibutuhkan, bukan untuk diajak berbicara deeptalks.
Kesimpulan
Aplikasi chatbot menjadi solusi karena ia begitu dekat, hanya diperlukan komunikasi via teks. Dengan melihat banyak sekali potensi dari salah satu produk AI ini, mungkin mulai hari ini kita harus lebih memprioritaskan dan mengedepankan chatbot dalam riset IT kita, dengan tujuan menyelesaikan semua permasalahan kehidupan kita.