Yapay Zekâ ile Script Geliştirme: İhtiyaçtan Sürüme Eksiksiz Bir Yol Haritası
1. İhtiyaç Analizi: Ne Yapmak İstiyorsunuz?
Her başarılı script, net bir ihtiyaç tanımıyla başlar. Öncelikle sorunu, çıktıyı, kullanıcı kitlesini ve teknik kısıtları belirleyin. Somut bir örnek: "Bir e-ticaret sitesindeki ürün fiyatlarını haftalık olarak çekip CSV'ye kaydeden bir Python scripti" istiyorsanız, girdi (ürün URL'leri), çıktı (fiyat, tarih), sıklık (haftalık) ve güvenlik (site politikaları) gibi başlıkları netleştirin.
İyi tanımlanmış bir ihtiyaç, yapay zekâya doğru prompt vermenin yarısıdır.2. Doğru Prompt Hazırlama: AI'ya Ne Söyleyeceksiniz?
Prompt, AI'ya verdiğiniz görev tanımıdır. Başarılı bir prompt için:
- Rol belirtin: "Sen deneyimli bir Python geliştiricisisin."
- Bağlam verin: "Bir web scraping scripti yazıyoruz."
- Hedefi açıklayın: "Ürün adı ve fiyatını çekip CSV'ye kaydet."
- Kısıtları ekleyin: "requests ve BeautifulSoup kullan, hata yönetimi ekle, 5 saniye bekle."
- Çıktı formatını belirtin: "Kodu ve açıklamaları ayrı ayrı ver."
Örnek Prompt:
"Sen bir Python uzmanısın. requests ve BeautifulSoup kullanarak, verilen URL listesindeki ürün adı ve fiyatını çeken bir script yaz. Her sayfa arasında 5 saniye bekle. Hata durumunda log yaz ve devam et. Çıktıyı 'urunler.csv' dosyasına kaydet. Kodu adım adım açıkla."
3. Ajan Rolleri: AI'yı Doğru Şekilde Yönlendirin
AI'ya farklı roller atayarak daha kaliteli çıktı alabilirsiniz. Örneğin:
- Mimar: Kodun genel yapısını, modülleri ve veri akışını tasarlar.
- Kodlayıcı: Belirtilen mimariye göre kodu yazar.
- Testçi: Kodun hatalarını bulur ve düzeltme önerir.
- Dokümantasyoncu: Kod için açıklama ve kullanım kılavuzu hazırlar.
Bu rolleri prompt'unuzda belirterek AI'nın odağını netleştirebilirsiniz. Örneğin: "Şimdi bir testçi olarak, yazdığın kodu gözden geçir ve olası hataları listele."
4. Güvenlik Sınırları: AI'dan Gelebilecek Riskleri Yönetin
AI tarafından üretilen kodda güvenlik açıkları olabilir. Alınması gereken önlemler:
- Girdi doğrulama: Kullanıcıdan gelen verileri asla doğrudan koda eklemeyin.
- API anahtarları: Kod içinde sabit anahtar kullanmayın, çevre değişkenlerinden alın.
- SQL enjeksiyonu: AI'dan gelen SQL sorgularını parametrize edin.
- Dosya izinleri: Script'in yazma yetkisini sınırlayın.
[li]Girdileri temizle ve doğrula[/li]
[li]API anahtarlarını .env dosyasında sakla[/li]
[li]SQL sorgularında parametre kullan[/li]
[li]Dosya yazma işlemlerini kısıtla[/li]
AI'dan kod üretirken:
- Küçük parçalar halinde isteyin: Tüm scripti tek seferde değil, fonksiyon bazında alın.
- Açıklama isteyin: Her kod bloğunun ne işe yaradığını anlatmasını isteyin.
- Versiyon belirtin: Kullanılacak kütüphane sürümlerini prompt'a ekleyin.
- Test verisi sağlayın: AI'nın kodu test edebilmesi için örnek girdi verin.
| Adım | Yapılacak |
|---|---|
| 1 | Fonksiyon tanımını iste |
| 2 | Girdi/çıktı örneği ver |
| 3 | Hata yönetimini eklemesini söyle |
| 4 | Kodu çalıştır ve sonucu bildir |
AI'dan gelen kodu mutlaka test edin. Birim testleri yazın veya manuel olarak çalıştırın. Örneğin, yukarıdaki scraping scripti için:
- Gerçek bir URL ile test edin.
- Beklenen CSV çıktısını kontrol edin.
- Hatalı URL vererek hata yönetimini sınayın.
# Örnek test kodu
import unittest
from scraper import scrape
class TestScraper(unittest.TestCase):
def test_success(self):
result = scrape("https://example.com/product")
self.assertIn("name", result)
7. Hata Ayıklama: AI'nın Hatalarını Düzeltme
AI hatalı kod üretebilir. Hata ayıklama stratejileri:
- Hata mesajını AI'ya geri bildirin: "AttributeError: 'NoneType' object has no attribute 'text' hatası alıyorum. Düzelt."
- Adım adım ilerleyin: Hatanın hangi satırda olduğunu belirtin.
- Alternatif çözüm isteyin: "Bu hatayı çözmek için farklı bir yaklaşım öner."
- Log ekleyin: AI'dan kodun başına loglama eklemesini isteyin.
"Örnek Hata Ayıklama Promptu"
"Kodun 15. satırında 'list index out of range' hatası alıyorum. Listeyi kontrol et ve düzelt. Ayrıca her adımda log yazacak şekilde güncelle."
AI ile geliştirdiğiniz script'i sürüm kontrolüne alın. Git kullanın ve her AI etkileşimini bir commit olarak kaydedin. Önerilen iş akışı:
- Her yeni özellik için ayrı branch açın.
- AI'dan aldığınız kodu commit mesajında belirtin: "feat: AI ile fiyat çekme fonksiyonu eklendi"
- Değişiklikleri gözden geçirin ve birleştirin.
- Sürüm etiketleri (tag) ile ilerleyin: v1.0, v1.1 gibi.
git init
git add .
git commit -m "feat: AI ile oluşturulan scraper scripti"
git tag v1.0
Sonuç: AI ile Verimli ve Güvenli Script Geliştirme
Yapay zekâ, doğru yöntemlerle kullanıldığında script geliştirme sürecini hızlandırır. İhtiyaç analizinden sürümlemeye kadar her adımı disiplinle uygulayın. Unutmayın: AI bir araçtır, nihai sorumluluk sizdedir. Güvenlik kontrollerini ihmal etmeyin ve her zaman üretilen kodu eleştirel gözle inceleyin.