Programcılar için Prompt Engineering Playbook’u
(addyo.substack.com)- Yapay zeka kodlama yardımcıları bir projenin niyetini kendiliğinden bilemez; bu yüzden sonuç kalitesi, geliştiricinin bağlamı, hedefleri ve örnekleri ne kadar iyi verdiğine bağlı olarak büyük ölçüde değişir
- Hata ayıklamada yalnızca kodu ve hatayı vermek yerine beklenen davranışı, gerçek davranışı ve çalışma ortamını birlikte sunmalı; satır satır izleme veya minimum yeniden üretilebilir örnekle sorunun kapsamı daraltılmalıdır
- Refactoring ve optimizasyon için “daha iyi yap” demek yerine tekrarları kaldırma, paralel işleme, hata yönetimini koruma, sürüm kısıtları gibi başarı kriterleri açıkça belirtilmelidir
- Yeni özellik geliştirmede işin tamamını tek seferde devretmek yerine plan, iskelet, durum yönetimi, API entegrasyonu ve edge case’leri küçük adımlara bölüp gözden geçirerek genişletmek daha güvenlidir
- Muğlak sorular, aşırı kapsamlı istekler, soru içermeyen kod yığınları ve belirsiz referanslar sonuçları oynatır; yapay zeka tek seferlik bir üretici değil, tekrarlı diyalogla çalışan bir pair programmer olarak ele alınmalıdır
Yapay zeka kodlama yardımcılarını iyi kullanmak için temel ilkeler
- Yapay zeka kodlama yardımcıları fonksiyon otomatik tamamlama, hata düzeltme önerileri, modül ya da MVP oluşturma gibi işlerde yardımcı olabilir; ancak projenin somut niyeti, kullanıcının sağladığı bilgilere dayanır
- İyi bir prompt, yapay zekayı “söyleneni harfi harfine alan bir işbirlikçi” gibi ele alır ve istenen sonucu ve formatı açıkça tarif eder
- Temel ilkeler şunlardır
- Zengin bağlam sağlama: Dil, framework, kütüphane, ilgili fonksiyonlar veya kod parçaları, kesin hata mesajı ve beklenen davranış dahil edilir
- Hedefi somutlaştırma: “Neden çalışmıyor?” yerine “Bu JavaScript fonksiyonunun beklenen değer yerine neden undefined döndürdüğü ve nasıl düzeltileceği” gibi soru daraltılır
- Karmaşık işleri parçalama: Büyük bir özelliği tek seferde istemek yerine React component iskeleti oluşturma, durum yönetimi ekleme, API çağrısını entegre etme gibi adımlarla ilerlenir
- Girdi/çıktı örnekleri sağlama:
[3,1,4]girdisinin[1,3,4]döndürmesi gerektiği türünden örnekler, gereksinimlerdeki belirsizliği azaltır - Rol verme: “senior React developer”, “JavaScript performance expert”, “code reviewer” gibi roller vermek yanıtın derinliğini ve tarzını ayarlayabilir
- Yineleme ve düzeltme: İlk yanıt uygun değilse özyineleme yerine döngü kullanma, değişken adlarını iyileştirme, yorum ekleme gibi takip istekleriyle yön ayarlanır
- Kod açıklığını koruma: Anlamlı fonksiyon ve değişken adları, tutarlı format, yorumlar ve docstring’ler, yapay zekanın kodun niyetini anlaması için ipucu olur
Hata ayıklama prompt kalıpları
- Hata ayıklama isteklerinde kodun ne yapması gerektiği, gerçekte neyin yanlış olduğu ve hangi hatanın oluştuğu birlikte yer almalıdır
- İyi bir hata ayıklama prompt’u genellikle şu bilgileri içerir
- Kullanılan dil ve çalışma ortamı
- Sorunlu kod
- Kesin hata mesajı veya hatalı çıktı
- Beklenen çıktı
- Örnek girdi
- Daha önce denenmiş yöntemler
- Karmaşık mantık hatalarında yapay zekadan satır satır yürütme izleme isteyerek durum değişimlerini takip etmesi sağlanabilir
- Örn: “Bu fonksiyonda total değerinin her adımda nasıl değiştiğini izle ve birikimin nerede yanlış gittiğini bul”
- Kod tabanı büyük olsa bile hatayı yeniden üreten küçük bir kod parçası oluşturabiliyorsanız bunu minimum yeniden üretilebilir örnek olarak sunmak daha iyidir
- İlk yanıt yalnızca kısmen yararlıysa “Düzeltilmiş kodu göster”, “Bu değişikliğin sorunu neden çözdüğünü açıkla” gibi takip sorularıyla devam edilebilir
Hata ayıklama örneği: muğlak soru ve iyileştirilmiş soru
- Örnek kod,
mapUsersById(users)fonksiyonunun kullanıcı dizisini ID tabanlı bir nesneye dönüştürmeye çalıştığı bir Node.js/JavaScript fonksiyonudur - Hata `for (let i = 0; i
Henüz yorum yok.