Cara Saya Membangun Chatbot Sendiri Tanpa Pengalaman Coding: Pelajaran yang Dipetik
Saya membangun chatbot yang berfungsi dari nol pengetahuan coding dalam 5 bulan menggunakan GPT API dan ChatGPT 4 — begini cara saya melakukannya dan apa yang saya pelajari sebagai pemula total.
Update (2026): Chatbot ini berevolusi menjadi Sydney! Setelah banyak iterasi, Sydney sekarang tinggal di /ask/ dan fokus pada konten blog dan produk.
Sejak chatGPT dirilis tahun lalu, saya terpesona oleh generative AI dan ingin mengeksplorasi pembangunan chatbot sendiri menggunakan API yang tersedia. Sebagai pemula total tanpa pengalaman programming sama sekali, ini adalah tujuan yang ambisius. Namun, saya bertekad untuk mendorong diri sendiri mendapatkan pengalaman hands-on bekerja dengan sistem AI. Motivasi saya adalah melampaui sekedar menggunakan tools ini, dan mulai mengembangkan pemahaman yang lebih dalam tentang bagaimana mereka dibangun. Saya memutuskan untuk memanfaatkan konten yang sudah ada dengan membuat chatbot yang bisa menjawab pertanyaan tentang postingan di blog saya. Membangun chatbot ini dari nol telah menjadi pengalaman belajar yang sangat berharga, meskipun masih punya jalan panjang. Dalam postingan ini, saya akan berbagi beberapa pelajaran kunci yang sudah saya pelajari sejauh ini dalam perjalanan ini sebagai pemula coding.
Jadi apa saja tantangan saya?
- Untuk permulaan, saya tidak tahu programming. Saya tidak tahu banyak (kalau ada) tentang HTML (selain penggunaan
<h1>atau<h2>), apalagi Python atau bahasa programming lainnya. - Tentu saja, saya tidak tahu cara deploy aplikasi di cloud, belum pernah dengar Docker, Cloud Run, dll... sebelumnya.
- Saya bahkan tidak bisa migrasi website ini dari Bluehost ke GCP karena saya tidak tahu tentang MySQL, virtual instance, dll...
- Saya tidak tahu SSH, public key, private key atau apapun seperti itu T.T
- Saya juga tidak punya latar belakang di machine learning atau matematika lanjutan.
- Dan saya bukan anak muda lagi :| Saya berusia 40 tahun, dengan pekerjaan penuh waktu.
Tapi setelah sekitar 5 bulan, inilah versi 0.1 dari chatbot yang saya bangun, menggunakan OpenAI GPT API dan banyak bantuan dari ChatGPT 4. Saya tidak bercanda ketika mengatakan versi 0.1 karena ini masih jauh (sangat jauh) dari yang saya harapkan tapi ya sudah, ini "berfungsi" (kurang lebih). Apa yang bisa dilakukannya:
- Kalau kamu bertanya pada chatbot tentang topik sebelumnya yang pernah saya tulis, chatbot bisa mensintesis konten dari beberapa artikel dan memberikan respons.
- Poin ini penting bagi saya karena sebelumnya saya pernah menulis tentang implementasi solusi off-the-shelf tapi masalah umamnya adalah chatbot-chatbot itu tidak mensintesis konten lintas postingan. Chatbot itu "terasa" lebih seperti fungsi pencarian daripada chatbot.
- Chatbot ini dirancang untuk menjawab pertanyaan tentang postingan blog saya saja jadi kalau kamu bertanya tentang topik lain, kemungkinan dia akan bilang tidak.
- Pengetahuannya mencakup semua postingan yang saya publikasikan selama 17 tahun terakhir, sampai akhir September 2023. Itu sekitar 500 postingan.
Ada banyak hal yang chatbot BELUM bisa lakukan, seperti:
- Dia tidak bisa mengingat secara akurat angka spesifik dalam postingan yang saya tulis.
- Dia tidak bisa menjawab pertanyaan tentang tanggal publikasi dengan akurat.
- Saya yakin dia punya banyak masalah keamanan T.T (sedih, sedih, muka sedih)
- dan masih banyak lagi
Update Feb 2024:
Versi 2.1 dari chatbot sudah tersedia dan kamu bisa melihat postingannya "Chatbot v2.10 Unveiled: Elevating User Experience with Enhanced Speed, Scalability, and Simplicity."
Jadi apa yang saya pelajari melalui fase pertama perjalanan ini?
1. ChatGPT 4 bisa menyelesaikan sebagian besar tugas coding dasar/menengah
kalau kamu tahu apa yang kamu cari dan spesifik dengan prompt/pembagian konteksmu.
Kuncinya di sini adalah tahu apa yang harus ditanyakan ke mesin. Dia bisa melakukan "hampir semua" tugas coding yang diberikan selama tugasnya cukup spesifik. Saya bilang "hampir semua" dengan sengaja karena dia berulang kali gagal mengikuti beberapa contoh yang diberikan.
Kode yang dihasilkan chatGPT 4 sering cukup modular sehingga bisa digunakan ulang nanti. Mesin ini juga sering menyertakan komentar spesifik di seluruh kode.
2. Ambil pelajaran/kursus coding/IT fundamental
Kalau kamu di posisi saya, kamu tidak akan tahu harus bertanya apa yang tidak kamu ketahui. Beberapa cara untuk mengatasi ini:
- Jelaskan tujuan keseluruhan proyek ke chatGPT dan minta dia memberikan gambaran semua langkahnya. Ini kurang lebih akan memberi gambaran area yang perlu kamu pelajari lebih lanjut
- Kalau kamu hanya mengikuti buta apa yang chatGPT bilang, mungkin tidak masuk akal. (Saya pernah coba ini :P)
- Kursus-kursus fundamental ini sangat membantu saya. Mereka memberikan pengetahuan yang luas (tapi tidak mendalam) sehingga saya tahu bagaimana potongan-potongan puzzle yang berbeda seharusnya cocok satu sama lain.
3. Selesaikan kursus-kursus GRATIS dan singkat ini tentang Building Systems with the ChatGPT API
Dua kursus tentang chatGPT API akan menghemat banyak waktumu:
Meskipun kursus-kursus ini untuk pemula, ketika saya pertama kali menemukan mereka beberapa bulan lalu, saya tidak punya cukup pengetahuan dasar untuk bahkan mengikuti apa yang dibicarakan. Makanya saya berhenti menonton setelah sekitar 10 menit. Lalu setelah saya mencoba bekerja dengan OpenAI API dan berbagai prompt untuk beberapa waktu, terjebak dan kemudian saya ingat kursus-kursus ini. Pada dasarnya mereka memberikan semua jawaban yang saya butuhkan untuk membangun versi 0.1 ini
Kursus prompt engineering sangat membantu karena menunjukkan cara menginstruksikan chatGPT untuk output dengan cara tertentu. Misalnya, saya tidak akan terpikir jenis system message seperti ini tanpa menonton kursusnya:
Make sure to ask the user relevant follow-up questions."
Format bullet point yang kompatibel dengan HTML dan line breaks membantu membuatnya jauh lebih mudah bagi pengguna chatbot ketika jawabannya panjang.
4. Baca sendiri dokumentasi OpenAI yang sebenarnya
Saya malas (:D) jadi awalnya saya tidak repot-repot membaca dokumentasi dari OpenAI. Saya cukup copy paste dokumentasinya ke chatGPT lalu minta dia gunakan sebagai sumber referensi dan memandu saya dengan kode aktual. Hasilnya tidak terlalu bagus dan saya membuang cukup banyak waktu sebelum memutuskan untuk membaca dokumentasinya sendiri lalu memberikan permintaan yang lebih terarah ke chatGPT
5. ChatGPT mudah tersesat ketika percakapan terlalu panjang atau ketika kamu mulai/berhenti setelah beberapa jam
Saya rasa saya seharusnya tidak terkejut dengan ini karena mirip dengan manusia, chatGPT mudah tersesat ketika percakapan semakin panjang. Apa maksud saya?
- Dia mulai merekomendasikan kode yang tidak masuk akal
- Atau tidak bisa mengingat potongan kode/saran lain yang baru saja diberikan
Juga ketika kamu berhenti bekerja dengannya selama beberapa jam (atau semalaman) lalu kembali, bahkan setelah meminta chatGPT membaca seluruh riwayat percakapan dan mengkonfirmasi bahwa dia sudah melakukannya, mirip dengan manusia, saya harus memberikan jauh lebih banyak konteks terbaru dan basis kode lagi. Kalau tidak, dia tampaknya benar-benar "lupa" banyak detail yang sudah dia bilang sebelumnya.
6. GPT 4 API mahal digunakan jadi coba GPT 3.5 sebanyak mungkin
Misalnya, saya membuang $20 menggunakan GPT 4 API untuk tugas summarization yang bisa dilakukan GPT 3.5 dengan baik. Juga pastikan kamu menguji kode pada beberapa file dulu sebelum kamu "melepaskannya" pada ratusan file karena ya, biaya GPT API bisa naik cepat.
7. OpenAI Cookbook adalah temanmu
Lagi-lagi, saya membuat kesalahan tidak repot (atau lebih tepatnya tidak tahu) untuk mengecek OpenAI sample cookbook sebelumnya. Di sana, kamu bisa menemukan:
- Cara menghitung token menggunakan tiktoken: ini penting karena kalau kamu hanya minta chatGPT melakukan ini, dia akan mengandalkan metodologi lama untuk GPT 3 dan bukan pendekatan paling terbaru
- Question answering using embeddings-based search: saya pada dasarnya menggunakan pendekatan yang sama untuk membangun versi 0.1 chatbot.
8. Panjang context window rumit untuk pemula
Model GPT yang berbeda punya batas token maksimum yang berbeda dan memodifikasi kode untuk memastikan kamu tetap dalam batas token itu tidak mudah untuk pemula (seperti saya). Saya harus menghabiskan banyak waktu di bagian ini karena saya punya banyak postingan blog yang sangat sangat panjang.
Juga untuk chatbot, saya ingin dia mensintesis konten dari beberapa postingan sebelum memberikan jawaban jadi saya sering menghadapi batas token.
9. Version control, version control dan version control
Ini mungkin sangat intuitif bagi para ahli tapi untuk pemula coding seperti saya, saya harus belajar dengan cara yang sulit. Dan saya juga harus belajar frekuensi git commit yang tepat untuk proyek ini, karena saya adalah satu-satunya kontributor/coder.
Kesimpulan
Singkatnya, perjalanan membangun chatbot ini sebagai pemula telah mengajarkan saya pentingnya belajar fundamental, memanfaatkan ChatGPT untuk tugas yang terarah, mempelajari dokumentasi API, dan menggunakan version control. Meskipun masih ada ruang yang signifikan untuk perbaikan, saya sekarang punya prototipe dasar yang bisa mensintesis informasi dari postingan blog saya untuk menjawab pertanyaan. Ke depannya, prioritas saya adalah memperluas basis pengetahuan chatbot untuk mencakup konten baru, meningkatkan kemampuannya mengambil detail presisi dari postingan, dan mengoptimasi responsnya agar tetap dalam batas token. Saya juga berencana terus meningkatkan skill di area seperti prompt engineering dan cloud deployment.
Itu saja dari saya. Saya akan terus update tentang pelajaran yang dipetik dan berbagi ketika versi baru tersedia.
Apakah kamu pernah coba membangun sesuatu dengan OpenAI API sebagai non-developer? Saya ingin dengar apa yang paling membuatmu tersandung — bagi saya itu pasti batas context window dan version control :P
Satu minggu kemudian
Setelah sprint 1 minggu, saya sudah menyelesaikan pembaruan tambahan untuk chatbot. Untuk baca lebih lanjut, pergi ke sini "Evolving My Chatbot: A One-Week Sprint to Smarter Interactions."
Salam,
Chandler





