onedups

Yapay zekâ ile proje kurmak

Hata ayıklama alanı, proje haritası ve önce soru sorduran prompt'larla yapay zekâ kod asistanını gerçek bir projede verimli kullanmak.

Tek bir fonksiyon yazdırmak ile haftalarca süren bir projeyi kod asistanıyla yürütmek aynı iş değildir. Projede asistan onlarca dosyaya dokunur, her oturumda sıfırdan başlar ve sen her satırı okuyamazsın.

Bu yazı gerçek bir projede öğrenilmiş üç dersin üzerine kurulu: hata ayıklama alanı kur, harita olmadan koda başlama, asistana önce soru sordur.

1. Her projede bir hata ayıklama alanı olsun

“Çalışmıyor” asistana hiçbir şey anlatmaz. Asistan ekranını görmez, sunucunun içini bilmez. Elinde kanıt yoksa tahmin eder, tahmin tutmazsa bir başkasını dener ve sen aynı hatanın etrafında dönersin.

Hata ayıklama alanı, kayıtların, o anki durumun ve hataların tek yerde göründüğü bir sayfa ya da paneldir. Sorun çıktığında oradan kopyalar, asistana kanıt olarak verirsin. Bunu projenin başında kur, işler karıştıktan sonra değil.

Bu projeye yalnızca geliştirme ortamında açılan bir hata ayıklama
sayfası ekle. Sayfa şunları göstersin: [GÖRMEK İSTEDİĞİN DURUMLAR],
son 50 hata kaydı (zaman, dosya, mesaj) ve son 20 isteğin sonucu.
Parola, anahtar ve kişisel veri bu sayfada görünmesin, maskele.
Sayfa canlı ortamda erişilemez olsun. Önce planı yaz, onayımı bekle.

Sorun çıktığında prompt şuna dönüşür:

Sorun: [NE BEKLİYORDUN, NE OLDU].
Hata ayıklama sayfasından kopyaladığım kayıtlar aşağıda.
Önce kayıtlara bakarak olası nedeni açıkla ve hangi satırın
buna kanıt olduğunu göster. Emin değilsen hangi ek kaydı görmek
istediğini söyle. Nedeni bulmadan kod değiştirme.

<kayitlar>
[KAYITLAR]
</kayitlar>

2. Harita yoksa koda başlama

Asistan her oturumda projeyi yeniden tanımak zorundadır. Harita yoksa bunu dosyaları tek tek tarayarak yapar. Bu hem yavaştır hem pahalıdır, üstelik asistan aynı işi yapan bir dosyayı gözden kaçırıp ikincisini yazabilir.

Proje haritası, sayfaları, dosyaları ve her birinin ne yaptığını listeleyen kısa bir belgedir. Web sitesinde bu aynı zamanda site haritasıdır. Asistan önce onu okur, sonra yalnızca gereken dosyayı açar.

Henüz kod yazma. Önce proje haritasını yaz ve HARITA.md dosyasına kaydet.
İçinde şunlar olsun: sayfaların listesi ve her birinin amacı, klasör
yapısı, her dosyanın tek cümlelik görevi, verinin nereden gelip nereye
gittiği. Emin olmadığın yerleri "belirsiz" diye işaretle ve bana sor.
Proje: [PROJENİN KISA TARİFİ]

Mevcut bir projede haritayı sonradan da çıkarabilirsin:

Bu projeyi tara ve HARITA.md dosyasını oluştur. Her klasör ve önemli
dosya için tek cümlelik görev yaz. Aynı işi yapan dosyaları, hiçbir
yerden çağrılmayan dosyaları ve adı içeriğiyle uyuşmayanları ayrı bir
listede göster. Hiçbir dosyayı değiştirme ya da silme.

Haritanın işe yaraması için güncel kalması gerekir. Bunu kurala bağla:

Bundan sonra her görevin başında önce HARITA.md dosyasını oku ve
yalnızca ilgili dosyaları aç. Dosya eklediğinde, sildiğinde ya da
bir dosyanın görevi değiştiğinde aynı değişiklikte haritayı da güncelle.

3. Önce asistan sana sorsun

Görevi yazarken eksik bıraktığın her ayrıntıyı asistan kendi varsayımıyla doldurur ve bunu sana söylemez. Yanlış varsayımı ancak iş bittiğinde görürsün. Soru sordurmak hem boşlukları kapatır hem de görevi iyileştirir: aklına gelmeyen bir durumu çoğu zaman asistan sorar.

Aşağıdaki görevi yapmadan önce bana en fazla 7 soru sor. Cevabı
sonucu değiştirecek soruları seç: belirsiz kalan davranışlar, uç
durumlar, mevcut kodla çakışabilecek yerler. Görevi daha iyi yapmanın
bir yolunu görüyorsan onu da öner. Cevaplarımı almadan kod yazma.
Görev: [GÖREV]

Önce plan, sonra kod

Sorular bittiğinde hemen kod isteme. Planı görmek, yanlış yöne gidildiğini tek satır değişmeden fark etmeni sağlar.

Bu görev için bir plan yaz. Hangi dosyalar değişecek, hangi sırayla,
her adımın sonunda neyi nasıl test edeceğim? Adımları öyle böl ki
her biri tek başına çalıştırılıp denenebilsin. Riskli gördüğün adımı
işaretle. Onay verene kadar hiçbir dosyaya dokunma.

Küçük adım, her adımda test

Büyük bir değişiklik bozulduğunda neresinin bozduğunu bulmak zordur. Adım küçükse hata oluştuğu yerde yakalanır.

Planın yalnızca [ADIM NUMARASI]. adımını uygula ve dur. Bittiğinde
bana neyi değiştirdiğini, nasıl test edeceğimi ve beklenen sonucu yaz.
Ben "devam" demeden sonraki adıma geçme.

Kurallar dosyası

Her oturumda aynı şeyleri yeniden anlatma. Çoğu kod asistanı proje kökündeki bir talimat dosyasını oturum başında okur. Dosyanın adı araca göre değişir, kendi aracının belgesine bak.

Bu proje için asistanın her oturumda okuyacağı bir kurallar dosyası
taslağı yaz. İçinde olsun: kullanılan dil ve araçlar, klasör düzeni,
adlandırma kuralları, çalıştırma ve test komutları, dokunulmaması
gereken dosyalar, "önce HARITA.md oku" kuralı. 40 satırı geçmesin.
Bilmediğin yeri uydurma, bana sor.

Bitirmeden önce güvenlik kontrolü

Asistan işi bitirdiğini söylediğinde kendi değişikliğini bir de güvenlik gözüyle okut. Bu senin incelemenin yerini tutmaz, ama gözden kaçanları azaltır.

Bitirmeden önce bu oturumda yaptığın değişikliği güvenlik açısından
incele. Şunlara bak: doğrulanmayan kullanıcı girdisi, koda gömülmüş
anahtar ya da parola, yetki kontrolü eksik sayfalar, kayıtlara düşen
kişisel veri, canlıda açık kalan hata ayıklama sayfası. Bulduklarını
önem sırasıyla listele, düzeltmeden önce bana göster.

Anahtar ve parola yapıştırma

API anahtarını, veritabanı parolasını ve müşteri verisini prompt’a koyma. Bunlar ortam değişkeninde ya da sürüm kontrolüne girmeyen bir ayar dosyasında dursun. Asistana değerin kendisini değil, değişkenin adını ver. Kayıt yapıştırırken de içinde anahtar ya da kişisel veri kalmadığına bak.

Kısaca

Kanıt göster, haritayı önce yaz, soruyu asistana sordur. Gerisi bu üçünün üzerine oturur: plan, küçük adım, kurallar dosyası ve bitirmeden önce bir kontrol.

onedups ~ terminal