Yapay zekayla geliştirdiğin uygulama gece 2'de bozulduğunda ne yapmalı (ve sen geliştirici değilsen)
Uygulaman dün çalışıyordu. Şimdi gecenin bir yarısı ve bir şeyler yolunda değil. İşte gerçekte ne yapacağına dair sakin, teknik olmayan bir oyun kitabı — kod okuyamadan.
Tek satır kod yazmadan bir uygulama geliştirdin. Tüm hafta çalıştı. Sonra bir kullanıcı sabah 1:47’de sana mesaj atıp kayıt düğmesinin hiçbir şey yapmadığını söylüyor ve sen telefonunun başucunda parladığına uyanıyorsun.
Daha önce hiç canlı bir uygulamayı düzeltmek zorunda kalmadıysan, bu an berbat hissettirebilir. Kod okumuyorsun. “Veritabanı”nın gerçekte ne anlama geldiğini bilmiyorsun. Bozuk-bozuk mu yoksa sadece-garip mi olduğundan emin değilsin ve normalde yardım edecek insanlar uyuyor.
İşte, yapay zekayla geliştirilen bir uygulama bozulduğunda ve sen kod yazamadığında ne yapacağına dair sakin, sıralı bir oyun kitabı. Çoğu, işleri daha kötü yapmamakla ilgili — kimsenin seni uyarmadığı kısım bu.
Önce: yeniden dağıtma
Yapay zeka uygulama oluşturucunda bir yerde “yeniden yayınla”, “yeniden dağıt” ya da “yayınla” diyen bir düğme var. Ona basmak isteyeceksin. Henüz basma.
Yarı bozuk bir uygulamada yeniden dağıt’a basmak, bozuk durumu kalıcılaştırabilir, etrafta duran her türlü hata ayıklama bilgisini silebilir ve herhangi birinin — yapay zeka oluşturucunun kendisi dahil — neyin yanlış gittiğini çözmesini zorlaştırabilir.
İlk hamle her zaman bakmaktır, harekete geçmek değil. Neyin bozuk olduğunu henüz doğrulamadın bile.
Adım 1 — Sorunu kendin yeniden üret
Uygulamayı taze bir tarayıcı penceresinde aç — gizli ya da özel mod en iyisidir, çünkü işlerin senin için kullanıcından farklı davranmasına yol açabilecek eski bir girişi ya da önbelleği kaldırır.
Kullanıcının bildirdiği şeyin tam olarak aynısını yapmaya çalış. Kayıt düğmesinin çalışmadığını söylediyse, kaydolmaya çalış. Panelin boş olduğunu söylediyse, giriş yapıp paneli görüntülemeye çalış.
Üç şeyden birini arıyorsun:
- Herkes için bozuk. Aynı sorunla karşılaşıyorsun. Bu aslında düzeltmesi en kolay tür, çünkü tutarlı.
- Senin için çalışıyor. Bu en zor senaryo, çünkü kullanıcının spesifik durumuyla ilgili bir şey (tarayıcısı, hesabı, verisi) sorun.
- Aralıklı. Bir kez çalışıyor, sonraki sefer bozuluyor. Bu en stresli ama aynı zamanda en bilgilendirici olanı — genellikle bir şeyin zaman aşımına uğradığı ya da bir kaynağın tükendiği anlamına gelir.
Üçünden hangisini gördüğünü yaz. Yardım istediğinde ona ihtiyacın olacak.
Adım 2 — Uygulamanı suçlamadan önce bariz dış şeyleri kontrol et
Şaşırtıcı sayıda “uygulamam bozuk” anı, aslında uygulaman değildir. Yapay zeka oluşturucuna dalmadan önce kontrol et:
- İnternetin kendisi iyi mi? Birkaç başka site aç. Wifi’ın istikrarsızsa, uygulaman iyi olabilir ve bozuk olan sen olabilirsin.
- Yapay zeka oluşturucunun kendisinde bir kesinti mi oldu? Çoğu yapay zeka uygulama oluşturucunun bir durum sayfası vardır (ürün adı artı “status” ara). Onların kötü bir gecesi varsa, başka bir şey çözmen gerekmez.
- Bağlı araçlarından biri mi çöktü? Uygulaman ödemeler için Stripe, bildirimler için bir e-posta hizmeti ya da veri saklamak için bir veritabanı hizmeti kullanıyorsa, bunların herhangi birinde kesinti olabilir. Her birinin kendi durum sayfası var. Uygulamanın bağlı olduğunları kontrol et.
Beşte bir civarı, cevap “aslında uygulamam değil”dir ve geri uyuyabilirsin.
Adım 3 — Hata mesajına bak, seni korkutsa bile
Uygulaman üzerinde metin olan bir ekran gösteriyorsa — anlamsız görünen metin bile — onu oku. Bir ekran görüntüsü al. Özellikle uzun bir harf ve rakam dizisi varsa (insanlar buna “yığın izi/stack trace” der; alfabe çorbası gibi görünür ama yardım isterken sahip olabileceğin en faydalı şeydir).
Çoğu yapay zeka uygulama oluşturucunun ayrıca yakın zamanda olan hataları görebileceğin bir yeri vardır. Adı Loglar, Aktivite, Hatalar ya da Konsol olabilir. Aç onu. Gördüklerinin çoğunu anlamana gerek yok — en son kırmızı metni ya da en son hatayı ve gerçekleştiği zamanı arıyorsun. Zaman önemlidir: dün sabahtan bir hata, muhtemelen kullanıcının az önce neden kaydolamadığının nedeni değildir.
O hatayı kopyala. Bir dakika içinde onu faydalı bir yere yapıştıracaksın.
Adım 4 — Yapay zeka oluşturucuya neyin değiştiğini sor
Bu, teknik olmayan geliştiricilerin en az kullandığı hamledir. Yapay zeka oluşturucunla sohbeti aç ve sade bir dille söyle:
“Uygulamam bozuk. Kullanıcılar kaydolamıyor — düğme hiçbir şey yapmıyor. İşte loglardan hata: [yapıştır]. Son 24 saatte ne değişti ve buna ne sebep olabilir?”
İyi bir yapay zeka oluşturucu, hangi yakın değişikliğin büyük olasılıkla sorumlu olduğunu söyler. Bazen onu hemen tanırsın (“ah, dün ona formu daha güzel yapmasını söyledim ve bu muhtemelen gönder mantığını bozdu”). Bazen dokunduğunu hatırlamadığın bir şeyi işaret eder, bu da faydalıdır — otomatik bir şeyin değiştiği anlamına gelir, örneğin bağlı bir aracın güncellenmesi.
Yapay zeka oluşturucunun henüz düzeltmeler yapmaya başlamasına izin verme. Hâlâ tanılama modundasın. İnsanların küçük bir sorunu daha kötü yaptığını gördüğüm en yaygın yol, kimse neyin bozuk olduğunu anlamadan bir yapay zekanın bir şeyleri “düzeltmesine” izin vermektir.
Adım 5 — Geri alıp almamaya karar ver
Neredeyse her yapay zeka uygulama oluşturucu, uygulamanın daha eski bir sürümüne dönmene izin verir. Bazen “geçmiş”, “sürümler”, “kontrol noktaları” ya da “geri alma” olarak adlandırılır.
Uygulamanın çalıştığı bir saati ya da günü net olarak hatırlayabiliyorsan, o sürüme dönmek tek en güvenilir hamledir. Sana, arada yaptığın her türlü değişikliğe (ki onları artık istemiyor bile olabilirsin) mal olur ve sana uyandığında çalışan bir uygulama verir.
İyi bir kural: bozuk şey kullanıcıların her gün yaptığı bir şeyse (kayıt, giriş, ödeme), önce geri al ve sonra ileri doğru düzelt. Çalışan-ama-eski, her zaman bozuk-ama-güncelden iyidir.
Bozuk şey bugün eklediğin ve henüz kimsenin bağlı olmadığı bir özellikse, onu sabaha kadar bozuk bırakıp berrak bir kafayla düzeltebilirsin.
Adım 6 — Yapay zeka oluşturucunun düzeltmesine izin vermek zorundaysan
Geri alma mümkün değilse ya da yapmamaya karar verdiysen, yapay zeka oluşturucunun bir düzeltme önermesine izin ver. Bunu yaparken aklında tutman gereken iki şey:
Onaylamadan önce ne değiştireceğini oku. Hepsini anlamayacaksın ama tek bir odaklı şeyi mi düzenlediğini yoksa uygulamanın yarısını mı yeniden yazdığını fark edebilirsin. Küçük, odaklı değişiklikler, gece 2’de geniş kapsamlı olanlardan çok daha güvenlidir.
Düzeltmeyi mümkün olan en sıkıcı şekilde test et. Sadece “düzeldi mi?” diye sorup cevaba güvenme. Uygulamaya bir gizli pencerede kendin gerçekten git ve bozuk olan şeyi yap. Düzeltme işe yaradıysa, bozuk şey artık çalışıyor demektir. Çalışmıyorsa, yapay zeka oluşturucu çalıştığını söyledi diye değişikliği kabul etme.
Adım 7 — Düzeltemesen bile kullanıcıya geri yaz
Sabah 1:47’de sana mesaj atan kullanıcı senin çevrimiçi olmanı beklemiyor. Ama eğer öyleysen, kısa bir yanıt bir düzeltmeden daha çok önemlidir:
“Bildirdiğin için teşekkürler — şu anda ona bakıyorum. Tekrar çalışır çalışmaz sana bir not göndereceğim.”
Ödeme yapan bir kullanıcıysa, o tek mesaj, insanlara hızlı yanıt verdiğini anlatmaları ile onları hayalet gibi terk ettiğini anlatmaları arasındaki farktır. Düzeltme sabaha kadar bekleyebilir. Yanıt bekleyemez.
Daha büyük ders: uygulamanı bozulabilecekmiş gibi geliştir
Bunu stresli bulduysan, gümüş astar şudur: bu deneyim nasıl geliştirdiğini yeniden şekillendirecek. İlk gece 2 olayından sonra işleri farklı yapmaya başlayacaksın:
- Bir durum kontrolü ekleyeceksin. Uygulamanın önemli kısımlarının çalışıp çalışmadığını söyleyen basit bir sayfa, böylece öğrenmek için giriş yapmak zorunda kalmazsın.
- Kullanıcı verisinin bir yedeğini tutacaksın. Çoğu yapay zeka oluşturucu, istek üzerine verini dışa aktarır. Bunu haftada bir yapmak 30 saniye sürer ve en kötü durumda seni kurtarır.
- Uygulamanın neye bağlı olduğunu yazacaksın. Her bağlı aracın (ödemeler, e-posta, veritabanı, depolama) kısa bir listesi, böylece gece 2’de bir şey bozulduğunda tahminler yerine bir kontrol listen olur.
- Tek seferde tek bir şey değiştireceksin. Aynı anda 10 değişiklik yapıp uygulama bozulduğunda, hangi değişikliğin onu bozduğuna dair hiçbir fikrin olmaz. Tek seferde tek bir değişiklik yaptığında, olur.
Kod yazmadan bir uygulama geliştirebilirsin. Bir geliştirici olmadan onu çalışır tutabilirsin de — ama işin içindeki beceriler, geliştirme becerilerinden farklıdır. Onları çoğunlukla zor yoldan öğrenirsin, genellikle uygunsuz bir saatte.
İyi haber: her olduğunda daha az korkutucu olur. Üçüncü seferinde korkutucu yerine can sıkıcı olur. Onuncuda, sadece sıradan bir salı günüdür.