1 puan yazan GN⁺ 2024-06-10 | 2 yorum | WhatsApp'ta paylaş

Tek bir ChatGPT hatası nedeniyle 10.000 $+ kayıp

Gelir elde etme süreci 🛣️

  • Arka plan: Startup’ın erken aşamasında gelir elde etmeye başlandı.
  • Fiyatlandırma: YC grup partnerinin tavsiyesiyle aylık 40 $ olarak belirlendi.
  • Teknoloji yığını: NextJS’ten Python/FastAPI’ye geçiş yapıldı. Stripe entegrasyonu tamamlandı.

10.000 $ kaybın nedeni 💰

  • Sorunun ortaya çıkışı: Abonelik özelliğinde sonsuz yükleme spinner’ı sorunu oluştu.
  • Sorunun çözümü: 5 gün boyunca sayısız e-posta ve log analiz edildikten sonra sorun bulundu.
  • Neden: ChatGPT’nin ürettiği kodda ID üretim yönteminde hata vardı. Sabit bir ID string’i kullanıldığı için ID çakışmaları meydana geldi.

Bug’ı yakalamak 🐛

  • Sorunun açıklaması: Sabit ID string’i kullanılması nedeniyle ID çakışmaları oluştu. AWS ECS üzerinde birden fazla instance çalışırken gündüz sorun yoktu, ancak gece çakışmalar yaşandı.
  • Çözüm yöntemi: Sabit ID yerine UUID üretim fonksiyonu kullanıldı. Sorun çözüldükten sonra sistem stabil hale geldi.

Sonuç 🤖

  • Çıkarılan ders: Yetersiz test, kodu kopyala-yapıştır yapmak ve doğrudan main branch’e commit atmak gibi hatalar kabul ediliyor.
  • Deneyim: Acı verici bir deneyimdi, ancak startup için önemli bir an olarak hatırlandı.

GN⁺ görüşü

  • Testin önemi: Yeterli unit test ve entegrasyon testleri gerekli.
  • Kod inceleme: Kodu kopyala-yapıştır yapmak yerine code review ve doğrulama önemli.
  • Dağıtım stratejisi: Doğrudan main branch’e commit atmak yerine ayrı branch’ler kullanmak ve code review’dan geçmek daha iyi olur.
  • Sorun çözme becerisi: Sorunları hızlıca tespit edip çözebilme yeteneği önemli.
  • Teknoloji yığını seçimi: Teknoloji yığını değişiklikleri dikkatle planlanmalı ve test edilmeli.

2 yorum

 
znjadong 2024-06-11

Şey, yapay zeka tarafından otomatik üretilen kod mutlaka gözden geçirilmeli; onu neden doğrudan olduğu gibi kullanıyorsunuz?

 
GN⁺ 2024-06-10
Hacker News görüşleri
  • Birinci görüş: Hata hemen fark edilmiş. Sebep ekibin uzmanlık eksikliği. Bir izleme çözümü kullanılmış olsaydı kolayca yakalanabilirdi.
  • İkinci görüş: Uygulama ChatGPT sayesinde gelir üretti. Kodlama, hata ayıklama, loglama ve izleme becerilerindeki eksiklik $10,000 kaybın nedeni.
  • Üçüncü görüş: $10,000 kaybın nedeni izleme eksikliği. Veritabanı istisnası oluşmuş ama uyarı yokmuş. Uyarı olsaydı 5 dakikada çözülebilirdi.
  • Dördüncü görüş: Python'un varsayılan argüman değerlendirme stratejisi sorununa dikkat çekiyor. Değerler fonksiyonun tanımlandığı anda değerlendiriliyor. Bunun verimlilik için kasıtlı yapılmış olabileceği söyleniyor. Python'un liste oluşturma biçimi de sorunlu bulunuyor.
  • Beşinci görüş: İnsanlar da aynı hatayı sık sık yapıyor. Özellikle React/TypeScript/JavaScript'te lambda kullanmayı unutmak yaygın. Blog yazısının sorunun kök nedenini yeterince iyi açıklamadığını düşünüyor.
  • Altıncı görüş: Hata kolayca yapılabilir. Ancak ilk başarısızlıktan sonra bunun neden yakalanmadığını anlamıyor. Loglama olup olmadığını sorguluyor.
  • Yedinci görüş: Bu sorunu kamuya açık şekilde paylaşmak biraz safça geliyor. ChatGPT'nin suçlanması için bir neden yok. Bu durum bir kod inceleme hizmeti fikrini çağrıştırıyor.
  • Sekizinci görüş: Sorun zaman kısıtı yüzünden ortaya çıktı. Bu tür kısıtlar yüzünden yazılım aboneliklerinden korkuyor.
  • Dokuzuncu görüş: Henüz müşterisi bile yokken tam kapsamlı bir yeniden yazımı gerekçelendiren startup'ları anlamıyor.
  • Onuncu görüş: LLM'leri kullanma becerisi, onları ne zaman ve nasıl kullanacağını bilmektir. ChatGPT'nin yanıtı yerindeydi ama belirli bir satırda tüm kullanıcıları silme önerisini görünce büyük bir ders çıkardığını söylüyor.

Her görüş, yazılım geliştirme sürecinde ortaya çıkabilecek sorunlar ve bunların çözümleri hakkında farklı bakış açıları sunuyor. Başlangıç seviyesindeki yazılım mühendisleri için faydalı içgörüler sağlayabilir.