1 poin oleh GN⁺ 2024-06-10 | 2 komentar | Bagikan ke WhatsApp

Kerugian $10.000+ akibat satu kesalahan ChatGPT

Proses monetisasi 🛣️

  • Latar belakang: Mulai melakukan monetisasi pada tahap awal startup.
  • Penetapan harga: Menetapkan harga $40 per bulan mengikuti saran group partner YC.
  • Tech stack: Bermigrasi dari NextJS ke Python/FastAPI. Integrasi Stripe selesai.

Penyebab kerugian $10.000 💰

  • Masalah muncul: Terjadi masalah spinner loading tak berujung pada fitur langganan.
  • Pemecahan masalah: Setelah menganalisis banyak email dan log selama 5 hari, akhirnya menemukan masalahnya.
  • Penyebab: Ada kesalahan pada metode pembuatan ID dalam kode yang dihasilkan ChatGPT. String ID tetap digunakan sehingga terjadi tabrakan ID.

Menangkap bug 🐛

  • Penjelasan masalah: Penggunaan string ID tetap menyebabkan tabrakan ID. Karena beberapa instance berjalan di AWS ECS, pada siang hari tidak ada masalah, tetapi pada malam hari tabrakan terjadi.
  • Solusi: Menggunakan fungsi pembuat UUID alih-alih ID tetap. Setelah masalah diperbaiki, sistem menjadi stabil.

Kesimpulan 🤖

  • Pelajaran: Mengakui kesalahan seperti kurangnya pengujian, copy-paste kode, dan commit langsung ke branch utama.
  • Pengalaman: Ini pengalaman yang menyakitkan, tetapi akan dikenang sebagai momen penting bagi startup.

Opini GN⁺

  • Pentingnya pengujian: Diperlukan unit test dan integration test yang memadai.
  • Code review: Alih-alih copy-paste kode, code review dan verifikasi itu penting.
  • Strategi deployment: Daripada commit langsung ke branch utama, lebih baik menggunakan branch terpisah dan melalui code review.
  • Kemampuan pemecahan masalah: Kemampuan untuk cepat mengidentifikasi dan menyelesaikan masalah itu penting.
  • Pemilihan tech stack: Perubahan tech stack harus direncanakan dan diuji dengan hati-hati.

2 komentar

 
znjadong 2024-06-11

Eh, kode yang dibuat otomatis oleh AI itu tentu harus ditinjau dulu, kenapa langsung dipakai begitu saja?

 
GN⁺ 2024-06-10
Opini Hacker News
  • Opini pertama: Kesalahannya langsung ditemukan. Penyebabnya adalah kurangnya keahlian tim. Jika menggunakan solusi monitoring, ini kemungkinan bisa dengan mudah terdeteksi.
  • Opini kedua: Berkat ChatGPT, aplikasinya berhasil menghasilkan pendapatan. Kurangnya kemampuan coding, debugging, logging, dan monitoring menjadi penyebab kerugian $10,000.
  • Opini ketiga: Kurangnya monitoring menjadi penyebab kerugian $10,000. Exception database terjadi, tetapi tidak ada alert. Jika ada alert, masalah ini kemungkinan bisa diselesaikan dalam 5 menit.
  • Opini keempat: Menunjukkan masalah pada strategi evaluasi argumen default di Python. Nilainya dievaluasi saat fungsi didefinisikan. Ini mungkin memang disengaja demi efisiensi. Cara Python membuat list juga disebut sebagai masalah.
  • Opini kelima: Manusia juga sering melakukan kesalahan yang sama. Terutama di React/TypeScript/JavaScript, banyak yang lupa menggunakan lambda. Ia merasa tulisan blog tersebut tidak menjelaskan akar penyebab masalah dengan tepat.
  • Opini keenam: Kesalahan seperti ini bisa sangat mudah terjadi. Namun, sulit dipahami mengapa setelah kegagalan pertama masalah itu tidak terdeteksi. Ia mempertanyakan apakah memang tidak ada logging.
  • Opini ketujuh: Mengungkapkan masalah ini ke publik terasa naif. ChatGPT tidak punya alasan untuk disalahkan. Ini mengingatkannya pada ide layanan code review.
  • Opini kedelapan: Ini adalah masalah yang muncul karena keterbatasan waktu. Karena tekanan seperti ini, ia takut pada software subscription.
  • Opini kesembilan: Ia tidak mengerti startup yang membenarkan rewrite total saat bahkan belum punya pelanggan.
  • Opini kesepuluh: Keterampilan menggunakan LLMs adalah mengetahui kapan dan bagaimana menggunakannya. Jawaban ChatGPT sebenarnya tepat, tetapi ia mendapat pelajaran besar saat melihat rekomendasi untuk menghapus semua pengguna pada baris tertentu.

Setiap opini memberikan sudut pandang yang beragam tentang masalah yang dapat muncul dalam proses pengembangan software dan cara mengatasinya. Ini bisa memberi wawasan yang berguna bagi software engineer pemula.