Yapay zeka uygulama oluşturucu kontrolü kaybettiğinde: geliştirmeni sıfırdan başlamadan yoluna sokmak

İnsanların bir yapay zeka uygulama oluşturucuyla birkaç saat geliştirdikten sonra anlattığı belirli bir his var. İlk saat harika. Bir fikri taslaklarsın, şeyin önünde kendini bir araya getirmesini izlersin, yarı geliştirilmiş uygulamanda tıklayıp sırıtarsın. Sonra üçüncü saat civarında işler kaymaya başlar. Yapay zeka, bildirdiğin hatayı düzeltir ama üstündeki sayfa artık farklı görünür. Geri almasını istersin, başka bir şeyi değiştirir. Beşinci saate gelindiğinde neyin kaydedildiğinden ve neyin kaydedilmediğinden emin değilsin ve sadece sıfırdan başlasan mı diye merak etmeye başlıyorsun.

Başlamamalısın. Yapay zeka uygulama oluşturucu bozulmadı; kontrolü kaybetti. Bu çok düzeltilebilir bir durumdur ve çıkmak için projeni havaya uçurmana gerek yok.

”Kontrolü kaybetmek” gerçekte ne demek

Bir yapay zeka uygulama oluşturucu iyi sonuçlar ürettiğinde, bunun nedeni iki şeyin hizalanmış olmasıdır: ne istediğine dair net bir resmi var ve uygulamanın şu anda neye benzediğine dair net bir resmi var. Kötü-geliştirme sarmallarının çoğu, bu ikisinden birinin bulanıklaşmasından gelir.

Biraz, bir arkadaşından telefonda bir odayı yeniden dekore etmesini istemeye benzer. Odayı görebiliyorlarsa ve hedefi anlıyorlarsa harikalar. Odayı iki saat önce gönderdiğin bir fotoğraftan hatırlıyorlarsa ve hedef o zamandan beri üç kez kaydıysa, artık var olmayan köşelere bir şeyleri taşımaya başlarlar. Yapay zeka da aynı durumda. Bir anlık görüntü üzerinden çalışıyor ve senin anlık görüntün yaşlandı.

Bunu genellikle üç işaretten biri aracılığıyla fark edersin.

İşaret 1: yapay zeka aynı şeyi yeniden yazıyor

Yapay zekadan giriş düğmesini düzeltmesini istersin. Giriş düğmesini yeniden yazar. Aynı giriş düğmesini tekrar düzeltmesini istersin — aynı ifade, aynı prompt — ve onu tekrar, biraz farklı yeniden yazar. İki tur daha ve düğme artık üçüncü bir renkte ve sayfanın farklı bir kısmında yaşıyor.

Bu bir hafıza kayması sinyalidir. Yapay zeka, önceki çalışmasını bir temel olarak kullanmayı bırakmış ve her turda senin açıklamandan yeniden başlıyor. Yeni sürüm her zaman daha kötü değildir, sadece farklıdır, ki eskisini sevmeye başladıysan bu da daha kötüyle aynı şeydir.

Bu olduğunda, hile onu sabitlemektir. Değişikliği soyut terimlerle anlatmayı bırak (“giriş düğmesini daha temiz yap”) ve yapay zekanın ekranda gerçekte olanla eşleştirebileceği terimlerle anlatmaya başla (“düğme şu anda ‘Giriş yap’ diyor, ortalanmış ve mavi — üçünü de koru, sadece köşeleri yuvarla”). Yapay zekaya taze bir anlık görüntü veriyorsun. Geliştirici olmayanları bu döngüden tutarlı olarak çıkaran şey, “şu anda X yapıyor — yalnızca Y’yi değiştir” diyen bir cümledir.

İşaret 2: her düzeltme başka bir şeyi bozuyor

Bozuk bir kayıt formu bildirirsin. Yapay zeka formu düzeltir. Sayfayı yeniden yüklersin ve panel düzeni kaymıştır. Paneli geri koymasını istersin. Kayıt formu yeniden bozulur.

Bu, insanları sıfırdan başlamaya korkutan sarmaldır ve geliştirmelerin %80 bitmişken terk edilmesinin en yaygın nedenidir. Altta olan şu: yapay zeka, sorduğun alandan fazlasını etkileyen dosyalara ya da bileşenlere dokunuyor. Yakın zamanda izlediğim bir kurucu, yapay zekadan “ana sayfadaki renkleri düzeltmesini” istedi ve her yerde farklı bir navigasyon çubuğuyla baş başa kaldı — çünkü ikisine de güç veren stiller aynı yerde yaşıyordu ve yapay zeka ikisini de aynı anda düzeltti. Bir şeyi düzelttiğini sanıyor; aslında ikisini düzenliyor.

Düzeltme mekaniktir. Yapay zekadan sade bir dille, yalnızca önemsediğin dosyayı, sayfayı ya da bileşeni değiştirmesini ve geri kalan her şeyi olduğu gibi bırakmasını iste. Çoğu yapay zeka uygulama oluşturucu, bu kısıtlamayı koyduğunda ona saygı gösterir. “Yalnızca kayıt sayfasını düzenle. Panel düzenine dokunma, yeni dosya ekleme, hiçbir şeyi yeniden düzenleme.” Hata paylaşılan koddaysa — örneğin hem formu hem paneli besleyen stil — yapay zeka sana söyler. Bu faydalı bir bilgidir ve tahmin etmekten çok daha iyi bir başlangıç noktasıdır.

Burada yardımcı olan diğer şey: düzeltme biriktirmeyi bırak. Geliştirme yarı bozuk bir durumdaysa, küçük bir kazanım al, kaydet ve devam et. Yapay zeka uygulama oluşturucular sorunları hızlıca katlayabilir, çünkü her prompt önceki yarı bozuk durumu girdi olarak alır. Temiz bir kayıt noktası o zinciri kırar.

İşaret 3: yapay zeka sana aynı soruları soruyor

Üç tur önce hangi veritabanını istediğini sordu. Postgres dedin. Şimdi tekrar soruyor ama farklı çerçevelenmiş — “bu veri oturumlar arasında kalıcı olmalı mı?” — ve aynı karara doğru geri kaydığını fark ediyorsun.

Bu genellikle yapay zekanın proje düzeyindeki bağlamı kaybettiği anlamına gelir. Daha önce yaptığın mimari seçimlerle değil, son birkaç mesajla çalışıyor. Onu gerçekten suçlayamazsın; insanlar uzun toplantılarda aynısını yapar. Ama sonuç şu: ikinci katı geliştirmeye çalışırken temeli tekrar tekrar tartışırsın.

Çıkış yolu, kısa, sade dilli bir proje brief’i yazmak ve yapay zeka kaymaya başladığında onu geri yapıştırmaktır. İki ya da üç cümle yeterli: “Bu, gitar dersi rezervasyonu için bir web uygulaması. Öğretmenler müsaitliklerini yönetir. Öğrenciler bir slot ayırtır, ödeme yapar ve bir onay e-postası alır. Depolama için Postgres ve ödemeler için Stripe kullan.” O paragraf, yapay zekanın yakınında tutmaya en çok ihtiyaç duyduğu şeydir ve en sık unuttuğu şeydir. Ona bir buzdolabı notu gibi davran.

Tekrar açmak için küçük bir oyun kitabı

O üç işaretten birine çarptığında, işte sırasıyla işe yarayan şeyler. Hepsini yapmana gerek yok; belirtiyi düzelten ilk adım genellikle yeterlidir.

Çalışanı kaydet. Başka bir şey yapmadan önce, uygulamanın hâlâ çalışan kısımlarının bir sürüm ya da kontrol noktası olarak kaydedildiğinden emin ol. Çoğu oluşturucuda bu yerleşiktir; seninkinde yoksa ekran görüntüleri al ve görünür davranışı bir nota kopyala. Bir referans noktası isteyeceksin.

Hedefi tek cümlede adlandır. Yüksek sesle, yazılı olarak, bir yerde. “Kayıt formunun bir e-posta ve parola kabul etmesini ve bir hoş geldin mesajı göndermesini sağlamaya çalışıyorum.” Onu tek cümlede adlandıramıyorsan, yapay zekanın kaymasının nedeni de budur — kendi belirsizliğini sana geri yansıtıyor.

Bozuk parçayı izole et. Yapay zekaya hangi sayfaya, bileşene ya da özelliğe dokunmasına izin verildiğini söyle. Spesifik ol. “Yalnızca kayıt formunu düzenle. Başka hiçbir şeyi değiştirme.” Neyin bozuk olduğunu tam olarak adlandıramıyorsan, yapay zekadan en son neyi değiştirdiğini özetlemesini iste; bu çoğu zaman gerçek hareketli parçayı ortaya çıkarır.

Değişikliği şu anda orada olana sabitle. Mevcut durumu ve hedef durumu anlat. “Şu anda parola alanının altında kırmızı bir hata mesajı gösteriyor. Kullanıcı tekrar yazmaya başladığında o hata mesajının kaybolmasını istiyorum.” Somut öncesi-ve-sonrası, soyut niyeti yener.

Kazanımı al ve dur. Bütün listenin en zor kısmı. Geliştirme çalışan bir duruma döndüğünde, kaydet ve birkaç dakika uzaklaş. Hemen bir sonraki şeyi düzeltmeye çalışma. Üst üste dört beş düzeltme katlayan geliştirmeler başka bir sarmala girme eğilimindedir. Bir şeyi düzeltip, kaydedip duraklayan geliştirmeler ise girmeme eğilimindedir.

Gerçekten sıfırdan başlama zamanı geldiğinde

Bazen doğru karar gerçekten sıfırdan başlamaktır ve işaretleri bilmek faydalıdır. Projen çok yön değiştiriyorsa — orijinal fikir artık gerçek fikir değil ve uygulama “bunun ne olduğu”nun üç dört farklı sürümünü yansıtıyorsa — yeni bir prompt’la temiz bir başlangıç, çözmekten daha hızlıdır. Aynısı, o kadar uzun süredir üzerinde çalışıyorsan ki projede gerçekte ne olduğunu artık bilmiyorsan da geçerli. Batık maliyet sana devam etmeni söyleyecek. Yarınki sen, sıfırlama için sana teşekkür edecek.

Ama bu istisnadır. “Bu geliştirme yan yatıyor”un günlük versiyonu, neye bakacağını bilirsen beş dakikada düzeltilebilir. Yapay zeka uygulama geliştirmeyi unutmadı. Sadece hangisini geliştirdiğini unuttu.

Bu sarmallardan birinden geçtiysen — döngüler, art arda düzeltmeler, tekrarlayan aynı sorular — tek cümlelik proje hedefini, geri yapıştırabileceğin bir yere yazmayı dene. Bir sonraki takılma anını kısaltan küçük bir alışkanlık.